diff --git a/.cproject b/.cproject
index 43774d4..84cf43d 100644
--- a/.cproject
+++ b/.cproject
@@ -23,7 +23,7 @@
-
+
@@ -54,14 +54,10 @@
-
-
-
-
-
-
-
+
+
+
@@ -72,6 +68,10 @@
+
+
+
+
@@ -123,11 +123,12 @@
+
-
+
@@ -155,7 +156,7 @@
-
+
@@ -177,13 +178,9 @@
-
-
-
-
-
-
-
+
+
+
@@ -194,6 +191,10 @@
+
+
+
+
@@ -241,11 +242,12 @@
+
-
+
diff --git a/.mxproject b/.mxproject
index 603083b..0e729b3 100644
--- a/.mxproject
+++ b/.mxproject
@@ -1,37 +1,40 @@
[PreviousLibFiles]
-LibFiles=Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_adc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_adc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_adc_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_def.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_rcc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_rcc_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_bus.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_rcc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_crs.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_system.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_utils.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_gpio.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_gpio_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_gpio.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_dma_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_dma.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_dma.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_cortex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_cortex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pwr.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pwr_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_pwr.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_flash.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_flash_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_i2c.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_i2c_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_exti.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_exti.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_can.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_spi.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_spi.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_spi_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_tim.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_tim_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_tim.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_uart.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_usart.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_uart_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pcd.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pcd_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_usb.h;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_ll_usb.c;Middlewares\Third_Party\FreeRTOS\Source\include\croutine.h;Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h;Middlewares\Third_Party\FreeRTOS\Source\include\event_groups.h;Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h;Middlewares\Third_Party\FreeRTOS\Source\include\list.h;Middlewares\Third_Party\FreeRTOS\Source\include\message_buffer.h;Middlewares\Third_Party\FreeRTOS\Source\include\mpu_prototypes.h;Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h;Middlewares\Third_Party\FreeRTOS\Source\include\portable.h;Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h;Middlewares\Third_Party\FreeRTOS\Source\include\queue.h;Middlewares\Third_Party\FreeRTOS\Source\include\semphr.h;Middlewares\Third_Party\FreeRTOS\Source\include\stack_macros.h;Middlewares\Third_Party\FreeRTOS\Source\include\StackMacros.h;Middlewares\Third_Party\FreeRTOS\Source\include\stream_buffer.h;Middlewares\Third_Party\FreeRTOS\Source\include\task.h;Middlewares\Third_Party\FreeRTOS\Source\include\timers.h;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.h;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\portmacro.h;Middlewares\Third_Party\FatFs\src\diskio.h;Middlewares\Third_Party\FatFs\src\ff.h;Middlewares\Third_Party\FatFs\src\ff_gen_drv.h;Middlewares\Third_Party\FatFs\src\integer.h;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_gpio.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_dma.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_cortex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_exti.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_can.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd_ex.c;Middlewares\Third_Party\FreeRTOS\Source\croutine.c;Middlewares\Third_Party\FreeRTOS\Source\event_groups.c;Middlewares\Third_Party\FreeRTOS\Source\list.c;Middlewares\Third_Party\FreeRTOS\Source\queue.c;Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c;Middlewares\Third_Party\FreeRTOS\Source\tasks.c;Middlewares\Third_Party\FreeRTOS\Source\timers.c;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c;Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\port.c;Middlewares\Third_Party\FatFs\src\diskio.c;Middlewares\Third_Party\FatFs\src\ff.c;Middlewares\Third_Party\FatFs\src\ff_gen_drv.c;Middlewares\Third_Party\FatFs\src\option\syscall.c;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_adc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_adc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_adc_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_def.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_rcc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_rcc_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_bus.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_rcc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_crs.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_system.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_utils.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_gpio.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_gpio_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_gpio.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_dma_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_dma.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_dma.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_cortex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_cortex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pwr.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pwr_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_pwr.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_flash.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_flash_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_i2c.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_i2c_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_exti.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_exti.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_can.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_spi.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_spi.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_spi_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_tim.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_tim_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_tim.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_uart.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_usart.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_uart_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pcd.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pcd_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_usb.h;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_ll_usb.c;Middlewares\Third_Party\FreeRTOS\Source\include\croutine.h;Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h;Middlewares\Third_Party\FreeRTOS\Source\include\event_groups.h;Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h;Middlewares\Third_Party\FreeRTOS\Source\include\list.h;Middlewares\Third_Party\FreeRTOS\Source\include\message_buffer.h;Middlewares\Third_Party\FreeRTOS\Source\include\mpu_prototypes.h;Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h;Middlewares\Third_Party\FreeRTOS\Source\include\portable.h;Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h;Middlewares\Third_Party\FreeRTOS\Source\include\queue.h;Middlewares\Third_Party\FreeRTOS\Source\include\semphr.h;Middlewares\Third_Party\FreeRTOS\Source\include\stack_macros.h;Middlewares\Third_Party\FreeRTOS\Source\include\StackMacros.h;Middlewares\Third_Party\FreeRTOS\Source\include\stream_buffer.h;Middlewares\Third_Party\FreeRTOS\Source\include\task.h;Middlewares\Third_Party\FreeRTOS\Source\include\timers.h;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.h;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\portmacro.h;Middlewares\Third_Party\FatFs\src\diskio.h;Middlewares\Third_Party\FatFs\src\ff.h;Middlewares\Third_Party\FatFs\src\ff_gen_drv.h;Middlewares\Third_Party\FatFs\src\integer.h;Drivers\CMSIS\Device\ST\STM32F3xx\Include\stm32f302xc.h;Drivers\CMSIS\Device\ST\STM32F3xx\Include\stm32f3xx.h;Drivers\CMSIS\Device\ST\STM32F3xx\Include\system_stm32f3xx.h;Drivers\CMSIS\Device\ST\STM32F3xx\Source\Templates\system_stm32f3xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
+LibFiles=Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pcd.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pcd_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_usb.h;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_ll_usb.c;Drivers\STM32F3xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_def.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_rcc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_rcc_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_bus.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_rcc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_crs.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_system.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_utils.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_gpio.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_gpio_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_gpio.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_dma_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_dma.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_dma.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_cortex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_cortex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pwr.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pwr_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_pwr.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_flash.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_flash_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_i2c.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_i2c_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_exti.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_exti.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_adc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_adc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_adc_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_can.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_spi.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_spi.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_spi_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_tim.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_tim_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_tim.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_uart.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_usart.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_uart_ex.h;Middlewares\Third_Party\FreeRTOS\Source\include\croutine.h;Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h;Middlewares\Third_Party\FreeRTOS\Source\include\event_groups.h;Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h;Middlewares\Third_Party\FreeRTOS\Source\include\list.h;Middlewares\Third_Party\FreeRTOS\Source\include\message_buffer.h;Middlewares\Third_Party\FreeRTOS\Source\include\mpu_prototypes.h;Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h;Middlewares\Third_Party\FreeRTOS\Source\include\portable.h;Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h;Middlewares\Third_Party\FreeRTOS\Source\include\queue.h;Middlewares\Third_Party\FreeRTOS\Source\include\semphr.h;Middlewares\Third_Party\FreeRTOS\Source\include\stack_macros.h;Middlewares\Third_Party\FreeRTOS\Source\include\StackMacros.h;Middlewares\Third_Party\FreeRTOS\Source\include\stream_buffer.h;Middlewares\Third_Party\FreeRTOS\Source\include\task.h;Middlewares\Third_Party\FreeRTOS\Source\include\timers.h;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.h;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\portmacro.h;Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.h;Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h;Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h;Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h;Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Inc\usbd_cdc.h;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_gpio.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_dma.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_cortex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_exti.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_can.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart_ex.c;Middlewares\Third_Party\FreeRTOS\Source\croutine.c;Middlewares\Third_Party\FreeRTOS\Source\event_groups.c;Middlewares\Third_Party\FreeRTOS\Source\list.c;Middlewares\Third_Party\FreeRTOS\Source\queue.c;Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c;Middlewares\Third_Party\FreeRTOS\Source\tasks.c;Middlewares\Third_Party\FreeRTOS\Source\timers.c;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c;Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\port.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_core.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ctlreq.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ioreq.c;Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Src\usbd_cdc.c;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pcd.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pcd_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_usb.h;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_ll_usb.c;Drivers\STM32F3xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_def.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_rcc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_rcc_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_bus.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_rcc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_crs.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_system.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_utils.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_gpio.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_gpio_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_gpio.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_dma_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_dma.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_dma.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_cortex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_cortex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pwr.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_pwr_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_pwr.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_flash.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_flash_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_i2c.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_i2c_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_exti.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_exti.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_adc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_adc.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_adc_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_can.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_spi.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_spi.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_spi_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_tim.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_tim_ex.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_tim.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_uart.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_ll_usart.h;Drivers\STM32F3xx_HAL_Driver\Inc\stm32f3xx_hal_uart_ex.h;Middlewares\Third_Party\FreeRTOS\Source\include\croutine.h;Middlewares\Third_Party\FreeRTOS\Source\include\deprecated_definitions.h;Middlewares\Third_Party\FreeRTOS\Source\include\event_groups.h;Middlewares\Third_Party\FreeRTOS\Source\include\FreeRTOS.h;Middlewares\Third_Party\FreeRTOS\Source\include\list.h;Middlewares\Third_Party\FreeRTOS\Source\include\message_buffer.h;Middlewares\Third_Party\FreeRTOS\Source\include\mpu_prototypes.h;Middlewares\Third_Party\FreeRTOS\Source\include\mpu_wrappers.h;Middlewares\Third_Party\FreeRTOS\Source\include\portable.h;Middlewares\Third_Party\FreeRTOS\Source\include\projdefs.h;Middlewares\Third_Party\FreeRTOS\Source\include\queue.h;Middlewares\Third_Party\FreeRTOS\Source\include\semphr.h;Middlewares\Third_Party\FreeRTOS\Source\include\stack_macros.h;Middlewares\Third_Party\FreeRTOS\Source\include\StackMacros.h;Middlewares\Third_Party\FreeRTOS\Source\include\stream_buffer.h;Middlewares\Third_Party\FreeRTOS\Source\include\task.h;Middlewares\Third_Party\FreeRTOS\Source\include\timers.h;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.h;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\portmacro.h;Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_core.h;Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ctlreq.h;Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_def.h;Middlewares\ST\STM32_USB_Device_Library\Core\Inc\usbd_ioreq.h;Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Inc\usbd_cdc.h;Drivers\CMSIS\Device\ST\STM32F3xx\Include\stm32f302xc.h;Drivers\CMSIS\Device\ST\STM32F3xx\Include\stm32f3xx.h;Drivers\CMSIS\Device\ST\STM32F3xx\Include\system_stm32f3xx.h;Drivers\CMSIS\Device\ST\STM32F3xx\Source\Templates\system_stm32f3xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
[PreviousUsedCubeIDEFiles]
-SourceFiles=Core\Src\main.c;Core\Src\freertos.c;FATFS\Target\user_diskio.c;FATFS\App\fatfs.c;Core\Src\stm32f3xx_it.c;Core\Src\stm32f3xx_hal_msp.c;Core\Src\stm32f3xx_hal_timebase_tim.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_ll_usb.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_gpio.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_dma.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_cortex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_exti.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_can.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd_ex.c;Middlewares\Third_Party\FreeRTOS\Source\croutine.c;Middlewares\Third_Party\FreeRTOS\Source\event_groups.c;Middlewares\Third_Party\FreeRTOS\Source\list.c;Middlewares\Third_Party\FreeRTOS\Source\queue.c;Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c;Middlewares\Third_Party\FreeRTOS\Source\tasks.c;Middlewares\Third_Party\FreeRTOS\Source\timers.c;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c;Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\port.c;Middlewares\Third_Party\FatFs\src\diskio.c;Middlewares\Third_Party\FatFs\src\ff.c;Middlewares\Third_Party\FatFs\src\ff_gen_drv.c;Middlewares\Third_Party\FatFs\src\option\syscall.c;Drivers\CMSIS\Device\ST\STM32F3xx\Source\Templates\system_stm32f3xx.c;Core\Src\system_stm32f3xx.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_ll_usb.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_gpio.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_dma.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_cortex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_exti.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_can.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd_ex.c;Middlewares\Third_Party\FreeRTOS\Source\croutine.c;Middlewares\Third_Party\FreeRTOS\Source\event_groups.c;Middlewares\Third_Party\FreeRTOS\Source\list.c;Middlewares\Third_Party\FreeRTOS\Source\queue.c;Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c;Middlewares\Third_Party\FreeRTOS\Source\tasks.c;Middlewares\Third_Party\FreeRTOS\Source\timers.c;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c;Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\port.c;Middlewares\Third_Party\FatFs\src\diskio.c;Middlewares\Third_Party\FatFs\src\ff.c;Middlewares\Third_Party\FatFs\src\ff_gen_drv.c;Middlewares\Third_Party\FatFs\src\option\syscall.c;Drivers\CMSIS\Device\ST\STM32F3xx\Source\Templates\system_stm32f3xx.c;Core\Src\system_stm32f3xx.c;;;Middlewares\Third_Party\FatFs\src\diskio.c;Middlewares\Third_Party\FatFs\src\ff.c;Middlewares\Third_Party\FatFs\src\ff_gen_drv.c;Middlewares\Third_Party\FatFs\src\option\syscall.c;Middlewares\Third_Party\FreeRTOS\Source\croutine.c;Middlewares\Third_Party\FreeRTOS\Source\event_groups.c;Middlewares\Third_Party\FreeRTOS\Source\list.c;Middlewares\Third_Party\FreeRTOS\Source\queue.c;Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c;Middlewares\Third_Party\FreeRTOS\Source\tasks.c;Middlewares\Third_Party\FreeRTOS\Source\timers.c;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c;Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\port.c;
-HeaderPath=Drivers\STM32F3xx_HAL_Driver\Inc;Drivers\STM32F3xx_HAL_Driver\Inc\Legacy;Middlewares\Third_Party\FreeRTOS\Source\include;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F;Middlewares\Third_Party\FatFs\src;Drivers\CMSIS\Device\ST\STM32F3xx\Include;Drivers\CMSIS\Include;Core\Inc;FATFS\Target;FATFS\App;
+SourceFiles=Core\Src\main.c;Core\Src\freertos.c;USB_DEVICE\App\usb_device.c;USB_DEVICE\Target\usbd_conf.c;USB_DEVICE\App\usbd_desc.c;USB_DEVICE\App\usbd_cdc_if.c;Core\Src\stm32f3xx_it.c;Core\Src\stm32f3xx_hal_msp.c;Core\Src\stm32f3xx_hal_timebase_tim.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_ll_usb.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_gpio.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_dma.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_cortex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_exti.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_can.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart_ex.c;Middlewares\Third_Party\FreeRTOS\Source\croutine.c;Middlewares\Third_Party\FreeRTOS\Source\event_groups.c;Middlewares\Third_Party\FreeRTOS\Source\list.c;Middlewares\Third_Party\FreeRTOS\Source\queue.c;Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c;Middlewares\Third_Party\FreeRTOS\Source\tasks.c;Middlewares\Third_Party\FreeRTOS\Source\timers.c;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c;Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\port.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_core.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ctlreq.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ioreq.c;Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Src\usbd_cdc.c;Drivers\CMSIS\Device\ST\STM32F3xx\Source\Templates\system_stm32f3xx.c;Core\Src\system_stm32f3xx.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_ll_usb.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pcd_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_rcc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_gpio.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_dma.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_cortex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_pwr_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_flash_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_i2c_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_exti.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_adc_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_can.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_spi_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_tim_ex.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart.c;Drivers\STM32F3xx_HAL_Driver\Src\stm32f3xx_hal_uart_ex.c;Middlewares\Third_Party\FreeRTOS\Source\croutine.c;Middlewares\Third_Party\FreeRTOS\Source\event_groups.c;Middlewares\Third_Party\FreeRTOS\Source\list.c;Middlewares\Third_Party\FreeRTOS\Source\queue.c;Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c;Middlewares\Third_Party\FreeRTOS\Source\tasks.c;Middlewares\Third_Party\FreeRTOS\Source\timers.c;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c;Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\port.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_core.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ctlreq.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ioreq.c;Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Src\usbd_cdc.c;Drivers\CMSIS\Device\ST\STM32F3xx\Source\Templates\system_stm32f3xx.c;Core\Src\system_stm32f3xx.c;;;Middlewares\Third_Party\FreeRTOS\Source\croutine.c;Middlewares\Third_Party\FreeRTOS\Source\event_groups.c;Middlewares\Third_Party\FreeRTOS\Source\list.c;Middlewares\Third_Party\FreeRTOS\Source\queue.c;Middlewares\Third_Party\FreeRTOS\Source\stream_buffer.c;Middlewares\Third_Party\FreeRTOS\Source\tasks.c;Middlewares\Third_Party\FreeRTOS\Source\timers.c;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c;Middlewares\Third_Party\FreeRTOS\Source\portable\MemMang\heap_4.c;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\port.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_core.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ctlreq.c;Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ioreq.c;Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Src\usbd_cdc.c;
+HeaderPath=Drivers\STM32F3xx_HAL_Driver\Inc;Drivers\STM32F3xx_HAL_Driver\Inc\Legacy;Middlewares\Third_Party\FreeRTOS\Source\include;Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS;Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F;Middlewares\ST\STM32_USB_Device_Library\Core\Inc;Middlewares\ST\STM32_USB_Device_Library\Class\CDC\Inc;Drivers\CMSIS\Device\ST\STM32F3xx\Include;Drivers\CMSIS\Include;Core\Inc;USB_DEVICE\App;USB_DEVICE\Target;
CDefines=USE_HAL_DRIVER;STM32F302xC;USE_HAL_DRIVER;USE_HAL_DRIVER;
[PreviousGenFiles]
AdvancedFolderStructure=true
-HeaderFileListSize=7
+HeaderFileListSize=8
HeaderFiles#0=..\Core\Inc\FreeRTOSConfig.h
-HeaderFiles#1=..\FATFS\Target\ffconf.h
-HeaderFiles#2=..\FATFS\Target\user_diskio.h
-HeaderFiles#3=..\FATFS\App\fatfs.h
-HeaderFiles#4=..\Core\Inc\stm32f3xx_it.h
-HeaderFiles#5=..\Core\Inc\stm32f3xx_hal_conf.h
-HeaderFiles#6=..\Core\Inc\main.h
+HeaderFiles#1=..\USB_DEVICE\App\usb_device.h
+HeaderFiles#2=..\USB_DEVICE\Target\usbd_conf.h
+HeaderFiles#3=..\USB_DEVICE\App\usbd_desc.h
+HeaderFiles#4=..\USB_DEVICE\App\usbd_cdc_if.h
+HeaderFiles#5=..\Core\Inc\stm32f3xx_it.h
+HeaderFiles#6=..\Core\Inc\stm32f3xx_hal_conf.h
+HeaderFiles#7=..\Core\Inc\main.h
HeaderFolderListSize=3
HeaderPath#0=..\Core\Inc
-HeaderPath#1=..\FATFS\Target
-HeaderPath#2=..\FATFS\App
+HeaderPath#1=..\USB_DEVICE\App
+HeaderPath#2=..\USB_DEVICE\Target
HeaderFiles=;
-SourceFileListSize=7
+SourceFileListSize=9
SourceFiles#0=..\Core\Src\freertos.c
-SourceFiles#1=..\FATFS\Target\user_diskio.c
-SourceFiles#2=..\FATFS\App\fatfs.c
-SourceFiles#3=..\Core\Src\stm32f3xx_it.c
-SourceFiles#4=..\Core\Src\stm32f3xx_hal_msp.c
-SourceFiles#5=..\Core\Src\stm32f3xx_hal_timebase_tim.c
-SourceFiles#6=..\Core\Src\main.c
+SourceFiles#1=..\USB_DEVICE\App\usb_device.c
+SourceFiles#2=..\USB_DEVICE\Target\usbd_conf.c
+SourceFiles#3=..\USB_DEVICE\App\usbd_desc.c
+SourceFiles#4=..\USB_DEVICE\App\usbd_cdc_if.c
+SourceFiles#5=..\Core\Src\stm32f3xx_it.c
+SourceFiles#6=..\Core\Src\stm32f3xx_hal_msp.c
+SourceFiles#7=..\Core\Src\stm32f3xx_hal_timebase_tim.c
+SourceFiles#8=..\Core\Src\main.c
SourceFolderListSize=3
SourcePath#0=..\Core\Src
-SourcePath#1=..\FATFS\Target
-SourcePath#2=..\FATFS\App
+SourcePath#1=..\USB_DEVICE\App
+SourcePath#2=..\USB_DEVICE\Target
SourceFiles=;
diff --git a/.project b/.project
index 6de18f8..7383421 100644
--- a/.project
+++ b/.project
@@ -1,6 +1,6 @@
- FRICK
+ neptunium
diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
index ae22655..d5f3374 100644
--- a/.settings/language.settings.xml
+++ b/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
@@ -27,7 +27,7 @@
-
+
@@ -38,7 +38,7 @@
-
+
diff --git a/Core/Inc/entrypoint.h b/Core/Inc/entrypoint.h
new file mode 100644
index 0000000..2ba4464
--- /dev/null
+++ b/Core/Inc/entrypoint.h
@@ -0,0 +1,6 @@
+#ifndef __ENTRYPOINT_H
+#define __ENTRYPOINT_H
+
+void StartEntrypointTask(void const *argument);
+
+#endif
\ No newline at end of file
diff --git a/Core/Inc/logging.h b/Core/Inc/logging.h
new file mode 100644
index 0000000..7d374a3
--- /dev/null
+++ b/Core/Inc/logging.h
@@ -0,0 +1,10 @@
+#ifndef __LOGGING_H
+#define __LOGGING_H
+
+#include "main.h"
+#include "cmsis_os.h"
+#include "fatfs.h"
+#include
+
+void StartLoggingTask(void const *argument);
+#endif
\ No newline at end of file
diff --git a/Core/Inc/main.h b/Core/Inc/main.h
index 750580d..3b5b41f 100644
--- a/Core/Inc/main.h
+++ b/Core/Inc/main.h
@@ -22,8 +22,7 @@
#define __MAIN_H
#ifdef __cplusplus
-extern "C"
-{
+extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
@@ -36,29 +35,29 @@ extern "C"
#include "lsm6dso.h"
#include "lps22hb.h"
#include "radio.h"
- /* USER CODE END Includes */
+/* USER CODE END Includes */
- /* Exported types ------------------------------------------------------------*/
- /* USER CODE BEGIN ET */
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
extern SPI_HandleTypeDef hspi2;
extern SPI_HandleTypeDef hspi3;
- /* USER CODE END ET */
+/* USER CODE END ET */
- /* Exported constants --------------------------------------------------------*/
- /* USER CODE BEGIN EC */
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
- /* USER CODE END EC */
+/* USER CODE END EC */
- /* Exported macro ------------------------------------------------------------*/
- /* USER CODE BEGIN EM */
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
- /* USER CODE END EM */
+/* USER CODE END EM */
- void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
- /* Exported functions prototypes ---------------------------------------------*/
- void Error_Handler(void);
+/* Exported functions prototypes ---------------------------------------------*/
+void Error_Handler(void);
/* USER CODE BEGIN EFP */
@@ -95,7 +94,7 @@ extern "C"
/* USER CODE BEGIN Private defines */
#define SD_SPI_HANDLE hspi3
- /* USER CODE END Private defines */
+/* USER CODE END Private defines */
#ifdef __cplusplus
}
diff --git a/Core/Inc/stm32f3xx_it.h b/Core/Inc/stm32f3xx_it.h
index 8dec574..11e708d 100644
--- a/Core/Inc/stm32f3xx_it.h
+++ b/Core/Inc/stm32f3xx_it.h
@@ -57,6 +57,7 @@ void TIM1_UP_TIM16_IRQHandler(void);
void USART3_IRQHandler(void);
void EXTI15_10_IRQHandler(void);
void USB_HP_IRQHandler(void);
+void USB_LP_IRQHandler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
diff --git a/Core/Src/entrypoint.c b/Core/Src/entrypoint.c
new file mode 100644
index 0000000..d5a150c
--- /dev/null
+++ b/Core/Src/entrypoint.c
@@ -0,0 +1,104 @@
+#include "entrypoint.h"
+#include "logging.h"
+#include "fatfs.h"
+#include "cmsis_os.h"
+#include "usbd_cdc_if.h"
+// #include "lsm6dsox.h"
+#include "lps22hb.h"
+// #include "hdc2010.h"
+
+extern osMessageQId usbRxQueueHandle;
+
+extern osThreadId loggingTaskHandle;
+
+extern osThreadId lsm6dsoIntTaskHandle;
+extern osThreadId lps22hbIntTaskHandle;
+
+volatile uint8_t usb_connected = 0;
+volatile uint8_t disk_initialized = USBD_FAIL;
+
+/**
+ * @brief Function implementing the defaultTask thread.
+ * @param argument: Not used
+ * @retval None
+ */
+void StartEntrypointTask(void const *argument)
+{
+#if 0
+ lsm6ds3tr_c_read_data_drdy_init();
+ lps22hb_multi_read_fifo_init();
+ hdc2010_init();
+
+ // FIXME: USE CORRECT PRIORITY.
+ osThreadDef(lsm6dsoIntTask, lsm6ds3tr_c_read_data_drdy_handler, osPriorityIdle, 0, 128);
+ lsm6dsoIntTaskHandle = osThreadCreate(osThread(lsm6dsoIntTask), NULL);
+
+ osThreadDef(lps22hbIntTask, lps22hb_multi_read_fifo_handler, osPriorityIdle, 0, 128);
+ lps22hbIntTaskHandle = osThreadCreate(osThread(lps22hbIntTask), NULL);
+
+ for (;;)
+ {
+ osDelay(1);
+ }
+#endif
+#if 1
+
+ // 3 CASES
+ // 1. SYSTEM IS CONNECTED AS TELEMETRY GROUND STATION
+ // 2. SYSTEM IS CONNECTED TO A COMPUTER AS A USB MASS STORAGE CLASS DEVICE
+ // 3. SYSTEM IS LOGGING INFORMATION TO THE eMMC
+ // TODO: WAIT FOR USER INPUT TO DECIDE WHETHER TO CHOOSE CASE 1 OR 2, IF TIMEOUT AFTER 60 SECONDS ACT AS LOGGING DEVICE.
+ // OR TODO: USE USB COMPOSITE DEVICE
+
+ // CURRENT CONFIGURATION - ONLY USE AS MASS STORAGE DEVICE.2
+
+ // CHECK IF USB IS CONNECTED AND DISABLE FATFS IF CONNECTED.
+
+#define BOOT_TEXT "\r\nBooted in interactive mode" \
+ "\r\nSelect an option:" \
+ "\r\n1 - Ground station" \
+ "\r\n2 - USB Drive" \
+ "\r\nAny other key - Flight computer (Default)\r\n"
+
+#define SELECTED_DRIVE_TEXT "\r\nSelected USB Drive mode. Please wait..."
+#define SELECTED_GND_TEXT "\r\nSelected Ground station mode."
+#define SELECTED_FLIGHT_TEXT "\r\nSelected Flight computer mode."
+
+ osEvent connected_event = osSignalWait(0x01, 30000);
+ uint8_t selected_option = '0';
+ if (connected_event.status == osEventSignal)
+ {
+ osDelay(1000); // DELAY FOR SERIAL CONNECTION TO COMPLETE.
+ uint8_t rx_buf[10];
+ uint32_t rx_len;
+ while (CDC_Transmit_FS(BOOT_TEXT, sizeof(BOOT_TEXT)) != USBD_OK)
+ ;
+ osEvent option_event = osMessageGet(usbRxQueueHandle, osWaitForever);
+ if (option_event.status == osEventMessage)
+ selected_option = (uint8_t)option_event.value.v;
+ }
+
+ switch (selected_option)
+ {
+ case '1':
+ CDC_Transmit_FS(SELECTED_GND_TEXT, sizeof(SELECTED_GND_TEXT));
+ break;
+ case '2':
+ USER_Driver.disk_initialize(0);
+ disk_initialized = USBD_OK;
+ CDC_Transmit_FS(SELECTED_DRIVE_TEXT, sizeof(SELECTED_DRIVE_TEXT));
+ break;
+ default:
+ CDC_Transmit_FS(SELECTED_FLIGHT_TEXT, sizeof(SELECTED_FLIGHT_TEXT));
+ osThreadDef(loggingTask, StartLoggingTask, osPriorityIdle, 0, 2048);
+ loggingTaskHandle = osThreadCreate(osThread(loggingTask), NULL);
+ break;
+ }
+
+ /* Infinite loop */
+ for (;;)
+ {
+ osDelay(1);
+ }
+#endif
+}
diff --git a/Core/Src/logging.c b/Core/Src/logging.c
new file mode 100644
index 0000000..1e7e6e3
--- /dev/null
+++ b/Core/Src/logging.c
@@ -0,0 +1,94 @@
+#include "logging.h"
+
+static void uint32_to_string(uint32_t number, char str[])
+{
+ int i = 0;
+ char temp[12];
+
+ if (number == 0)
+ {
+ str[i++] = '0';
+ str[i++] = '\n';
+ str[i] = '\0';
+ return;
+ }
+
+ while (number > 0)
+ {
+ temp[i++] = (number % 10) + '0';
+ number /= 10;
+ }
+
+ int j;
+ for (j = 0; j < i; j++)
+ {
+ str[j] = temp[i - j - 1];
+ }
+ str[j++] = '\n';
+ str[j] = '\0';
+}
+
+const uint8_t TEST_TEXT[] =
+ "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ \n"
+ "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ \n"
+ "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ \n"
+ "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ \n"
+ "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ \n"
+ "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ \n"
+ "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ \n";
+
+void StartLoggingTask(void const *argument)
+{
+ FRESULT res; /* FatFs function common result code */
+ uint32_t byteswritten, bytesread; /* File write/read counts */
+ uint32_t counter = 0;
+ uint8_t counter_str[13];
+
+ res = f_mount(&USERFatFS, (TCHAR const *)USERPath, 0);
+ if (res != FR_OK)
+ Error_Handler();
+
+ // Open file for writing (Create)
+ // FILE *NAME* (NOT INCLUDING DIRS) MUST BE MAX 9 CHARS
+ res = f_open(&USERFile, "ASCII_CHARACTERS.TXT", FA_CREATE_ALWAYS | FA_WRITE);
+ if (res != FR_OK)
+ Error_Handler();
+ // Write to the text file
+ res = f_write(&USERFile, TEST_TEXT, strlen((char *)TEST_TEXT), (void *)&byteswritten);
+ if ((byteswritten == 0) || (res != FR_OK))
+ Error_Handler();
+ f_close(&USERFile);
+
+ res = f_open(&USERFile, "TEST_LOG.TXT", FA_OPEN_APPEND | FA_WRITE);
+ if (res != FR_OK)
+ Error_Handler();
+ uint8_t intro_txt[] = "--- NEW SESSION ---\n";
+ res = f_write(&USERFile, intro_txt, strlen(intro_txt), (void *)&byteswritten);
+ if ((byteswritten == 0) || (res != FR_OK))
+ Error_Handler();
+ f_close(&USERFile);
+
+ for (;;)
+ {
+ // Write to the text file
+ res = f_open(&USERFile, "TEST_LOG.TXT", FA_OPEN_APPEND | FA_WRITE);
+ if (res != FR_OK)
+ Error_Handler();
+
+ if (f_lseek(&USERFile, f_size(&USERFile)) != FR_OK)
+ Error_Handler();
+
+ uint32_to_string(HAL_GetTick(), counter_str);
+
+ res = f_write(&USERFile, counter_str, strlen(counter_str), (void *)&byteswritten);
+ if ((byteswritten == 0) || (res != FR_OK))
+ ; // Error_Handler();// TODO: Add logging event or something
+
+ f_close(&USERFile);
+
+ // Delay for 1 second
+ osDelay(1000);
+
+ counter++;
+ }
+}
\ No newline at end of file
diff --git a/Core/Src/main.c b/Core/Src/main.c
index 516a678..9377d05 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -19,10 +19,13 @@
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "cmsis_os.h"
-#include "fatfs.h"
+#include "usb_device.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
+#include "logging.h"
+#include "usb_device.h"
+#include "entrypoint.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
@@ -54,14 +57,17 @@ TIM_HandleTypeDef htim17;
UART_HandleTypeDef huart3;
-PCD_HandleTypeDef hpcd_USB_FS;
-
osThreadId defaultTaskHandle;
+osMessageQId usbRxQueueHandle;
/* USER CODE BEGIN PV */
uint8_t gnss_buf[64];
ubx_nav_pvt_msg_t navPvt;
ubx_nav_dop_msg_t navDop;
+osThreadId entrypointTaskHandle;
+osThreadId loggingTaskHandle;
+osThreadId lsm6dsoIntTaskHandle;
+osThreadId lps22hbIntTaskHandle;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
@@ -72,31 +78,24 @@ static void MX_SPI2_Init(void);
static void MX_SPI3_Init(void);
static void MX_TIM2_Init(void);
static void MX_TIM17_Init(void);
-static void MX_USB_PCD_Init(void);
static void MX_ADC2_Init(void);
static void MX_CAN_Init(void);
static void MX_TIM3_Init(void);
-void StartDefaultTask(void const *argument);
+void StartDefaultTask(void const * argument);
static void MX_NVIC_Init(void);
/* USER CODE BEGIN PFP */
-void cdc_task(void);
-
+void StartLoggingTask(void const *argument);
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
-void halt()
-{
- while (1)
- ;
-}
/* USER CODE END 0 */
/**
- * @brief The application entry point.
- * @retval int
- */
+ * @brief The application entry point.
+ * @retval int
+ */
int main(void)
{
@@ -125,8 +124,6 @@ int main(void)
MX_SPI3_Init();
MX_TIM2_Init();
MX_TIM17_Init();
- MX_USB_PCD_Init();
- MX_FATFS_Init();
MX_ADC2_Init();
MX_CAN_Init();
MX_TIM3_Init();
@@ -134,38 +131,29 @@ int main(void)
/* Initialize interrupts */
MX_NVIC_Init();
/* USER CODE BEGIN 2 */
-// SET ALL CS TO HIGH TO DISABLE SLAVES
-#define SET_CS(port, pin) HAL_GPIO_WritePin((port), (pin), GPIO_PIN_SET)
-
- SET_CS(ACCEL1_CS_GPIO_Port, ACCEL1_CS_Pin);
- SET_CS(ACCEL2_CS_GPIO_Port, ACCEL2_CS_Pin);
- SET_CS(BARO_CS_GPIO_Port, BARO_CS_Pin);
-
- SET_CS(LORA_CS_GPIO_Port, LORA_CS_Pin);
- SET_CS(MEM_CS_GPIO_Port, MEM_CS_Pin);
- SET_CS(SD_CS_GPIO_Port, SD_CS_Pin);
+ MX_USB_DEVICE_Init();
static uint32_t s; // store n elts
// HAL_Delay(100);
- neoInit();
+ // neoInit();
// lsm6dsox_read_data_drdy_init();
// lps22hb_multi_read_fifo_init();
// lora_setup(EN_RX | EN_TX);
// SD CARD INITIALIZATION
- HAL_Delay(1000); // a short delay is important to let the SD card settle
+ // HAL_Delay(1000); // a short delay is important to let the SD card settle
FATFS FatFs; // Fatfs handle
FIL fil; // File handle
FRESULT fres; // Result after operations
// Open the file system
- do
- {
- fres = f_mount(&FatFs, "test_file.txt", 1); // 1=mount now
- } while (fres != FR_OK);
+ // do
+ // {
+ // fres = f_mount(&FatFs, "test_file.txt", 1); // 1=mount now
+ // } while (fres != FR_OK);
// END SD CARD INITIALIZATION
@@ -183,8 +171,14 @@ int main(void)
/* start timers, add new ones, ... */
/* USER CODE END RTOS_TIMERS */
+ /* Create the queue(s) */
+ /* definition and creation of usbRxQueue */
+ osMessageQDef(usbRxQueue, 16, uint16_t);
+ usbRxQueueHandle = osMessageCreate(osMessageQ(usbRxQueue), NULL);
+
/* USER CODE BEGIN RTOS_QUEUES */
/* add queues, ... */
+#if 0
/* USER CODE END RTOS_QUEUES */
/* Create the thread(s) */
@@ -193,6 +187,9 @@ int main(void)
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
/* USER CODE BEGIN RTOS_THREADS */
+#endif
+ osThreadDef(entrypointTask, StartEntrypointTask, osPriorityNormal, 0, 128);
+ entrypointTaskHandle = osThreadCreate(osThread(entrypointTask), NULL);
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
@@ -213,9 +210,9 @@ int main(void)
}
/**
- * @brief System Clock Configuration
- * @retval None
- */
+ * @brief System Clock Configuration
+ * @retval None
+ */
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
@@ -223,8 +220,8 @@ void SystemClock_Config(void)
RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
/** Initializes the RCC Oscillators according to the specified parameters
- * in the RCC_OscInitTypeDef structure.
- */
+ * in the RCC_OscInitTypeDef structure.
+ */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
@@ -238,8 +235,9 @@ void SystemClock_Config(void)
}
/** Initializes the CPU, AHB and APB buses clocks
- */
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
@@ -249,7 +247,8 @@ void SystemClock_Config(void)
{
Error_Handler();
}
- PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB | RCC_PERIPHCLK_USART3 | RCC_PERIPHCLK_ADC12;
+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB|RCC_PERIPHCLK_USART3
+ |RCC_PERIPHCLK_ADC12;
PeriphClkInit.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;
PeriphClkInit.Adc12ClockSelection = RCC_ADC12PLLCLK_DIV1;
PeriphClkInit.USBClockSelection = RCC_USBCLKSOURCE_PLL;
@@ -260,9 +259,9 @@ void SystemClock_Config(void)
}
/**
- * @brief NVIC Configuration.
- * @retval None
- */
+ * @brief NVIC Configuration.
+ * @retval None
+ */
static void MX_NVIC_Init(void)
{
/* USART3_IRQn interrupt configuration */
@@ -271,10 +270,10 @@ static void MX_NVIC_Init(void)
}
/**
- * @brief ADC2 Initialization Function
- * @param None
- * @retval None
- */
+ * @brief ADC2 Initialization Function
+ * @param None
+ * @retval None
+ */
static void MX_ADC2_Init(void)
{
@@ -289,7 +288,7 @@ static void MX_ADC2_Init(void)
/* USER CODE END ADC2_Init 1 */
/** Common config
- */
+ */
hadc2.Instance = ADC2;
hadc2.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
hadc2.Init.Resolution = ADC_RESOLUTION_12B;
@@ -310,7 +309,7 @@ static void MX_ADC2_Init(void)
}
/** Configure Regular Channel
- */
+ */
sConfig.Channel = ADC_CHANNEL_1;
sConfig.Rank = ADC_REGULAR_RANK_1;
sConfig.SingleDiff = ADC_SINGLE_ENDED;
@@ -324,13 +323,14 @@ static void MX_ADC2_Init(void)
/* USER CODE BEGIN ADC2_Init 2 */
/* USER CODE END ADC2_Init 2 */
+
}
/**
- * @brief CAN Initialization Function
- * @param None
- * @retval None
- */
+ * @brief CAN Initialization Function
+ * @param None
+ * @retval None
+ */
static void MX_CAN_Init(void)
{
@@ -360,13 +360,14 @@ static void MX_CAN_Init(void)
/* USER CODE BEGIN CAN_Init 2 */
/* USER CODE END CAN_Init 2 */
+
}
/**
- * @brief SPI2 Initialization Function
- * @param None
- * @retval None
- */
+ * @brief SPI2 Initialization Function
+ * @param None
+ * @retval None
+ */
static void MX_SPI2_Init(void)
{
@@ -399,13 +400,14 @@ static void MX_SPI2_Init(void)
/* USER CODE BEGIN SPI2_Init 2 */
/* USER CODE END SPI2_Init 2 */
+
}
/**
- * @brief SPI3 Initialization Function
- * @param None
- * @retval None
- */
+ * @brief SPI3 Initialization Function
+ * @param None
+ * @retval None
+ */
static void MX_SPI3_Init(void)
{
@@ -438,13 +440,14 @@ static void MX_SPI3_Init(void)
/* USER CODE BEGIN SPI3_Init 2 */
/* USER CODE END SPI3_Init 2 */
+
}
/**
- * @brief TIM2 Initialization Function
- * @param None
- * @retval None
- */
+ * @brief TIM2 Initialization Function
+ * @param None
+ * @retval None
+ */
static void MX_TIM2_Init(void)
{
@@ -498,13 +501,14 @@ static void MX_TIM2_Init(void)
/* USER CODE END TIM2_Init 2 */
HAL_TIM_MspPostInit(&htim2);
+
}
/**
- * @brief TIM3 Initialization Function
- * @param None
- * @retval None
- */
+ * @brief TIM3 Initialization Function
+ * @param None
+ * @retval None
+ */
static void MX_TIM3_Init(void)
{
@@ -546,13 +550,14 @@ static void MX_TIM3_Init(void)
/* USER CODE END TIM3_Init 2 */
HAL_TIM_MspPostInit(&htim3);
+
}
/**
- * @brief TIM17 Initialization Function
- * @param None
- * @retval None
- */
+ * @brief TIM17 Initialization Function
+ * @param None
+ * @retval None
+ */
static void MX_TIM17_Init(void)
{
@@ -608,13 +613,14 @@ static void MX_TIM17_Init(void)
/* USER CODE END TIM17_Init 2 */
HAL_TIM_MspPostInit(&htim17);
+
}
/**
- * @brief USART3 Initialization Function
- * @param None
- * @retval None
- */
+ * @brief USART3 Initialization Function
+ * @param None
+ * @retval None
+ */
static void MX_USART3_UART_Init(void)
{
@@ -642,60 +648,19 @@ static void MX_USART3_UART_Init(void)
/* USER CODE BEGIN USART3_Init 2 */
/* USER CODE END USART3_Init 2 */
+
}
/**
- * @brief USB Initialization Function
- * @param None
- * @retval None
- */
-static void MX_USB_PCD_Init(void)
-{
-
- /* USER CODE BEGIN USB_Init 0 */
- /* USER CODE END USB_Init 0 */
-
- /* USER CODE BEGIN USB_Init 1 */
-
- /* USER CODE END USB_Init 1 */
- hpcd_USB_FS.Instance = USB;
- hpcd_USB_FS.Init.dev_endpoints = 8;
- hpcd_USB_FS.Init.speed = PCD_SPEED_FULL;
- hpcd_USB_FS.Init.phy_itface = PCD_PHY_EMBEDDED;
- hpcd_USB_FS.Init.low_power_enable = DISABLE;
- hpcd_USB_FS.Init.battery_charging_enable = DISABLE;
- if (HAL_PCD_Init(&hpcd_USB_FS) != HAL_OK)
- {
- Error_Handler();
- }
- /* USER CODE BEGIN USB_Init 2 */
- /*
- * https://stm32world.com/wiki/STM32_USB_Device_Renumeration
- * Force host to re-enumerate device
- */
- GPIO_InitTypeDef GPIO_InitStruct = {0}; // All zeroed out
- GPIO_InitStruct.Pin = GPIO_PIN_12; // Hardcoding this - PA12 is D+
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-pull mode
- GPIO_InitStruct.Pull = GPIO_PULLDOWN; // Resetting so pull low
- GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; // Really shouldn't matter in this case
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); // Initialize with above settings
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET); // Yank low
- HAL_Delay(50); // Enough time for host to disconnect device
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET); // Back high - so host will enumerate
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_12); // Deinitialize the pin
- /* USER CODE END USB_Init 2 */
-}
-
-/**
- * @brief GPIO Initialization Function
- * @param None
- * @retval None
- */
+ * @brief GPIO Initialization Function
+ * @param None
+ * @retval None
+ */
static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
- /* USER CODE BEGIN MX_GPIO_Init_1 */
- /* USER CODE END MX_GPIO_Init_1 */
+/* USER CODE BEGIN MX_GPIO_Init_1 */
+/* USER CODE END MX_GPIO_Init_1 */
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOC_CLK_ENABLE();
@@ -704,10 +669,10 @@ static void MX_GPIO_Init(void)
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
- HAL_GPIO_WritePin(GPIOC, MEM_CS_Pin | SD_CS_Pin | ACCEL1_CS_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(GPIOC, MEM_CS_Pin|SD_CS_Pin|ACCEL1_CS_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
- HAL_GPIO_WritePin(GPIOB, ACCEL2_CS_Pin | LORA_CS_Pin, GPIO_PIN_SET);
+ HAL_GPIO_WritePin(GPIOB, ACCEL2_CS_Pin|LORA_CS_Pin, GPIO_PIN_SET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(BARO_CS_GPIO_Port, BARO_CS_Pin, GPIO_PIN_SET);
@@ -715,41 +680,34 @@ static void MX_GPIO_Init(void)
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(RADIO_R_TX_GPIO_Port, RADIO_R_TX_Pin, GPIO_PIN_RESET);
- /*Configure GPIO pins : MEM_CS_Pin ACCEL1_CS_Pin */
- GPIO_InitStruct.Pin = MEM_CS_Pin | ACCEL1_CS_Pin;
+ /*Configure GPIO pins : MEM_CS_Pin SD_CS_Pin ACCEL1_CS_Pin */
+ GPIO_InitStruct.Pin = MEM_CS_Pin|SD_CS_Pin|ACCEL1_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
- /*Configure GPIO pin : SD_CS_Pin */
- GPIO_InitStruct.Pin = SD_CS_Pin;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- GPIO_InitStruct.Pull = GPIO_PULLDOWN;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
- HAL_GPIO_Init(SD_CS_GPIO_Port, &GPIO_InitStruct);
-
/*Configure GPIO pins : ARM_SENSE_Pin ACCEL1_INT2_Pin */
- GPIO_InitStruct.Pin = ARM_SENSE_Pin | ACCEL1_INT2_Pin;
+ GPIO_InitStruct.Pin = ARM_SENSE_Pin|ACCEL1_INT2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pins : ACCEL2_CS_Pin LORA_CS_Pin */
- GPIO_InitStruct.Pin = ACCEL2_CS_Pin | LORA_CS_Pin;
+ GPIO_InitStruct.Pin = ACCEL2_CS_Pin|LORA_CS_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
/*Configure GPIO pins : BARO_INT_Pin ACCEL2_INT2_Pin */
- GPIO_InitStruct.Pin = BARO_INT_Pin | ACCEL2_INT2_Pin;
+ GPIO_InitStruct.Pin = BARO_INT_Pin|ACCEL2_INT2_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/*Configure GPIO pins : BARO_CS_Pin RADIO_R_TX_Pin */
- GPIO_InitStruct.Pin = BARO_CS_Pin | RADIO_R_TX_Pin;
+ GPIO_InitStruct.Pin = BARO_CS_Pin|RADIO_R_TX_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
@@ -762,8 +720,8 @@ static void MX_GPIO_Init(void)
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 5, 0);
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
- /* USER CODE BEGIN MX_GPIO_Init_2 */
- /* USER CODE END MX_GPIO_Init_2 */
+/* USER CODE BEGIN MX_GPIO_Init_2 */
+/* USER CODE END MX_GPIO_Init_2 */
}
/* USER CODE BEGIN 4 */
@@ -791,8 +749,10 @@ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
* @retval None
*/
/* USER CODE END Header_StartDefaultTask */
-void StartDefaultTask(void const *argument)
+void StartDefaultTask(void const * argument)
{
+ /* init code for USB_DEVICE */
+ MX_USB_DEVICE_Init();
/* USER CODE BEGIN 5 */
/* Infinite loop */
for (;;)
@@ -803,20 +763,19 @@ void StartDefaultTask(void const *argument)
}
/**
- * @brief Period elapsed callback in non blocking mode
- * @note This function is called when TIM1 interrupt took place, inside
- * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
- * a global variable "uwTick" used as application time base.
- * @param htim : TIM handle
- * @retval None
- */
+ * @brief Period elapsed callback in non blocking mode
+ * @note This function is called when TIM1 interrupt took place, inside
+ * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
+ * a global variable "uwTick" used as application time base.
+ * @param htim : TIM handle
+ * @retval None
+ */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
/* USER CODE BEGIN Callback 0 */
/* USER CODE END Callback 0 */
- if (htim->Instance == TIM1)
- {
+ if (htim->Instance == TIM1) {
HAL_IncTick();
}
/* USER CODE BEGIN Callback 1 */
@@ -825,9 +784,9 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
}
/**
- * @brief This function is executed in case of error occurrence.
- * @retval None
- */
+ * @brief This function is executed in case of error occurrence.
+ * @retval None
+ */
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
@@ -839,14 +798,14 @@ void Error_Handler(void)
/* USER CODE END Error_Handler_Debug */
}
-#ifdef USE_FULL_ASSERT
+#ifdef USE_FULL_ASSERT
/**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
+ * @brief Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * @param file: pointer to the source file name
+ * @param line: assert_param error line source number
+ * @retval None
+ */
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
diff --git a/Core/Src/stm32f3xx_hal_msp.c b/Core/Src/stm32f3xx_hal_msp.c
index 77ced9c..2dd0be1 100644
--- a/Core/Src/stm32f3xx_hal_msp.c
+++ b/Core/Src/stm32f3xx_hal_msp.c
@@ -571,77 +571,6 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
}
-/**
-* @brief PCD MSP Initialization
-* This function configures the hardware resources used in this example
-* @param hpcd: PCD handle pointer
-* @retval None
-*/
-void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)
-{
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- if(hpcd->Instance==USB)
- {
- /* USER CODE BEGIN USB_MspInit 0 */
-
- /* USER CODE END USB_MspInit 0 */
-
- __HAL_RCC_GPIOA_CLK_ENABLE();
- /**USB GPIO Configuration
- PA11 ------> USB_DM
- PA12 ------> USB_DP
- */
- GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- GPIO_InitStruct.Alternate = GPIO_AF14_USB;
- HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
-
- /* Peripheral clock enable */
- __HAL_RCC_USB_CLK_ENABLE();
- /* USB interrupt Init */
- __HAL_REMAPINTERRUPT_USB_ENABLE();
- HAL_NVIC_SetPriority(USB_HP_IRQn, 5, 0);
- HAL_NVIC_EnableIRQ(USB_HP_IRQn);
- /* USER CODE BEGIN USB_MspInit 1 */
-
- /* USER CODE END USB_MspInit 1 */
- }
-
-}
-
-/**
-* @brief PCD MSP De-Initialization
-* This function freeze the hardware resources used in this example
-* @param hpcd: PCD handle pointer
-* @retval None
-*/
-void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)
-{
- if(hpcd->Instance==USB)
- {
- /* USER CODE BEGIN USB_MspDeInit 0 */
-
- /* USER CODE END USB_MspDeInit 0 */
- /* Peripheral clock disable */
- __HAL_RCC_USB_CLK_DISABLE();
-
- /**USB GPIO Configuration
- PA11 ------> USB_DM
- PA12 ------> USB_DP
- */
- HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
-
- /* USB interrupt DeInit */
- HAL_NVIC_DisableIRQ(USB_HP_IRQn);
- /* USER CODE BEGIN USB_MspDeInit 1 */
-
- /* USER CODE END USB_MspDeInit 1 */
- }
-
-}
-
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
diff --git a/Core/Src/stm32f3xx_it.c b/Core/Src/stm32f3xx_it.c
index 91fcf4c..90fd2bf 100644
--- a/Core/Src/stm32f3xx_it.c
+++ b/Core/Src/stm32f3xx_it.c
@@ -55,8 +55,8 @@
/* USER CODE END 0 */
/* External variables --------------------------------------------------------*/
-extern UART_HandleTypeDef huart3;
extern PCD_HandleTypeDef hpcd_USB_FS;
+extern UART_HandleTypeDef huart3;
extern TIM_HandleTypeDef htim1;
/* USER CODE BEGIN EV */
@@ -67,8 +67,8 @@ extern TIM_HandleTypeDef htim1;
/* Cortex-M4 Processor Interruption and Exception Handlers */
/******************************************************************************/
/**
- * @brief This function handles Non maskable interrupt.
- */
+ * @brief This function handles Non maskable interrupt.
+ */
void NMI_Handler(void)
{
/* USER CODE BEGIN NonMaskableInt_IRQn 0 */
@@ -82,12 +82,12 @@ void NMI_Handler(void)
}
/**
- * @brief This function handles Hard fault interrupt.
- */
+ * @brief This function handles Hard fault interrupt.
+ */
void HardFault_Handler(void)
{
/* USER CODE BEGIN HardFault_IRQn 0 */
-
+ __BKPT();
/* USER CODE END HardFault_IRQn 0 */
while (1)
{
@@ -97,8 +97,8 @@ void HardFault_Handler(void)
}
/**
- * @brief This function handles Memory management fault.
- */
+ * @brief This function handles Memory management fault.
+ */
void MemManage_Handler(void)
{
/* USER CODE BEGIN MemoryManagement_IRQn 0 */
@@ -112,12 +112,12 @@ void MemManage_Handler(void)
}
/**
- * @brief This function handles Pre-fetch fault, memory access fault.
- */
+ * @brief This function handles Pre-fetch fault, memory access fault.
+ */
void BusFault_Handler(void)
{
/* USER CODE BEGIN BusFault_IRQn 0 */
-
+ __BKPT();
/* USER CODE END BusFault_IRQn 0 */
while (1)
{
@@ -127,8 +127,8 @@ void BusFault_Handler(void)
}
/**
- * @brief This function handles Undefined instruction or illegal state.
- */
+ * @brief This function handles Undefined instruction or illegal state.
+ */
void UsageFault_Handler(void)
{
/* USER CODE BEGIN UsageFault_IRQn 0 */
@@ -142,8 +142,8 @@ void UsageFault_Handler(void)
}
/**
- * @brief This function handles Debug monitor.
- */
+ * @brief This function handles Debug monitor.
+ */
void DebugMon_Handler(void)
{
/* USER CODE BEGIN DebugMonitor_IRQn 0 */
@@ -162,8 +162,8 @@ void DebugMon_Handler(void)
/******************************************************************************/
/**
- * @brief This function handles EXTI line[9:5] interrupts.
- */
+ * @brief This function handles EXTI line[9:5] interrupts.
+ */
void EXTI9_5_IRQHandler(void)
{
/* USER CODE BEGIN EXTI9_5_IRQn 0 */
@@ -176,8 +176,8 @@ void EXTI9_5_IRQHandler(void)
}
/**
- * @brief This function handles TIM1 update and TIM16 interrupts.
- */
+ * @brief This function handles TIM1 update and TIM16 interrupts.
+ */
void TIM1_UP_TIM16_IRQHandler(void)
{
/* USER CODE BEGIN TIM1_UP_TIM16_IRQn 0 */
@@ -190,8 +190,8 @@ void TIM1_UP_TIM16_IRQHandler(void)
}
/**
- * @brief This function handles USART3 global interrupt / USART3 wake-up interrupt through EXTI line 28.
- */
+ * @brief This function handles USART3 global interrupt / USART3 wake-up interrupt through EXTI line 28.
+ */
void USART3_IRQHandler(void)
{
/* USER CODE BEGIN USART3_IRQn 0 */
@@ -210,8 +210,8 @@ void USART3_IRQHandler(void)
}
/**
- * @brief This function handles EXTI line[15:10] interrupts.
- */
+ * @brief This function handles EXTI line[15:10] interrupts.
+ */
void EXTI15_10_IRQHandler(void)
{
/* USER CODE BEGIN EXTI15_10_IRQn 0 */
@@ -225,8 +225,8 @@ void EXTI15_10_IRQHandler(void)
}
/**
- * @brief This function handles USB high priority interrupt remap.
- */
+ * @brief This function handles USB high priority interrupt remap.
+ */
void USB_HP_IRQHandler(void)
{
/* USER CODE BEGIN USB_HP_IRQn 0 */
@@ -238,6 +238,20 @@ void USB_HP_IRQHandler(void)
/* USER CODE END USB_HP_IRQn 1 */
}
+/**
+ * @brief This function handles USB low priority interrupt remap.
+ */
+void USB_LP_IRQHandler(void)
+{
+ /* USER CODE BEGIN USB_LP_IRQn 0 */
+
+ /* USER CODE END USB_LP_IRQn 0 */
+ HAL_PCD_IRQHandler(&hpcd_USB_FS);
+ /* USER CODE BEGIN USB_LP_IRQn 1 */
+
+ /* USER CODE END USB_LP_IRQn 1 */
+}
+
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
diff --git a/Debug/Core/Src/main.cyclo b/Debug/Core/Src/main.cyclo
deleted file mode 100644
index 2d02ffa..0000000
--- a/Debug/Core/Src/main.cyclo
+++ /dev/null
@@ -1,5 +0,0 @@
-../Core/Src/main.c:67:5:main 1
-../Core/Src/main.c:115:6:SystemClock_Config 4
-../Core/Src/main.c:161:13:MX_USART3_UART_Init 2
-../Core/Src/main.c:195:13:MX_GPIO_Init 1
-../Core/Src/main.c:217:6:Error_Handler 1
diff --git a/Debug/Core/Src/stm32f3xx_hal_msp.cyclo b/Debug/Core/Src/stm32f3xx_hal_msp.cyclo
deleted file mode 100644
index 371bcc0..0000000
--- a/Debug/Core/Src/stm32f3xx_hal_msp.cyclo
+++ /dev/null
@@ -1,3 +0,0 @@
-../Core/Src/stm32f3xx_hal_msp.c:63:6:HAL_MspInit 1
-../Core/Src/stm32f3xx_hal_msp.c:86:6:HAL_UART_MspInit 2
-../Core/Src/stm32f3xx_hal_msp.c:122:6:HAL_UART_MspDeInit 2
diff --git a/Debug/Core/Src/stm32f3xx_it.cyclo b/Debug/Core/Src/stm32f3xx_it.cyclo
deleted file mode 100644
index 39af0bb..0000000
--- a/Debug/Core/Src/stm32f3xx_it.cyclo
+++ /dev/null
@@ -1,10 +0,0 @@
-../Core/Src/stm32f3xx_it.c:69:6:NMI_Handler 1
-../Core/Src/stm32f3xx_it.c:84:6:HardFault_Handler 1
-../Core/Src/stm32f3xx_it.c:99:6:MemManage_Handler 1
-../Core/Src/stm32f3xx_it.c:114:6:BusFault_Handler 1
-../Core/Src/stm32f3xx_it.c:129:6:UsageFault_Handler 1
-../Core/Src/stm32f3xx_it.c:144:6:SVC_Handler 1
-../Core/Src/stm32f3xx_it.c:157:6:DebugMon_Handler 1
-../Core/Src/stm32f3xx_it.c:170:6:PendSV_Handler 1
-../Core/Src/stm32f3xx_it.c:183:6:SysTick_Handler 1
-../Core/Src/stm32f3xx_it.c:204:6:USB_LP_CAN_RX0_IRQHandler 1
diff --git a/Debug/Core/Src/subdir.mk b/Debug/Core/Src/subdir.mk
deleted file mode 100644
index de24543..0000000
--- a/Debug/Core/Src/subdir.mk
+++ /dev/null
@@ -1,42 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-# Toolchain: GNU Tools for STM32 (12.3.rel1)
-################################################################################
-
-# Add inputs and outputs from these tool invocations to the build variables
-C_SRCS += \
-../Core/Src/main.c \
-../Core/Src/stm32f3xx_hal_msp.c \
-../Core/Src/stm32f3xx_it.c \
-../Core/Src/syscalls.c \
-../Core/Src/sysmem.c \
-../Core/Src/system_stm32f3xx.c
-
-C_DEPS += \
-./Core/Src/main.d \
-./Core/Src/stm32f3xx_hal_msp.d \
-./Core/Src/stm32f3xx_it.d \
-./Core/Src/syscalls.d \
-./Core/Src/sysmem.d \
-./Core/Src/system_stm32f3xx.d
-
-OBJS += \
-./Core/Src/main.o \
-./Core/Src/stm32f3xx_hal_msp.o \
-./Core/Src/stm32f3xx_it.o \
-./Core/Src/syscalls.o \
-./Core/Src/sysmem.o \
-./Core/Src/system_stm32f3xx.o
-
-
-# Each subdirectory must supply rules for building sources it contributes
-Core/Src/%.o Core/Src/%.su Core/Src/%.cyclo: ../Core/Src/%.c Core/Src/subdir.mk
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F302x8 -c -I../Core/Inc -I../Drivers/STM32F3xx_HAL_Driver/Inc/Legacy -I../Drivers/STM32F3xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32F3xx/Include -I../Drivers/CMSIS/Include -I../USB_DEVICE/App -I../USB_DEVICE/Target -I../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-
-clean: clean-Core-2f-Src
-
-clean-Core-2f-Src:
- -$(RM) ./Core/Src/main.cyclo ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/stm32f3xx_hal_msp.cyclo ./Core/Src/stm32f3xx_hal_msp.d ./Core/Src/stm32f3xx_hal_msp.o ./Core/Src/stm32f3xx_hal_msp.su ./Core/Src/stm32f3xx_it.cyclo ./Core/Src/stm32f3xx_it.d ./Core/Src/stm32f3xx_it.o ./Core/Src/stm32f3xx_it.su ./Core/Src/syscalls.cyclo ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.cyclo ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32f3xx.cyclo ./Core/Src/system_stm32f3xx.d ./Core/Src/system_stm32f3xx.o ./Core/Src/system_stm32f3xx.su
-
-.PHONY: clean-Core-2f-Src
-
diff --git a/Debug/Core/Src/syscalls.cyclo b/Debug/Core/Src/syscalls.cyclo
deleted file mode 100644
index d24fe5e..0000000
--- a/Debug/Core/Src/syscalls.cyclo
+++ /dev/null
@@ -1,18 +0,0 @@
-../Core/Src/syscalls.c:44:6:initialise_monitor_handles 1
-../Core/Src/syscalls.c:48:5:_getpid 1
-../Core/Src/syscalls.c:53:5:_kill 1
-../Core/Src/syscalls.c:61:6:_exit 1
-../Core/Src/syscalls.c:67:27:_read 2
-../Core/Src/syscalls.c:80:27:_write 2
-../Core/Src/syscalls.c:92:5:_close 1
-../Core/Src/syscalls.c:99:5:_fstat 1
-../Core/Src/syscalls.c:106:5:_isatty 1
-../Core/Src/syscalls.c:112:5:_lseek 1
-../Core/Src/syscalls.c:120:5:_open 1
-../Core/Src/syscalls.c:128:5:_wait 1
-../Core/Src/syscalls.c:135:5:_unlink 1
-../Core/Src/syscalls.c:142:5:_times 1
-../Core/Src/syscalls.c:148:5:_stat 1
-../Core/Src/syscalls.c:155:5:_link 1
-../Core/Src/syscalls.c:163:5:_fork 1
-../Core/Src/syscalls.c:169:5:_execve 1
diff --git a/Debug/Core/Src/sysmem.cyclo b/Debug/Core/Src/sysmem.cyclo
deleted file mode 100644
index b7286f7..0000000
--- a/Debug/Core/Src/sysmem.cyclo
+++ /dev/null
@@ -1 +0,0 @@
-../Core/Src/sysmem.c:53:7:_sbrk 3
diff --git a/Debug/Core/Src/system_stm32f3xx.cyclo b/Debug/Core/Src/system_stm32f3xx.cyclo
deleted file mode 100644
index 3fb0331..0000000
--- a/Debug/Core/Src/system_stm32f3xx.cyclo
+++ /dev/null
@@ -1,2 +0,0 @@
-../Core/Src/system_stm32f3xx.c:170:6:SystemInit 1
-../Core/Src/system_stm32f3xx.c:219:6:SystemCoreClockUpdate 6
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.cyclo
deleted file mode 100644
index 30772a0..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.cyclo
+++ /dev/null
@@ -1,25 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:138:19:HAL_Init 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:163:19:HAL_DeInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:186:13:HAL_MspInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:197:13:HAL_MspDeInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:220:26:HAL_InitTick 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:278:13:HAL_IncTick 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:289:17:HAL_GetTick 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:298:10:HAL_GetTickPrio 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:307:19:HAL_SetTickFreq 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:340:21:HAL_GetTickFreq 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:356:13:HAL_Delay 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:382:13:HAL_SuspendTick 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:400:13:HAL_ResumeTick 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:411:10:HAL_GetHalVersion 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:420:10:HAL_GetREVID 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:429:10:HAL_GetDEVID 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:438:10:HAL_GetUIDw0 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:447:10:HAL_GetUIDw1 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:456:10:HAL_GetUIDw2 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:465:6:HAL_DBGMCU_EnableDBGSleepMode 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:474:6:HAL_DBGMCU_DisableDBGSleepMode 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:483:6:HAL_DBGMCU_EnableDBGStopMode 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:492:6:HAL_DBGMCU_DisableDBGStopMode 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:501:6:HAL_DBGMCU_EnableDBGStandbyMode 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c:510:6:HAL_DBGMCU_DisableDBGStandbyMode 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.cyclo
deleted file mode 100644
index d265323..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.cyclo
+++ /dev/null
@@ -1,29 +0,0 @@
-../Drivers/CMSIS/Include/core_cm4.h:1657:22:__NVIC_SetPriorityGrouping 1
-../Drivers/CMSIS/Include/core_cm4.h:1676:26:__NVIC_GetPriorityGrouping 1
-../Drivers/CMSIS/Include/core_cm4.h:1688:22:__NVIC_EnableIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1724:22:__NVIC_DisableIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1743:26:__NVIC_GetPendingIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1762:22:__NVIC_SetPendingIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1777:22:__NVIC_ClearPendingIRQ 2
-../Drivers/CMSIS/Include/core_cm4.h:1794:26:__NVIC_GetActive 2
-../Drivers/CMSIS/Include/core_cm4.h:1816:22:__NVIC_SetPriority 2
-../Drivers/CMSIS/Include/core_cm4.h:1838:26:__NVIC_GetPriority 2
-../Drivers/CMSIS/Include/core_cm4.h:1863:26:NVIC_EncodePriority 2
-../Drivers/CMSIS/Include/core_cm4.h:1890:22:NVIC_DecodePriority 2
-../Drivers/CMSIS/Include/core_cm4.h:1939:34:__NVIC_SystemReset 1
-../Drivers/CMSIS/Include/core_cm4.h:2022:26:SysTick_Config 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:168:6:HAL_NVIC_SetPriorityGrouping 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:190:6:HAL_NVIC_SetPriority 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:212:6:HAL_NVIC_EnableIRQ 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:228:6:HAL_NVIC_DisableIRQ 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:241:6:HAL_NVIC_SystemReset 0
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:254:10:HAL_SYSTICK_Config 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:363:10:HAL_NVIC_GetPriorityGrouping 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:390:6:HAL_NVIC_GetPriority 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:405:6:HAL_NVIC_SetPendingIRQ 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:420:10:HAL_NVIC_GetPendingIRQ 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:433:6:HAL_NVIC_ClearPendingIRQ 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:447:10:HAL_NVIC_GetActive 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:461:6:HAL_SYSTICK_CLKSourceConfig 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:479:6:HAL_SYSTICK_IRQHandler 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c:488:13:HAL_SYSTICK_Callback 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.cyclo
deleted file mode 100644
index 03fc0ff..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.cyclo
+++ /dev/null
@@ -1,14 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:136:19:HAL_DMA_Init 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:198:19:HAL_DMA_DeInit 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:280:19:HAL_DMA_Start 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:327:19:HAL_DMA_Start_IT 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:383:19:HAL_DMA_Abort 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:421:19:HAL_DMA_Abort_IT 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:467:19:HAL_DMA_PollForTransfer 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:568:6:HAL_DMA_IRQHandler 12
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:660:19:HAL_DMA_RegisterCallback 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:711:19:HAL_DMA_UnRegisterCallback 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:787:22:HAL_DMA_GetState 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:798:10:HAL_DMA_GetError 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:824:13:DMA_SetConfig 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c:858:13:DMA_CalcBaseAndBitshift 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.cyclo
deleted file mode 100644
index b823aae..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.cyclo
+++ /dev/null
@@ -1,9 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c:143:19:HAL_EXTI_SetConfigLine 9
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c:264:19:HAL_EXTI_GetConfigLine 9
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c:357:19:HAL_EXTI_ClearConfigLine 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c:422:19:HAL_EXTI_RegisterCallback 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c:447:19:HAL_EXTI_GetHandle 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c:487:6:HAL_EXTI_IRQHandler 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c:524:10:HAL_EXTI_GetPending 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c:558:6:HAL_EXTI_ClearPending 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c:585:6:HAL_EXTI_GenerateSWI 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.cyclo
deleted file mode 100644
index 16b797e..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.cyclo
+++ /dev/null
@@ -1,14 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:166:19:HAL_FLASH_Program 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:238:19:HAL_FLASH_Program_IT 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:284:6:HAL_FLASH_IRQHandler 12
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:427:13:HAL_FLASH_EndOfOperationCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:445:13:HAL_FLASH_OperationErrorCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:478:19:HAL_FLASH_Unlock 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:502:19:HAL_FLASH_Lock 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:514:19:HAL_FLASH_OB_Unlock 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:534:19:HAL_FLASH_OB_Lock 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:547:19:HAL_FLASH_OB_Launch 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:579:10:HAL_FLASH_GetError 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:602:13:FLASH_Program_HalfWord 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:619:19:FLASH_WaitForLastOperation 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c:662:13:FLASH_SetErrorCode 3
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.cyclo
deleted file mode 100644
index f64ef46..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.cyclo
+++ /dev/null
@@ -1,16 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:157:19:HAL_FLASHEx_Erase 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:238:19:HAL_FLASHEx_Erase_IT 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:311:19:HAL_FLASHEx_OBErase 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:360:19:HAL_FLASHEx_OBProgram 11
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:441:6:HAL_FLASHEx_OBGetConfig 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:463:10:HAL_FLASHEx_OBGetUserData 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:498:13:FLASH_MassErase 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:519:26:FLASH_OB_EnableWRP 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:631:26:FLASH_OB_DisableWRP 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:741:26:FLASH_OB_RDP_LevelConfig 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:792:26:FLASH_OB_UserConfig 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:846:26:FLASH_OB_ProgramData 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:879:17:FLASH_OB_GetWRP 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:893:17:FLASH_OB_GetRDP 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:928:16:FLASH_OB_GetUser 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c:957:6:FLASH_PageErase 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.cyclo
deleted file mode 100644
index 61d2f8f..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.cyclo
+++ /dev/null
@@ -1,8 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c:171:6:HAL_GPIO_Init 16
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c:301:6:HAL_GPIO_DeInit 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c:383:15:HAL_GPIO_ReadPin 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c:417:6:HAL_GPIO_WritePin 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c:439:6:HAL_GPIO_TogglePin 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c:464:19:HAL_GPIO_LockPin 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c:499:6:HAL_GPIO_EXTI_IRQHandler 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c:514:13:HAL_GPIO_EXTI_Callback 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.cyclo
deleted file mode 100644
index 97c8f8e..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.cyclo
+++ /dev/null
@@ -1,81 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:535:19:HAL_I2C_Init 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:645:19:HAL_I2C_DeInit 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:691:13:HAL_I2C_MspInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:707:13:HAL_I2C_MspDeInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:1114:19:HAL_I2C_Master_Transmit 12
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:1233:19:HAL_I2C_Master_Receive 12
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:1351:19:HAL_I2C_Slave_Transmit 15
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:1507:19:HAL_I2C_Slave_Receive 12
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:1637:19:HAL_I2C_Master_Transmit_IT 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:1708:19:HAL_I2C_Master_Receive_IT 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:1777:19:HAL_I2C_Slave_Transmit_IT 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:1841:19:HAL_I2C_Slave_Receive_IT 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:1893:19:HAL_I2C_Master_Transmit_DMA 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:2040:19:HAL_I2C_Master_Receive_DMA 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:2185:19:HAL_I2C_Slave_Transmit_DMA 9
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:2321:19:HAL_I2C_Slave_Receive_DMA 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:2430:19:HAL_I2C_Mem_Write 15
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:2567:19:HAL_I2C_Mem_Read 15
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:2704:19:HAL_I2C_Mem_Write_IT 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:2791:19:HAL_I2C_Mem_Read_IT 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:2878:19:HAL_I2C_Mem_Write_DMA 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:3024:19:HAL_I2C_Mem_Read_DMA 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:3169:19:HAL_I2C_IsDeviceReady 16
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:3311:19:HAL_I2C_Master_Seq_Transmit_IT 9
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:3402:19:HAL_I2C_Master_Seq_Transmit_DMA 12
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:3570:19:HAL_I2C_Master_Seq_Receive_IT 9
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:3657:19:HAL_I2C_Master_Seq_Receive_DMA 12
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:3823:19:HAL_I2C_Slave_Seq_Transmit_IT 11
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:3923:19:HAL_I2C_Slave_Seq_Transmit_DMA 17
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4107:19:HAL_I2C_Slave_Seq_Receive_IT 11
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4207:19:HAL_I2C_Slave_Seq_Receive_DMA 17
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4387:19:HAL_I2C_EnableListen_IT 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4411:19:HAL_I2C_DisableListen_IT 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4444:19:HAL_I2C_Master_Abort_IT 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4506:6:HAL_I2C_EV_IRQHandler 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4525:6:HAL_I2C_ER_IRQHandler 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4577:13:HAL_I2C_MasterTxCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4593:13:HAL_I2C_MasterRxCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4608:13:HAL_I2C_SlaveTxCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4624:13:HAL_I2C_SlaveRxCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4642:13:HAL_I2C_AddrCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4660:13:HAL_I2C_ListenCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4676:13:HAL_I2C_MemTxCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4692:13:HAL_I2C_MemRxCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4708:13:HAL_I2C_ErrorCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4724:13:HAL_I2C_AbortCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4759:22:HAL_I2C_GetState 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4771:21:HAL_I2C_GetMode 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4782:10:HAL_I2C_GetError 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4807:26:I2C_Master_ISR_IT 22
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:4953:26:I2C_Mem_ISR_IT 20
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5090:26:I2C_Slave_ISR_IT 25
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5231:26:I2C_Master_ISR_DMA 18
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5371:26:I2C_Mem_ISR_DMA 18
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5510:26:I2C_Slave_ISR_DMA 27
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5655:26:I2C_RequestMemoryWrite 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5710:26:I2C_RequestMemoryRead 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5759:13:I2C_ITAddrCplt 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5854:13:I2C_ITMasterSeqCplt 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5907:13:I2C_ITSlaveSeqCplt 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:5981:13:I2C_ITMasterCplt 12
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6124:13:I2C_ITSlaveCplt 16
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6283:13:I2C_ITListenCplt 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6334:13:I2C_ITError 19
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6465:13:I2C_TreatErrorCallback 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6503:13:I2C_Flush_TXDR 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6524:13:I2C_DMAMasterTransmitCplt 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6575:13:I2C_DMASlaveTransmitCplt 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6604:13:I2C_DMAMasterReceiveCplt 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6655:13:I2C_DMASlaveReceiveCplt 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6684:13:I2C_DMAError 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6703:13:I2C_DMAAbort 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6733:26:I2C_WaitOnFlagUntilTimeout 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6767:26:I2C_WaitOnTXISFlagUntilTimeout 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6808:26:I2C_WaitOnSTOPFlagUntilTimeout 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6846:26:I2C_WaitOnRXNEFlagUntilTimeout 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:6922:26:I2C_IsErrorOccurred 17
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:7063:13:I2C_TransferConfig 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:7090:13:I2C_Enable_IRQ 16
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:7181:13:I2C_Disable_IRQ 9
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c:7244:13:I2C_ConvertOtherXferOptions 3
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.cyclo
deleted file mode 100644
index 654d54d..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.cyclo
+++ /dev/null
@@ -1,6 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c:96:19:HAL_I2CEx_ConfigAnalogFilter 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c:140:19:HAL_I2CEx_ConfigDigitalFilter 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c:208:19:HAL_I2CEx_EnableWakeUp 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c:247:19:HAL_I2CEx_DisableWakeUp 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c:312:6:HAL_I2CEx_EnableFastModePlus 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c:339:6:HAL_I2CEx_DisableFastModePlus 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.cyclo
deleted file mode 100644
index 637ec4e..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.cyclo
+++ /dev/null
@@ -1,37 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:124:19:HAL_PCD_Init 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:210:19:HAL_PCD_DeInit 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:249:13:HAL_PCD_MspInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:264:13:HAL_PCD_MspDeInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:822:19:HAL_PCD_Start 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:840:19:HAL_PCD_Stop 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:859:6:HAL_PCD_IRQHandler 9
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:964:6:HAL_PCD_WKUP_IRQHandler 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:977:13:HAL_PCD_DataOutStageCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:994:13:HAL_PCD_DataInStageCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1009:13:HAL_PCD_SetupStageCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1024:13:HAL_PCD_SOFCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1039:13:HAL_PCD_ResetCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1054:13:HAL_PCD_SuspendCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1069:13:HAL_PCD_ResumeCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1085:13:HAL_PCD_ISOOUTIncompleteCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1102:13:HAL_PCD_ISOINIncompleteCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1118:13:HAL_PCD_ConnectCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1133:13:HAL_PCD_DisconnectCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1167:19:HAL_PCD_DevConnect 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1184:19:HAL_PCD_DevDisconnect 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1202:19:HAL_PCD_SetAddress 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1219:19:HAL_PCD_EP_Open 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1259:19:HAL_PCD_EP_Close 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1290:19:HAL_PCD_EP_Receive 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1314:10:HAL_PCD_EP_GetRxCount 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1326:19:HAL_PCD_EP_Transmit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1352:19:HAL_PCD_EP_SetStall 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1390:19:HAL_PCD_EP_ClrStall 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1426:19:HAL_PCD_EP_Abort 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1452:19:HAL_PCD_EP_Flush 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1466:19:HAL_PCD_ActivateRemoteWakeup 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1476:19:HAL_PCD_DeActivateRemoteWakeup 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1505:18:HAL_PCD_GetState 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1529:26:PCD_EP_ISR_Handler 36
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1808:17:HAL_PCD_EP_DB_Receive 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c:1889:26:HAL_PCD_EP_DB_Transmit 36
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.cyclo
deleted file mode 100644
index 7c59957..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.cyclo
+++ /dev/null
@@ -1,4 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.c:80:20:HAL_PCDEx_PMAConfig 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.c:125:13:HAL_PCDEx_SetConnectionState 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.c:142:13:HAL_PCDEx_LPM_Callback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.c:159:13:HAL_PCDEx_BCD_Callback 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.cyclo
deleted file mode 100644
index a53308e..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.cyclo
+++ /dev/null
@@ -1,12 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:73:6:HAL_PWR_DeInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:86:6:HAL_PWR_EnableBkUpAccess 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:98:6:HAL_PWR_DisableBkUpAccess 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:241:6:HAL_PWR_EnableWakeUpPin 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:256:6:HAL_PWR_DisableWakeUpPin 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:281:6:HAL_PWR_EnterSLEEPMode 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:323:6:HAL_PWR_EnterSTOPMode 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:373:6:HAL_PWR_EnterSTANDBYMode 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:397:6:HAL_PWR_EnableSleepOnExit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:410:6:HAL_PWR_DisableSleepOnExit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:424:6:HAL_PWR_EnableSEVOnPend 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c:437:6:HAL_PWR_DisableSEVOnPend 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.cyclo
deleted file mode 100644
index 129abc0..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.cyclo
+++ /dev/null
@@ -1,5 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.c:128:6:HAL_PWR_ConfigPVD 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.c:170:6:HAL_PWR_EnablePVD 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.c:179:6:HAL_PWR_DisablePVD 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.c:189:6:HAL_PWR_PVD_IRQHandler 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.c:206:13:HAL_PWR_PVDCallback 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.cyclo
deleted file mode 100644
index ed17433..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.cyclo
+++ /dev/null
@@ -1,14 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:214:19:HAL_RCC_DeInit 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:314:19:HAL_RCC_OscConfig 70
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:694:19:HAL_RCC_ClockConfig 20
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:886:6:HAL_RCC_MCOConfig 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:920:6:HAL_RCC_EnableCSS 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:929:6:HAL_RCC_DisableCSS 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:963:10:HAL_RCC_GetSysClockFreq 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:1027:10:HAL_RCC_GetHCLKFreq 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:1038:10:HAL_RCC_GetPCLK1Freq 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:1050:10:HAL_RCC_GetPCLK2Freq 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:1063:6:HAL_RCC_GetOscConfig 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:1151:6:HAL_RCC_GetClockConfig 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:1181:6:HAL_RCC_NMI_IRQHandler 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c:1198:13:HAL_RCC_CSSCallback 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.cyclo
deleted file mode 100644
index b380d70..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.cyclo
+++ /dev/null
@@ -1,4 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.c:105:19:HAL_RCCEx_PeriphCLKConfig 24
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.c:573:6:HAL_RCCEx_GetPeriphCLKConfig 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.c:944:10:HAL_RCCEx_GetPeriphCLKFreq 62
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.c:1531:17:RCC_GetPLLCLKFreq 2
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.cyclo
deleted file mode 100644
index e69de29..0000000
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.cyclo
deleted file mode 100644
index 0faa274..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.cyclo
+++ /dev/null
@@ -1,66 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:289:19:HAL_UART_Init 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:362:19:HAL_HalfDuplex_Init 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:435:19:HAL_LIN_Init 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:532:19:HAL_MultiProcessor_Init 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:606:19:HAL_UART_DeInit 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:653:13:HAL_UART_MspInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:668:13:HAL_UART_MspDeInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1079:19:HAL_UART_Transmit 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1165:19:HAL_UART_Receive 15
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1249:19:HAL_UART_Transmit_IT 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1298:19:HAL_UART_Receive_IT 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1336:19:HAL_UART_Transmit_DMA 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1406:19:HAL_UART_Receive_DMA 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1439:19:HAL_UART_DMAPause 9
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1469:19:HAL_UART_DMAResume 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1500:19:HAL_UART_DMAStop 13
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1575:19:HAL_UART_Abort 15
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1672:19:HAL_UART_AbortTransmit 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1725:19:HAL_UART_AbortReceive 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1793:19:HAL_UART_Abort_IT 18
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:1940:19:HAL_UART_AbortTransmit_IT 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2025:19:HAL_UART_AbortReceive_IT 9
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2118:6:HAL_UART_IRQHandler 52
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2420:13:HAL_UART_TxCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2435:13:HAL_UART_TxHalfCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2450:13:HAL_UART_RxCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2465:13:HAL_UART_RxHalfCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2480:13:HAL_UART_ErrorCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2495:13:HAL_UART_AbortCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2510:13:HAL_UART_AbortTransmitCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2525:13:HAL_UART_AbortReceiveCpltCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2542:13:HAL_UARTEx_RxEventCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2590:6:HAL_UART_ReceiverTimeout_Config 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2602:19:HAL_UART_EnableReceiverTimeout 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2633:19:HAL_UART_DisableReceiverTimeout 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2664:19:HAL_MultiProcessor_EnableMuteMode 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2684:19:HAL_MultiProcessor_DisableMuteMode 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2704:6:HAL_MultiProcessor_EnterMuteMode 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2714:19:HAL_HalfDuplex_EnableTransmitter 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2737:19:HAL_HalfDuplex_EnableReceiver 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2761:19:HAL_LIN_SendBreak 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2806:23:HAL_UART_GetState 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2822:10:HAL_UART_GetError 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:2866:19:UART_SetConfig 25
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3010:6:UART_AdvFeatureConfig 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3084:19:UART_CheckIdleState 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3153:19:UART_WaitOnFlagUntilTimeout 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3221:19:UART_Start_Receive_IT 13
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3270:19:UART_Start_Receive_DMA 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3327:13:UART_EndTxTransfer 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3342:13:UART_EndRxTransfer 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3368:13:UART_DMATransmitCplt 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3402:13:UART_DMATxHalfCplt 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3420:13:UART_DMAReceiveCplt 8
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3481:13:UART_DMARxHalfCplt 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3519:13:UART_DMAError 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3559:13:UART_DMAAbortOnError 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3582:13:UART_DMATxAbortCallback 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3632:13:UART_DMARxAbortCallback 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3684:13:UART_DMATxOnlyAbortCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3712:13:UART_DMARxOnlyAbortCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3745:13:UART_TxISR_8BIT 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3774:13:UART_TxISR_16BIT 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3806:13:UART_EndTransmit_IT 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3831:13:UART_RxISR_8BIT 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c:3919:13:UART_RxISR_16BIT 10
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.cyclo
deleted file mode 100644
index 96173ff..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.cyclo
+++ /dev/null
@@ -1,11 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:148:19:HAL_RS485Ex_Init 5
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:250:13:HAL_UARTEx_WakeupCallback 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:332:19:HAL_MultiProcessorEx_AddressLength_Set 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:370:19:HAL_UARTEx_StopModeWakeUpSourceConfig 4
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:425:19:HAL_UARTEx_EnableStopMode 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:444:19:HAL_UARTEx_DisableStopMode 3
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:475:19:HAL_UARTEx_ReceiveToIdle 20
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:598:19:HAL_UARTEx_ReceiveToIdle_IT 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:659:19:HAL_UARTEx_ReceiveToIdle_DMA 7
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:727:29:HAL_UARTEx_GetRxEventType 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c:751:13:UARTEx_Wakeup_AddressConfig 1
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.cyclo b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.cyclo
deleted file mode 100644
index 90b7fbf..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.cyclo
+++ /dev/null
@@ -1,20 +0,0 @@
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:64:19:USB_CoreInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:84:19:USB_EnableGlobalInt 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:109:19:USB_DisableGlobalInt 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:133:19:USB_SetCurrentMode 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:154:19:USB_DevInit 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:182:19:USB_ActivateEndpoint 22
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:315:19:USB_DeactivateEndpoint 10
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:374:19:USB_EPStartXfer 84
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:594:19:USB_EPSetStall 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:614:19:USB_EPClearStall 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:646:19:USB_EPStopXfer 6
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:691:19:USB_StopDevice 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:712:20:USB_SetDevAddress 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:728:20:USB_DevConnect 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:746:20:USB_DevDisconnect 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:764:10:USB_ReadInterrupts 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:777:19:USB_ActivateRemoteWakeup 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:789:19:USB_DeActivateRemoteWakeup 1
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:804:6:USB_WritePMA 2
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c:839:6:USB_ReadPMA 3
diff --git a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/subdir.mk b/Debug/Drivers/STM32F3xx_HAL_Driver/Src/subdir.mk
deleted file mode 100644
index 5c1ff54..0000000
--- a/Debug/Drivers/STM32F3xx_HAL_Driver/Src/subdir.mk
+++ /dev/null
@@ -1,84 +0,0 @@
-################################################################################
-# Automatically-generated file. Do not edit!
-# Toolchain: GNU Tools for STM32 (12.3.rel1)
-################################################################################
-
-# Add inputs and outputs from these tool invocations to the build variables
-C_SRCS += \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.c \
-../Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.c
-
-C_DEPS += \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.d \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.d
-
-OBJS += \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.o \
-./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.o
-
-
-# Each subdirectory must supply rules for building sources it contributes
-Drivers/STM32F3xx_HAL_Driver/Src/%.o Drivers/STM32F3xx_HAL_Driver/Src/%.su Drivers/STM32F3xx_HAL_Driver/Src/%.cyclo: ../Drivers/STM32F3xx_HAL_Driver/Src/%.c Drivers/STM32F3xx_HAL_Driver/Src/subdir.mk
- arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32F302x8 -c -I../Core/Inc -I../Drivers/STM32F3xx_HAL_Driver/Inc/Legacy -I../Drivers/STM32F3xx_HAL_Driver/Inc -I../Drivers/CMSIS/Device/ST/STM32F3xx/Include -I../Drivers/CMSIS/Include -I../USB_DEVICE/App -I../USB_DEVICE/Target -I../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I../Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@"
-
-clean: clean-Drivers-2f-STM32F3xx_HAL_Driver-2f-Src
-
-clean-Drivers-2f-STM32F3xx_HAL_Driver-2f-Src:
- -$(RM) ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_cortex.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_dma.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_exti.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_flash_ex.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_gpio.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_i2c_ex.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pcd_ex.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_pwr_ex.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_rcc_ex.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_tim_ex.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_hal_uart_ex.su ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.cyclo ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.d ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.o ./Drivers/STM32F3xx_HAL_Driver/Src/stm32f3xx_ll_usb.su
-
-.PHONY: clean-Drivers-2f-STM32F3xx_HAL_Driver-2f-Src
-
diff --git a/Debug/FRICK.list b/Debug/FRICK.list
deleted file mode 100644
index ffc3b49..0000000
--- a/Debug/FRICK.list
+++ /dev/null
@@ -1,20310 +0,0 @@
-
-neptunium.elf: file format elf32-littlearm
-
-Sections:
-Idx Name Size VMA LMA File off Algn
- 0 .isr_vector 00000188 08000000 08000000 00001000 2**0
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 00008a24 08000188 08000188 00001188 2**2
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 0000008c 08008bac 08008bac 00009bac 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 08008c38 08008c38 0000a17c 2**0
- CONTENTS
- 4 .ARM 00000000 08008c38 08008c38 0000a17c 2**0
- CONTENTS
- 5 .preinit_array 00000000 08008c38 08008c38 0000a17c 2**0
- CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 08008c38 08008c38 00009c38 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 7 .fini_array 00000004 08008c3c 08008c3c 00009c3c 2**2
- CONTENTS, ALLOC, LOAD, READONLY, DATA
- 8 .data 0000017c 20000000 08008c40 0000a000 2**2
- CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 0000127c 2000017c 08008dbc 0000a17c 2**2
- ALLOC
- 10 ._user_heap_stack 00000600 200013f8 08008dbc 0000a3f8 2**0
- ALLOC
- 11 .ARM.attributes 00000030 00000000 00000000 0000a17c 2**0
- CONTENTS, READONLY
- 12 .debug_info 0001131c 00000000 00000000 0000a1ac 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 13 .debug_abbrev 00002e5d 00000000 00000000 0001b4c8 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_aranges 00000c70 00000000 00000000 0001e328 2**3
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_rnglists 00000956 00000000 00000000 0001ef98 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_macro 0001d582 00000000 00000000 0001f8ee 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_line 00011fbd 00000000 00000000 0003ce70 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_str 000a0939 00000000 00000000 0004ee2d 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .comment 00000043 00000000 00000000 000ef766 2**0
- CONTENTS, READONLY
- 20 .debug_frame 00003124 00000000 00000000 000ef7ac 2**2
- CONTENTS, READONLY, DEBUGGING, OCTETS
- 21 .debug_line_str 00000060 00000000 00000000 000f28d0 2**0
- CONTENTS, READONLY, DEBUGGING, OCTETS
-
-Disassembly of section .text:
-
-08000188 <__do_global_dtors_aux>:
- 8000188: b510 push {r4, lr}
- 800018a: 4c05 ldr r4, [pc, #20] @ (80001a0 <__do_global_dtors_aux+0x18>)
- 800018c: 7823 ldrb r3, [r4, #0]
- 800018e: b933 cbnz r3, 800019e <__do_global_dtors_aux+0x16>
- 8000190: 4b04 ldr r3, [pc, #16] @ (80001a4 <__do_global_dtors_aux+0x1c>)
- 8000192: b113 cbz r3, 800019a <__do_global_dtors_aux+0x12>
- 8000194: 4804 ldr r0, [pc, #16] @ (80001a8 <__do_global_dtors_aux+0x20>)
- 8000196: f3af 8000 nop.w
- 800019a: 2301 movs r3, #1
- 800019c: 7023 strb r3, [r4, #0]
- 800019e: bd10 pop {r4, pc}
- 80001a0: 2000017c .word 0x2000017c
- 80001a4: 00000000 .word 0x00000000
- 80001a8: 08008b94 .word 0x08008b94
-
-080001ac :
- 80001ac: b508 push {r3, lr}
- 80001ae: 4b03 ldr r3, [pc, #12] @ (80001bc )
- 80001b0: b11b cbz r3, 80001ba
- 80001b2: 4903 ldr r1, [pc, #12] @ (80001c0 )
- 80001b4: 4803 ldr r0, [pc, #12] @ (80001c4 )
- 80001b6: f3af 8000 nop.w
- 80001ba: bd08 pop {r3, pc}
- 80001bc: 00000000 .word 0x00000000
- 80001c0: 20000180 .word 0x20000180
- 80001c4: 08008b94 .word 0x08008b94
-
-080001c8 :
-/**
- * @brief The application entry point.
- * @retval int
- */
-int main(void)
-{
- 80001c8: b580 push {r7, lr}
- 80001ca: b084 sub sp, #16
- 80001cc: af00 add r7, sp, #0
-
- /* USER CODE BEGIN 1 */
- uint8_t buffer[] = "Hello World";
- 80001ce: 4a0c ldr r2, [pc, #48] @ (8000200 )
- 80001d0: 1d3b adds r3, r7, #4
- 80001d2: ca07 ldmia r2, {r0, r1, r2}
- 80001d4: e883 0007 stmia.w r3, {r0, r1, r2}
- /* USER CODE END 1 */
-
- /* MCU Configuration--------------------------------------------------------*/
-
- /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
- HAL_Init();
- 80001d8: f000 f9b4 bl 8000544
- /* USER CODE BEGIN Init */
-
- /* USER CODE END Init */
-
- /* Configure the system clock */
- SystemClock_Config();
- 80001dc: f000 f812 bl 8000204
- /* USER CODE BEGIN SysInit */
-
- /* USER CODE END SysInit */
-
- /* Initialize all configured peripherals */
- MX_GPIO_Init();
- 80001e0: f000 f89c bl 800031c
- MX_USB_DEVICE_Init();
- 80001e4: f008 f806 bl 80081f4
- MX_USART3_UART_Init();
- 80001e8: f000 f868 bl 80002bc
-
- /* Infinite loop */
- /* USER CODE BEGIN WHILE */
- while (1)
- {
- CDC_Transmit_FS(buffer, sizeof(buffer));
- 80001ec: 1d3b adds r3, r7, #4
- 80001ee: 210c movs r1, #12
- 80001f0: 4618 mov r0, r3
- 80001f2: f008 f8bd bl 8008370
- HAL_Delay(100);
- 80001f6: 2064 movs r0, #100 @ 0x64
- 80001f8: f000 fa0a bl 8000610
- CDC_Transmit_FS(buffer, sizeof(buffer));
- 80001fc: bf00 nop
- 80001fe: e7f5 b.n 80001ec
- 8000200: 08008bac .word 0x08008bac
-
-08000204 :
-/**
- * @brief System Clock Configuration
- * @retval None
- */
-void SystemClock_Config(void)
-{
- 8000204: b580 push {r7, lr}
- 8000206: b09c sub sp, #112 @ 0x70
- 8000208: af00 add r7, sp, #0
- RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- 800020a: f107 0348 add.w r3, r7, #72 @ 0x48
- 800020e: 2228 movs r2, #40 @ 0x28
- 8000210: 2100 movs r1, #0
- 8000212: 4618 mov r0, r3
- 8000214: f008 fc92 bl 8008b3c
- RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- 8000218: f107 0334 add.w r3, r7, #52 @ 0x34
- 800021c: 2200 movs r2, #0
- 800021e: 601a str r2, [r3, #0]
- 8000220: 605a str r2, [r3, #4]
- 8000222: 609a str r2, [r3, #8]
- 8000224: 60da str r2, [r3, #12]
- 8000226: 611a str r2, [r3, #16]
- RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
- 8000228: 463b mov r3, r7
- 800022a: 2234 movs r2, #52 @ 0x34
- 800022c: 2100 movs r1, #0
- 800022e: 4618 mov r0, r3
- 8000230: f008 fc84 bl 8008b3c
-
- /** Initializes the RCC Oscillators according to the specified parameters
- * in the RCC_OscInitTypeDef structure.
- */
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
- 8000234: 2301 movs r3, #1
- 8000236: 64bb str r3, [r7, #72] @ 0x48
- RCC_OscInitStruct.HSEState = RCC_HSE_ON;
- 8000238: f44f 3380 mov.w r3, #65536 @ 0x10000
- 800023c: 64fb str r3, [r7, #76] @ 0x4c
- RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
- 800023e: 2300 movs r3, #0
- 8000240: 653b str r3, [r7, #80] @ 0x50
- RCC_OscInitStruct.HSIState = RCC_HSI_ON;
- 8000242: 2301 movs r3, #1
- 8000244: 65bb str r3, [r7, #88] @ 0x58
- RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
- 8000246: 2302 movs r3, #2
- 8000248: 667b str r3, [r7, #100] @ 0x64
- RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
- 800024a: f44f 3380 mov.w r3, #65536 @ 0x10000
- 800024e: 66bb str r3, [r7, #104] @ 0x68
- RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL3;
- 8000250: f44f 2380 mov.w r3, #262144 @ 0x40000
- 8000254: 66fb str r3, [r7, #108] @ 0x6c
- if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- 8000256: f107 0348 add.w r3, r7, #72 @ 0x48
- 800025a: 4618 mov r0, r3
- 800025c: f002 f942 bl 80024e4
- 8000260: 4603 mov r3, r0
- 8000262: 2b00 cmp r3, #0
- 8000264: d001 beq.n 800026a
- {
- Error_Handler();
- 8000266: f000 f889 bl 800037c
- }
-
- /** Initializes the CPU, AHB and APB buses clocks
- */
- RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
- 800026a: 230f movs r3, #15
- 800026c: 637b str r3, [r7, #52] @ 0x34
- RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSE;
- 800026e: 2301 movs r3, #1
- 8000270: 63bb str r3, [r7, #56] @ 0x38
- RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- 8000272: 2300 movs r3, #0
- 8000274: 63fb str r3, [r7, #60] @ 0x3c
- RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
- 8000276: 2300 movs r3, #0
- 8000278: 643b str r3, [r7, #64] @ 0x40
- RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
- 800027a: 2300 movs r3, #0
- 800027c: 647b str r3, [r7, #68] @ 0x44
-
- if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
- 800027e: f107 0334 add.w r3, r7, #52 @ 0x34
- 8000282: 2100 movs r1, #0
- 8000284: 4618 mov r0, r3
- 8000286: f003 f96b bl 8003560
- 800028a: 4603 mov r3, r0
- 800028c: 2b00 cmp r3, #0
- 800028e: d001 beq.n 8000294
- {
- Error_Handler();
- 8000290: f000 f874 bl 800037c
- }
- PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB;
- 8000294: f44f 3300 mov.w r3, #131072 @ 0x20000
- 8000298: 603b str r3, [r7, #0]
- PeriphClkInit.USBClockSelection = RCC_USBCLKSOURCE_PLL;
- 800029a: f44f 0380 mov.w r3, #4194304 @ 0x400000
- 800029e: 633b str r3, [r7, #48] @ 0x30
- if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
- 80002a0: 463b mov r3, r7
- 80002a2: 4618 mov r0, r3
- 80002a4: f003 fb94 bl 80039d0
- 80002a8: 4603 mov r3, r0
- 80002aa: 2b00 cmp r3, #0
- 80002ac: d001 beq.n 80002b2
- {
- Error_Handler();
- 80002ae: f000 f865 bl 800037c
- }
-}
- 80002b2: bf00 nop
- 80002b4: 3770 adds r7, #112 @ 0x70
- 80002b6: 46bd mov sp, r7
- 80002b8: bd80 pop {r7, pc}
- ...
-
-080002bc :
- * @brief USART3 Initialization Function
- * @param None
- * @retval None
- */
-static void MX_USART3_UART_Init(void)
-{
- 80002bc: b580 push {r7, lr}
- 80002be: af00 add r7, sp, #0
- /* USER CODE END USART3_Init 0 */
-
- /* USER CODE BEGIN USART3_Init 1 */
-
- /* USER CODE END USART3_Init 1 */
- huart3.Instance = USART3;
- 80002c0: 4b14 ldr r3, [pc, #80] @ (8000314 )
- 80002c2: 4a15 ldr r2, [pc, #84] @ (8000318 )
- 80002c4: 601a str r2, [r3, #0]
- huart3.Init.BaudRate = 38400;
- 80002c6: 4b13 ldr r3, [pc, #76] @ (8000314 )
- 80002c8: f44f 4216 mov.w r2, #38400 @ 0x9600
- 80002cc: 605a str r2, [r3, #4]
- huart3.Init.WordLength = UART_WORDLENGTH_8B;
- 80002ce: 4b11 ldr r3, [pc, #68] @ (8000314 )
- 80002d0: 2200 movs r2, #0
- 80002d2: 609a str r2, [r3, #8]
- huart3.Init.StopBits = UART_STOPBITS_1;
- 80002d4: 4b0f ldr r3, [pc, #60] @ (8000314 )
- 80002d6: 2200 movs r2, #0
- 80002d8: 60da str r2, [r3, #12]
- huart3.Init.Parity = UART_PARITY_NONE;
- 80002da: 4b0e ldr r3, [pc, #56] @ (8000314 )
- 80002dc: 2200 movs r2, #0
- 80002de: 611a str r2, [r3, #16]
- huart3.Init.Mode = UART_MODE_TX_RX;
- 80002e0: 4b0c ldr r3, [pc, #48] @ (8000314 )
- 80002e2: 220c movs r2, #12
- 80002e4: 615a str r2, [r3, #20]
- huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
- 80002e6: 4b0b ldr r3, [pc, #44] @ (8000314 )
- 80002e8: 2200 movs r2, #0
- 80002ea: 619a str r2, [r3, #24]
- huart3.Init.OverSampling = UART_OVERSAMPLING_16;
- 80002ec: 4b09 ldr r3, [pc, #36] @ (8000314 )
- 80002ee: 2200 movs r2, #0
- 80002f0: 61da str r2, [r3, #28]
- huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
- 80002f2: 4b08 ldr r3, [pc, #32] @ (8000314 )
- 80002f4: 2200 movs r2, #0
- 80002f6: 621a str r2, [r3, #32]
- huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
- 80002f8: 4b06 ldr r3, [pc, #24] @ (8000314 )
- 80002fa: 2200 movs r2, #0
- 80002fc: 625a str r2, [r3, #36] @ 0x24
- if (HAL_UART_Init(&huart3) != HAL_OK)
- 80002fe: 4805 ldr r0, [pc, #20] @ (8000314 )
- 8000300: f003 fcf8 bl 8003cf4
- 8000304: 4603 mov r3, r0
- 8000306: 2b00 cmp r3, #0
- 8000308: d001 beq.n 800030e
- {
- Error_Handler();
- 800030a: f000 f837 bl 800037c
- }
- /* USER CODE BEGIN USART3_Init 2 */
-
- /* USER CODE END USART3_Init 2 */
-}
- 800030e: bf00 nop
- 8000310: bd80 pop {r7, pc}
- 8000312: bf00 nop
- 8000314: 20000198 .word 0x20000198
- 8000318: 40004800 .word 0x40004800
-
-0800031c :
- * @brief GPIO Initialization Function
- * @param None
- * @retval None
- */
-static void MX_GPIO_Init(void)
-{
- 800031c: b480 push {r7}
- 800031e: b085 sub sp, #20
- 8000320: af00 add r7, sp, #0
- /* USER CODE BEGIN MX_GPIO_Init_1 */
- /* USER CODE END MX_GPIO_Init_1 */
-
- /* GPIO Ports Clock Enable */
- __HAL_RCC_GPIOF_CLK_ENABLE();
- 8000322: 4b15 ldr r3, [pc, #84] @ (8000378 )
- 8000324: 695b ldr r3, [r3, #20]
- 8000326: 4a14 ldr r2, [pc, #80] @ (8000378 )
- 8000328: f443 0380 orr.w r3, r3, #4194304 @ 0x400000
- 800032c: 6153 str r3, [r2, #20]
- 800032e: 4b12 ldr r3, [pc, #72] @ (8000378 )
- 8000330: 695b ldr r3, [r3, #20]
- 8000332: f403 0380 and.w r3, r3, #4194304 @ 0x400000
- 8000336: 60fb str r3, [r7, #12]
- 8000338: 68fb ldr r3, [r7, #12]
- __HAL_RCC_GPIOB_CLK_ENABLE();
- 800033a: 4b0f ldr r3, [pc, #60] @ (8000378 )
- 800033c: 695b ldr r3, [r3, #20]
- 800033e: 4a0e ldr r2, [pc, #56] @ (8000378 )
- 8000340: f443 2380 orr.w r3, r3, #262144 @ 0x40000
- 8000344: 6153 str r3, [r2, #20]
- 8000346: 4b0c ldr r3, [pc, #48] @ (8000378 )
- 8000348: 695b ldr r3, [r3, #20]
- 800034a: f403 2380 and.w r3, r3, #262144 @ 0x40000
- 800034e: 60bb str r3, [r7, #8]
- 8000350: 68bb ldr r3, [r7, #8]
- __HAL_RCC_GPIOA_CLK_ENABLE();
- 8000352: 4b09 ldr r3, [pc, #36] @ (8000378 )
- 8000354: 695b ldr r3, [r3, #20]
- 8000356: 4a08 ldr r2, [pc, #32] @ (8000378 )
- 8000358: f443 3300 orr.w r3, r3, #131072 @ 0x20000
- 800035c: 6153 str r3, [r2, #20]
- 800035e: 4b06 ldr r3, [pc, #24] @ (8000378 )
- 8000360: 695b ldr r3, [r3, #20]
- 8000362: f403 3300 and.w r3, r3, #131072 @ 0x20000
- 8000366: 607b str r3, [r7, #4]
- 8000368: 687b ldr r3, [r7, #4]
-
- /* USER CODE BEGIN MX_GPIO_Init_2 */
- /* USER CODE END MX_GPIO_Init_2 */
-}
- 800036a: bf00 nop
- 800036c: 3714 adds r7, #20
- 800036e: 46bd mov sp, r7
- 8000370: f85d 7b04 ldr.w r7, [sp], #4
- 8000374: 4770 bx lr
- 8000376: bf00 nop
- 8000378: 40021000 .word 0x40021000
-
-0800037c :
-/**
- * @brief This function is executed in case of error occurrence.
- * @retval None
- */
-void Error_Handler(void)
-{
- 800037c: b480 push {r7}
- 800037e: af00 add r7, sp, #0
- \details Disables IRQ interrupts by setting the I-bit in the CPSR.
- Can only be executed in Privileged modes.
- */
-__STATIC_FORCEINLINE void __disable_irq(void)
-{
- __ASM volatile ("cpsid i" : : : "memory");
- 8000380: b672 cpsid i
-}
- 8000382: bf00 nop
- /* USER CODE BEGIN Error_Handler_Debug */
- /* User can add his own implementation to report the HAL error return state */
- __disable_irq();
- while (1)
- 8000384: bf00 nop
- 8000386: e7fd b.n 8000384
-
-08000388 :
-/* USER CODE END 0 */
-/**
- * Initializes the Global MSP.
- */
-void HAL_MspInit(void)
-{
- 8000388: b480 push {r7}
- 800038a: b083 sub sp, #12
- 800038c: af00 add r7, sp, #0
-
- /* USER CODE BEGIN MspInit 0 */
-
- /* USER CODE END MspInit 0 */
-
- __HAL_RCC_SYSCFG_CLK_ENABLE();
- 800038e: 4b0f ldr r3, [pc, #60] @ (80003cc )
- 8000390: 699b ldr r3, [r3, #24]
- 8000392: 4a0e ldr r2, [pc, #56] @ (80003cc )
- 8000394: f043 0301 orr.w r3, r3, #1
- 8000398: 6193 str r3, [r2, #24]
- 800039a: 4b0c ldr r3, [pc, #48] @ (80003cc )
- 800039c: 699b ldr r3, [r3, #24]
- 800039e: f003 0301 and.w r3, r3, #1
- 80003a2: 607b str r3, [r7, #4]
- 80003a4: 687b ldr r3, [r7, #4]
- __HAL_RCC_PWR_CLK_ENABLE();
- 80003a6: 4b09 ldr r3, [pc, #36] @ (80003cc )
- 80003a8: 69db ldr r3, [r3, #28]
- 80003aa: 4a08 ldr r2, [pc, #32] @ (80003cc )
- 80003ac: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000
- 80003b0: 61d3 str r3, [r2, #28]
- 80003b2: 4b06 ldr r3, [pc, #24] @ (80003cc )
- 80003b4: 69db ldr r3, [r3, #28]
- 80003b6: f003 5380 and.w r3, r3, #268435456 @ 0x10000000
- 80003ba: 603b str r3, [r7, #0]
- 80003bc: 683b ldr r3, [r7, #0]
- /* System interrupt init*/
-
- /* USER CODE BEGIN MspInit 1 */
-
- /* USER CODE END MspInit 1 */
-}
- 80003be: bf00 nop
- 80003c0: 370c adds r7, #12
- 80003c2: 46bd mov sp, r7
- 80003c4: f85d 7b04 ldr.w r7, [sp], #4
- 80003c8: 4770 bx lr
- 80003ca: bf00 nop
- 80003cc: 40021000 .word 0x40021000
-
-080003d0 :
-* This function configures the hardware resources used in this example
-* @param huart: UART handle pointer
-* @retval None
-*/
-void HAL_UART_MspInit(UART_HandleTypeDef* huart)
-{
- 80003d0: b580 push {r7, lr}
- 80003d2: b08a sub sp, #40 @ 0x28
- 80003d4: af00 add r7, sp, #0
- 80003d6: 6078 str r0, [r7, #4]
- GPIO_InitTypeDef GPIO_InitStruct = {0};
- 80003d8: f107 0314 add.w r3, r7, #20
- 80003dc: 2200 movs r2, #0
- 80003de: 601a str r2, [r3, #0]
- 80003e0: 605a str r2, [r3, #4]
- 80003e2: 609a str r2, [r3, #8]
- 80003e4: 60da str r2, [r3, #12]
- 80003e6: 611a str r2, [r3, #16]
- if(huart->Instance==USART3)
- 80003e8: 687b ldr r3, [r7, #4]
- 80003ea: 681b ldr r3, [r3, #0]
- 80003ec: 4a17 ldr r2, [pc, #92] @ (800044c )
- 80003ee: 4293 cmp r3, r2
- 80003f0: d128 bne.n 8000444
- {
- /* USER CODE BEGIN USART3_MspInit 0 */
-
- /* USER CODE END USART3_MspInit 0 */
- /* Peripheral clock enable */
- __HAL_RCC_USART3_CLK_ENABLE();
- 80003f2: 4b17 ldr r3, [pc, #92] @ (8000450 )
- 80003f4: 69db ldr r3, [r3, #28]
- 80003f6: 4a16 ldr r2, [pc, #88] @ (8000450 )
- 80003f8: f443 2380 orr.w r3, r3, #262144 @ 0x40000
- 80003fc: 61d3 str r3, [r2, #28]
- 80003fe: 4b14 ldr r3, [pc, #80] @ (8000450 )
- 8000400: 69db ldr r3, [r3, #28]
- 8000402: f403 2380 and.w r3, r3, #262144 @ 0x40000
- 8000406: 613b str r3, [r7, #16]
- 8000408: 693b ldr r3, [r7, #16]
-
- __HAL_RCC_GPIOB_CLK_ENABLE();
- 800040a: 4b11 ldr r3, [pc, #68] @ (8000450 )
- 800040c: 695b ldr r3, [r3, #20]
- 800040e: 4a10 ldr r2, [pc, #64] @ (8000450 )
- 8000410: f443 2380 orr.w r3, r3, #262144 @ 0x40000
- 8000414: 6153 str r3, [r2, #20]
- 8000416: 4b0e ldr r3, [pc, #56] @ (8000450 )
- 8000418: 695b ldr r3, [r3, #20]
- 800041a: f403 2380 and.w r3, r3, #262144 @ 0x40000
- 800041e: 60fb str r3, [r7, #12]
- 8000420: 68fb ldr r3, [r7, #12]
- /**USART3 GPIO Configuration
- PB10 ------> USART3_TX
- PB11 ------> USART3_RX
- */
- GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
- 8000422: f44f 6340 mov.w r3, #3072 @ 0xc00
- 8000426: 617b str r3, [r7, #20]
- GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
- 8000428: 2302 movs r3, #2
- 800042a: 61bb str r3, [r7, #24]
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- 800042c: 2300 movs r3, #0
- 800042e: 61fb str r3, [r7, #28]
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- 8000430: 2303 movs r3, #3
- 8000432: 623b str r3, [r7, #32]
- GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
- 8000434: 2307 movs r3, #7
- 8000436: 627b str r3, [r7, #36] @ 0x24
- HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
- 8000438: f107 0314 add.w r3, r7, #20
- 800043c: 4619 mov r1, r3
- 800043e: 4805 ldr r0, [pc, #20] @ (8000454 )
- 8000440: f000 fa1c bl 800087c
- /* USER CODE BEGIN USART3_MspInit 1 */
-
- /* USER CODE END USART3_MspInit 1 */
- }
-
-}
- 8000444: bf00 nop
- 8000446: 3728 adds r7, #40 @ 0x28
- 8000448: 46bd mov sp, r7
- 800044a: bd80 pop {r7, pc}
- 800044c: 40004800 .word 0x40004800
- 8000450: 40021000 .word 0x40021000
- 8000454: 48000400 .word 0x48000400
-
-08000458 :
-/******************************************************************************/
-/**
- * @brief This function handles Non maskable interrupt.
- */
-void NMI_Handler(void)
-{
- 8000458: b480 push {r7}
- 800045a: af00 add r7, sp, #0
- /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
-
- /* USER CODE END NonMaskableInt_IRQn 0 */
- /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
- while (1)
- 800045c: bf00 nop
- 800045e: e7fd b.n 800045c
-
-08000460 :
-
-/**
- * @brief This function handles Hard fault interrupt.
- */
-void HardFault_Handler(void)
-{
- 8000460: b480 push {r7}
- 8000462: af00 add r7, sp, #0
- /* USER CODE BEGIN HardFault_IRQn 0 */
-
- /* USER CODE END HardFault_IRQn 0 */
- while (1)
- 8000464: bf00 nop
- 8000466: e7fd b.n 8000464
-
-08000468 :
-
-/**
- * @brief This function handles Memory management fault.
- */
-void MemManage_Handler(void)
-{
- 8000468: b480 push {r7}
- 800046a: af00 add r7, sp, #0
- /* USER CODE BEGIN MemoryManagement_IRQn 0 */
-
- /* USER CODE END MemoryManagement_IRQn 0 */
- while (1)
- 800046c: bf00 nop
- 800046e: e7fd b.n 800046c
-
-08000470 :
-
-/**
- * @brief This function handles Pre-fetch fault, memory access fault.
- */
-void BusFault_Handler(void)
-{
- 8000470: b480 push {r7}
- 8000472: af00 add r7, sp, #0
- /* USER CODE BEGIN BusFault_IRQn 0 */
-
- /* USER CODE END BusFault_IRQn 0 */
- while (1)
- 8000474: bf00 nop
- 8000476: e7fd b.n 8000474
-
-08000478 :
-
-/**
- * @brief This function handles Undefined instruction or illegal state.
- */
-void UsageFault_Handler(void)
-{
- 8000478: b480 push {r7}
- 800047a: af00 add r7, sp, #0
- /* USER CODE BEGIN UsageFault_IRQn 0 */
-
- /* USER CODE END UsageFault_IRQn 0 */
- while (1)
- 800047c: bf00 nop
- 800047e: e7fd b.n 800047c
-
-08000480 :
-
-/**
- * @brief This function handles System service call via SWI instruction.
- */
-void SVC_Handler(void)
-{
- 8000480: b480 push {r7}
- 8000482: af00 add r7, sp, #0
-
- /* USER CODE END SVCall_IRQn 0 */
- /* USER CODE BEGIN SVCall_IRQn 1 */
-
- /* USER CODE END SVCall_IRQn 1 */
-}
- 8000484: bf00 nop
- 8000486: 46bd mov sp, r7
- 8000488: f85d 7b04 ldr.w r7, [sp], #4
- 800048c: 4770 bx lr
-
-0800048e :
-
-/**
- * @brief This function handles Debug monitor.
- */
-void DebugMon_Handler(void)
-{
- 800048e: b480 push {r7}
- 8000490: af00 add r7, sp, #0
-
- /* USER CODE END DebugMonitor_IRQn 0 */
- /* USER CODE BEGIN DebugMonitor_IRQn 1 */
-
- /* USER CODE END DebugMonitor_IRQn 1 */
-}
- 8000492: bf00 nop
- 8000494: 46bd mov sp, r7
- 8000496: f85d 7b04 ldr.w r7, [sp], #4
- 800049a: 4770 bx lr
-
-0800049c :
-
-/**
- * @brief This function handles Pendable request for system service.
- */
-void PendSV_Handler(void)
-{
- 800049c: b480 push {r7}
- 800049e: af00 add r7, sp, #0
-
- /* USER CODE END PendSV_IRQn 0 */
- /* USER CODE BEGIN PendSV_IRQn 1 */
-
- /* USER CODE END PendSV_IRQn 1 */
-}
- 80004a0: bf00 nop
- 80004a2: 46bd mov sp, r7
- 80004a4: f85d 7b04 ldr.w r7, [sp], #4
- 80004a8: 4770 bx lr
-
-080004aa :
-
-/**
- * @brief This function handles System tick timer.
- */
-void SysTick_Handler(void)
-{
- 80004aa: b580 push {r7, lr}
- 80004ac: af00 add r7, sp, #0
- /* USER CODE BEGIN SysTick_IRQn 0 */
-
- /* USER CODE END SysTick_IRQn 0 */
- HAL_IncTick();
- 80004ae: f000 f88f bl 80005d0
- /* USER CODE BEGIN SysTick_IRQn 1 */
-
- /* USER CODE END SysTick_IRQn 1 */
-}
- 80004b2: bf00 nop
- 80004b4: bd80 pop {r7, pc}
- ...
-
-080004b8 :
-
-/**
- * @brief This function handles CAN RX0 and USB low priority interrupts.
- */
-void USB_LP_CAN_RX0_IRQHandler(void)
-{
- 80004b8: b580 push {r7, lr}
- 80004ba: af00 add r7, sp, #0
- /* USER CODE BEGIN USB_LP_CAN_RX0_IRQn 0 */
-
- /* USER CODE END USB_LP_CAN_RX0_IRQn 0 */
- HAL_PCD_IRQHandler(&hpcd_USB_FS);
- 80004bc: 4802 ldr r0, [pc, #8] @ (80004c8 )
- 80004be: f000 fc47 bl 8000d50
- /* USER CODE BEGIN USB_LP_CAN_RX0_IRQn 1 */
-
- /* USER CODE END USB_LP_CAN_RX0_IRQn 1 */
-}
- 80004c2: bf00 nop
- 80004c4: bd80 pop {r7, pc}
- 80004c6: bf00 nop
- 80004c8: 20000eec .word 0x20000eec
-
-080004cc :
- * @brief Setup the microcontroller system
- * @param None
- * @retval None
- */
-void SystemInit(void)
-{
- 80004cc: b480 push {r7}
- 80004ce: af00 add r7, sp, #0
-/* FPU settings --------------------------------------------------------------*/
-#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
- SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
- 80004d0: 4b06 ldr r3, [pc, #24] @ (80004ec )
- 80004d2: f8d3 3088 ldr.w r3, [r3, #136] @ 0x88
- 80004d6: 4a05 ldr r2, [pc, #20] @ (80004ec )
- 80004d8: f443 0370 orr.w r3, r3, #15728640 @ 0xf00000
- 80004dc: f8c2 3088 str.w r3, [r2, #136] @ 0x88
-
- /* Configure the Vector Table location -------------------------------------*/
-#if defined(USER_VECT_TAB_ADDRESS)
- SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
-#endif /* USER_VECT_TAB_ADDRESS */
-}
- 80004e0: bf00 nop
- 80004e2: 46bd mov sp, r7
- 80004e4: f85d 7b04 ldr.w r7, [sp], #4
- 80004e8: 4770 bx lr
- 80004ea: bf00 nop
- 80004ec: e000ed00 .word 0xe000ed00
-
-080004f0 :
-
- .section .text.Reset_Handler
- .weak Reset_Handler
- .type Reset_Handler, %function
-Reset_Handler:
- ldr sp, =_estack /* Atollic update: set stack pointer */
- 80004f0: f8df d034 ldr.w sp, [pc, #52] @ 8000528
-
-/* Call the clock system initialization function.*/
- bl SystemInit
- 80004f4: f7ff ffea bl 80004cc
-
-/* Copy the data segment initializers from flash to SRAM */
- ldr r0, =_sdata
- 80004f8: 480c ldr r0, [pc, #48] @ (800052c )
- ldr r1, =_edata
- 80004fa: 490d ldr r1, [pc, #52] @ (8000530 )
- ldr r2, =_sidata
- 80004fc: 4a0d ldr r2, [pc, #52] @ (8000534 )
- movs r3, #0
- 80004fe: 2300 movs r3, #0
- b LoopCopyDataInit
- 8000500: e002 b.n 8000508
-
-08000502 :
-
-CopyDataInit:
- ldr r4, [r2, r3]
- 8000502: 58d4 ldr r4, [r2, r3]
- str r4, [r0, r3]
- 8000504: 50c4 str r4, [r0, r3]
- adds r3, r3, #4
- 8000506: 3304 adds r3, #4
-
-08000508 :
-
-LoopCopyDataInit:
- adds r4, r0, r3
- 8000508: 18c4 adds r4, r0, r3
- cmp r4, r1
- 800050a: 428c cmp r4, r1
- bcc CopyDataInit
- 800050c: d3f9 bcc.n 8000502
-
-/* Zero fill the bss segment. */
- ldr r2, =_sbss
- 800050e: 4a0a ldr r2, [pc, #40] @ (8000538 )
- ldr r4, =_ebss
- 8000510: 4c0a ldr r4, [pc, #40] @ (800053c )
- movs r3, #0
- 8000512: 2300 movs r3, #0
- b LoopFillZerobss
- 8000514: e001 b.n 800051a
-
-08000516 :
-
-FillZerobss:
- str r3, [r2]
- 8000516: 6013 str r3, [r2, #0]
- adds r2, r2, #4
- 8000518: 3204 adds r2, #4
-
-0800051a :
-
-LoopFillZerobss:
- cmp r2, r4
- 800051a: 42a2 cmp r2, r4
- bcc FillZerobss
- 800051c: d3fb bcc.n 8000516
-
-/* Call static constructors */
- bl __libc_init_array
- 800051e: f008 fb15 bl 8008b4c <__libc_init_array>
-/* Call the application's entry point.*/
- bl main
- 8000522: f7ff fe51 bl 80001c8
-
-08000526 :
-
-LoopForever:
- b LoopForever
- 8000526: e7fe b.n 8000526
- ldr sp, =_estack /* Atollic update: set stack pointer */
- 8000528: 20004000 .word 0x20004000
- ldr r0, =_sdata
- 800052c: 20000000 .word 0x20000000
- ldr r1, =_edata
- 8000530: 2000017c .word 0x2000017c
- ldr r2, =_sidata
- 8000534: 08008c40 .word 0x08008c40
- ldr r2, =_sbss
- 8000538: 2000017c .word 0x2000017c
- ldr r4, =_ebss
- 800053c: 200013f8 .word 0x200013f8
-
-08000540 :
- * @retval : None
-*/
- .section .text.Default_Handler,"ax",%progbits
-Default_Handler:
-Infinite_Loop:
- b Infinite_Loop
- 8000540: e7fe b.n 8000540
- ...
-
-08000544 :
- * In the default implementation,Systick is used as source of time base.
- * The tick variable is incremented each 1ms in its ISR.
- * @retval HAL status
- */
-HAL_StatusTypeDef HAL_Init(void)
-{
- 8000544: b580 push {r7, lr}
- 8000546: af00 add r7, sp, #0
- /* Configure Flash prefetch */
-#if (PREFETCH_ENABLE != 0U)
- __HAL_FLASH_PREFETCH_BUFFER_ENABLE();
- 8000548: 4b08 ldr r3, [pc, #32] @ (800056c )
- 800054a: 681b ldr r3, [r3, #0]
- 800054c: 4a07 ldr r2, [pc, #28] @ (800056c )
- 800054e: f043 0310 orr.w r3, r3, #16
- 8000552: 6013 str r3, [r2, #0]
-#endif /* PREFETCH_ENABLE */
-
- /* Set Interrupt Group Priority */
- HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
- 8000554: 2003 movs r0, #3
- 8000556: f000 f94f bl 80007f8
-
- /* Enable systick and configure 1ms tick (default clock after Reset is HSI) */
- HAL_InitTick(TICK_INT_PRIORITY);
- 800055a: 200f movs r0, #15
- 800055c: f000 f808 bl 8000570
-
- /* Init the low level hardware */
- HAL_MspInit();
- 8000560: f7ff ff12 bl 8000388
-
- /* Return function status */
- return HAL_OK;
- 8000564: 2300 movs r3, #0
-}
- 8000566: 4618 mov r0, r3
- 8000568: bd80 pop {r7, pc}
- 800056a: bf00 nop
- 800056c: 40022000 .word 0x40022000
-
-08000570 :
- * implementation in user file.
- * @param TickPriority Tick interrupt priority.
- * @retval HAL status
- */
-__weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
-{
- 8000570: b580 push {r7, lr}
- 8000572: b082 sub sp, #8
- 8000574: af00 add r7, sp, #0
- 8000576: 6078 str r0, [r7, #4]
- /* Configure the SysTick to have interrupt in 1ms time basis*/
- if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U)
- 8000578: 4b12 ldr r3, [pc, #72] @ (80005c4 )
- 800057a: 681a ldr r2, [r3, #0]
- 800057c: 4b12 ldr r3, [pc, #72] @ (80005c8 )
- 800057e: 781b ldrb r3, [r3, #0]
- 8000580: 4619 mov r1, r3
- 8000582: f44f 737a mov.w r3, #1000 @ 0x3e8
- 8000586: fbb3 f3f1 udiv r3, r3, r1
- 800058a: fbb2 f3f3 udiv r3, r2, r3
- 800058e: 4618 mov r0, r3
- 8000590: f000 f967 bl 8000862
- 8000594: 4603 mov r3, r0
- 8000596: 2b00 cmp r3, #0
- 8000598: d001 beq.n 800059e
- {
- return HAL_ERROR;
- 800059a: 2301 movs r3, #1
- 800059c: e00e b.n 80005bc
- }
-
- /* Configure the SysTick IRQ priority */
- if (TickPriority < (1UL << __NVIC_PRIO_BITS))
- 800059e: 687b ldr r3, [r7, #4]
- 80005a0: 2b0f cmp r3, #15
- 80005a2: d80a bhi.n 80005ba
- {
- HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U);
- 80005a4: 2200 movs r2, #0
- 80005a6: 6879 ldr r1, [r7, #4]
- 80005a8: f04f 30ff mov.w r0, #4294967295
- 80005ac: f000 f92f bl 800080e
- uwTickPrio = TickPriority;
- 80005b0: 4a06 ldr r2, [pc, #24] @ (80005cc )
- 80005b2: 687b ldr r3, [r7, #4]
- 80005b4: 6013 str r3, [r2, #0]
- else
- {
- return HAL_ERROR;
- }
- /* Return function status */
- return HAL_OK;
- 80005b6: 2300 movs r3, #0
- 80005b8: e000 b.n 80005bc
- return HAL_ERROR;
- 80005ba: 2301 movs r3, #1
-}
- 80005bc: 4618 mov r0, r3
- 80005be: 3708 adds r7, #8
- 80005c0: 46bd mov sp, r7
- 80005c2: bd80 pop {r7, pc}
- 80005c4: 20000000 .word 0x20000000
- 80005c8: 20000008 .word 0x20000008
- 80005cc: 20000004 .word 0x20000004
-
-080005d0 :
- * @note This function is declared as __weak to be overwritten in case of other
- * implementations in user file.
- * @retval None
- */
-__weak void HAL_IncTick(void)
-{
- 80005d0: b480 push {r7}
- 80005d2: af00 add r7, sp, #0
- uwTick += uwTickFreq;
- 80005d4: 4b06 ldr r3, [pc, #24] @ (80005f0 )
- 80005d6: 781b ldrb r3, [r3, #0]
- 80005d8: 461a mov r2, r3
- 80005da: 4b06 ldr r3, [pc, #24] @ (80005f4 )
- 80005dc: 681b ldr r3, [r3, #0]
- 80005de: 4413 add r3, r2
- 80005e0: 4a04 ldr r2, [pc, #16] @ (80005f4 )
- 80005e2: 6013 str r3, [r2, #0]
-}
- 80005e4: bf00 nop
- 80005e6: 46bd mov sp, r7
- 80005e8: f85d 7b04 ldr.w r7, [sp], #4
- 80005ec: 4770 bx lr
- 80005ee: bf00 nop
- 80005f0: 20000008 .word 0x20000008
- 80005f4: 20000220 .word 0x20000220
-
-080005f8 :
- * @note The function is declared as __Weak to be overwritten in case of other
- * implementations in user file.
- * @retval tick value
- */
-__weak uint32_t HAL_GetTick(void)
-{
- 80005f8: b480 push {r7}
- 80005fa: af00 add r7, sp, #0
- return uwTick;
- 80005fc: 4b03 ldr r3, [pc, #12] @ (800060c )
- 80005fe: 681b ldr r3, [r3, #0]
-}
- 8000600: 4618 mov r0, r3
- 8000602: 46bd mov sp, r7
- 8000604: f85d 7b04 ldr.w r7, [sp], #4
- 8000608: 4770 bx lr
- 800060a: bf00 nop
- 800060c: 20000220 .word 0x20000220
-
-08000610 :
- * implementations in user file.
- * @param Delay specifies the delay time length, in milliseconds.
- * @retval None
- */
-__weak void HAL_Delay(uint32_t Delay)
-{
- 8000610: b580 push {r7, lr}
- 8000612: b084 sub sp, #16
- 8000614: af00 add r7, sp, #0
- 8000616: 6078 str r0, [r7, #4]
- uint32_t tickstart = HAL_GetTick();
- 8000618: f7ff ffee bl 80005f8
- 800061c: 60b8 str r0, [r7, #8]
- uint32_t wait = Delay;
- 800061e: 687b ldr r3, [r7, #4]
- 8000620: 60fb str r3, [r7, #12]
-
- /* Add freq to guarantee minimum wait */
- if (wait < HAL_MAX_DELAY)
- 8000622: 68fb ldr r3, [r7, #12]
- 8000624: f1b3 3fff cmp.w r3, #4294967295
- 8000628: d005 beq.n 8000636
- {
- wait += (uint32_t)(uwTickFreq);
- 800062a: 4b0a ldr r3, [pc, #40] @ (8000654 )
- 800062c: 781b ldrb r3, [r3, #0]
- 800062e: 461a mov r2, r3
- 8000630: 68fb ldr r3, [r7, #12]
- 8000632: 4413 add r3, r2
- 8000634: 60fb str r3, [r7, #12]
- }
-
- while((HAL_GetTick() - tickstart) < wait)
- 8000636: bf00 nop
- 8000638: f7ff ffde bl 80005f8
- 800063c: 4602 mov r2, r0
- 800063e: 68bb ldr r3, [r7, #8]
- 8000640: 1ad3 subs r3, r2, r3
- 8000642: 68fa ldr r2, [r7, #12]
- 8000644: 429a cmp r2, r3
- 8000646: d8f7 bhi.n 8000638
- {
- }
-}
- 8000648: bf00 nop
- 800064a: bf00 nop
- 800064c: 3710 adds r7, #16
- 800064e: 46bd mov sp, r7
- 8000650: bd80 pop {r7, pc}
- 8000652: bf00 nop
- 8000654: 20000008 .word 0x20000008
-
-08000658 <__NVIC_SetPriorityGrouping>:
- In case of a conflict between priority grouping and available
- priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
- \param [in] PriorityGroup Priority grouping field.
- */
-__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
-{
- 8000658: b480 push {r7}
- 800065a: b085 sub sp, #20
- 800065c: af00 add r7, sp, #0
- 800065e: 6078 str r0, [r7, #4]
- uint32_t reg_value;
- uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
- 8000660: 687b ldr r3, [r7, #4]
- 8000662: f003 0307 and.w r3, r3, #7
- 8000666: 60fb str r3, [r7, #12]
-
- reg_value = SCB->AIRCR; /* read old register configuration */
- 8000668: 4b0c ldr r3, [pc, #48] @ (800069c <__NVIC_SetPriorityGrouping+0x44>)
- 800066a: 68db ldr r3, [r3, #12]
- 800066c: 60bb str r3, [r7, #8]
- reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */
- 800066e: 68ba ldr r2, [r7, #8]
- 8000670: f64f 03ff movw r3, #63743 @ 0xf8ff
- 8000674: 4013 ands r3, r2
- 8000676: 60bb str r3, [r7, #8]
- reg_value = (reg_value |
- ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
- (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */
- 8000678: 68fb ldr r3, [r7, #12]
- 800067a: 021a lsls r2, r3, #8
- ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
- 800067c: 68bb ldr r3, [r7, #8]
- 800067e: 4313 orrs r3, r2
- reg_value = (reg_value |
- 8000680: f043 63bf orr.w r3, r3, #100139008 @ 0x5f80000
- 8000684: f443 3300 orr.w r3, r3, #131072 @ 0x20000
- 8000688: 60bb str r3, [r7, #8]
- SCB->AIRCR = reg_value;
- 800068a: 4a04 ldr r2, [pc, #16] @ (800069c <__NVIC_SetPriorityGrouping+0x44>)
- 800068c: 68bb ldr r3, [r7, #8]
- 800068e: 60d3 str r3, [r2, #12]
-}
- 8000690: bf00 nop
- 8000692: 3714 adds r7, #20
- 8000694: 46bd mov sp, r7
- 8000696: f85d 7b04 ldr.w r7, [sp], #4
- 800069a: 4770 bx lr
- 800069c: e000ed00 .word 0xe000ed00
-
-080006a0 <__NVIC_GetPriorityGrouping>:
- \brief Get Priority Grouping
- \details Reads the priority grouping field from the NVIC Interrupt Controller.
- \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).
- */
-__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
-{
- 80006a0: b480 push {r7}
- 80006a2: af00 add r7, sp, #0
- return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos));
- 80006a4: 4b04 ldr r3, [pc, #16] @ (80006b8 <__NVIC_GetPriorityGrouping+0x18>)
- 80006a6: 68db ldr r3, [r3, #12]
- 80006a8: 0a1b lsrs r3, r3, #8
- 80006aa: f003 0307 and.w r3, r3, #7
-}
- 80006ae: 4618 mov r0, r3
- 80006b0: 46bd mov sp, r7
- 80006b2: f85d 7b04 ldr.w r7, [sp], #4
- 80006b6: 4770 bx lr
- 80006b8: e000ed00 .word 0xe000ed00
-
-080006bc <__NVIC_EnableIRQ>:
- \details Enables a device specific interrupt in the NVIC interrupt controller.
- \param [in] IRQn Device specific interrupt number.
- \note IRQn must not be negative.
- */
-__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
-{
- 80006bc: b480 push {r7}
- 80006be: b083 sub sp, #12
- 80006c0: af00 add r7, sp, #0
- 80006c2: 4603 mov r3, r0
- 80006c4: 71fb strb r3, [r7, #7]
- if ((int32_t)(IRQn) >= 0)
- 80006c6: f997 3007 ldrsb.w r3, [r7, #7]
- 80006ca: 2b00 cmp r3, #0
- 80006cc: db0b blt.n 80006e6 <__NVIC_EnableIRQ+0x2a>
- {
- NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
- 80006ce: 79fb ldrb r3, [r7, #7]
- 80006d0: f003 021f and.w r2, r3, #31
- 80006d4: 4907 ldr r1, [pc, #28] @ (80006f4 <__NVIC_EnableIRQ+0x38>)
- 80006d6: f997 3007 ldrsb.w r3, [r7, #7]
- 80006da: 095b lsrs r3, r3, #5
- 80006dc: 2001 movs r0, #1
- 80006de: fa00 f202 lsl.w r2, r0, r2
- 80006e2: f841 2023 str.w r2, [r1, r3, lsl #2]
- }
-}
- 80006e6: bf00 nop
- 80006e8: 370c adds r7, #12
- 80006ea: 46bd mov sp, r7
- 80006ec: f85d 7b04 ldr.w r7, [sp], #4
- 80006f0: 4770 bx lr
- 80006f2: bf00 nop
- 80006f4: e000e100 .word 0xe000e100
-
-080006f8 <__NVIC_SetPriority>:
- \param [in] IRQn Interrupt number.
- \param [in] priority Priority to set.
- \note The priority cannot be set for every processor exception.
- */
-__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
-{
- 80006f8: b480 push {r7}
- 80006fa: b083 sub sp, #12
- 80006fc: af00 add r7, sp, #0
- 80006fe: 4603 mov r3, r0
- 8000700: 6039 str r1, [r7, #0]
- 8000702: 71fb strb r3, [r7, #7]
- if ((int32_t)(IRQn) >= 0)
- 8000704: f997 3007 ldrsb.w r3, [r7, #7]
- 8000708: 2b00 cmp r3, #0
- 800070a: db0a blt.n 8000722 <__NVIC_SetPriority+0x2a>
- {
- NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
- 800070c: 683b ldr r3, [r7, #0]
- 800070e: b2da uxtb r2, r3
- 8000710: 490c ldr r1, [pc, #48] @ (8000744 <__NVIC_SetPriority+0x4c>)
- 8000712: f997 3007 ldrsb.w r3, [r7, #7]
- 8000716: 0112 lsls r2, r2, #4
- 8000718: b2d2 uxtb r2, r2
- 800071a: 440b add r3, r1
- 800071c: f883 2300 strb.w r2, [r3, #768] @ 0x300
- }
- else
- {
- SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
- }
-}
- 8000720: e00a b.n 8000738 <__NVIC_SetPriority+0x40>
- SCB->SHP[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
- 8000722: 683b ldr r3, [r7, #0]
- 8000724: b2da uxtb r2, r3
- 8000726: 4908 ldr r1, [pc, #32] @ (8000748 <__NVIC_SetPriority+0x50>)
- 8000728: 79fb ldrb r3, [r7, #7]
- 800072a: f003 030f and.w r3, r3, #15
- 800072e: 3b04 subs r3, #4
- 8000730: 0112 lsls r2, r2, #4
- 8000732: b2d2 uxtb r2, r2
- 8000734: 440b add r3, r1
- 8000736: 761a strb r2, [r3, #24]
-}
- 8000738: bf00 nop
- 800073a: 370c adds r7, #12
- 800073c: 46bd mov sp, r7
- 800073e: f85d 7b04 ldr.w r7, [sp], #4
- 8000742: 4770 bx lr
- 8000744: e000e100 .word 0xe000e100
- 8000748: e000ed00 .word 0xe000ed00
-
-0800074c :
- \param [in] PreemptPriority Preemptive priority value (starting from 0).
- \param [in] SubPriority Subpriority value (starting from 0).
- \return Encoded priority. Value can be used in the function \ref NVIC_SetPriority().
- */
-__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
-{
- 800074c: b480 push {r7}
- 800074e: b089 sub sp, #36 @ 0x24
- 8000750: af00 add r7, sp, #0
- 8000752: 60f8 str r0, [r7, #12]
- 8000754: 60b9 str r1, [r7, #8]
- 8000756: 607a str r2, [r7, #4]
- uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
- 8000758: 68fb ldr r3, [r7, #12]
- 800075a: f003 0307 and.w r3, r3, #7
- 800075e: 61fb str r3, [r7, #28]
- uint32_t PreemptPriorityBits;
- uint32_t SubPriorityBits;
-
- PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
- 8000760: 69fb ldr r3, [r7, #28]
- 8000762: f1c3 0307 rsb r3, r3, #7
- 8000766: 2b04 cmp r3, #4
- 8000768: bf28 it cs
- 800076a: 2304 movcs r3, #4
- 800076c: 61bb str r3, [r7, #24]
- SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
- 800076e: 69fb ldr r3, [r7, #28]
- 8000770: 3304 adds r3, #4
- 8000772: 2b06 cmp r3, #6
- 8000774: d902 bls.n 800077c
- 8000776: 69fb ldr r3, [r7, #28]
- 8000778: 3b03 subs r3, #3
- 800077a: e000 b.n 800077e
- 800077c: 2300 movs r3, #0
- 800077e: 617b str r3, [r7, #20]
-
- return (
- ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
- 8000780: f04f 32ff mov.w r2, #4294967295
- 8000784: 69bb ldr r3, [r7, #24]
- 8000786: fa02 f303 lsl.w r3, r2, r3
- 800078a: 43da mvns r2, r3
- 800078c: 68bb ldr r3, [r7, #8]
- 800078e: 401a ands r2, r3
- 8000790: 697b ldr r3, [r7, #20]
- 8000792: 409a lsls r2, r3
- ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
- 8000794: f04f 31ff mov.w r1, #4294967295
- 8000798: 697b ldr r3, [r7, #20]
- 800079a: fa01 f303 lsl.w r3, r1, r3
- 800079e: 43d9 mvns r1, r3
- 80007a0: 687b ldr r3, [r7, #4]
- 80007a2: 400b ands r3, r1
- ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
- 80007a4: 4313 orrs r3, r2
- );
-}
- 80007a6: 4618 mov r0, r3
- 80007a8: 3724 adds r7, #36 @ 0x24
- 80007aa: 46bd mov sp, r7
- 80007ac: f85d 7b04 ldr.w r7, [sp], #4
- 80007b0: 4770 bx lr
- ...
-
-080007b4 :
- \note When the variable __Vendor_SysTickConfig is set to 1, then the
- function SysTick_Config is not included. In this case, the file device.h
- must contain a vendor-specific implementation of this function.
- */
-__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
-{
- 80007b4: b580 push {r7, lr}
- 80007b6: b082 sub sp, #8
- 80007b8: af00 add r7, sp, #0
- 80007ba: 6078 str r0, [r7, #4]
- if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
- 80007bc: 687b ldr r3, [r7, #4]
- 80007be: 3b01 subs r3, #1
- 80007c0: f1b3 7f80 cmp.w r3, #16777216 @ 0x1000000
- 80007c4: d301 bcc.n 80007ca
- {
- return (1UL); /* Reload value impossible */
- 80007c6: 2301 movs r3, #1
- 80007c8: e00f b.n 80007ea
- }
-
- SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */
- 80007ca: 4a0a ldr r2, [pc, #40] @ (80007f4 )
- 80007cc: 687b ldr r3, [r7, #4]
- 80007ce: 3b01 subs r3, #1
- 80007d0: 6053 str r3, [r2, #4]
- NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
- 80007d2: 210f movs r1, #15
- 80007d4: f04f 30ff mov.w r0, #4294967295
- 80007d8: f7ff ff8e bl 80006f8 <__NVIC_SetPriority>
- SysTick->VAL = 0UL; /* Load the SysTick Counter Value */
- 80007dc: 4b05 ldr r3, [pc, #20] @ (80007f4 )
- 80007de: 2200 movs r2, #0
- 80007e0: 609a str r2, [r3, #8]
- SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
- 80007e2: 4b04 ldr r3, [pc, #16] @ (80007f4 )
- 80007e4: 2207 movs r2, #7
- 80007e6: 601a str r2, [r3, #0]
- SysTick_CTRL_TICKINT_Msk |
- SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
- return (0UL); /* Function successful */
- 80007e8: 2300 movs r3, #0
-}
- 80007ea: 4618 mov r0, r3
- 80007ec: 3708 adds r7, #8
- 80007ee: 46bd mov sp, r7
- 80007f0: bd80 pop {r7, pc}
- 80007f2: bf00 nop
- 80007f4: e000e010 .word 0xe000e010
-
-080007f8 :
- * @note When the NVIC_PriorityGroup_0 is selected, IRQ pre-emption is no more possible.
- * The pending IRQ priority will be managed only by the subpriority.
- * @retval None
- */
-void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
-{
- 80007f8: b580 push {r7, lr}
- 80007fa: b082 sub sp, #8
- 80007fc: af00 add r7, sp, #0
- 80007fe: 6078 str r0, [r7, #4]
- /* Check the parameters */
- assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup));
-
- /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */
- NVIC_SetPriorityGrouping(PriorityGroup);
- 8000800: 6878 ldr r0, [r7, #4]
- 8000802: f7ff ff29 bl 8000658 <__NVIC_SetPriorityGrouping>
-}
- 8000806: bf00 nop
- 8000808: 3708 adds r7, #8
- 800080a: 46bd mov sp, r7
- 800080c: bd80 pop {r7, pc}
-
-0800080e :
- * This parameter can be a value between 0 and 15 as described in the table CORTEX_NVIC_Priority_Table
- * A lower priority value indicates a higher priority.
- * @retval None
- */
-void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
-{
- 800080e: b580 push {r7, lr}
- 8000810: b086 sub sp, #24
- 8000812: af00 add r7, sp, #0
- 8000814: 4603 mov r3, r0
- 8000816: 60b9 str r1, [r7, #8]
- 8000818: 607a str r2, [r7, #4]
- 800081a: 73fb strb r3, [r7, #15]
- uint32_t prioritygroup = 0x00U;
- 800081c: 2300 movs r3, #0
- 800081e: 617b str r3, [r7, #20]
-
- /* Check the parameters */
- assert_param(IS_NVIC_SUB_PRIORITY(SubPriority));
- assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority));
-
- prioritygroup = NVIC_GetPriorityGrouping();
- 8000820: f7ff ff3e bl 80006a0 <__NVIC_GetPriorityGrouping>
- 8000824: 6178 str r0, [r7, #20]
-
- NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority));
- 8000826: 687a ldr r2, [r7, #4]
- 8000828: 68b9 ldr r1, [r7, #8]
- 800082a: 6978 ldr r0, [r7, #20]
- 800082c: f7ff ff8e bl 800074c
- 8000830: 4602 mov r2, r0
- 8000832: f997 300f ldrsb.w r3, [r7, #15]
- 8000836: 4611 mov r1, r2
- 8000838: 4618 mov r0, r3
- 800083a: f7ff ff5d bl 80006f8 <__NVIC_SetPriority>
-}
- 800083e: bf00 nop
- 8000840: 3718 adds r7, #24
- 8000842: 46bd mov sp, r7
- 8000844: bd80 pop {r7, pc}
-
-08000846 :
- * This parameter can be an enumerator of IRQn_Type enumeration
- * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32f3xxxx.h))
- * @retval None
- */
-void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
-{
- 8000846: b580 push {r7, lr}
- 8000848: b082 sub sp, #8
- 800084a: af00 add r7, sp, #0
- 800084c: 4603 mov r3, r0
- 800084e: 71fb strb r3, [r7, #7]
- /* Check the parameters */
- assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
-
- /* Enable interrupt */
- NVIC_EnableIRQ(IRQn);
- 8000850: f997 3007 ldrsb.w r3, [r7, #7]
- 8000854: 4618 mov r0, r3
- 8000856: f7ff ff31 bl 80006bc <__NVIC_EnableIRQ>
-}
- 800085a: bf00 nop
- 800085c: 3708 adds r7, #8
- 800085e: 46bd mov sp, r7
- 8000860: bd80 pop {r7, pc}
-
-08000862 :
- * @param TicksNumb Specifies the ticks Number of ticks between two interrupts.
- * @retval status: - 0 Function succeeded.
- * - 1 Function failed.
- */
-uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb)
-{
- 8000862: b580 push {r7, lr}
- 8000864: b082 sub sp, #8
- 8000866: af00 add r7, sp, #0
- 8000868: 6078 str r0, [r7, #4]
- return SysTick_Config(TicksNumb);
- 800086a: 6878 ldr r0, [r7, #4]
- 800086c: f7ff ffa2 bl 80007b4
- 8000870: 4603 mov r3, r0
-}
- 8000872: 4618 mov r0, r3
- 8000874: 3708 adds r7, #8
- 8000876: 46bd mov sp, r7
- 8000878: bd80 pop {r7, pc}
- ...
-
-0800087c :
- * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
- * the configuration information for the specified GPIO peripheral.
- * @retval None
- */
-void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
-{
- 800087c: b480 push {r7}
- 800087e: b087 sub sp, #28
- 8000880: af00 add r7, sp, #0
- 8000882: 6078 str r0, [r7, #4]
- 8000884: 6039 str r1, [r7, #0]
- uint32_t position = 0x00u;
- 8000886: 2300 movs r3, #0
- 8000888: 617b str r3, [r7, #20]
- assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
- assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
- assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
-
- /* Configure the port pins */
- while (((GPIO_Init->Pin) >> position) != 0x00u)
- 800088a: e14e b.n 8000b2a
- {
- /* Get current io position */
- iocurrent = (GPIO_Init->Pin) & (1uL << position);
- 800088c: 683b ldr r3, [r7, #0]
- 800088e: 681a ldr r2, [r3, #0]
- 8000890: 2101 movs r1, #1
- 8000892: 697b ldr r3, [r7, #20]
- 8000894: fa01 f303 lsl.w r3, r1, r3
- 8000898: 4013 ands r3, r2
- 800089a: 60fb str r3, [r7, #12]
-
- if (iocurrent != 0x00u)
- 800089c: 68fb ldr r3, [r7, #12]
- 800089e: 2b00 cmp r3, #0
- 80008a0: f000 8140 beq.w 8000b24
- {
- /*--------------------- GPIO Mode Configuration ------------------------*/
- /* In case of Output or Alternate function mode selection */
- if(((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF))
- 80008a4: 683b ldr r3, [r7, #0]
- 80008a6: 685b ldr r3, [r3, #4]
- 80008a8: f003 0303 and.w r3, r3, #3
- 80008ac: 2b01 cmp r3, #1
- 80008ae: d005 beq.n 80008bc
- 80008b0: 683b ldr r3, [r7, #0]
- 80008b2: 685b ldr r3, [r3, #4]
- 80008b4: f003 0303 and.w r3, r3, #3
- 80008b8: 2b02 cmp r3, #2
- 80008ba: d130 bne.n 800091e
- {
- /* Check the Speed parameter */
- assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
- /* Configure the IO Speed */
- temp = GPIOx->OSPEEDR;
- 80008bc: 687b ldr r3, [r7, #4]
- 80008be: 689b ldr r3, [r3, #8]
- 80008c0: 613b str r3, [r7, #16]
- temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
- 80008c2: 697b ldr r3, [r7, #20]
- 80008c4: 005b lsls r3, r3, #1
- 80008c6: 2203 movs r2, #3
- 80008c8: fa02 f303 lsl.w r3, r2, r3
- 80008cc: 43db mvns r3, r3
- 80008ce: 693a ldr r2, [r7, #16]
- 80008d0: 4013 ands r3, r2
- 80008d2: 613b str r3, [r7, #16]
- temp |= (GPIO_Init->Speed << (position * 2u));
- 80008d4: 683b ldr r3, [r7, #0]
- 80008d6: 68da ldr r2, [r3, #12]
- 80008d8: 697b ldr r3, [r7, #20]
- 80008da: 005b lsls r3, r3, #1
- 80008dc: fa02 f303 lsl.w r3, r2, r3
- 80008e0: 693a ldr r2, [r7, #16]
- 80008e2: 4313 orrs r3, r2
- 80008e4: 613b str r3, [r7, #16]
- GPIOx->OSPEEDR = temp;
- 80008e6: 687b ldr r3, [r7, #4]
- 80008e8: 693a ldr r2, [r7, #16]
- 80008ea: 609a str r2, [r3, #8]
-
- /* Configure the IO Output Type */
- temp = GPIOx->OTYPER;
- 80008ec: 687b ldr r3, [r7, #4]
- 80008ee: 685b ldr r3, [r3, #4]
- 80008f0: 613b str r3, [r7, #16]
- temp &= ~(GPIO_OTYPER_OT_0 << position) ;
- 80008f2: 2201 movs r2, #1
- 80008f4: 697b ldr r3, [r7, #20]
- 80008f6: fa02 f303 lsl.w r3, r2, r3
- 80008fa: 43db mvns r3, r3
- 80008fc: 693a ldr r2, [r7, #16]
- 80008fe: 4013 ands r3, r2
- 8000900: 613b str r3, [r7, #16]
- temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position);
- 8000902: 683b ldr r3, [r7, #0]
- 8000904: 685b ldr r3, [r3, #4]
- 8000906: 091b lsrs r3, r3, #4
- 8000908: f003 0201 and.w r2, r3, #1
- 800090c: 697b ldr r3, [r7, #20]
- 800090e: fa02 f303 lsl.w r3, r2, r3
- 8000912: 693a ldr r2, [r7, #16]
- 8000914: 4313 orrs r3, r2
- 8000916: 613b str r3, [r7, #16]
- GPIOx->OTYPER = temp;
- 8000918: 687b ldr r3, [r7, #4]
- 800091a: 693a ldr r2, [r7, #16]
- 800091c: 605a str r2, [r3, #4]
- }
-
- if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG)
- 800091e: 683b ldr r3, [r7, #0]
- 8000920: 685b ldr r3, [r3, #4]
- 8000922: f003 0303 and.w r3, r3, #3
- 8000926: 2b03 cmp r3, #3
- 8000928: d017 beq.n 800095a
- {
- /* Check the Pull parameter */
- assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
-
- /* Activate the Pull-up or Pull down resistor for the current IO */
- temp = GPIOx->PUPDR;
- 800092a: 687b ldr r3, [r7, #4]
- 800092c: 68db ldr r3, [r3, #12]
- 800092e: 613b str r3, [r7, #16]
- temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
- 8000930: 697b ldr r3, [r7, #20]
- 8000932: 005b lsls r3, r3, #1
- 8000934: 2203 movs r2, #3
- 8000936: fa02 f303 lsl.w r3, r2, r3
- 800093a: 43db mvns r3, r3
- 800093c: 693a ldr r2, [r7, #16]
- 800093e: 4013 ands r3, r2
- 8000940: 613b str r3, [r7, #16]
- temp |= ((GPIO_Init->Pull) << (position * 2u));
- 8000942: 683b ldr r3, [r7, #0]
- 8000944: 689a ldr r2, [r3, #8]
- 8000946: 697b ldr r3, [r7, #20]
- 8000948: 005b lsls r3, r3, #1
- 800094a: fa02 f303 lsl.w r3, r2, r3
- 800094e: 693a ldr r2, [r7, #16]
- 8000950: 4313 orrs r3, r2
- 8000952: 613b str r3, [r7, #16]
- GPIOx->PUPDR = temp;
- 8000954: 687b ldr r3, [r7, #4]
- 8000956: 693a ldr r2, [r7, #16]
- 8000958: 60da str r2, [r3, #12]
- }
-
- /*--------------------- GPIO Mode Configuration ------------------------*/
- /* In case of Alternate function mode selection */
- if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)
- 800095a: 683b ldr r3, [r7, #0]
- 800095c: 685b ldr r3, [r3, #4]
- 800095e: f003 0303 and.w r3, r3, #3
- 8000962: 2b02 cmp r3, #2
- 8000964: d123 bne.n 80009ae
- /* Check the Alternate function parameters */
- assert_param(IS_GPIO_AF_INSTANCE(GPIOx));
- assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
-
- /* Configure Alternate function mapped with the current IO */
- temp = GPIOx->AFR[position >> 3u];
- 8000966: 697b ldr r3, [r7, #20]
- 8000968: 08da lsrs r2, r3, #3
- 800096a: 687b ldr r3, [r7, #4]
- 800096c: 3208 adds r2, #8
- 800096e: f853 3022 ldr.w r3, [r3, r2, lsl #2]
- 8000972: 613b str r3, [r7, #16]
- temp &= ~(0xFu << ((position & 0x07u) * 4u));
- 8000974: 697b ldr r3, [r7, #20]
- 8000976: f003 0307 and.w r3, r3, #7
- 800097a: 009b lsls r3, r3, #2
- 800097c: 220f movs r2, #15
- 800097e: fa02 f303 lsl.w r3, r2, r3
- 8000982: 43db mvns r3, r3
- 8000984: 693a ldr r2, [r7, #16]
- 8000986: 4013 ands r3, r2
- 8000988: 613b str r3, [r7, #16]
- temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u));
- 800098a: 683b ldr r3, [r7, #0]
- 800098c: 691a ldr r2, [r3, #16]
- 800098e: 697b ldr r3, [r7, #20]
- 8000990: f003 0307 and.w r3, r3, #7
- 8000994: 009b lsls r3, r3, #2
- 8000996: fa02 f303 lsl.w r3, r2, r3
- 800099a: 693a ldr r2, [r7, #16]
- 800099c: 4313 orrs r3, r2
- 800099e: 613b str r3, [r7, #16]
- GPIOx->AFR[position >> 3u] = temp;
- 80009a0: 697b ldr r3, [r7, #20]
- 80009a2: 08da lsrs r2, r3, #3
- 80009a4: 687b ldr r3, [r7, #4]
- 80009a6: 3208 adds r2, #8
- 80009a8: 6939 ldr r1, [r7, #16]
- 80009aa: f843 1022 str.w r1, [r3, r2, lsl #2]
- }
-
- /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
- temp = GPIOx->MODER;
- 80009ae: 687b ldr r3, [r7, #4]
- 80009b0: 681b ldr r3, [r3, #0]
- 80009b2: 613b str r3, [r7, #16]
- temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
- 80009b4: 697b ldr r3, [r7, #20]
- 80009b6: 005b lsls r3, r3, #1
- 80009b8: 2203 movs r2, #3
- 80009ba: fa02 f303 lsl.w r3, r2, r3
- 80009be: 43db mvns r3, r3
- 80009c0: 693a ldr r2, [r7, #16]
- 80009c2: 4013 ands r3, r2
- 80009c4: 613b str r3, [r7, #16]
- temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
- 80009c6: 683b ldr r3, [r7, #0]
- 80009c8: 685b ldr r3, [r3, #4]
- 80009ca: f003 0203 and.w r2, r3, #3
- 80009ce: 697b ldr r3, [r7, #20]
- 80009d0: 005b lsls r3, r3, #1
- 80009d2: fa02 f303 lsl.w r3, r2, r3
- 80009d6: 693a ldr r2, [r7, #16]
- 80009d8: 4313 orrs r3, r2
- 80009da: 613b str r3, [r7, #16]
- GPIOx->MODER = temp;
- 80009dc: 687b ldr r3, [r7, #4]
- 80009de: 693a ldr r2, [r7, #16]
- 80009e0: 601a str r2, [r3, #0]
-
- /*--------------------- EXTI Mode Configuration ------------------------*/
- /* Configure the External Interrupt or event for the current IO */
- if((GPIO_Init->Mode & EXTI_MODE) != 0x00u)
- 80009e2: 683b ldr r3, [r7, #0]
- 80009e4: 685b ldr r3, [r3, #4]
- 80009e6: f403 3340 and.w r3, r3, #196608 @ 0x30000
- 80009ea: 2b00 cmp r3, #0
- 80009ec: f000 809a beq.w 8000b24
- {
- /* Enable SYSCFG Clock */
- __HAL_RCC_SYSCFG_CLK_ENABLE();
- 80009f0: 4b55 ldr r3, [pc, #340] @ (8000b48 )
- 80009f2: 699b ldr r3, [r3, #24]
- 80009f4: 4a54 ldr r2, [pc, #336] @ (8000b48 )
- 80009f6: f043 0301 orr.w r3, r3, #1
- 80009fa: 6193 str r3, [r2, #24]
- 80009fc: 4b52 ldr r3, [pc, #328] @ (8000b48 )
- 80009fe: 699b ldr r3, [r3, #24]
- 8000a00: f003 0301 and.w r3, r3, #1
- 8000a04: 60bb str r3, [r7, #8]
- 8000a06: 68bb ldr r3, [r7, #8]
-
- temp = SYSCFG->EXTICR[position >> 2u];
- 8000a08: 4a50 ldr r2, [pc, #320] @ (8000b4c )
- 8000a0a: 697b ldr r3, [r7, #20]
- 8000a0c: 089b lsrs r3, r3, #2
- 8000a0e: 3302 adds r3, #2
- 8000a10: f852 3023 ldr.w r3, [r2, r3, lsl #2]
- 8000a14: 613b str r3, [r7, #16]
- temp &= ~(0x0FuL << (4u * (position & 0x03u)));
- 8000a16: 697b ldr r3, [r7, #20]
- 8000a18: f003 0303 and.w r3, r3, #3
- 8000a1c: 009b lsls r3, r3, #2
- 8000a1e: 220f movs r2, #15
- 8000a20: fa02 f303 lsl.w r3, r2, r3
- 8000a24: 43db mvns r3, r3
- 8000a26: 693a ldr r2, [r7, #16]
- 8000a28: 4013 ands r3, r2
- 8000a2a: 613b str r3, [r7, #16]
- temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
- 8000a2c: 687b ldr r3, [r7, #4]
- 8000a2e: f1b3 4f90 cmp.w r3, #1207959552 @ 0x48000000
- 8000a32: d013 beq.n 8000a5c
- 8000a34: 687b ldr r3, [r7, #4]
- 8000a36: 4a46 ldr r2, [pc, #280] @ (8000b50 )
- 8000a38: 4293 cmp r3, r2
- 8000a3a: d00d beq.n 8000a58
- 8000a3c: 687b ldr r3, [r7, #4]
- 8000a3e: 4a45 ldr r2, [pc, #276] @ (8000b54 )
- 8000a40: 4293 cmp r3, r2
- 8000a42: d007 beq.n 8000a54
- 8000a44: 687b ldr r3, [r7, #4]
- 8000a46: 4a44 ldr r2, [pc, #272] @ (8000b58 )
- 8000a48: 4293 cmp r3, r2
- 8000a4a: d101 bne.n 8000a50
- 8000a4c: 2303 movs r3, #3
- 8000a4e: e006 b.n 8000a5e
- 8000a50: 2305 movs r3, #5
- 8000a52: e004 b.n 8000a5e
- 8000a54: 2302 movs r3, #2
- 8000a56: e002 b.n 8000a5e
- 8000a58: 2301 movs r3, #1
- 8000a5a: e000 b.n 8000a5e
- 8000a5c: 2300 movs r3, #0
- 8000a5e: 697a ldr r2, [r7, #20]
- 8000a60: f002 0203 and.w r2, r2, #3
- 8000a64: 0092 lsls r2, r2, #2
- 8000a66: 4093 lsls r3, r2
- 8000a68: 693a ldr r2, [r7, #16]
- 8000a6a: 4313 orrs r3, r2
- 8000a6c: 613b str r3, [r7, #16]
- SYSCFG->EXTICR[position >> 2u] = temp;
- 8000a6e: 4937 ldr r1, [pc, #220] @ (8000b4c )
- 8000a70: 697b ldr r3, [r7, #20]
- 8000a72: 089b lsrs r3, r3, #2
- 8000a74: 3302 adds r3, #2
- 8000a76: 693a ldr r2, [r7, #16]
- 8000a78: f841 2023 str.w r2, [r1, r3, lsl #2]
-
- /* Clear Rising Falling edge configuration */
- temp = EXTI->RTSR;
- 8000a7c: 4b37 ldr r3, [pc, #220] @ (8000b5c )
- 8000a7e: 689b ldr r3, [r3, #8]
- 8000a80: 613b str r3, [r7, #16]
- temp &= ~(iocurrent);
- 8000a82: 68fb ldr r3, [r7, #12]
- 8000a84: 43db mvns r3, r3
- 8000a86: 693a ldr r2, [r7, #16]
- 8000a88: 4013 ands r3, r2
- 8000a8a: 613b str r3, [r7, #16]
- if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u)
- 8000a8c: 683b ldr r3, [r7, #0]
- 8000a8e: 685b ldr r3, [r3, #4]
- 8000a90: f403 1380 and.w r3, r3, #1048576 @ 0x100000
- 8000a94: 2b00 cmp r3, #0
- 8000a96: d003 beq.n 8000aa0
- {
- temp |= iocurrent;
- 8000a98: 693a ldr r2, [r7, #16]
- 8000a9a: 68fb ldr r3, [r7, #12]
- 8000a9c: 4313 orrs r3, r2
- 8000a9e: 613b str r3, [r7, #16]
- }
- EXTI->RTSR = temp;
- 8000aa0: 4a2e ldr r2, [pc, #184] @ (8000b5c )
- 8000aa2: 693b ldr r3, [r7, #16]
- 8000aa4: 6093 str r3, [r2, #8]
-
- temp = EXTI->FTSR;
- 8000aa6: 4b2d ldr r3, [pc, #180] @ (8000b5c )
- 8000aa8: 68db ldr r3, [r3, #12]
- 8000aaa: 613b str r3, [r7, #16]
- temp &= ~(iocurrent);
- 8000aac: 68fb ldr r3, [r7, #12]
- 8000aae: 43db mvns r3, r3
- 8000ab0: 693a ldr r2, [r7, #16]
- 8000ab2: 4013 ands r3, r2
- 8000ab4: 613b str r3, [r7, #16]
- if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u)
- 8000ab6: 683b ldr r3, [r7, #0]
- 8000ab8: 685b ldr r3, [r3, #4]
- 8000aba: f403 1300 and.w r3, r3, #2097152 @ 0x200000
- 8000abe: 2b00 cmp r3, #0
- 8000ac0: d003 beq.n 8000aca
- {
- temp |= iocurrent;
- 8000ac2: 693a ldr r2, [r7, #16]
- 8000ac4: 68fb ldr r3, [r7, #12]
- 8000ac6: 4313 orrs r3, r2
- 8000ac8: 613b str r3, [r7, #16]
- }
- EXTI->FTSR = temp;
- 8000aca: 4a24 ldr r2, [pc, #144] @ (8000b5c )
- 8000acc: 693b ldr r3, [r7, #16]
- 8000ace: 60d3 str r3, [r2, #12]
-
- temp = EXTI->EMR;
- 8000ad0: 4b22 ldr r3, [pc, #136] @ (8000b5c )
- 8000ad2: 685b ldr r3, [r3, #4]
- 8000ad4: 613b str r3, [r7, #16]
- temp &= ~(iocurrent);
- 8000ad6: 68fb ldr r3, [r7, #12]
- 8000ad8: 43db mvns r3, r3
- 8000ada: 693a ldr r2, [r7, #16]
- 8000adc: 4013 ands r3, r2
- 8000ade: 613b str r3, [r7, #16]
- if((GPIO_Init->Mode & EXTI_EVT) != 0x00u)
- 8000ae0: 683b ldr r3, [r7, #0]
- 8000ae2: 685b ldr r3, [r3, #4]
- 8000ae4: f403 3300 and.w r3, r3, #131072 @ 0x20000
- 8000ae8: 2b00 cmp r3, #0
- 8000aea: d003 beq.n 8000af4
- {
- temp |= iocurrent;
- 8000aec: 693a ldr r2, [r7, #16]
- 8000aee: 68fb ldr r3, [r7, #12]
- 8000af0: 4313 orrs r3, r2
- 8000af2: 613b str r3, [r7, #16]
- }
- EXTI->EMR = temp;
- 8000af4: 4a19 ldr r2, [pc, #100] @ (8000b5c )
- 8000af6: 693b ldr r3, [r7, #16]
- 8000af8: 6053 str r3, [r2, #4]
-
- /* Clear EXTI line configuration */
- temp = EXTI->IMR;
- 8000afa: 4b18 ldr r3, [pc, #96] @ (8000b5c )
- 8000afc: 681b ldr r3, [r3, #0]
- 8000afe: 613b str r3, [r7, #16]
- temp &= ~(iocurrent);
- 8000b00: 68fb ldr r3, [r7, #12]
- 8000b02: 43db mvns r3, r3
- 8000b04: 693a ldr r2, [r7, #16]
- 8000b06: 4013 ands r3, r2
- 8000b08: 613b str r3, [r7, #16]
- if((GPIO_Init->Mode & EXTI_IT) != 0x00u)
- 8000b0a: 683b ldr r3, [r7, #0]
- 8000b0c: 685b ldr r3, [r3, #4]
- 8000b0e: f403 3380 and.w r3, r3, #65536 @ 0x10000
- 8000b12: 2b00 cmp r3, #0
- 8000b14: d003 beq.n 8000b1e
- {
- temp |= iocurrent;
- 8000b16: 693a ldr r2, [r7, #16]
- 8000b18: 68fb ldr r3, [r7, #12]
- 8000b1a: 4313 orrs r3, r2
- 8000b1c: 613b str r3, [r7, #16]
- }
- EXTI->IMR = temp;
- 8000b1e: 4a0f ldr r2, [pc, #60] @ (8000b5c )
- 8000b20: 693b ldr r3, [r7, #16]
- 8000b22: 6013 str r3, [r2, #0]
- }
- }
-
- position++;
- 8000b24: 697b ldr r3, [r7, #20]
- 8000b26: 3301 adds r3, #1
- 8000b28: 617b str r3, [r7, #20]
- while (((GPIO_Init->Pin) >> position) != 0x00u)
- 8000b2a: 683b ldr r3, [r7, #0]
- 8000b2c: 681a ldr r2, [r3, #0]
- 8000b2e: 697b ldr r3, [r7, #20]
- 8000b30: fa22 f303 lsr.w r3, r2, r3
- 8000b34: 2b00 cmp r3, #0
- 8000b36: f47f aea9 bne.w 800088c
- }
-}
- 8000b3a: bf00 nop
- 8000b3c: bf00 nop
- 8000b3e: 371c adds r7, #28
- 8000b40: 46bd mov sp, r7
- 8000b42: f85d 7b04 ldr.w r7, [sp], #4
- 8000b46: 4770 bx lr
- 8000b48: 40021000 .word 0x40021000
- 8000b4c: 40010000 .word 0x40010000
- 8000b50: 48000400 .word 0x48000400
- 8000b54: 48000800 .word 0x48000800
- 8000b58: 48000c00 .word 0x48000c00
- 8000b5c: 40010400 .word 0x40010400
-
-08000b60 :
- * parameters in the PCD_InitTypeDef and initialize the associated handle.
- * @param hpcd PCD handle
- * @retval HAL status
- */
-HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd)
-{
- 8000b60: b5f0 push {r4, r5, r6, r7, lr}
- 8000b62: b08b sub sp, #44 @ 0x2c
- 8000b64: af06 add r7, sp, #24
- 8000b66: 6078 str r0, [r7, #4]
- uint8_t i;
-
- /* Check the PCD handle allocation */
- if (hpcd == NULL)
- 8000b68: 687b ldr r3, [r7, #4]
- 8000b6a: 2b00 cmp r3, #0
- 8000b6c: d101 bne.n 8000b72
- {
- return HAL_ERROR;
- 8000b6e: 2301 movs r3, #1
- 8000b70: e0c4 b.n 8000cfc
- }
-
- /* Check the parameters */
- assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance));
-
- if (hpcd->State == HAL_PCD_STATE_RESET)
- 8000b72: 687b ldr r3, [r7, #4]
- 8000b74: f893 32a9 ldrb.w r3, [r3, #681] @ 0x2a9
- 8000b78: b2db uxtb r3, r3
- 8000b7a: 2b00 cmp r3, #0
- 8000b7c: d106 bne.n 8000b8c
- {
- /* Allocate lock resource and initialize it */
- hpcd->Lock = HAL_UNLOCKED;
- 8000b7e: 687b ldr r3, [r7, #4]
- 8000b80: 2200 movs r2, #0
- 8000b82: f883 22a8 strb.w r2, [r3, #680] @ 0x2a8
-
- /* Init the low level hardware */
- hpcd->MspInitCallback(hpcd);
-#else
- /* Init the low level hardware : GPIO, CLOCK, NVIC... */
- HAL_PCD_MspInit(hpcd);
- 8000b86: 6878 ldr r0, [r7, #4]
- 8000b88: f007 fd28 bl 80085dc
-#endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */
- }
-
- hpcd->State = HAL_PCD_STATE_BUSY;
- 8000b8c: 687b ldr r3, [r7, #4]
- 8000b8e: 2203 movs r2, #3
- 8000b90: f883 22a9 strb.w r2, [r3, #681] @ 0x2a9
-
- /* Disable the Interrupts */
- __HAL_PCD_DISABLE(hpcd);
- 8000b94: 687b ldr r3, [r7, #4]
- 8000b96: 681b ldr r3, [r3, #0]
- 8000b98: 4618 mov r0, r3
- 8000b9a: f003 fc5b bl 8004454
-
- /* Init endpoints structures */
- for (i = 0U; i < hpcd->Init.dev_endpoints; i++)
- 8000b9e: 2300 movs r3, #0
- 8000ba0: 73fb strb r3, [r7, #15]
- 8000ba2: e040 b.n 8000c26
- {
- /* Init ep structure */
- hpcd->IN_ep[i].is_in = 1U;
- 8000ba4: 7bfb ldrb r3, [r7, #15]
- 8000ba6: 6879 ldr r1, [r7, #4]
- 8000ba8: 1c5a adds r2, r3, #1
- 8000baa: 4613 mov r3, r2
- 8000bac: 009b lsls r3, r3, #2
- 8000bae: 4413 add r3, r2
- 8000bb0: 00db lsls r3, r3, #3
- 8000bb2: 440b add r3, r1
- 8000bb4: 3301 adds r3, #1
- 8000bb6: 2201 movs r2, #1
- 8000bb8: 701a strb r2, [r3, #0]
- hpcd->IN_ep[i].num = i;
- 8000bba: 7bfb ldrb r3, [r7, #15]
- 8000bbc: 6879 ldr r1, [r7, #4]
- 8000bbe: 1c5a adds r2, r3, #1
- 8000bc0: 4613 mov r3, r2
- 8000bc2: 009b lsls r3, r3, #2
- 8000bc4: 4413 add r3, r2
- 8000bc6: 00db lsls r3, r3, #3
- 8000bc8: 440b add r3, r1
- 8000bca: 7bfa ldrb r2, [r7, #15]
- 8000bcc: 701a strb r2, [r3, #0]
- /* Control until ep is activated */
- hpcd->IN_ep[i].type = EP_TYPE_CTRL;
- 8000bce: 7bfb ldrb r3, [r7, #15]
- 8000bd0: 6879 ldr r1, [r7, #4]
- 8000bd2: 1c5a adds r2, r3, #1
- 8000bd4: 4613 mov r3, r2
- 8000bd6: 009b lsls r3, r3, #2
- 8000bd8: 4413 add r3, r2
- 8000bda: 00db lsls r3, r3, #3
- 8000bdc: 440b add r3, r1
- 8000bde: 3303 adds r3, #3
- 8000be0: 2200 movs r2, #0
- 8000be2: 701a strb r2, [r3, #0]
- hpcd->IN_ep[i].maxpacket = 0U;
- 8000be4: 7bfa ldrb r2, [r7, #15]
- 8000be6: 6879 ldr r1, [r7, #4]
- 8000be8: 4613 mov r3, r2
- 8000bea: 009b lsls r3, r3, #2
- 8000bec: 4413 add r3, r2
- 8000bee: 00db lsls r3, r3, #3
- 8000bf0: 440b add r3, r1
- 8000bf2: 3338 adds r3, #56 @ 0x38
- 8000bf4: 2200 movs r2, #0
- 8000bf6: 601a str r2, [r3, #0]
- hpcd->IN_ep[i].xfer_buff = 0U;
- 8000bf8: 7bfa ldrb r2, [r7, #15]
- 8000bfa: 6879 ldr r1, [r7, #4]
- 8000bfc: 4613 mov r3, r2
- 8000bfe: 009b lsls r3, r3, #2
- 8000c00: 4413 add r3, r2
- 8000c02: 00db lsls r3, r3, #3
- 8000c04: 440b add r3, r1
- 8000c06: 333c adds r3, #60 @ 0x3c
- 8000c08: 2200 movs r2, #0
- 8000c0a: 601a str r2, [r3, #0]
- hpcd->IN_ep[i].xfer_len = 0U;
- 8000c0c: 7bfa ldrb r2, [r7, #15]
- 8000c0e: 6879 ldr r1, [r7, #4]
- 8000c10: 4613 mov r3, r2
- 8000c12: 009b lsls r3, r3, #2
- 8000c14: 4413 add r3, r2
- 8000c16: 00db lsls r3, r3, #3
- 8000c18: 440b add r3, r1
- 8000c1a: 3340 adds r3, #64 @ 0x40
- 8000c1c: 2200 movs r2, #0
- 8000c1e: 601a str r2, [r3, #0]
- for (i = 0U; i < hpcd->Init.dev_endpoints; i++)
- 8000c20: 7bfb ldrb r3, [r7, #15]
- 8000c22: 3301 adds r3, #1
- 8000c24: 73fb strb r3, [r7, #15]
- 8000c26: 7bfa ldrb r2, [r7, #15]
- 8000c28: 687b ldr r3, [r7, #4]
- 8000c2a: 685b ldr r3, [r3, #4]
- 8000c2c: 429a cmp r2, r3
- 8000c2e: d3b9 bcc.n 8000ba4
- }
-
- for (i = 0U; i < hpcd->Init.dev_endpoints; i++)
- 8000c30: 2300 movs r3, #0
- 8000c32: 73fb strb r3, [r7, #15]
- 8000c34: e044 b.n 8000cc0
- {
- hpcd->OUT_ep[i].is_in = 0U;
- 8000c36: 7bfa ldrb r2, [r7, #15]
- 8000c38: 6879 ldr r1, [r7, #4]
- 8000c3a: 4613 mov r3, r2
- 8000c3c: 009b lsls r3, r3, #2
- 8000c3e: 4413 add r3, r2
- 8000c40: 00db lsls r3, r3, #3
- 8000c42: 440b add r3, r1
- 8000c44: f203 1369 addw r3, r3, #361 @ 0x169
- 8000c48: 2200 movs r2, #0
- 8000c4a: 701a strb r2, [r3, #0]
- hpcd->OUT_ep[i].num = i;
- 8000c4c: 7bfa ldrb r2, [r7, #15]
- 8000c4e: 6879 ldr r1, [r7, #4]
- 8000c50: 4613 mov r3, r2
- 8000c52: 009b lsls r3, r3, #2
- 8000c54: 4413 add r3, r2
- 8000c56: 00db lsls r3, r3, #3
- 8000c58: 440b add r3, r1
- 8000c5a: f503 73b4 add.w r3, r3, #360 @ 0x168
- 8000c5e: 7bfa ldrb r2, [r7, #15]
- 8000c60: 701a strb r2, [r3, #0]
- /* Control until ep is activated */
- hpcd->OUT_ep[i].type = EP_TYPE_CTRL;
- 8000c62: 7bfa ldrb r2, [r7, #15]
- 8000c64: 6879 ldr r1, [r7, #4]
- 8000c66: 4613 mov r3, r2
- 8000c68: 009b lsls r3, r3, #2
- 8000c6a: 4413 add r3, r2
- 8000c6c: 00db lsls r3, r3, #3
- 8000c6e: 440b add r3, r1
- 8000c70: f203 136b addw r3, r3, #363 @ 0x16b
- 8000c74: 2200 movs r2, #0
- 8000c76: 701a strb r2, [r3, #0]
- hpcd->OUT_ep[i].maxpacket = 0U;
- 8000c78: 7bfa ldrb r2, [r7, #15]
- 8000c7a: 6879 ldr r1, [r7, #4]
- 8000c7c: 4613 mov r3, r2
- 8000c7e: 009b lsls r3, r3, #2
- 8000c80: 4413 add r3, r2
- 8000c82: 00db lsls r3, r3, #3
- 8000c84: 440b add r3, r1
- 8000c86: f503 73bc add.w r3, r3, #376 @ 0x178
- 8000c8a: 2200 movs r2, #0
- 8000c8c: 601a str r2, [r3, #0]
- hpcd->OUT_ep[i].xfer_buff = 0U;
- 8000c8e: 7bfa ldrb r2, [r7, #15]
- 8000c90: 6879 ldr r1, [r7, #4]
- 8000c92: 4613 mov r3, r2
- 8000c94: 009b lsls r3, r3, #2
- 8000c96: 4413 add r3, r2
- 8000c98: 00db lsls r3, r3, #3
- 8000c9a: 440b add r3, r1
- 8000c9c: f503 73be add.w r3, r3, #380 @ 0x17c
- 8000ca0: 2200 movs r2, #0
- 8000ca2: 601a str r2, [r3, #0]
- hpcd->OUT_ep[i].xfer_len = 0U;
- 8000ca4: 7bfa ldrb r2, [r7, #15]
- 8000ca6: 6879 ldr r1, [r7, #4]
- 8000ca8: 4613 mov r3, r2
- 8000caa: 009b lsls r3, r3, #2
- 8000cac: 4413 add r3, r2
- 8000cae: 00db lsls r3, r3, #3
- 8000cb0: 440b add r3, r1
- 8000cb2: f503 73c0 add.w r3, r3, #384 @ 0x180
- 8000cb6: 2200 movs r2, #0
- 8000cb8: 601a str r2, [r3, #0]
- for (i = 0U; i < hpcd->Init.dev_endpoints; i++)
- 8000cba: 7bfb ldrb r3, [r7, #15]
- 8000cbc: 3301 adds r3, #1
- 8000cbe: 73fb strb r3, [r7, #15]
- 8000cc0: 7bfa ldrb r2, [r7, #15]
- 8000cc2: 687b ldr r3, [r7, #4]
- 8000cc4: 685b ldr r3, [r3, #4]
- 8000cc6: 429a cmp r2, r3
- 8000cc8: d3b5 bcc.n 8000c36
- }
-
- /* Init Device */
- (void)USB_DevInit(hpcd->Instance, hpcd->Init);
- 8000cca: 687b ldr r3, [r7, #4]
- 8000ccc: 681b ldr r3, [r3, #0]
- 8000cce: 603b str r3, [r7, #0]
- 8000cd0: 687e ldr r6, [r7, #4]
- 8000cd2: 466d mov r5, sp
- 8000cd4: f106 0410 add.w r4, r6, #16
- 8000cd8: cc0f ldmia r4!, {r0, r1, r2, r3}
- 8000cda: c50f stmia r5!, {r0, r1, r2, r3}
- 8000cdc: 6823 ldr r3, [r4, #0]
- 8000cde: 602b str r3, [r5, #0]
- 8000ce0: 1d33 adds r3, r6, #4
- 8000ce2: cb0e ldmia r3, {r1, r2, r3}
- 8000ce4: 6838 ldr r0, [r7, #0]
- 8000ce6: f003 fbd0 bl 800448a
-
- hpcd->USB_Address = 0U;
- 8000cea: 687b ldr r3, [r7, #4]
- 8000cec: 2200 movs r2, #0
- 8000cee: f883 2024 strb.w r2, [r3, #36] @ 0x24
- hpcd->State = HAL_PCD_STATE_READY;
- 8000cf2: 687b ldr r3, [r7, #4]
- 8000cf4: 2201 movs r2, #1
- 8000cf6: f883 22a9 strb.w r2, [r3, #681] @ 0x2a9
- return HAL_OK;
- 8000cfa: 2300 movs r3, #0
-}
- 8000cfc: 4618 mov r0, r3
- 8000cfe: 3714 adds r7, #20
- 8000d00: 46bd mov sp, r7
- 8000d02: bdf0 pop {r4, r5, r6, r7, pc}
-
-08000d04 :
- * @brief Start the USB device
- * @param hpcd PCD handle
- * @retval HAL status
- */
-HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd)
-{
- 8000d04: b580 push {r7, lr}
- 8000d06: b082 sub sp, #8
- 8000d08: af00 add r7, sp, #0
- 8000d0a: 6078 str r0, [r7, #4]
- __HAL_LOCK(hpcd);
- 8000d0c: 687b ldr r3, [r7, #4]
- 8000d0e: f893 32a8 ldrb.w r3, [r3, #680] @ 0x2a8
- 8000d12: 2b01 cmp r3, #1
- 8000d14: d101 bne.n 8000d1a
- 8000d16: 2302 movs r3, #2
- 8000d18: e016 b.n 8000d48
- 8000d1a: 687b ldr r3, [r7, #4]
- 8000d1c: 2201 movs r2, #1
- 8000d1e: f883 22a8 strb.w r2, [r3, #680] @ 0x2a8
- __HAL_PCD_ENABLE(hpcd);
- 8000d22: 687b ldr r3, [r7, #4]
- 8000d24: 681b ldr r3, [r3, #0]
- 8000d26: 4618 mov r0, r3
- 8000d28: f003 fb7d bl 8004426
-
- HAL_PCDEx_SetConnectionState(hpcd, 1U);
- 8000d2c: 2101 movs r1, #1
- 8000d2e: 6878 ldr r0, [r7, #4]
- 8000d30: f007 fecc bl 8008acc
-
- (void)USB_DevConnect(hpcd->Instance);
- 8000d34: 687b ldr r3, [r7, #4]
- 8000d36: 681b ldr r3, [r3, #0]
- 8000d38: 4618 mov r0, r3
- 8000d3a: f005 fe3c bl 80069b6
- __HAL_UNLOCK(hpcd);
- 8000d3e: 687b ldr r3, [r7, #4]
- 8000d40: 2200 movs r2, #0
- 8000d42: f883 22a8 strb.w r2, [r3, #680] @ 0x2a8
-
- return HAL_OK;
- 8000d46: 2300 movs r3, #0
-}
- 8000d48: 4618 mov r0, r3
- 8000d4a: 3708 adds r7, #8
- 8000d4c: 46bd mov sp, r7
- 8000d4e: bd80 pop {r7, pc}
-
-08000d50 :
- * @brief This function handles PCD interrupt request.
- * @param hpcd PCD handle
- * @retval HAL status
- */
-void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd)
-{
- 8000d50: b580 push {r7, lr}
- 8000d52: b084 sub sp, #16
- 8000d54: af00 add r7, sp, #0
- 8000d56: 6078 str r0, [r7, #4]
- uint32_t wIstr = USB_ReadInterrupts(hpcd->Instance);
- 8000d58: 687b ldr r3, [r7, #4]
- 8000d5a: 681b ldr r3, [r3, #0]
- 8000d5c: 4618 mov r0, r3
- 8000d5e: f005 fe35 bl 80069cc
- 8000d62: 60f8 str r0, [r7, #12]
-
- if ((wIstr & USB_ISTR_CTR) == USB_ISTR_CTR)
- 8000d64: 68fb ldr r3, [r7, #12]
- 8000d66: f403 4300 and.w r3, r3, #32768 @ 0x8000
- 8000d6a: 2b00 cmp r3, #0
- 8000d6c: d003 beq.n 8000d76
- {
- /* servicing of the endpoint correct transfer interrupt */
- /* clear of the CTR flag into the sub */
- (void)PCD_EP_ISR_Handler(hpcd);
- 8000d6e: 6878 ldr r0, [r7, #4]
- 8000d70: f000 fab2 bl 80012d8
-
- return;
- 8000d74: e0bd b.n 8000ef2
- }
-
- if ((wIstr & USB_ISTR_RESET) == USB_ISTR_RESET)
- 8000d76: 68fb ldr r3, [r7, #12]
- 8000d78: f403 6380 and.w r3, r3, #1024 @ 0x400
- 8000d7c: 2b00 cmp r3, #0
- 8000d7e: d013 beq.n 8000da8
- {
- __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_RESET);
- 8000d80: 687b ldr r3, [r7, #4]
- 8000d82: 681b ldr r3, [r3, #0]
- 8000d84: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44
- 8000d88: b29a uxth r2, r3
- 8000d8a: 687b ldr r3, [r7, #4]
- 8000d8c: 681b ldr r3, [r3, #0]
- 8000d8e: f422 6280 bic.w r2, r2, #1024 @ 0x400
- 8000d92: b292 uxth r2, r2
- 8000d94: f8a3 2044 strh.w r2, [r3, #68] @ 0x44
-
-#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
- hpcd->ResetCallback(hpcd);
-#else
- HAL_PCD_ResetCallback(hpcd);
- 8000d98: 6878 ldr r0, [r7, #4]
- 8000d9a: f007 fc9a bl 80086d2
-#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
-
- (void)HAL_PCD_SetAddress(hpcd, 0U);
- 8000d9e: 2100 movs r1, #0
- 8000da0: 6878 ldr r0, [r7, #4]
- 8000da2: f000 f8a9 bl 8000ef8
-
- return;
- 8000da6: e0a4 b.n 8000ef2
- }
-
- if ((wIstr & USB_ISTR_PMAOVR) == USB_ISTR_PMAOVR)
- 8000da8: 68fb ldr r3, [r7, #12]
- 8000daa: f403 4380 and.w r3, r3, #16384 @ 0x4000
- 8000dae: 2b00 cmp r3, #0
- 8000db0: d00c beq.n 8000dcc
- {
- __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_PMAOVR);
- 8000db2: 687b ldr r3, [r7, #4]
- 8000db4: 681b ldr r3, [r3, #0]
- 8000db6: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44
- 8000dba: b29a uxth r2, r3
- 8000dbc: 687b ldr r3, [r7, #4]
- 8000dbe: 681b ldr r3, [r3, #0]
- 8000dc0: f422 4280 bic.w r2, r2, #16384 @ 0x4000
- 8000dc4: b292 uxth r2, r2
- 8000dc6: f8a3 2044 strh.w r2, [r3, #68] @ 0x44
-
- return;
- 8000dca: e092 b.n 8000ef2
- }
-
- if ((wIstr & USB_ISTR_ERR) == USB_ISTR_ERR)
- 8000dcc: 68fb ldr r3, [r7, #12]
- 8000dce: f403 5300 and.w r3, r3, #8192 @ 0x2000
- 8000dd2: 2b00 cmp r3, #0
- 8000dd4: d00c beq.n 8000df0
- {
- __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ERR);
- 8000dd6: 687b ldr r3, [r7, #4]
- 8000dd8: 681b ldr r3, [r3, #0]
- 8000dda: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44
- 8000dde: b29a uxth r2, r3
- 8000de0: 687b ldr r3, [r7, #4]
- 8000de2: 681b ldr r3, [r3, #0]
- 8000de4: f422 5200 bic.w r2, r2, #8192 @ 0x2000
- 8000de8: b292 uxth r2, r2
- 8000dea: f8a3 2044 strh.w r2, [r3, #68] @ 0x44
-
- return;
- 8000dee: e080 b.n 8000ef2
- }
-
- if ((wIstr & USB_ISTR_WKUP) == USB_ISTR_WKUP)
- 8000df0: 68fb ldr r3, [r7, #12]
- 8000df2: f403 5380 and.w r3, r3, #4096 @ 0x1000
- 8000df6: 2b00 cmp r3, #0
- 8000df8: d027 beq.n 8000e4a
- {
- hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_LPMODE);
- 8000dfa: 687b ldr r3, [r7, #4]
- 8000dfc: 681b ldr r3, [r3, #0]
- 8000dfe: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40
- 8000e02: b29a uxth r2, r3
- 8000e04: 687b ldr r3, [r7, #4]
- 8000e06: 681b ldr r3, [r3, #0]
- 8000e08: f022 0204 bic.w r2, r2, #4
- 8000e0c: b292 uxth r2, r2
- 8000e0e: f8a3 2040 strh.w r2, [r3, #64] @ 0x40
- hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_FSUSP);
- 8000e12: 687b ldr r3, [r7, #4]
- 8000e14: 681b ldr r3, [r3, #0]
- 8000e16: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40
- 8000e1a: b29a uxth r2, r3
- 8000e1c: 687b ldr r3, [r7, #4]
- 8000e1e: 681b ldr r3, [r3, #0]
- 8000e20: f022 0208 bic.w r2, r2, #8
- 8000e24: b292 uxth r2, r2
- 8000e26: f8a3 2040 strh.w r2, [r3, #64] @ 0x40
-
-#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
- hpcd->ResumeCallback(hpcd);
-#else
- HAL_PCD_ResumeCallback(hpcd);
- 8000e2a: 6878 ldr r0, [r7, #4]
- 8000e2c: f007 fc8a bl 8008744
-#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
-
- __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_WKUP);
- 8000e30: 687b ldr r3, [r7, #4]
- 8000e32: 681b ldr r3, [r3, #0]
- 8000e34: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44
- 8000e38: b29a uxth r2, r3
- 8000e3a: 687b ldr r3, [r7, #4]
- 8000e3c: 681b ldr r3, [r3, #0]
- 8000e3e: f422 5280 bic.w r2, r2, #4096 @ 0x1000
- 8000e42: b292 uxth r2, r2
- 8000e44: f8a3 2044 strh.w r2, [r3, #68] @ 0x44
-
- return;
- 8000e48: e053 b.n 8000ef2
- }
-
- if ((wIstr & USB_ISTR_SUSP) == USB_ISTR_SUSP)
- 8000e4a: 68fb ldr r3, [r7, #12]
- 8000e4c: f403 6300 and.w r3, r3, #2048 @ 0x800
- 8000e50: 2b00 cmp r3, #0
- 8000e52: d027 beq.n 8000ea4
- {
- /* Force low-power mode in the macrocell */
- hpcd->Instance->CNTR |= (uint16_t)USB_CNTR_FSUSP;
- 8000e54: 687b ldr r3, [r7, #4]
- 8000e56: 681b ldr r3, [r3, #0]
- 8000e58: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40
- 8000e5c: b29a uxth r2, r3
- 8000e5e: 687b ldr r3, [r7, #4]
- 8000e60: 681b ldr r3, [r3, #0]
- 8000e62: f042 0208 orr.w r2, r2, #8
- 8000e66: b292 uxth r2, r2
- 8000e68: f8a3 2040 strh.w r2, [r3, #64] @ 0x40
-
- /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */
- __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SUSP);
- 8000e6c: 687b ldr r3, [r7, #4]
- 8000e6e: 681b ldr r3, [r3, #0]
- 8000e70: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44
- 8000e74: b29a uxth r2, r3
- 8000e76: 687b ldr r3, [r7, #4]
- 8000e78: 681b ldr r3, [r3, #0]
- 8000e7a: f422 6200 bic.w r2, r2, #2048 @ 0x800
- 8000e7e: b292 uxth r2, r2
- 8000e80: f8a3 2044 strh.w r2, [r3, #68] @ 0x44
-
- hpcd->Instance->CNTR |= (uint16_t)USB_CNTR_LPMODE;
- 8000e84: 687b ldr r3, [r7, #4]
- 8000e86: 681b ldr r3, [r3, #0]
- 8000e88: f8b3 3040 ldrh.w r3, [r3, #64] @ 0x40
- 8000e8c: b29a uxth r2, r3
- 8000e8e: 687b ldr r3, [r7, #4]
- 8000e90: 681b ldr r3, [r3, #0]
- 8000e92: f042 0204 orr.w r2, r2, #4
- 8000e96: b292 uxth r2, r2
- 8000e98: f8a3 2040 strh.w r2, [r3, #64] @ 0x40
-
-#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
- hpcd->SuspendCallback(hpcd);
-#else
- HAL_PCD_SuspendCallback(hpcd);
- 8000e9c: 6878 ldr r0, [r7, #4]
- 8000e9e: f007 fc37 bl 8008710
-#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
-
- return;
- 8000ea2: e026 b.n 8000ef2
- }
-
- if ((wIstr & USB_ISTR_SOF) == USB_ISTR_SOF)
- 8000ea4: 68fb ldr r3, [r7, #12]
- 8000ea6: f403 7300 and.w r3, r3, #512 @ 0x200
- 8000eaa: 2b00 cmp r3, #0
- 8000eac: d00f beq.n 8000ece
- {
- __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SOF);
- 8000eae: 687b ldr r3, [r7, #4]
- 8000eb0: 681b ldr r3, [r3, #0]
- 8000eb2: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44
- 8000eb6: b29a uxth r2, r3
- 8000eb8: 687b ldr r3, [r7, #4]
- 8000eba: 681b ldr r3, [r3, #0]
- 8000ebc: f422 7200 bic.w r2, r2, #512 @ 0x200
- 8000ec0: b292 uxth r2, r2
- 8000ec2: f8a3 2044 strh.w r2, [r3, #68] @ 0x44
-
-#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
- hpcd->SOFCallback(hpcd);
-#else
- HAL_PCD_SOFCallback(hpcd);
- 8000ec6: 6878 ldr r0, [r7, #4]
- 8000ec8: f007 fbf5 bl 80086b6
-#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
-
- return;
- 8000ecc: e011 b.n 8000ef2
- }
-
- if ((wIstr & USB_ISTR_ESOF) == USB_ISTR_ESOF)
- 8000ece: 68fb ldr r3, [r7, #12]
- 8000ed0: f403 7380 and.w r3, r3, #256 @ 0x100
- 8000ed4: 2b00 cmp r3, #0
- 8000ed6: d00c beq.n 8000ef2
- {
- /* clear ESOF flag in ISTR */
- __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ESOF);
- 8000ed8: 687b ldr r3, [r7, #4]
- 8000eda: 681b ldr r3, [r3, #0]
- 8000edc: f8b3 3044 ldrh.w r3, [r3, #68] @ 0x44
- 8000ee0: b29a uxth r2, r3
- 8000ee2: 687b ldr r3, [r7, #4]
- 8000ee4: 681b ldr r3, [r3, #0]
- 8000ee6: f422 7280 bic.w r2, r2, #256 @ 0x100
- 8000eea: b292 uxth r2, r2
- 8000eec: f8a3 2044 strh.w r2, [r3, #68] @ 0x44
-
- return;
- 8000ef0: bf00 nop
- }
-}
- 8000ef2: 3710 adds r7, #16
- 8000ef4: 46bd mov sp, r7
- 8000ef6: bd80 pop {r7, pc}
-
-08000ef8 :
- * @param hpcd PCD handle
- * @param address new device address
- * @retval HAL status
- */
-HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address)
-{
- 8000ef8: b580 push {r7, lr}
- 8000efa: b082 sub sp, #8
- 8000efc: af00 add r7, sp, #0
- 8000efe: 6078 str r0, [r7, #4]
- 8000f00: 460b mov r3, r1
- 8000f02: 70fb strb r3, [r7, #3]
- __HAL_LOCK(hpcd);
- 8000f04: 687b ldr r3, [r7, #4]
- 8000f06: f893 32a8 ldrb.w r3, [r3, #680] @ 0x2a8
- 8000f0a: 2b01 cmp r3, #1
- 8000f0c: d101 bne.n 8000f12
- 8000f0e: 2302 movs r3, #2
- 8000f10: e013 b.n 8000f3a
- 8000f12: 687b ldr r3, [r7, #4]
- 8000f14: 2201 movs r2, #1
- 8000f16: f883 22a8 strb.w r2, [r3, #680] @ 0x2a8
- hpcd->USB_Address = address;
- 8000f1a: 687b ldr r3, [r7, #4]
- 8000f1c: 78fa ldrb r2, [r7, #3]
- 8000f1e: f883 2024 strb.w r2, [r3, #36] @ 0x24
- (void)USB_SetDevAddress(hpcd->Instance, address);
- 8000f22: 687b ldr r3, [r7, #4]
- 8000f24: 681b ldr r3, [r3, #0]
- 8000f26: 78fa ldrb r2, [r7, #3]
- 8000f28: 4611 mov r1, r2
- 8000f2a: 4618 mov r0, r3
- 8000f2c: f005 fd2f bl 800698e
- __HAL_UNLOCK(hpcd);
- 8000f30: 687b ldr r3, [r7, #4]
- 8000f32: 2200 movs r2, #0
- 8000f34: f883 22a8 strb.w r2, [r3, #680] @ 0x2a8
-
- return HAL_OK;
- 8000f38: 2300 movs r3, #0
-}
- 8000f3a: 4618 mov r0, r3
- 8000f3c: 3708 adds r7, #8
- 8000f3e: 46bd mov sp, r7
- 8000f40: bd80 pop {r7, pc}
-
-08000f42 :
- * @param ep_type endpoint type
- * @retval HAL status
- */
-HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr,
- uint16_t ep_mps, uint8_t ep_type)
-{
- 8000f42: b580 push {r7, lr}
- 8000f44: b084 sub sp, #16
- 8000f46: af00 add r7, sp, #0
- 8000f48: 6078 str r0, [r7, #4]
- 8000f4a: 4608 mov r0, r1
- 8000f4c: 4611 mov r1, r2
- 8000f4e: 461a mov r2, r3
- 8000f50: 4603 mov r3, r0
- 8000f52: 70fb strb r3, [r7, #3]
- 8000f54: 460b mov r3, r1
- 8000f56: 803b strh r3, [r7, #0]
- 8000f58: 4613 mov r3, r2
- 8000f5a: 70bb strb r3, [r7, #2]
- HAL_StatusTypeDef ret = HAL_OK;
- 8000f5c: 2300 movs r3, #0
- 8000f5e: 72fb strb r3, [r7, #11]
- PCD_EPTypeDef *ep;
-
- if ((ep_addr & 0x80U) == 0x80U)
- 8000f60: f997 3003 ldrsb.w r3, [r7, #3]
- 8000f64: 2b00 cmp r3, #0
- 8000f66: da0e bge.n 8000f86
- {
- ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
- 8000f68: 78fb ldrb r3, [r7, #3]
- 8000f6a: f003 0307 and.w r3, r3, #7
- 8000f6e: 1c5a adds r2, r3, #1
- 8000f70: 4613 mov r3, r2
- 8000f72: 009b lsls r3, r3, #2
- 8000f74: 4413 add r3, r2
- 8000f76: 00db lsls r3, r3, #3
- 8000f78: 687a ldr r2, [r7, #4]
- 8000f7a: 4413 add r3, r2
- 8000f7c: 60fb str r3, [r7, #12]
- ep->is_in = 1U;
- 8000f7e: 68fb ldr r3, [r7, #12]
- 8000f80: 2201 movs r2, #1
- 8000f82: 705a strb r2, [r3, #1]
- 8000f84: e00e b.n 8000fa4
- }
- else
- {
- ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK];
- 8000f86: 78fb ldrb r3, [r7, #3]
- 8000f88: f003 0207 and.w r2, r3, #7
- 8000f8c: 4613 mov r3, r2
- 8000f8e: 009b lsls r3, r3, #2
- 8000f90: 4413 add r3, r2
- 8000f92: 00db lsls r3, r3, #3
- 8000f94: f503 73b4 add.w r3, r3, #360 @ 0x168
- 8000f98: 687a ldr r2, [r7, #4]
- 8000f9a: 4413 add r3, r2
- 8000f9c: 60fb str r3, [r7, #12]
- ep->is_in = 0U;
- 8000f9e: 68fb ldr r3, [r7, #12]
- 8000fa0: 2200 movs r2, #0
- 8000fa2: 705a strb r2, [r3, #1]
- }
-
- ep->num = ep_addr & EP_ADDR_MSK;
- 8000fa4: 78fb ldrb r3, [r7, #3]
- 8000fa6: f003 0307 and.w r3, r3, #7
- 8000faa: b2da uxtb r2, r3
- 8000fac: 68fb ldr r3, [r7, #12]
- 8000fae: 701a strb r2, [r3, #0]
- ep->maxpacket = ep_mps;
- 8000fb0: 883a ldrh r2, [r7, #0]
- 8000fb2: 68fb ldr r3, [r7, #12]
- 8000fb4: 611a str r2, [r3, #16]
- ep->type = ep_type;
- 8000fb6: 68fb ldr r3, [r7, #12]
- 8000fb8: 78ba ldrb r2, [r7, #2]
- 8000fba: 70da strb r2, [r3, #3]
-
- /* Set initial data PID. */
- if (ep_type == EP_TYPE_BULK)
- 8000fbc: 78bb ldrb r3, [r7, #2]
- 8000fbe: 2b02 cmp r3, #2
- 8000fc0: d102 bne.n 8000fc8
- {
- ep->data_pid_start = 0U;
- 8000fc2: 68fb ldr r3, [r7, #12]
- 8000fc4: 2200 movs r2, #0
- 8000fc6: 711a strb r2, [r3, #4]
- }
-
- __HAL_LOCK(hpcd);
- 8000fc8: 687b ldr r3, [r7, #4]
- 8000fca: f893 32a8 ldrb.w r3, [r3, #680] @ 0x2a8
- 8000fce: 2b01 cmp r3, #1
- 8000fd0: d101 bne.n 8000fd6
- 8000fd2: 2302 movs r3, #2
- 8000fd4: e00e b.n 8000ff4
- 8000fd6: 687b ldr r3, [r7, #4]
- 8000fd8: 2201 movs r2, #1
- 8000fda: f883 22a8 strb.w r2, [r3, #680] @ 0x2a8
- (void)USB_ActivateEndpoint(hpcd->Instance, ep);
- 8000fde: 687b ldr r3, [r7, #4]
- 8000fe0: 681b ldr r3, [r3, #0]
- 8000fe2: 68f9 ldr r1, [r7, #12]
- 8000fe4: 4618 mov r0, r3
- 8000fe6: f003 fa71 bl 80044cc
- __HAL_UNLOCK(hpcd);
- 8000fea: 687b ldr r3, [r7, #4]
- 8000fec: 2200 movs r2, #0
- 8000fee: f883 22a8 strb.w r2, [r3, #680] @ 0x2a8
-
- return ret;
- 8000ff2: 7afb ldrb r3, [r7, #11]
-}
- 8000ff4: 4618 mov r0, r3
- 8000ff6: 3710 adds r7, #16
- 8000ff8: 46bd mov sp, r7
- 8000ffa: bd80 pop {r7, pc}
-
-08000ffc :
- * @param hpcd PCD handle
- * @param ep_addr endpoint address
- * @retval HAL status
- */
-HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
-{
- 8000ffc: b580 push {r7, lr}
- 8000ffe: b084 sub sp, #16
- 8001000: af00 add r7, sp, #0
- 8001002: 6078 str r0, [r7, #4]
- 8001004: 460b mov r3, r1
- 8001006: 70fb strb r3, [r7, #3]
- PCD_EPTypeDef *ep;
-
- if ((ep_addr & 0x80U) == 0x80U)
- 8001008: f997 3003 ldrsb.w r3, [r7, #3]
- 800100c: 2b00 cmp r3, #0
- 800100e: da0e bge.n 800102e
- {
- ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
- 8001010: 78fb ldrb r3, [r7, #3]
- 8001012: f003 0307 and.w r3, r3, #7
- 8001016: 1c5a adds r2, r3, #1
- 8001018: 4613 mov r3, r2
- 800101a: 009b lsls r3, r3, #2
- 800101c: 4413 add r3, r2
- 800101e: 00db lsls r3, r3, #3
- 8001020: 687a ldr r2, [r7, #4]
- 8001022: 4413 add r3, r2
- 8001024: 60fb str r3, [r7, #12]
- ep->is_in = 1U;
- 8001026: 68fb ldr r3, [r7, #12]
- 8001028: 2201 movs r2, #1
- 800102a: 705a strb r2, [r3, #1]
- 800102c: e00e b.n 800104c