aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c')
-rw-r--r--thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c161
1 files changed, 161 insertions, 0 deletions
diff --git a/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c
new file mode 100644
index 0000000..c54fe66
--- /dev/null
+++ b/thirdparty/STM32_USB-FS-Device_Lib_V4.0.0/Projects/Device_Firmware_Upgrade/binary_template/src/main.c
@@ -0,0 +1,161 @@
+/**
+ ******************************************************************************
+ * @file main.c
+ * @author MCD Application Team
+ * @version V4.0.0
+ * @date 21-January-2013
+ * @brief Main program body.
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>&copy; COPYRIGHT 2013 STMicroelectronics</center></h2>
+ *
+ * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
+ * You may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.st.com/software_license_agreement_liberty_v2
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ ******************************************************************************
+ */
+
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+static __IO uint32_t TimingDelay;
+
+/* Private function prototypes -----------------------------------------------*/
+void NVIC_Configuration(void);
+void Delay(__IO uint32_t nTime);
+
+/* Private functions ---------------------------------------------------------*/
+
+/*******************************************************************************
+* Function Name : main
+* Description : Main program.
+* Input : None
+* Output : None
+* Return : None
+*******************************************************************************/
+int main(void)
+{
+ /*!< At this stage the microcontroller clock setting is already configured,
+ this is done through SystemInit() function which is called from startup
+ file (startup_stm32xxx.s) before to branch to application main.
+ To reconfigure the default setting of SystemInit() function, refer to
+ system_stm32xxx.c file
+ */
+
+ /* Configure the LEDs */
+ STM_EVAL_LEDInit(LED1);
+ STM_EVAL_LEDInit(LED2);
+ STM_EVAL_LEDInit(LED3);
+ STM_EVAL_LEDInit(LED4);
+
+ /* NVIC configuration */
+ NVIC_Configuration();
+
+ /* Setup SysTick Timer for 1 msec interrupts */
+ if (SysTick_Config(SystemCoreClock / 1000))
+ {
+ /* Capture error */
+ while (1);
+ }
+
+ while (1)
+ {
+ /* Toggle all leds */
+ STM_EVAL_LEDToggle(LED1);
+ STM_EVAL_LEDToggle(LED2);
+ STM_EVAL_LEDToggle(LED3);
+ STM_EVAL_LEDToggle(LED4);
+
+ /* Insert 500 ms delay */
+ Delay(500);
+
+ /* Toggle all leds */
+ STM_EVAL_LEDToggle(LED1);
+ STM_EVAL_LEDToggle(LED2);
+ STM_EVAL_LEDToggle(LED3);
+ STM_EVAL_LEDToggle(LED4);
+
+ /* Insert 300 ms delay */
+ Delay(300);
+ }
+}
+
+/*******************************************************************************
+* Function Name : NVIC_Configuration
+* Description : Configures Vector Table base location.
+* Input : None
+* Output : None
+* Return : None
+*******************************************************************************/
+void NVIC_Configuration(void)
+{
+ /* Set the Vector Table base location at 0x3000 */
+ NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000);
+}
+/*******************************************************************************
+* Function Name : Delay
+* Description : Inserts a delay time.
+* Input : nTime: specifies the delay time length, in milliseconds.
+* Output : None
+* Return : None
+*******************************************************************************/
+void Delay(uint32_t nTime)
+{
+ TimingDelay = nTime;
+
+ while(TimingDelay != 0);
+}
+
+/*******************************************************************************
+* Function Name : TimingDelay_Decrement
+* Description : Decrements the TimingDelay variable.
+* Input : None
+* Output : TimingDelay
+* Return : None
+*******************************************************************************/
+void TimingDelay_Decrement(void)
+{
+ if (TimingDelay != 0x00)
+ {
+ TimingDelay--;
+ }
+}
+
+#ifdef USE_FULL_ASSERT
+/*******************************************************************************
+* Function Name : assert_failed
+* Description : Reports the name of the source file and the source line number
+* where the assert_param error has occurred.
+* Input : - file: pointer to the source file name
+* - line: assert_param error line source number
+* Output : None
+* Return : None
+*******************************************************************************/
+void assert_failed(uint8_t* file, uint32_t line)
+{
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+
+ /* Infinite loop */
+ while (1)
+ {
+ }
+}
+#endif
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/