ADC1_2_IRQHandler ⇒ ADC1_2_IRQHandler
+
+
+
+Function Pointers
+
+ - ADC1_2_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- BusFault_Handler from stm32f1xx_it.o(i.BusFault_Handler) referenced from startup_stm32f103xb.o(RESET)
+
- CAN1_RX1_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- CAN1_SCE_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- CUSTOM_HID_DeInit_FS from usbd_custom_hid_if.o(i.CUSTOM_HID_DeInit_FS) referenced 2 times from usbd_custom_hid_if.o(.data)
+
- CUSTOM_HID_Init_FS from usbd_custom_hid_if.o(i.CUSTOM_HID_Init_FS) referenced 2 times from usbd_custom_hid_if.o(.data)
+
- CUSTOM_HID_OutEvent_FS from usbd_custom_hid_if.o(i.CUSTOM_HID_OutEvent_FS) referenced 2 times from usbd_custom_hid_if.o(.data)
+
- DMA1_Channel1_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- DMA1_Channel2_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- DMA1_Channel3_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- DMA1_Channel4_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- DMA1_Channel5_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- DMA1_Channel6_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- DMA1_Channel7_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- DebugMon_Handler from stm32f1xx_it.o(i.DebugMon_Handler) referenced from startup_stm32f103xb.o(RESET)
+
- EXTI0_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- EXTI15_10_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- EXTI1_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- EXTI2_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- EXTI3_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- EXTI4_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- EXTI9_5_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- FLASH_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- HardFault_Handler from stm32f1xx_it.o(i.HardFault_Handler) referenced from startup_stm32f103xb.o(RESET)
+
- I2C1_ER_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- I2C1_EV_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- I2C2_ER_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- I2C2_EV_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- MemManage_Handler from stm32f1xx_it.o(i.MemManage_Handler) referenced from startup_stm32f103xb.o(RESET)
+
- NMI_Handler from stm32f1xx_it.o(i.NMI_Handler) referenced from startup_stm32f103xb.o(RESET)
+
- PVD_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- PendSV_Handler from stm32f1xx_it.o(i.PendSV_Handler) referenced from startup_stm32f103xb.o(RESET)
+
- RCC_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- RTC_Alarm_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- RTC_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- Reset_Handler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- SPI1_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- SPI2_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- SVC_Handler from stm32f1xx_it.o(i.SVC_Handler) referenced from startup_stm32f103xb.o(RESET)
+
- SysTick_Handler from stm32f1xx_it.o(i.SysTick_Handler) referenced from startup_stm32f103xb.o(RESET)
+
- SystemInit from system_stm32f1xx.o(i.SystemInit) referenced from startup_stm32f103xb.o(.text)
+
- TAMPER_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- TIM1_BRK_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- TIM1_CC_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- TIM1_TRG_COM_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- TIM1_UP_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- TIM2_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- TIM3_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- TIM4_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- USART1_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- USART2_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- USART3_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- USBD_CUSTOM_HID_DataIn from usbd_customhid.o(i.USBD_CUSTOM_HID_DataIn) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_CUSTOM_HID_DataOut from usbd_customhid.o(i.USBD_CUSTOM_HID_DataOut) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_CUSTOM_HID_DeInit from usbd_customhid.o(i.USBD_CUSTOM_HID_DeInit) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_CUSTOM_HID_EP0_RxReady from usbd_customhid.o(i.USBD_CUSTOM_HID_EP0_RxReady) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_CUSTOM_HID_GetDeviceQualifierDesc from usbd_customhid.o(i.USBD_CUSTOM_HID_GetDeviceQualifierDesc) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_CUSTOM_HID_GetFSCfgDesc from usbd_customhid.o(i.USBD_CUSTOM_HID_GetFSCfgDesc) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_CUSTOM_HID_GetHSCfgDesc from usbd_customhid.o(i.USBD_CUSTOM_HID_GetHSCfgDesc) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_CUSTOM_HID_GetOtherSpeedCfgDesc from usbd_customhid.o(i.USBD_CUSTOM_HID_GetOtherSpeedCfgDesc) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_CUSTOM_HID_Init from usbd_customhid.o(i.USBD_CUSTOM_HID_Init) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_CUSTOM_HID_Setup from usbd_customhid.o(i.USBD_CUSTOM_HID_Setup) referenced 2 times from usbd_customhid.o(.data)
+
- USBD_FS_ConfigStrDescriptor from usbd_desc.o(i.USBD_FS_ConfigStrDescriptor) referenced 2 times from usbd_desc.o(.data)
+
- USBD_FS_DeviceDescriptor from usbd_desc.o(i.USBD_FS_DeviceDescriptor) referenced 2 times from usbd_desc.o(.data)
+
- USBD_FS_InterfaceStrDescriptor from usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor) referenced 2 times from usbd_desc.o(.data)
+
- USBD_FS_LangIDStrDescriptor from usbd_desc.o(i.USBD_FS_LangIDStrDescriptor) referenced 2 times from usbd_desc.o(.data)
+
- USBD_FS_ManufacturerStrDescriptor from usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor) referenced 2 times from usbd_desc.o(.data)
+
- USBD_FS_ProductStrDescriptor from usbd_desc.o(i.USBD_FS_ProductStrDescriptor) referenced 2 times from usbd_desc.o(.data)
+
- USBD_FS_SerialStrDescriptor from usbd_desc.o(i.USBD_FS_SerialStrDescriptor) referenced 2 times from usbd_desc.o(.data)
+
- USBWakeUp_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- USB_HP_CAN1_TX_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- USB_LP_CAN1_RX0_IRQHandler from stm32f1xx_it.o(i.USB_LP_CAN1_RX0_IRQHandler) referenced from startup_stm32f103xb.o(RESET)
+
- UsageFault_Handler from stm32f1xx_it.o(i.UsageFault_Handler) referenced from startup_stm32f103xb.o(RESET)
+
- WWDG_IRQHandler from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
+
- __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f103xb.o(.text)
+
- fputc from usart.o(i.fputc) referenced from printfa.o(i.__0printf)
+
- main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
+
+
+
+Global Symbols
+
+__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(.text)
+
+_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))
+
+
_main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
+
[Calls]
+
+__main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
+
[Called By]
+
+_main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))
+
+
_main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))
+
+
_main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))
+
+
__rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))
+
+
__rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))
+
+
Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Calls]
+
[Called By]
+
[Address Reference Count : 1]- startup_stm32f103xb.o(RESET)
+
+CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+DMA1_Channel2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+DMA1_Channel3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+DMA1_Channel4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+DMA1_Channel5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+DMA1_Channel6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+DMA1_Channel7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+EXTI15_10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+EXTI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+EXTI9_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+RTC_Alarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+RTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+TAMPER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+TIM1_BRK_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+TIM1_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+TIM1_TRG_COM_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+TIM1_UP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+TIM2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+TIM4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+USART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+USART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+USBWakeUp_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+USB_HP_CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+__aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
+
[Called By]
- >> _double_epilogue
+
- >> __aeabi_uldivmod
+
- >> __aeabi_d2ulz
+
+
+_ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
+
+
__aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
+
+
__aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text))
+
[Called By]
+
+__aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)
+
+
__aeabi_memset (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text))
+
[Called By]
- >> _memset$wrapper
+
- >> __aeabi_memclr
+
+
+__aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
+
+
__aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
+
+
__aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
+
[Calls]
+
[Called By]- >> UsbSendPackageReport
+
+
+__aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
+
[Called By]
+
+__aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)
+
+
_memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
+
[Calls]
+
+__aeabi_fdiv (Thumb, 124 bytes, Stack size 8 bytes, fdiv.o(.text))
+
[Stack]
- Max Depth = 8
- Call Chain = __aeabi_fdiv
+
+
[Calls]
+
[Called By]
+
+__aeabi_i2f (Thumb, 18 bytes, Stack size 0 bytes, fflti.o(.text))
+
[Stack]
- Max Depth = 4
- Call Chain = __aeabi_i2f ⇒ _float_epilogue
+
+
[Calls]
+
[Called By]
+
+__aeabi_ui2f (Thumb, 10 bytes, Stack size 0 bytes, ffltui.o(.text))
+
[Stack]
- Max Depth = 4
- Call Chain = __aeabi_ui2f ⇒ _float_epilogue
+
+
[Calls]
+
[Called By]
+
+__aeabi_f2iz (Thumb, 50 bytes, Stack size 0 bytes, ffixi.o(.text))
+
[Called By]
+
+__aeabi_f2d (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))
+
[Called By]
+
+__aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
+
+
__aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
+
[Called By]
+
+__aeabi_uldivmod (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text), UNUSED)
+
[Calls]
- >> __aeabi_llsr
+
- >> __aeabi_llsl
+
+
[Called By]- >> _printf_core
+
- >> _fp_digits
+
+
+__I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)
+
+
_float_round (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
+
[Called By]
+
+_float_epilogue (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text))
+
[Stack]
- Max Depth = 4
- Call Chain = _float_epilogue
+
+
[Called By]- >> __aeabi_ui2f
+
- >> __aeabi_i2f
+
+
+__aeabi_dadd (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text), UNUSED)
+
[Calls]
- >> __aeabi_lasr
+
- >> __aeabi_llsl
+
- >> _double_round
+
- >> _double_epilogue
+
+
[Called By]- >> __aeabi_drsub
+
- >> __aeabi_dsub
+
- >> _fp_digits
+
+
+__aeabi_dsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
+
[Calls]
+
+__aeabi_drsub (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
+
[Calls]
+
+__aeabi_dmul (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text), UNUSED)
+
[Calls]
+
[Called By]
+
+__aeabi_ddiv (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text), UNUSED)
+
[Calls]
+
[Called By]
+
+__aeabi_d2ulz (Thumb, 48 bytes, Stack size 0 bytes, dfixul.o(.text), UNUSED)
+
[Calls]
- >> __aeabi_llsr
+
- >> __aeabi_llsl
+
+
[Called By]
+
+__aeabi_cdrcmple (Thumb, 48 bytes, Stack size 0 bytes, cdrcmple.o(.text), UNUSED)
+
[Called By]
+
+__scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
+
[Calls]
- >> __main_after_scatterload
+
+
[Called By]
+
+__scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)
+
+
__aeabi_llsl (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
+
[Called By]
- >> _double_epilogue
+
- >> __aeabi_uldivmod
+
- >> __aeabi_dadd
+
- >> __aeabi_d2ulz
+
+
+_ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
+
+
__aeabi_lasr (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
+
[Called By]
+
+_ll_sshift_r (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
+
+
_double_round (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text), UNUSED)
+
[Called By]
- >> _double_epilogue
+
- >> __aeabi_ddiv
+
- >> __aeabi_dadd
+
+
+_double_epilogue (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text), UNUSED)
+
[Calls]
- >> __aeabi_llsr
+
- >> __aeabi_llsl
+
- >> _double_round
+
+
[Called By]- >> __aeabi_dmul
+
- >> __aeabi_dadd
+
+
+__decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
+
+
__decompress1 (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)
+
+
BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.BusFault_Handler))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.DebugMon_Handler))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+Error_Handler (Thumb, 6 bytes, Stack size 0 bytes, main.o(i.Error_Handler))
+
[Called By]
- >> MX_USB_DEVICE_Init
+
- >> MX_USART3_UART_Init
+
- >> SystemClock_Config
+
- >> USBD_LL_Init
+
- >> HAL_PCD_ResetCallback
+
+
+HAL_Delay (Thumb, 36 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_Delay))
+
[Stack]
- Max Depth = 16
- Call Chain = HAL_Delay
+
+
[Calls]
+
[Called By]
+
+HAL_GPIO_Init (Thumb, 766 bytes, Stack size 36 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init))
+
[Stack]
- Max Depth = 36
- Call Chain = HAL_GPIO_Init
+
+
[Called By]- >> HAL_UART_MspInit
+
- >> HC_I2C_Init
+
- >> MX_GPIO_Init
+
+
+HAL_GPIO_ReadPin (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin))
+
[Called By]
+
+HAL_GPIO_WritePin (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin))
+
[Called By]
+
+HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_GetTick))
+
[Called By]
- >> HAL_UART_Transmit
+
- >> HAL_RCC_OscConfig
+
- >> HAL_RCC_ClockConfig
+
- >> HAL_RCCEx_PeriphCLKConfig
+
- >> HAL_Delay
+
- >> UART_WaitOnFlagUntilTimeout
+
+
+HAL_IncTick (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick))
+
[Called By]
+
+HAL_Init (Thumb, 34 bytes, Stack size 8 bytes, stm32f1xx_hal.o(i.HAL_Init))
+
[Stack]
- Max Depth = 72
- Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> HAL_MspInit
+
- >> HAL_InitTick
+
- >> HAL_NVIC_SetPriorityGrouping
+
+
[Called By]
+
+HAL_InitTick (Thumb, 64 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_InitTick))
+
[Stack]
- Max Depth = 64
- Call Chain = HAL_InitTick ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> HAL_SYSTICK_Config
+
- >> HAL_NVIC_SetPriority
+
+
[Called By]- >> HAL_RCC_ClockConfig
+
- >> HAL_Init
+
+
+HAL_MspInit (Thumb, 58 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(i.HAL_MspInit))
+
[Stack]
- Max Depth = 8
- Call Chain = HAL_MspInit
+
+
[Called By]
+
+HAL_NVIC_EnableIRQ (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ))
+
[Called By]
+
+HAL_NVIC_SetPriority (Thumb, 124 bytes, Stack size 40 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority))
+
[Stack]
- Max Depth = 48
- Call Chain = HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> __NVIC_SetPriority
+
- >> __NVIC_GetPriorityGrouping
+
+
[Called By]- >> HAL_InitTick
+
- >> HAL_PCD_MspInit
+
+
+HAL_NVIC_SetPriorityGrouping (Thumb, 32 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping))
+
[Called By]
+
+HAL_PCDEx_PMAConfig (Thumb, 68 bytes, Stack size 16 bytes, stm32f1xx_hal_pcd_ex.o(i.HAL_PCDEx_PMAConfig))
+
[Stack]
- Max Depth = 16
- Call Chain = HAL_PCDEx_PMAConfig
+
+
[Called By]
+
+HAL_PCDEx_SetConnectionState (Thumb, 2 bytes, Stack size 0 bytes, usbd_conf.o(i.HAL_PCDEx_SetConnectionState))
+
[Called By]
+
+HAL_PCD_DataInStageCallback (Thumb, 32 bytes, Stack size 16 bytes, usbd_conf.o(i.HAL_PCD_DataInStageCallback))
+
[Stack]
- Max Depth = 172
- Call Chain = HAL_PCD_DataInStageCallback ⇒ USBD_LL_DataInStage ⇒ USBD_CtlContinueSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]- >> PCD_EP_ISR_Handler
+
- >> HAL_PCD_EP_DB_Transmit
+
+
+HAL_PCD_DataOutStageCallback (Thumb, 32 bytes, Stack size 16 bytes, usbd_conf.o(i.HAL_PCD_DataOutStageCallback))
+
[Stack]
- Max Depth = 172
- Call Chain = HAL_PCD_DataOutStageCallback ⇒ USBD_LL_DataOutStage ⇒ USBD_CtlContinueRx ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_DataOutStage
+
+
[Called By]
+
+HAL_PCD_EP_Close (Thumb, 106 bytes, Stack size 16 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Close))
+
[Stack]
- Max Depth = 28
- Call Chain = HAL_PCD_EP_Close ⇒ USB_DeactivateEndpoint
+
+
[Calls]- >> USB_DeactivateEndpoint
+
+
[Called By]
+
+HAL_PCD_EP_ClrStall (Thumb, 124 bytes, Stack size 16 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_ClrStall))
+
[Stack]
- Max Depth = 28
- Call Chain = HAL_PCD_EP_ClrStall ⇒ USB_EPClearStall
+
+
[Calls]
+
[Called By]- >> USBD_LL_ClearStallEP
+
+
+HAL_PCD_EP_Open (Thumb, 132 bytes, Stack size 32 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Open))
+
[Stack]
- Max Depth = 52
- Call Chain = HAL_PCD_EP_Open ⇒ USB_ActivateEndpoint
+
+
[Calls]- >> USB_ActivateEndpoint
+
+
[Called By]
+
+HAL_PCD_EP_Receive (Thumb, 60 bytes, Stack size 24 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Receive))
+
[Stack]
- Max Depth = 84
- Call Chain = HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]- >> USBD_LL_PrepareReceive
+
+
+HAL_PCD_EP_SetStall (Thumb, 136 bytes, Stack size 16 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_SetStall))
+
[Stack]
- Max Depth = 24
- Call Chain = HAL_PCD_EP_SetStall ⇒ USB_EPSetStall
+
+
[Calls]- >> USB_EPSetStall
+
- >> USB_EP0_OutStart
+
+
[Called By]
+
+HAL_PCD_EP_Transmit (Thumb, 70 bytes, Stack size 24 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Transmit))
+
[Stack]
- Max Depth = 84
- Call Chain = HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]
+
+HAL_PCD_IRQHandler (Thumb, 460 bytes, Stack size 32 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler))
+
[Stack]
- Max Depth = 276
- Call Chain = HAL_PCD_IRQHandler ⇒ PCD_EP_ISR_Handler ⇒ HAL_PCD_EP_DB_Transmit ⇒ HAL_PCD_DataInStageCallback ⇒ USBD_LL_DataInStage ⇒ USBD_CtlContinueSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USB_ReadInterrupts
+
- >> PCD_EP_ISR_Handler
+
- >> HAL_PCD_SetAddress
+
- >> HAL_PCD_SuspendCallback
+
- >> HAL_PCD_SOFCallback
+
- >> HAL_PCD_ResumeCallback
+
- >> HAL_PCD_ResetCallback
+
+
[Called By]- >> USB_LP_CAN1_RX0_IRQHandler
+
+
+HAL_PCD_Init (Thumb, 330 bytes, Stack size 32 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_Init))
+
[Stack]
- Max Depth = 96
- Call Chain = HAL_PCD_Init ⇒ HAL_PCD_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> USB_SetCurrentMode
+
- >> USB_DisableGlobalInt
+
- >> USB_DevInit
+
- >> USB_DevDisconnect
+
- >> USB_CoreInit
+
- >> HAL_PCD_MspInit
+
- >> __aeabi_memcpy4
+
+
[Called By]
+
+HAL_PCD_MspInit (Thumb, 58 bytes, Stack size 16 bytes, usbd_conf.o(i.HAL_PCD_MspInit))
+
[Stack]
- Max Depth = 64
- Call Chain = HAL_PCD_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> HAL_NVIC_SetPriority
+
- >> HAL_NVIC_EnableIRQ
+
+
[Called By]
+
+HAL_PCD_ResetCallback (Thumb, 36 bytes, Stack size 16 bytes, usbd_conf.o(i.HAL_PCD_ResetCallback))
+
[Stack]
- Max Depth = 108
- Call Chain = HAL_PCD_ResetCallback ⇒ USBD_LL_Reset ⇒ USBD_LL_OpenEP ⇒ HAL_PCD_EP_Open ⇒ USB_ActivateEndpoint
+
+
[Calls]- >> Error_Handler
+
- >> USBD_LL_SetSpeed
+
- >> USBD_LL_Reset
+
+
[Called By]
+
+HAL_PCD_ResumeCallback (Thumb, 14 bytes, Stack size 8 bytes, usbd_conf.o(i.HAL_PCD_ResumeCallback))
+
[Stack]
- Max Depth = 8
- Call Chain = HAL_PCD_ResumeCallback
+
+
[Calls]
+
[Called By]
+
+HAL_PCD_SOFCallback (Thumb, 14 bytes, Stack size 8 bytes, usbd_conf.o(i.HAL_PCD_SOFCallback))
+
[Stack]
- Max Depth = 16
- Call Chain = HAL_PCD_SOFCallback ⇒ USBD_LL_SOF
+
+
[Calls]
+
[Called By]
+
+HAL_PCD_SetAddress (Thumb, 54 bytes, Stack size 16 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_SetAddress))
+
[Stack]
- Max Depth = 16
- Call Chain = HAL_PCD_SetAddress
+
+
[Calls]
+
[Called By]- >> HAL_PCD_IRQHandler
+
- >> USBD_LL_SetUSBAddress
+
+
+HAL_PCD_SetupStageCallback (Thumb, 18 bytes, Stack size 8 bytes, usbd_conf.o(i.HAL_PCD_SetupStageCallback))
+
[Stack]
- Max Depth = 196
- Call Chain = HAL_PCD_SetupStageCallback ⇒ USBD_LL_SetupStage ⇒ USBD_StdDevReq ⇒ USBD_GetDescriptor ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]
+
+HAL_PCD_Start (Thumb, 60 bytes, Stack size 8 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_Start))
+
[Stack]
- Max Depth = 8
- Call Chain = HAL_PCD_Start
+
+
[Calls]- >> USB_EnableGlobalInt
+
- >> USB_DevConnect
+
- >> HAL_PCDEx_SetConnectionState
+
+
[Called By]
+
+HAL_PCD_SuspendCallback (Thumb, 30 bytes, Stack size 8 bytes, usbd_conf.o(i.HAL_PCD_SuspendCallback))
+
[Stack]
- Max Depth = 8
- Call Chain = HAL_PCD_SuspendCallback
+
+
[Calls]
+
[Called By]
+
+HAL_RCCEx_PeriphCLKConfig (Thumb, 290 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig))
+
[Stack]
- Max Depth = 24
- Call Chain = HAL_RCCEx_PeriphCLKConfig
+
+
[Calls]
+
[Called By]
+
+HAL_RCC_ClockConfig (Thumb, 376 bytes, Stack size 16 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig))
+
[Stack]
- Max Depth = 80
- Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> HAL_InitTick
+
- >> HAL_GetTick
+
- >> HAL_RCC_GetSysClockFreq
+
+
[Called By]
+
+HAL_RCC_GetHCLKFreq (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq))
+
[Called By]
- >> HAL_RCC_GetPCLK2Freq
+
- >> HAL_RCC_GetPCLK1Freq
+
+
+HAL_RCC_GetPCLK1Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq))
+
[Stack]
- Max Depth = 4
- Call Chain = HAL_RCC_GetPCLK1Freq
+
+
[Calls]
+
[Called By]
+
+HAL_RCC_GetPCLK2Freq (Thumb, 22 bytes, Stack size 4 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq))
+
[Stack]
- Max Depth = 4
- Call Chain = HAL_RCC_GetPCLK2Freq
+
+
[Calls]
+
[Called By]
+
+HAL_RCC_GetSysClockFreq (Thumb, 92 bytes, Stack size 16 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq))
+
[Stack]
- Max Depth = 16
- Call Chain = HAL_RCC_GetSysClockFreq
+
+
[Called By]
+
+HAL_RCC_OscConfig (Thumb, 1114 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig))
+
[Stack]
- Max Depth = 32
- Call Chain = HAL_RCC_OscConfig ⇒ RCC_Delay
+
+
[Calls]- >> RCC_Delay
+
- >> HAL_GetTick
+
+
[Called By]
+
+HAL_SYSTICK_Config (Thumb, 52 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config))
+
[Stack]
- Max Depth = 24
- Call Chain = HAL_SYSTICK_Config ⇒ __NVIC_SetPriority
+
+
[Calls]
+
[Called By]
+
+HAL_UART_Init (Thumb, 118 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Init))
+
[Stack]
- Max Depth = 76
- Call Chain = HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
+
+
[Calls]- >> HAL_UART_MspInit
+
- >> UART_SetConfig
+
+
[Called By]
+
+HAL_UART_MspInit (Thumb, 122 bytes, Stack size 32 bytes, usart.o(i.HAL_UART_MspInit))
+
[Stack]
- Max Depth = 68
- Call Chain = HAL_UART_MspInit ⇒ HAL_GPIO_Init
+
+
[Calls]
+
[Called By]
+
+HAL_UART_Transmit (Thumb, 178 bytes, Stack size 40 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Transmit))
+
[Stack]
- Max Depth = 64
- Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
+
+
[Calls]- >> HAL_GetTick
+
- >> UART_WaitOnFlagUntilTimeout
+
+
[Called By]
+
+HC_I2C_Init (Thumb, 76 bytes, Stack size 24 bytes, i2c.o(i.HC_I2C_Init))
+
[Stack]
- Max Depth = 60
- Call Chain = HC_I2C_Init ⇒ HAL_GPIO_Init
+
+
[Calls]
+
[Called By]
+
+HC_I2C_Read (Thumb, 108 bytes, Stack size 24 bytes, i2c.o(i.HC_I2C_Read))
+
[Stack]
- Max Depth = 48
- Call Chain = HC_I2C_Read ⇒ HC_I2C_SendByte ⇒ I2C_delay
+
+
[Calls]- >> __aeabi_ui2f
+
- >> __aeabi_fdiv
+
- >> __aeabi_f2iz
+
- >> HC_I2C_WaitAck
+
- >> HC_I2C_Stop
+
- >> HC_I2C_Start
+
- >> HC_I2C_SendByte
+
- >> HC_I2C_ReadByte
+
- >> HC_I2C_NoAck
+
+
[Called By]
+
+HC_I2C_Write (Thumb, 32 bytes, Stack size 8 bytes, i2c.o(i.HC_I2C_Write))
+
[Stack]
- Max Depth = 32
- Call Chain = HC_I2C_Write ⇒ HC_I2C_SendByte ⇒ I2C_delay
+
+
[Calls]- >> HC_I2C_WaitAck
+
- >> HC_I2C_Stop
+
- >> HC_I2C_Start
+
- >> HC_I2C_SendByte
+
+
[Called By]
+
+HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.HardFault_Handler))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+MX_USART3_UART_Init (Thumb, 46 bytes, Stack size 8 bytes, usart.o(i.MX_USART3_UART_Init))
+
[Stack]
- Max Depth = 84
- Call Chain = MX_USART3_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
+
+
[Calls]- >> HAL_UART_Init
+
- >> Error_Handler
+
+
[Called By]
+
+MX_USB_DEVICE_Init (Thumb, 60 bytes, Stack size 8 bytes, usb_device.o(i.MX_USB_DEVICE_Init))
+
[Stack]
- Max Depth = 128
- Call Chain = MX_USB_DEVICE_Init ⇒ USBD_Init ⇒ USBD_LL_Init ⇒ HAL_PCD_Init ⇒ HAL_PCD_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> USBD_Start
+
- >> USBD_RegisterClass
+
- >> USBD_Init
+
- >> USBD_CUSTOM_HID_RegisterInterface
+
- >> Error_Handler
+
+
[Called By]
+
+MemManage_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.MemManage_Handler))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+NMI_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.NMI_Handler))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.PendSV_Handler))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.SVC_Handler))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+SysTick_Handler (Thumb, 8 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.SysTick_Handler))
+
[Stack]
- Max Depth = 8
- Call Chain = SysTick_Handler
+
+
[Calls]
+
[Address Reference Count : 1]- startup_stm32f103xb.o(RESET)
+
+SystemClock_Config (Thumb, 132 bytes, Stack size 80 bytes, main.o(i.SystemClock_Config))
+
[Stack]
- Max Depth = 160
- Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> HAL_RCC_OscConfig
+
- >> HAL_RCC_ClockConfig
+
- >> HAL_RCCEx_PeriphCLKConfig
+
- >> Error_Handler
+
- >> __aeabi_memclr4
+
+
[Called By]
+
+SystemInit (Thumb, 2 bytes, Stack size 0 bytes, system_stm32f1xx.o(i.SystemInit))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(.text)
+
+USBD_CUSTOM_HID_RegisterInterface (Thumb, 14 bytes, Stack size 0 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_RegisterInterface))
+
[Called By]
+
+USBD_CUSTOM_HID_SendReport (Thumb, 58 bytes, Stack size 24 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_SendReport))
+
[Stack]
- Max Depth = 140
- Call Chain = USBD_CUSTOM_HID_SendReport ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]- >> UsbSendPackageReport
+
+
+USBD_ClrClassConfig (Thumb, 22 bytes, Stack size 16 bytes, usbd_core.o(i.USBD_ClrClassConfig))
+
[Stack]
- Max Depth = 16
- Call Chain = USBD_ClrClassConfig
+
+
[Called By]
+
+USBD_CtlContinueRx (Thumb, 24 bytes, Stack size 16 bytes, usbd_ioreq.o(i.USBD_CtlContinueRx))
+
[Stack]
- Max Depth = 132
- Call Chain = USBD_CtlContinueRx ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_PrepareReceive
+
+
[Called By]- >> USBD_LL_DataOutStage
+
+
+USBD_CtlContinueSendData (Thumb, 24 bytes, Stack size 16 bytes, usbd_ioreq.o(i.USBD_CtlContinueSendData))
+
[Stack]
- Max Depth = 132
- Call Chain = USBD_CtlContinueSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]
+
+USBD_CtlError (Thumb, 24 bytes, Stack size 16 bytes, usbd_ctlreq.o(i.USBD_CtlError))
+
[Stack]
- Max Depth = 64
- Call Chain = USBD_CtlError ⇒ USBD_LL_StallEP ⇒ HAL_PCD_EP_SetStall ⇒ USB_EPSetStall
+
+
[Calls]
+
[Called By]- >> USBD_CUSTOM_HID_Setup
+
- >> USBD_SetConfig
+
- >> USBD_SetAddress
+
- >> USBD_GetStatus
+
- >> USBD_GetDescriptor
+
- >> USBD_GetConfig
+
- >> USBD_ClrFeature
+
- >> USBD_StdItfReq
+
- >> USBD_StdEPReq
+
- >> USBD_StdDevReq
+
+
+USBD_CtlPrepareRx (Thumb, 40 bytes, Stack size 16 bytes, usbd_ioreq.o(i.USBD_CtlPrepareRx))
+
[Stack]
- Max Depth = 132
- Call Chain = USBD_CtlPrepareRx ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_PrepareReceive
+
+
[Called By]- >> USBD_CUSTOM_HID_Setup
+
+
+USBD_CtlReceiveStatus (Thumb, 26 bytes, Stack size 8 bytes, usbd_ioreq.o(i.USBD_CtlReceiveStatus))
+
[Stack]
- Max Depth = 124
- Call Chain = USBD_CtlReceiveStatus ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_PrepareReceive
+
+
[Called By]
+
+USBD_CtlSendData (Thumb, 34 bytes, Stack size 16 bytes, usbd_ioreq.o(i.USBD_CtlSendData))
+
[Stack]
- Max Depth = 132
- Call Chain = USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]- >> USBD_CUSTOM_HID_Setup
+
- >> USBD_GetStatus
+
- >> USBD_GetDescriptor
+
- >> USBD_GetConfig
+
- >> USBD_StdEPReq
+
+
+USBD_CtlSendStatus (Thumb, 26 bytes, Stack size 8 bytes, usbd_ioreq.o(i.USBD_CtlSendStatus))
+
[Stack]
- Max Depth = 124
- Call Chain = USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]- >> USBD_LL_DataOutStage
+
- >> USBD_SetFeature
+
- >> USBD_SetConfig
+
- >> USBD_SetAddress
+
- >> USBD_GetDescriptor
+
- >> USBD_ClrFeature
+
- >> USBD_StdItfReq
+
- >> USBD_StdEPReq
+
+
+USBD_FS_ConfigStrDescriptor (Thumb, 34 bytes, Stack size 16 bytes, usbd_desc.o(i.USBD_FS_ConfigStrDescriptor))
+
[Stack]
- Max Depth = 40
- Call Chain = USBD_FS_ConfigStrDescriptor ⇒ USBD_GetString
+
+
[Calls]
+
[Address Reference Count : 1]
+USBD_FS_DeviceDescriptor (Thumb, 10 bytes, Stack size 0 bytes, usbd_desc.o(i.USBD_FS_DeviceDescriptor))
+
[Address Reference Count : 1]
+USBD_FS_InterfaceStrDescriptor (Thumb, 34 bytes, Stack size 16 bytes, usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor))
+
[Stack]
- Max Depth = 40
- Call Chain = USBD_FS_InterfaceStrDescriptor ⇒ USBD_GetString
+
+
[Calls]
+
[Address Reference Count : 1]
+USBD_FS_LangIDStrDescriptor (Thumb, 10 bytes, Stack size 0 bytes, usbd_desc.o(i.USBD_FS_LangIDStrDescriptor))
+
[Address Reference Count : 1]
+USBD_FS_ManufacturerStrDescriptor (Thumb, 20 bytes, Stack size 16 bytes, usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor))
+
[Stack]
- Max Depth = 40
- Call Chain = USBD_FS_ManufacturerStrDescriptor ⇒ USBD_GetString
+
+
[Calls]
+
[Address Reference Count : 1]
+USBD_FS_ProductStrDescriptor (Thumb, 34 bytes, Stack size 16 bytes, usbd_desc.o(i.USBD_FS_ProductStrDescriptor))
+
[Stack]
- Max Depth = 40
- Call Chain = USBD_FS_ProductStrDescriptor ⇒ USBD_GetString
+
+
[Calls]
+
[Address Reference Count : 1]
+USBD_FS_SerialStrDescriptor (Thumb, 18 bytes, Stack size 16 bytes, usbd_desc.o(i.USBD_FS_SerialStrDescriptor))
+
[Stack]
- Max Depth = 44
- Call Chain = USBD_FS_SerialStrDescriptor ⇒ Get_SerialNum ⇒ IntToUnicode
+
+
[Calls]
+
[Address Reference Count : 1]
+USBD_GetString (Thumb, 82 bytes, Stack size 24 bytes, usbd_ctlreq.o(i.USBD_GetString))
+
[Stack]
- Max Depth = 24
- Call Chain = USBD_GetString
+
+
[Calls]
+
[Called By]- >> USBD_FS_ProductStrDescriptor
+
- >> USBD_FS_ManufacturerStrDescriptor
+
- >> USBD_FS_InterfaceStrDescriptor
+
- >> USBD_FS_ConfigStrDescriptor
+
+
+USBD_Init (Thumb, 50 bytes, Stack size 16 bytes, usbd_core.o(i.USBD_Init))
+
[Stack]
- Max Depth = 120
- Call Chain = USBD_Init ⇒ USBD_LL_Init ⇒ HAL_PCD_Init ⇒ HAL_PCD_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]
+
[Called By]
+
+USBD_LL_ClearStallEP (Thumb, 38 bytes, Stack size 24 bytes, usbd_conf.o(i.USBD_LL_ClearStallEP))
+
[Stack]
- Max Depth = 52
- Call Chain = USBD_LL_ClearStallEP ⇒ HAL_PCD_EP_ClrStall ⇒ USB_EPClearStall
+
+
[Calls]- >> USBD_Get_USB_Status
+
- >> HAL_PCD_EP_ClrStall
+
+
[Called By]
+
+USBD_LL_CloseEP (Thumb, 38 bytes, Stack size 24 bytes, usbd_conf.o(i.USBD_LL_CloseEP))
+
[Stack]
- Max Depth = 52
- Call Chain = USBD_LL_CloseEP ⇒ HAL_PCD_EP_Close ⇒ USB_DeactivateEndpoint
+
+
[Calls]- >> USBD_Get_USB_Status
+
- >> HAL_PCD_EP_Close
+
+
[Called By]- >> USBD_CUSTOM_HID_DeInit
+
+
+USBD_LL_DataInStage (Thumb, 256 bytes, Stack size 24 bytes, usbd_core.o(i.USBD_LL_DataInStage))
+
[Stack]
- Max Depth = 156
- Call Chain = USBD_LL_DataInStage ⇒ USBD_CtlContinueSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_StallEP
+
- >> USBD_LL_PrepareReceive
+
- >> USBD_CtlReceiveStatus
+
- >> USBD_CtlContinueSendData
+
- >> USBD_RunTestMode
+
+
[Called By]- >> HAL_PCD_DataInStageCallback
+
+
+USBD_LL_DataOutStage (Thumb, 166 bytes, Stack size 24 bytes, usbd_core.o(i.USBD_LL_DataOutStage))
+
[Stack]
- Max Depth = 156
- Call Chain = USBD_LL_DataOutStage ⇒ USBD_CtlContinueRx ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_StallEP
+
- >> USBD_CtlSendStatus
+
- >> USBD_CtlContinueRx
+
+
[Called By]- >> HAL_PCD_DataOutStageCallback
+
+
+USBD_LL_Init (Thumb, 108 bytes, Stack size 8 bytes, usbd_conf.o(i.USBD_LL_Init))
+
[Stack]
- Max Depth = 104
- Call Chain = USBD_LL_Init ⇒ HAL_PCD_Init ⇒ HAL_PCD_MspInit ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> Error_Handler
+
- >> HAL_PCD_Init
+
- >> HAL_PCDEx_PMAConfig
+
+
[Called By]
+
+USBD_LL_IsStallEP (Thumb, 56 bytes, Stack size 8 bytes, usbd_conf.o(i.USBD_LL_IsStallEP))
+
[Stack]
- Max Depth = 8
- Call Chain = USBD_LL_IsStallEP
+
+
[Called By]
+
+USBD_LL_OpenEP (Thumb, 48 bytes, Stack size 32 bytes, usbd_conf.o(i.USBD_LL_OpenEP))
+
[Stack]
- Max Depth = 84
- Call Chain = USBD_LL_OpenEP ⇒ HAL_PCD_EP_Open ⇒ USB_ActivateEndpoint
+
+
[Calls]- >> USBD_Get_USB_Status
+
- >> HAL_PCD_EP_Open
+
+
[Called By]- >> USBD_LL_Reset
+
- >> USBD_CUSTOM_HID_Init
+
+
+USBD_LL_PrepareReceive (Thumb, 48 bytes, Stack size 32 bytes, usbd_conf.o(i.USBD_LL_PrepareReceive))
+
[Stack]
- Max Depth = 116
- Call Chain = USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_Get_USB_Status
+
- >> HAL_PCD_EP_Receive
+
+
[Called By]- >> USBD_LL_DataInStage
+
- >> USBD_CUSTOM_HID_Init
+
- >> USBD_CUSTOM_HID_DataOut
+
- >> USBD_CtlPrepareRx
+
- >> USBD_CtlReceiveStatus
+
- >> USBD_CtlContinueRx
+
+
+USBD_LL_Reset (Thumb, 92 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_LL_Reset))
+
[Stack]
- Max Depth = 92
- Call Chain = USBD_LL_Reset ⇒ USBD_LL_OpenEP ⇒ HAL_PCD_EP_Open ⇒ USB_ActivateEndpoint
+
+
[Calls]
+
[Called By]- >> HAL_PCD_ResetCallback
+
+
+USBD_LL_Resume (Thumb, 22 bytes, Stack size 0 bytes, usbd_core.o(i.USBD_LL_Resume))
+
[Called By]
- >> HAL_PCD_ResumeCallback
+
+
+USBD_LL_SOF (Thumb, 34 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_LL_SOF))
+
[Stack]
- Max Depth = 8
- Call Chain = USBD_LL_SOF
+
+
[Called By]
+
+USBD_LL_SetSpeed (Thumb, 8 bytes, Stack size 0 bytes, usbd_core.o(i.USBD_LL_SetSpeed))
+
[Called By]
- >> HAL_PCD_ResetCallback
+
+
+USBD_LL_SetUSBAddress (Thumb, 38 bytes, Stack size 24 bytes, usbd_conf.o(i.USBD_LL_SetUSBAddress))
+
[Stack]
- Max Depth = 40
- Call Chain = USBD_LL_SetUSBAddress ⇒ HAL_PCD_SetAddress
+
+
[Calls]- >> USBD_Get_USB_Status
+
- >> HAL_PCD_SetAddress
+
+
[Called By]
+
+USBD_LL_SetupStage (Thumb, 110 bytes, Stack size 16 bytes, usbd_core.o(i.USBD_LL_SetupStage))
+
[Stack]
- Max Depth = 188
- Call Chain = USBD_LL_SetupStage ⇒ USBD_StdDevReq ⇒ USBD_GetDescriptor ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_StallEP
+
- >> USBD_StdItfReq
+
- >> USBD_StdEPReq
+
- >> USBD_StdDevReq
+
- >> USBD_ParseSetupRequest
+
+
[Called By]- >> HAL_PCD_SetupStageCallback
+
+
+USBD_LL_StallEP (Thumb, 38 bytes, Stack size 24 bytes, usbd_conf.o(i.USBD_LL_StallEP))
+
[Stack]
- Max Depth = 48
- Call Chain = USBD_LL_StallEP ⇒ HAL_PCD_EP_SetStall ⇒ USB_EPSetStall
+
+
[Calls]- >> USBD_Get_USB_Status
+
- >> HAL_PCD_EP_SetStall
+
+
[Called By]- >> USBD_LL_SetupStage
+
- >> USBD_LL_DataOutStage
+
- >> USBD_LL_DataInStage
+
- >> USBD_CtlError
+
- >> USBD_StdEPReq
+
+
+USBD_LL_Start (Thumb, 30 bytes, Stack size 16 bytes, usbd_conf.o(i.USBD_LL_Start))
+
[Stack]
- Max Depth = 24
- Call Chain = USBD_LL_Start ⇒ HAL_PCD_Start
+
+
[Calls]- >> USBD_Get_USB_Status
+
- >> HAL_PCD_Start
+
+
[Called By]
+
+USBD_LL_Suspend (Thumb, 20 bytes, Stack size 0 bytes, usbd_core.o(i.USBD_LL_Suspend))
+
[Called By]
- >> HAL_PCD_SuspendCallback
+
+
+USBD_LL_Transmit (Thumb, 48 bytes, Stack size 32 bytes, usbd_conf.o(i.USBD_LL_Transmit))
+
[Stack]
- Max Depth = 116
- Call Chain = USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_Get_USB_Status
+
- >> HAL_PCD_EP_Transmit
+
+
[Called By]- >> USBD_CUSTOM_HID_SendReport
+
- >> USBD_CtlSendData
+
- >> USBD_CtlSendStatus
+
- >> USBD_CtlContinueSendData
+
+
+USBD_ParseSetupRequest (Thumb, 40 bytes, Stack size 0 bytes, usbd_ctlreq.o(i.USBD_ParseSetupRequest))
+
[Called By]
+
+USBD_RegisterClass (Thumb, 16 bytes, Stack size 0 bytes, usbd_core.o(i.USBD_RegisterClass))
+
[Called By]
+
+USBD_RunTestMode (Thumb, 6 bytes, Stack size 0 bytes, usbd_core.o(i.USBD_RunTestMode))
+
[Called By]
+
+USBD_SetClassConfig (Thumb, 34 bytes, Stack size 16 bytes, usbd_core.o(i.USBD_SetClassConfig))
+
[Stack]
- Max Depth = 16
- Call Chain = USBD_SetClassConfig
+
+
[Called By]
+
+USBD_Start (Thumb, 14 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_Start))
+
[Stack]
- Max Depth = 32
- Call Chain = USBD_Start ⇒ USBD_LL_Start ⇒ HAL_PCD_Start
+
+
[Calls]
+
[Called By]
+
+USBD_StdDevReq (Thumb, 162 bytes, Stack size 16 bytes, usbd_ctlreq.o(i.USBD_StdDevReq))
+
[Stack]
- Max Depth = 172
- Call Chain = USBD_StdDevReq ⇒ USBD_GetDescriptor ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_CtlError
+
- >> USBD_SetFeature
+
- >> USBD_SetConfig
+
- >> USBD_SetAddress
+
- >> USBD_GetStatus
+
- >> USBD_GetDescriptor
+
- >> USBD_GetConfig
+
- >> USBD_ClrFeature
+
+
[Called By]
+
+USBD_StdEPReq (Thumb, 568 bytes, Stack size 24 bytes, usbd_ctlreq.o(i.USBD_StdEPReq))
+
[Stack]
- Max Depth = 156
- Call Chain = USBD_StdEPReq ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_StallEP
+
- >> USBD_LL_IsStallEP
+
- >> USBD_LL_ClearStallEP
+
- >> USBD_CtlSendData
+
- >> USBD_CtlError
+
- >> USBD_CtlSendStatus
+
+
[Called By]
+
+USBD_StdItfReq (Thumb, 126 bytes, Stack size 16 bytes, usbd_ctlreq.o(i.USBD_StdItfReq))
+
[Stack]
- Max Depth = 140
- Call Chain = USBD_StdItfReq ⇒ USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_CtlError
+
- >> USBD_CtlSendStatus
+
+
[Called By]
+
+USBD_static_free (Thumb, 2 bytes, Stack size 0 bytes, usbd_conf.o(i.USBD_static_free))
+
[Called By]
- >> USBD_CUSTOM_HID_DeInit
+
+
+USBD_static_malloc (Thumb, 6 bytes, Stack size 0 bytes, usbd_conf.o(i.USBD_static_malloc))
+
[Called By]
- >> USBD_CUSTOM_HID_Init
+
+
+USB_ActivateEndpoint (Thumb, 1200 bytes, Stack size 20 bytes, stm32f1xx_ll_usb.o(i.USB_ActivateEndpoint))
+
[Stack]
- Max Depth = 20
- Call Chain = USB_ActivateEndpoint
+
+
[Called By]
+
+USB_CoreInit (Thumb, 8 bytes, Stack size 8 bytes, stm32f1xx_ll_usb.o(i.USB_CoreInit))
+
[Stack]
- Max Depth = 8
- Call Chain = USB_CoreInit
+
+
[Called By]
+
+USB_DeactivateEndpoint (Thumb, 636 bytes, Stack size 12 bytes, stm32f1xx_ll_usb.o(i.USB_DeactivateEndpoint))
+
[Stack]
- Max Depth = 12
- Call Chain = USB_DeactivateEndpoint
+
+
[Called By]
+
+USB_DevConnect (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_ll_usb.o(i.USB_DevConnect))
+
[Called By]
+
+USB_DevDisconnect (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_ll_usb.o(i.USB_DevDisconnect))
+
[Called By]
+
+USB_DevInit (Thumb, 22 bytes, Stack size 8 bytes, stm32f1xx_ll_usb.o(i.USB_DevInit))
+
[Stack]
- Max Depth = 8
- Call Chain = USB_DevInit
+
+
[Called By]
+
+USB_DisableGlobalInt (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_ll_usb.o(i.USB_DisableGlobalInt))
+
[Called By]
+
+USB_EP0_OutStart (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_ll_usb.o(i.USB_EP0_OutStart))
+
[Called By]
+
+USB_EPClearStall (Thumb, 218 bytes, Stack size 12 bytes, stm32f1xx_ll_usb.o(i.USB_EPClearStall))
+
[Stack]
- Max Depth = 12
- Call Chain = USB_EPClearStall
+
+
[Called By]
+
+USB_EPSetStall (Thumb, 92 bytes, Stack size 8 bytes, stm32f1xx_ll_usb.o(i.USB_EPSetStall))
+
[Stack]
- Max Depth = 8
- Call Chain = USB_EPSetStall
+
+
[Called By]
+
+USB_EPStartXfer (Thumb, 2640 bytes, Stack size 32 bytes, stm32f1xx_ll_usb.o(i.USB_EPStartXfer))
+
[Stack]
- Max Depth = 60
- Call Chain = USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]- >> PCD_EP_ISR_Handler
+
- >> HAL_PCD_EP_Transmit
+
- >> HAL_PCD_EP_Receive
+
+
+USB_EnableGlobalInt (Thumb, 18 bytes, Stack size 0 bytes, stm32f1xx_ll_usb.o(i.USB_EnableGlobalInt))
+
[Called By]
+
+USB_LP_CAN1_RX0_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32f1xx_it.o(i.USB_LP_CAN1_RX0_IRQHandler))
+
[Stack]
- Max Depth = 284
- Call Chain = USB_LP_CAN1_RX0_IRQHandler ⇒ HAL_PCD_IRQHandler ⇒ PCD_EP_ISR_Handler ⇒ HAL_PCD_EP_DB_Transmit ⇒ HAL_PCD_DataInStageCallback ⇒ USBD_LL_DataInStage ⇒ USBD_CtlContinueSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Address Reference Count : 1]- startup_stm32f103xb.o(RESET)
+
+USB_ReadInterrupts (Thumb, 8 bytes, Stack size 0 bytes, stm32f1xx_ll_usb.o(i.USB_ReadInterrupts))
+
[Called By]
+
+USB_ReadPMA (Thumb, 74 bytes, Stack size 28 bytes, stm32f1xx_ll_usb.o(i.USB_ReadPMA))
+
[Stack]
- Max Depth = 28
- Call Chain = USB_ReadPMA
+
+
[Called By]- >> PCD_EP_ISR_Handler
+
- >> HAL_PCD_EP_DB_Receive
+
+
+USB_SetCurrentMode (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_ll_usb.o(i.USB_SetCurrentMode))
+
[Called By]
+
+USB_SetDevAddress (Thumb, 14 bytes, Stack size 0 bytes, stm32f1xx_ll_usb.o(i.USB_SetDevAddress))
+
[Called By]
+
+USB_WritePMA (Thumb, 64 bytes, Stack size 28 bytes, stm32f1xx_ll_usb.o(i.USB_WritePMA))
+
[Stack]
- Max Depth = 28
- Call Chain = USB_WritePMA
+
+
[Called By]- >> USB_EPStartXfer
+
- >> HAL_PCD_EP_DB_Transmit
+
+
+UsageFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.UsageFault_Handler))
+
[Address Reference Count : 1]
- startup_stm32f103xb.o(RESET)
+
+UsbSendPackageReport (Thumb, 34 bytes, Stack size 16 bytes, main.o(i.UsbSendPackageReport))
+
[Stack]
- Max Depth = 156
- Call Chain = UsbSendPackageReport ⇒ USBD_CUSTOM_HID_SendReport ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_CUSTOM_HID_SendReport
+
- >> __aeabi_memclr
+
+
[Called By]
+
+__0printf (Thumb, 22 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)
+
[Calls]
+
+__1printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)
+
+
__2printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf))
+
[Stack]
- Max Depth = 24
- Call Chain = __2printf
+
+
[Called By]
+
+__c89printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)
+
+
printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)
+
+
__scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)
+
+
__scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)
+
+
__scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)
+
+
fputc (Thumb, 22 bytes, Stack size 16 bytes, usart.o(i.fputc))
+
[Stack]
- Max Depth = 80
- Call Chain = fputc ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout
+
+
[Calls]
+
[Address Reference Count : 1]
+main (Thumb, 296 bytes, Stack size 40 bytes, main.o(i.main))
+
[Stack]
- Max Depth = 200
- Call Chain = main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_NVIC_SetPriority ⇒ __NVIC_SetPriority
+
+
[Calls]- >> __aeabi_i2f
+
- >> __aeabi_f2d
+
- >> MX_USB_DEVICE_Init
+
- >> MX_USART3_UART_Init
+
- >> HC_I2C_Write
+
- >> HC_I2C_Read
+
- >> HC_I2C_Init
+
- >> HAL_Init
+
- >> HAL_GPIO_ReadPin
+
- >> HAL_Delay
+
- >> UsbSendPackageReport
+
- >> SystemClock_Config
+
- >> MX_GPIO_Init
+
- >> __2printf
+
+
[Address Reference Count : 1]- entry9a.o(.ARM.Collect$$$$0000000B)
+
+
+Local Symbols
+
+MX_GPIO_Init (Thumb, 152 bytes, Stack size 24 bytes, main.o(i.MX_GPIO_Init))
+
[Stack]
- Max Depth = 60
- Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init
+
+
[Calls]- >> HAL_GPIO_WritePin
+
- >> HAL_GPIO_Init
+
+
[Called By]
+
+HC_I2C_NoAck (Thumb, 48 bytes, Stack size 8 bytes, i2c.o(i.HC_I2C_NoAck))
+
[Stack]
- Max Depth = 16
- Call Chain = HC_I2C_NoAck ⇒ I2C_delay
+
+
[Calls]
+
[Called By]
+
+HC_I2C_ReadByte (Thumb, 78 bytes, Stack size 16 bytes, i2c.o(i.HC_I2C_ReadByte))
+
[Stack]
- Max Depth = 24
- Call Chain = HC_I2C_ReadByte ⇒ I2C_delay
+
+
[Calls]
+
[Called By]
+
+HC_I2C_SendByte (Thumb, 78 bytes, Stack size 16 bytes, i2c.o(i.HC_I2C_SendByte))
+
[Stack]
- Max Depth = 24
- Call Chain = HC_I2C_SendByte ⇒ I2C_delay
+
+
[Calls]
+
[Called By]- >> HC_I2C_Write
+
- >> HC_I2C_Read
+
+
+HC_I2C_Start (Thumb, 84 bytes, Stack size 8 bytes, i2c.o(i.HC_I2C_Start))
+
[Stack]
- Max Depth = 16
- Call Chain = HC_I2C_Start ⇒ I2C_delay
+
+
[Calls]
+
[Called By]- >> HC_I2C_Write
+
- >> HC_I2C_Read
+
+
+HC_I2C_Stop (Thumb, 48 bytes, Stack size 8 bytes, i2c.o(i.HC_I2C_Stop))
+
[Stack]
- Max Depth = 16
- Call Chain = HC_I2C_Stop ⇒ I2C_delay
+
+
[Calls]
+
[Called By]- >> HC_I2C_Write
+
- >> HC_I2C_Read
+
+
+HC_I2C_WaitAck (Thumb, 68 bytes, Stack size 8 bytes, i2c.o(i.HC_I2C_WaitAck))
+
[Stack]
- Max Depth = 16
- Call Chain = HC_I2C_WaitAck ⇒ I2C_delay
+
+
[Calls]
+
[Called By]- >> HC_I2C_Write
+
- >> HC_I2C_Read
+
+
+I2C_delay (Thumb, 22 bytes, Stack size 8 bytes, i2c.o(i.I2C_delay))
+
[Stack]
- Max Depth = 8
- Call Chain = I2C_delay
+
+
[Called By]- >> HC_I2C_WaitAck
+
- >> HC_I2C_Stop
+
- >> HC_I2C_Start
+
- >> HC_I2C_SendByte
+
- >> HC_I2C_ReadByte
+
- >> HC_I2C_NoAck
+
+
+Get_SerialNum (Thumb, 42 bytes, Stack size 16 bytes, usbd_desc.o(i.Get_SerialNum))
+
[Stack]
- Max Depth = 28
- Call Chain = Get_SerialNum ⇒ IntToUnicode
+
+
[Calls]
+
[Called By]- >> USBD_FS_SerialStrDescriptor
+
+
+IntToUnicode (Thumb, 62 bytes, Stack size 12 bytes, usbd_desc.o(i.IntToUnicode))
+
[Stack]
- Max Depth = 12
- Call Chain = IntToUnicode
+
+
[Called By]
+
+CUSTOM_HID_DeInit_FS (Thumb, 4 bytes, Stack size 0 bytes, usbd_custom_hid_if.o(i.CUSTOM_HID_DeInit_FS))
+
[Address Reference Count : 1]
- usbd_custom_hid_if.o(.data)
+
+CUSTOM_HID_Init_FS (Thumb, 4 bytes, Stack size 0 bytes, usbd_custom_hid_if.o(i.CUSTOM_HID_Init_FS))
+
[Address Reference Count : 1]
- usbd_custom_hid_if.o(.data)
+
+CUSTOM_HID_OutEvent_FS (Thumb, 6 bytes, Stack size 0 bytes, usbd_custom_hid_if.o(i.CUSTOM_HID_OutEvent_FS))
+
[Address Reference Count : 1]
- usbd_custom_hid_if.o(.data)
+
+USBD_Get_USB_Status (Thumb, 44 bytes, Stack size 0 bytes, usbd_conf.o(i.USBD_Get_USB_Status))
+
[Called By]
- >> USBD_LL_Transmit
+
- >> USBD_LL_Start
+
- >> USBD_LL_StallEP
+
- >> USBD_LL_SetUSBAddress
+
- >> USBD_LL_PrepareReceive
+
- >> USBD_LL_OpenEP
+
- >> USBD_LL_CloseEP
+
- >> USBD_LL_ClearStallEP
+
+
+HAL_PCD_EP_DB_Receive (Thumb, 344 bytes, Stack size 24 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Receive))
+
[Stack]
- Max Depth = 52
- Call Chain = HAL_PCD_EP_DB_Receive ⇒ USB_ReadPMA
+
+
[Calls]
+
[Called By]
+
+HAL_PCD_EP_DB_Transmit (Thumb, 1342 bytes, Stack size 32 bytes, stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Transmit))
+
[Stack]
- Max Depth = 204
- Call Chain = HAL_PCD_EP_DB_Transmit ⇒ HAL_PCD_DataInStageCallback ⇒ USBD_LL_DataInStage ⇒ USBD_CtlContinueSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USB_WritePMA
+
- >> HAL_PCD_DataInStageCallback
+
+
[Called By]
+
+PCD_EP_ISR_Handler (Thumb, 1266 bytes, Stack size 40 bytes, stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler))
+
[Stack]
- Max Depth = 244
- Call Chain = PCD_EP_ISR_Handler ⇒ HAL_PCD_EP_DB_Transmit ⇒ HAL_PCD_DataInStageCallback ⇒ USBD_LL_DataInStage ⇒ USBD_CtlContinueSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USB_ReadPMA
+
- >> USB_EPStartXfer
+
- >> HAL_PCD_EP_DB_Transmit
+
- >> HAL_PCD_EP_DB_Receive
+
- >> HAL_PCD_SetupStageCallback
+
- >> HAL_PCD_DataOutStageCallback
+
- >> HAL_PCD_DataInStageCallback
+
+
[Called By]
+
+RCC_Delay (Thumb, 36 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(i.RCC_Delay))
+
[Stack]
- Max Depth = 8
- Call Chain = RCC_Delay
+
+
[Called By]
+
+__NVIC_GetPriorityGrouping (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_GetPriorityGrouping))
+
[Called By]
- >> HAL_NVIC_SetPriority
+
+
+__NVIC_SetPriority (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority))
+
[Stack]
- Max Depth = 8
- Call Chain = __NVIC_SetPriority
+
+
[Called By]- >> HAL_SYSTICK_Config
+
- >> HAL_NVIC_SetPriority
+
+
+UART_SetConfig (Thumb, 248 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.UART_SetConfig))
+
[Stack]
- Max Depth = 20
- Call Chain = UART_SetConfig ⇒ HAL_RCC_GetPCLK2Freq
+
+
[Calls]- >> HAL_RCC_GetPCLK2Freq
+
- >> HAL_RCC_GetPCLK1Freq
+
+
[Called By]
+
+UART_WaitOnFlagUntilTimeout (Thumb, 146 bytes, Stack size 24 bytes, stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout))
+
[Stack]
- Max Depth = 24
- Call Chain = UART_WaitOnFlagUntilTimeout
+
+
[Calls]
+
[Called By]
+
+USBD_ClrFeature (Thumb, 62 bytes, Stack size 16 bytes, usbd_ctlreq.o(i.USBD_ClrFeature))
+
[Stack]
- Max Depth = 140
- Call Chain = USBD_ClrFeature ⇒ USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_CtlError
+
- >> USBD_CtlSendStatus
+
+
[Called By]
+
+USBD_GetConfig (Thumb, 86 bytes, Stack size 16 bytes, usbd_ctlreq.o(i.USBD_GetConfig))
+
[Stack]
- Max Depth = 148
- Call Chain = USBD_GetConfig ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_CtlSendData
+
- >> USBD_CtlError
+
+
[Called By]
+
+USBD_GetDescriptor (Thumb, 500 bytes, Stack size 24 bytes, usbd_ctlreq.o(i.USBD_GetDescriptor))
+
[Stack]
- Max Depth = 156
- Call Chain = USBD_GetDescriptor ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_CtlSendData
+
- >> USBD_CtlError
+
- >> USBD_CtlSendStatus
+
+
[Called By]
+
+USBD_GetLen (Thumb, 20 bytes, Stack size 0 bytes, usbd_ctlreq.o(i.USBD_GetLen))
+
[Called By]
+
+USBD_GetStatus (Thumb, 90 bytes, Stack size 16 bytes, usbd_ctlreq.o(i.USBD_GetStatus))
+
[Stack]
- Max Depth = 148
- Call Chain = USBD_GetStatus ⇒ USBD_CtlSendData ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_CtlSendData
+
- >> USBD_CtlError
+
+
[Called By]
+
+USBD_SetAddress (Thumb, 90 bytes, Stack size 16 bytes, usbd_ctlreq.o(i.USBD_SetAddress))
+
[Stack]
- Max Depth = 140
- Call Chain = USBD_SetAddress ⇒ USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_SetUSBAddress
+
- >> USBD_CtlError
+
- >> USBD_CtlSendStatus
+
+
[Called By]
+
+USBD_SetConfig (Thumb, 228 bytes, Stack size 16 bytes, usbd_ctlreq.o(i.USBD_SetConfig))
+
[Stack]
- Max Depth = 140
- Call Chain = USBD_SetConfig ⇒ USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_CtlError
+
- >> USBD_CtlSendStatus
+
- >> USBD_SetClassConfig
+
- >> USBD_ClrClassConfig
+
+
[Called By]
+
+USBD_SetFeature (Thumb, 24 bytes, Stack size 16 bytes, usbd_ctlreq.o(i.USBD_SetFeature))
+
[Stack]
- Max Depth = 140
- Call Chain = USBD_SetFeature ⇒ USBD_CtlSendStatus ⇒ USBD_LL_Transmit ⇒ HAL_PCD_EP_Transmit ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]
+
[Called By]
+
+USBD_CUSTOM_HID_DataIn (Thumb, 14 bytes, Stack size 0 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_DataIn))
+
[Address Reference Count : 1]
- usbd_customhid.o(.data)
+
+USBD_CUSTOM_HID_DataOut (Thumb, 38 bytes, Stack size 16 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_DataOut))
+
[Stack]
- Max Depth = 132
- Call Chain = USBD_CUSTOM_HID_DataOut ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_LL_PrepareReceive
+
+
[Address Reference Count : 1]- usbd_customhid.o(.data)
+
+USBD_CUSTOM_HID_DeInit (Thumb, 64 bytes, Stack size 16 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_DeInit))
+
[Stack]
- Max Depth = 68
- Call Chain = USBD_CUSTOM_HID_DeInit ⇒ USBD_LL_CloseEP ⇒ HAL_PCD_EP_Close ⇒ USB_DeactivateEndpoint
+
+
[Calls]- >> USBD_static_free
+
- >> USBD_LL_CloseEP
+
+
[Address Reference Count : 1]- usbd_customhid.o(.data)
+
+USBD_CUSTOM_HID_EP0_RxReady (Thumb, 34 bytes, Stack size 16 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_EP0_RxReady))
+
[Stack]
- Max Depth = 16
- Call Chain = USBD_CUSTOM_HID_EP0_RxReady
+
+
[Address Reference Count : 1]- usbd_customhid.o(.data)
+
+USBD_CUSTOM_HID_GetDeviceQualifierDesc (Thumb, 10 bytes, Stack size 0 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_GetDeviceQualifierDesc))
+
[Address Reference Count : 1]
- usbd_customhid.o(.data)
+
+USBD_CUSTOM_HID_GetFSCfgDesc (Thumb, 10 bytes, Stack size 0 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_GetFSCfgDesc))
+
[Address Reference Count : 1]
- usbd_customhid.o(.data)
+
+USBD_CUSTOM_HID_GetHSCfgDesc (Thumb, 10 bytes, Stack size 0 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_GetHSCfgDesc))
+
[Address Reference Count : 1]
- usbd_customhid.o(.data)
+
+USBD_CUSTOM_HID_GetOtherSpeedCfgDesc (Thumb, 10 bytes, Stack size 0 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_GetOtherSpeedCfgDesc))
+
[Address Reference Count : 1]
- usbd_customhid.o(.data)
+
+USBD_CUSTOM_HID_Init (Thumb, 98 bytes, Stack size 24 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_Init))
+
[Stack]
- Max Depth = 140
- Call Chain = USBD_CUSTOM_HID_Init ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_static_malloc
+
- >> USBD_LL_PrepareReceive
+
- >> USBD_LL_OpenEP
+
+
[Address Reference Count : 1]- usbd_customhid.o(.data)
+
+USBD_CUSTOM_HID_Setup (Thumb, 366 bytes, Stack size 32 bytes, usbd_customhid.o(i.USBD_CUSTOM_HID_Setup))
+
[Stack]
- Max Depth = 164
- Call Chain = USBD_CUSTOM_HID_Setup ⇒ USBD_CtlPrepareRx ⇒ USBD_LL_PrepareReceive ⇒ HAL_PCD_EP_Receive ⇒ USB_EPStartXfer ⇒ USB_WritePMA
+
+
[Calls]- >> USBD_CtlPrepareRx
+
- >> USBD_CtlSendData
+
- >> USBD_CtlError
+
+
[Address Reference Count : 1]- usbd_customhid.o(.data)
+
+_fp_digits (Thumb, 366 bytes, Stack size 64 bytes, printfa.o(i._fp_digits), UNUSED)
+
[Calls]
- >> __aeabi_uldivmod
+
- >> __aeabi_dmul
+
- >> __aeabi_ddiv
+
- >> __aeabi_dadd
+
- >> __aeabi_d2ulz
+
- >> __aeabi_cdrcmple
+
+
[Called By]
+
+_printf_core (Thumb, 1744 bytes, Stack size 136 bytes, printfa.o(i._printf_core), UNUSED)
+
[Calls]
- >> __aeabi_uldivmod
+
- >> __aeabi_uidivmod
+
- >> _printf_pre_padding
+
- >> _printf_post_padding
+
- >> _fp_digits
+
+
[Called By]
+
+_printf_post_padding (Thumb, 36 bytes, Stack size 24 bytes, printfa.o(i._printf_post_padding), UNUSED)
+
[Called By]
+
+_printf_pre_padding (Thumb, 46 bytes, Stack size 24 bytes, printfa.o(i._printf_pre_padding), UNUSED)
+
[Called By]
+
+
+Undefined Global Symbols
+
diff --git a/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor.lnp b/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor.lnp
new file mode 100644
index 0000000..0adb422
--- /dev/null
+++ b/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor.lnp
@@ -0,0 +1,37 @@
+--cpu Cortex-M3
+"robotsensor\startup_stm32f103xb.o"
+"robotsensor\main.o"
+"robotsensor\stm32f1xx_it.o"
+"robotsensor\stm32f1xx_hal_msp.o"
+"robotsensor\usart.o"
+"robotsensor\i2c.o"
+"robotsensor\usb_device.o"
+"robotsensor\usbd_desc.o"
+"robotsensor\usbd_custom_hid_if.o"
+"robotsensor\usbd_conf.o"
+"robotsensor\stm32f1xx_hal_gpio_ex.o"
+"robotsensor\stm32f1xx_hal_pcd.o"
+"robotsensor\stm32f1xx_hal_pcd_ex.o"
+"robotsensor\stm32f1xx_ll_usb.o"
+"robotsensor\stm32f1xx_hal.o"
+"robotsensor\stm32f1xx_hal_rcc.o"
+"robotsensor\stm32f1xx_hal_rcc_ex.o"
+"robotsensor\stm32f1xx_hal_gpio.o"
+"robotsensor\stm32f1xx_hal_dma.o"
+"robotsensor\stm32f1xx_hal_cortex.o"
+"robotsensor\stm32f1xx_hal_pwr.o"
+"robotsensor\stm32f1xx_hal_flash.o"
+"robotsensor\stm32f1xx_hal_flash_ex.o"
+"robotsensor\stm32f1xx_hal_exti.o"
+"robotsensor\stm32f1xx_hal_tim.o"
+"robotsensor\stm32f1xx_hal_tim_ex.o"
+"robotsensor\stm32f1xx_hal_uart.o"
+"robotsensor\system_stm32f1xx.o"
+"robotsensor\usbd_core.o"
+"robotsensor\usbd_ctlreq.o"
+"robotsensor\usbd_ioreq.o"
+"robotsensor\usbd_customhid.o"
+--library_type=microlib --strict --scatter "RobotSensor\RobotSensor.sct"
+--summary_stderr --info summarysizes --map --xref --callgraph --symbols
+--info sizes --info totals --info unused --info veneers
+--list "RobotSensor.map" -o RobotSensor\RobotSensor.axf
\ No newline at end of file
diff --git a/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor.map b/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor.map
new file mode 100644
index 0000000..914673e
--- /dev/null
+++ b/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor.map
@@ -0,0 +1,2159 @@
+Component: ARM Compiler 5.06 update 3 (build 300) Tool: armlink [4d35c9]
+
+==============================================================================
+
+Section Cross References
+
+ startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(STACK) for __initial_sp
+ startup_stm32f103xb.o(RESET) refers to startup_stm32f103xb.o(.text) for Reset_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.NMI_Handler) for NMI_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.HardFault_Handler) for HardFault_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.MemManage_Handler) for MemManage_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.BusFault_Handler) for BusFault_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.UsageFault_Handler) for UsageFault_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.SVC_Handler) for SVC_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.DebugMon_Handler) for DebugMon_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.PendSV_Handler) for PendSV_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.SysTick_Handler) for SysTick_Handler
+ startup_stm32f103xb.o(RESET) refers to stm32f1xx_it.o(i.USB_LP_CAN1_RX0_IRQHandler) for USB_LP_CAN1_RX0_IRQHandler
+ startup_stm32f103xb.o(.text) refers to system_stm32f1xx.o(i.SystemInit) for SystemInit
+ startup_stm32f103xb.o(.text) refers to entry.o(.ARM.Collect$$$$00000000) for __main
+ main.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin
+ main.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init
+ main.o(i.SystemClock_Config) refers to memseta.o(.text) for __aeabi_memclr4
+ main.o(i.SystemClock_Config) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) for HAL_RCC_OscConfig
+ main.o(i.SystemClock_Config) refers to main.o(i.Error_Handler) for Error_Handler
+ main.o(i.SystemClock_Config) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) for HAL_RCC_ClockConfig
+ main.o(i.SystemClock_Config) refers to stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) for HAL_RCCEx_PeriphCLKConfig
+ main.o(i.UsbSendPackageReport) refers to memseta.o(.text) for __aeabi_memclr
+ main.o(i.UsbSendPackageReport) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_SendReport) for USBD_CUSTOM_HID_SendReport
+ main.o(i.UsbSendPackageReport) refers to usb_device.o(.bss) for hUsbDeviceFS
+ main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_Init) for HAL_Init
+ main.o(i.main) refers to main.o(i.SystemClock_Config) for SystemClock_Config
+ main.o(i.main) refers to main.o(i.MX_GPIO_Init) for MX_GPIO_Init
+ main.o(i.main) refers to i2c.o(i.HC_I2C_Init) for HC_I2C_Init
+ main.o(i.main) refers to usart.o(i.MX_USART3_UART_Init) for MX_USART3_UART_Init
+ main.o(i.main) refers to usb_device.o(i.MX_USB_DEVICE_Init) for MX_USB_DEVICE_Init
+ main.o(i.main) refers to i2c.o(i.HC_I2C_Write) for HC_I2C_Write
+ main.o(i.main) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin) for HAL_GPIO_ReadPin
+ main.o(i.main) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay
+ main.o(i.main) refers to main.o(i.UsbSendPackageReport) for UsbSendPackageReport
+ main.o(i.main) refers to f2d.o(.text) for __aeabi_f2d
+ main.o(i.main) refers to printfa.o(i.__0printf) for __2printf
+ main.o(i.main) refers to i2c.o(i.HC_I2C_Read) for HC_I2C_Read
+ main.o(i.main) refers to fflti.o(.text) for __aeabi_i2f
+ main.o(i.main) refers to main.o(.bss) for report
+ stm32f1xx_it.o(i.SysTick_Handler) refers to stm32f1xx_hal.o(i.HAL_IncTick) for HAL_IncTick
+ stm32f1xx_it.o(i.USB_LP_CAN1_RX0_IRQHandler) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler) for HAL_PCD_IRQHandler
+ stm32f1xx_it.o(i.USB_LP_CAN1_RX0_IRQHandler) refers to usbd_conf.o(.bss) for hpcd_USB_FS
+ usart.o(i.HAL_UART_MspDeInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_DeInit) for HAL_GPIO_DeInit
+ usart.o(i.HAL_UART_MspInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init
+ usart.o(i.MX_USART3_UART_Init) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Init) for HAL_UART_Init
+ usart.o(i.MX_USART3_UART_Init) refers to main.o(i.Error_Handler) for Error_Handler
+ usart.o(i.MX_USART3_UART_Init) refers to usart.o(.bss) for huart3
+ usart.o(i.fputc) refers to stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) for HAL_UART_Transmit
+ usart.o(i.fputc) refers to usart.o(.bss) for huart3
+ i2c.o(i.HC_I2C_Ack) refers to i2c.o(i.I2C_delay) for I2C_delay
+ i2c.o(i.HC_I2C_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init
+ i2c.o(i.HC_I2C_NoAck) refers to i2c.o(i.I2C_delay) for I2C_delay
+ i2c.o(i.HC_I2C_Read) refers to i2c.o(i.HC_I2C_Start) for HC_I2C_Start
+ i2c.o(i.HC_I2C_Read) refers to i2c.o(i.HC_I2C_SendByte) for HC_I2C_SendByte
+ i2c.o(i.HC_I2C_Read) refers to i2c.o(i.HC_I2C_WaitAck) for HC_I2C_WaitAck
+ i2c.o(i.HC_I2C_Read) refers to i2c.o(i.HC_I2C_Stop) for HC_I2C_Stop
+ i2c.o(i.HC_I2C_Read) refers to i2c.o(i.HC_I2C_ReadByte) for HC_I2C_ReadByte
+ i2c.o(i.HC_I2C_Read) refers to i2c.o(i.HC_I2C_NoAck) for HC_I2C_NoAck
+ i2c.o(i.HC_I2C_Read) refers to ffltui.o(.text) for __aeabi_ui2f
+ i2c.o(i.HC_I2C_Read) refers to fdiv.o(.text) for __aeabi_fdiv
+ i2c.o(i.HC_I2C_Read) refers to ffixi.o(.text) for __aeabi_f2iz
+ i2c.o(i.HC_I2C_ReadByte) refers to i2c.o(i.I2C_delay) for I2C_delay
+ i2c.o(i.HC_I2C_SendByte) refers to i2c.o(i.I2C_delay) for I2C_delay
+ i2c.o(i.HC_I2C_Start) refers to i2c.o(i.I2C_delay) for I2C_delay
+ i2c.o(i.HC_I2C_Stop) refers to i2c.o(i.I2C_delay) for I2C_delay
+ i2c.o(i.HC_I2C_WaitAck) refers to i2c.o(i.I2C_delay) for I2C_delay
+ i2c.o(i.HC_I2C_Write) refers to i2c.o(i.HC_I2C_Start) for HC_I2C_Start
+ i2c.o(i.HC_I2C_Write) refers to i2c.o(i.HC_I2C_SendByte) for HC_I2C_SendByte
+ i2c.o(i.HC_I2C_Write) refers to i2c.o(i.HC_I2C_WaitAck) for HC_I2C_WaitAck
+ i2c.o(i.HC_I2C_Write) refers to i2c.o(i.HC_I2C_Stop) for HC_I2C_Stop
+ usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_core.o(i.USBD_Init) for USBD_Init
+ usb_device.o(i.MX_USB_DEVICE_Init) refers to main.o(i.Error_Handler) for Error_Handler
+ usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_core.o(i.USBD_RegisterClass) for USBD_RegisterClass
+ usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_RegisterInterface) for USBD_CUSTOM_HID_RegisterInterface
+ usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_core.o(i.USBD_Start) for USBD_Start
+ usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_desc.o(.data) for FS_Desc
+ usb_device.o(i.MX_USB_DEVICE_Init) refers to usb_device.o(.bss) for hUsbDeviceFS
+ usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_customhid.o(.data) for USBD_CUSTOM_HID
+ usb_device.o(i.MX_USB_DEVICE_Init) refers to usbd_custom_hid_if.o(.data) for USBD_CustomHID_fops_FS
+ usbd_desc.o(i.Get_SerialNum) refers to usbd_desc.o(i.IntToUnicode) for IntToUnicode
+ usbd_desc.o(i.Get_SerialNum) refers to usbd_desc.o(.data) for USBD_StringSerial
+ usbd_desc.o(i.USBD_FS_ConfigStrDescriptor) refers to usbd_ctlreq.o(i.USBD_GetString) for USBD_GetString
+ usbd_desc.o(i.USBD_FS_ConfigStrDescriptor) refers to usbd_desc.o(.bss) for USBD_StrDesc
+ usbd_desc.o(i.USBD_FS_DeviceDescriptor) refers to usbd_desc.o(.data) for USBD_FS_DeviceDesc
+ usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor) refers to usbd_ctlreq.o(i.USBD_GetString) for USBD_GetString
+ usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor) refers to usbd_desc.o(.bss) for USBD_StrDesc
+ usbd_desc.o(i.USBD_FS_LangIDStrDescriptor) refers to usbd_desc.o(.data) for USBD_LangIDDesc
+ usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor) refers to usbd_ctlreq.o(i.USBD_GetString) for USBD_GetString
+ usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor) refers to usbd_desc.o(.bss) for USBD_StrDesc
+ usbd_desc.o(i.USBD_FS_ProductStrDescriptor) refers to usbd_ctlreq.o(i.USBD_GetString) for USBD_GetString
+ usbd_desc.o(i.USBD_FS_ProductStrDescriptor) refers to usbd_desc.o(.bss) for USBD_StrDesc
+ usbd_desc.o(i.USBD_FS_SerialStrDescriptor) refers to usbd_desc.o(i.Get_SerialNum) for Get_SerialNum
+ usbd_desc.o(i.USBD_FS_SerialStrDescriptor) refers to usbd_desc.o(.data) for USBD_StringSerial
+ usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_DeviceDescriptor) for USBD_FS_DeviceDescriptor
+ usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_LangIDStrDescriptor) for USBD_FS_LangIDStrDescriptor
+ usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor) for USBD_FS_ManufacturerStrDescriptor
+ usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_ProductStrDescriptor) for USBD_FS_ProductStrDescriptor
+ usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_SerialStrDescriptor) for USBD_FS_SerialStrDescriptor
+ usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_ConfigStrDescriptor) for USBD_FS_ConfigStrDescriptor
+ usbd_desc.o(.data) refers to usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor) for USBD_FS_InterfaceStrDescriptor
+ usbd_custom_hid_if.o(.data) refers to usbd_custom_hid_if.o(i.CUSTOM_HID_Init_FS) for CUSTOM_HID_Init_FS
+ usbd_custom_hid_if.o(.data) refers to usbd_custom_hid_if.o(i.CUSTOM_HID_DeInit_FS) for CUSTOM_HID_DeInit_FS
+ usbd_custom_hid_if.o(.data) refers to usbd_custom_hid_if.o(i.CUSTOM_HID_OutEvent_FS) for CUSTOM_HID_OutEvent_FS
+ usbd_conf.o(i.HAL_PCD_ConnectCallback) refers to usbd_core.o(i.USBD_LL_DevConnected) for USBD_LL_DevConnected
+ usbd_conf.o(i.HAL_PCD_DataInStageCallback) refers to usbd_core.o(i.USBD_LL_DataInStage) for USBD_LL_DataInStage
+ usbd_conf.o(i.HAL_PCD_DataOutStageCallback) refers to usbd_core.o(i.USBD_LL_DataOutStage) for USBD_LL_DataOutStage
+ usbd_conf.o(i.HAL_PCD_DisconnectCallback) refers to usbd_core.o(i.USBD_LL_DevDisconnected) for USBD_LL_DevDisconnected
+ usbd_conf.o(i.HAL_PCD_ISOINIncompleteCallback) refers to usbd_core.o(i.USBD_LL_IsoINIncomplete) for USBD_LL_IsoINIncomplete
+ usbd_conf.o(i.HAL_PCD_ISOOUTIncompleteCallback) refers to usbd_core.o(i.USBD_LL_IsoOUTIncomplete) for USBD_LL_IsoOUTIncomplete
+ usbd_conf.o(i.HAL_PCD_MspDeInit) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ) for HAL_NVIC_DisableIRQ
+ usbd_conf.o(i.HAL_PCD_MspInit) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority
+ usbd_conf.o(i.HAL_PCD_MspInit) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) for HAL_NVIC_EnableIRQ
+ usbd_conf.o(i.HAL_PCD_ResetCallback) refers to main.o(i.Error_Handler) for Error_Handler
+ usbd_conf.o(i.HAL_PCD_ResetCallback) refers to usbd_core.o(i.USBD_LL_SetSpeed) for USBD_LL_SetSpeed
+ usbd_conf.o(i.HAL_PCD_ResetCallback) refers to usbd_core.o(i.USBD_LL_Reset) for USBD_LL_Reset
+ usbd_conf.o(i.HAL_PCD_ResumeCallback) refers to usbd_core.o(i.USBD_LL_Resume) for USBD_LL_Resume
+ usbd_conf.o(i.HAL_PCD_SOFCallback) refers to usbd_core.o(i.USBD_LL_SOF) for USBD_LL_SOF
+ usbd_conf.o(i.HAL_PCD_SetupStageCallback) refers to usbd_core.o(i.USBD_LL_SetupStage) for USBD_LL_SetupStage
+ usbd_conf.o(i.HAL_PCD_SuspendCallback) refers to usbd_core.o(i.USBD_LL_Suspend) for USBD_LL_Suspend
+ usbd_conf.o(i.USBD_LL_ClearStallEP) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_ClrStall) for HAL_PCD_EP_ClrStall
+ usbd_conf.o(i.USBD_LL_ClearStallEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_CloseEP) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Close) for HAL_PCD_EP_Close
+ usbd_conf.o(i.USBD_LL_CloseEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_DeInit) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_DeInit) for HAL_PCD_DeInit
+ usbd_conf.o(i.USBD_LL_DeInit) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_Delay) refers to stm32f1xx_hal.o(i.HAL_Delay) for HAL_Delay
+ usbd_conf.o(i.USBD_LL_FlushEP) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Flush) for HAL_PCD_EP_Flush
+ usbd_conf.o(i.USBD_LL_FlushEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_GetRxDataSize) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_GetRxCount) for HAL_PCD_EP_GetRxCount
+ usbd_conf.o(i.USBD_LL_Init) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_Init) for HAL_PCD_Init
+ usbd_conf.o(i.USBD_LL_Init) refers to main.o(i.Error_Handler) for Error_Handler
+ usbd_conf.o(i.USBD_LL_Init) refers to stm32f1xx_hal_pcd_ex.o(i.HAL_PCDEx_PMAConfig) for HAL_PCDEx_PMAConfig
+ usbd_conf.o(i.USBD_LL_Init) refers to usbd_conf.o(.bss) for hpcd_USB_FS
+ usbd_conf.o(i.USBD_LL_OpenEP) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Open) for HAL_PCD_EP_Open
+ usbd_conf.o(i.USBD_LL_OpenEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_PrepareReceive) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Receive) for HAL_PCD_EP_Receive
+ usbd_conf.o(i.USBD_LL_PrepareReceive) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_SetUSBAddress) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_SetAddress) for HAL_PCD_SetAddress
+ usbd_conf.o(i.USBD_LL_SetUSBAddress) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_StallEP) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_SetStall) for HAL_PCD_EP_SetStall
+ usbd_conf.o(i.USBD_LL_StallEP) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_Start) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_Start) for HAL_PCD_Start
+ usbd_conf.o(i.USBD_LL_Start) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_Stop) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_Stop) for HAL_PCD_Stop
+ usbd_conf.o(i.USBD_LL_Stop) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_LL_Transmit) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Transmit) for HAL_PCD_EP_Transmit
+ usbd_conf.o(i.USBD_LL_Transmit) refers to usbd_conf.o(i.USBD_Get_USB_Status) for USBD_Get_USB_Status
+ usbd_conf.o(i.USBD_static_malloc) refers to usbd_conf.o(.bss) for mem
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_ActivateRemoteWakeup) refers to stm32f1xx_ll_usb.o(i.USB_ActivateRemoteWakeup) for USB_ActivateRemoteWakeup
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_DeActivateRemoteWakeup) refers to stm32f1xx_ll_usb.o(i.USB_DeActivateRemoteWakeup) for USB_DeActivateRemoteWakeup
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_DeInit) refers to stm32f1xx_ll_usb.o(i.USB_StopDevice) for USB_StopDevice
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_DeInit) refers to usbd_conf.o(i.HAL_PCD_MspDeInit) for HAL_PCD_MspDeInit
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_DevConnect) refers to usbd_conf.o(i.HAL_PCDEx_SetConnectionState) for HAL_PCDEx_SetConnectionState
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_DevConnect) refers to stm32f1xx_ll_usb.o(i.USB_DevConnect) for USB_DevConnect
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_DevDisconnect) refers to usbd_conf.o(i.HAL_PCDEx_SetConnectionState) for HAL_PCDEx_SetConnectionState
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_DevDisconnect) refers to stm32f1xx_ll_usb.o(i.USB_DevDisconnect) for USB_DevDisconnect
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Abort) refers to stm32f1xx_ll_usb.o(i.USB_EPStopXfer) for USB_EPStopXfer
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Close) refers to stm32f1xx_ll_usb.o(i.USB_DeactivateEndpoint) for USB_DeactivateEndpoint
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_ClrStall) refers to stm32f1xx_ll_usb.o(i.USB_EPClearStall) for USB_EPClearStall
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Receive) refers to stm32f1xx_ll_usb.o(i.USB_ReadPMA) for USB_ReadPMA
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Transmit) refers to usbd_conf.o(i.HAL_PCD_DataInStageCallback) for HAL_PCD_DataInStageCallback
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Transmit) refers to stm32f1xx_ll_usb.o(i.USB_WritePMA) for USB_WritePMA
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Flush) refers to stm32f1xx_ll_usb.o(i.USB_FlushTxFifo) for USB_FlushTxFifo
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Flush) refers to stm32f1xx_ll_usb.o(i.USB_FlushRxFifo) for USB_FlushRxFifo
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Open) refers to stm32f1xx_ll_usb.o(i.USB_ActivateEndpoint) for USB_ActivateEndpoint
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Receive) refers to stm32f1xx_ll_usb.o(i.USB_EPStartXfer) for USB_EPStartXfer
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_SetStall) refers to stm32f1xx_ll_usb.o(i.USB_EPSetStall) for USB_EPSetStall
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_SetStall) refers to stm32f1xx_ll_usb.o(i.USB_EP0_OutStart) for USB_EP0_OutStart
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Transmit) refers to stm32f1xx_ll_usb.o(i.USB_EPStartXfer) for USB_EPStartXfer
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32f1xx_ll_usb.o(i.USB_ReadInterrupts) for USB_ReadInterrupts
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler) for PCD_EP_ISR_Handler
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_ResetCallback) for HAL_PCD_ResetCallback
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_SetAddress) for HAL_PCD_SetAddress
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_ResumeCallback) for HAL_PCD_ResumeCallback
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_SuspendCallback) for HAL_PCD_SuspendCallback
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler) refers to usbd_conf.o(i.HAL_PCD_SOFCallback) for HAL_PCD_SOFCallback
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Init) refers to usbd_conf.o(i.HAL_PCD_MspInit) for HAL_PCD_MspInit
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32f1xx_ll_usb.o(i.USB_DisableGlobalInt) for USB_DisableGlobalInt
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Init) refers to memcpya.o(.text) for __aeabi_memcpy4
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32f1xx_ll_usb.o(i.USB_CoreInit) for USB_CoreInit
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32f1xx_ll_usb.o(i.USB_SetCurrentMode) for USB_SetCurrentMode
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32f1xx_ll_usb.o(i.USB_DevInit) for USB_DevInit
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Init) refers to stm32f1xx_ll_usb.o(i.USB_DevDisconnect) for USB_DevDisconnect
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_SetAddress) refers to stm32f1xx_ll_usb.o(i.USB_SetDevAddress) for USB_SetDevAddress
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Start) refers to stm32f1xx_ll_usb.o(i.USB_EnableGlobalInt) for USB_EnableGlobalInt
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Start) refers to usbd_conf.o(i.HAL_PCDEx_SetConnectionState) for HAL_PCDEx_SetConnectionState
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Start) refers to stm32f1xx_ll_usb.o(i.USB_DevConnect) for USB_DevConnect
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Stop) refers to stm32f1xx_ll_usb.o(i.USB_DisableGlobalInt) for USB_DisableGlobalInt
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Stop) refers to usbd_conf.o(i.HAL_PCDEx_SetConnectionState) for HAL_PCDEx_SetConnectionState
+ stm32f1xx_hal_pcd.o(i.HAL_PCD_Stop) refers to stm32f1xx_ll_usb.o(i.USB_DevDisconnect) for USB_DevDisconnect
+ stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler) refers to usbd_conf.o(i.HAL_PCD_DataInStageCallback) for HAL_PCD_DataInStageCallback
+ stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler) refers to stm32f1xx_ll_usb.o(i.USB_ReadPMA) for USB_ReadPMA
+ stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler) refers to usbd_conf.o(i.HAL_PCD_SetupStageCallback) for HAL_PCD_SetupStageCallback
+ stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler) refers to usbd_conf.o(i.HAL_PCD_DataOutStageCallback) for HAL_PCD_DataOutStageCallback
+ stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Receive) for HAL_PCD_EP_DB_Receive
+ stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler) refers to stm32f1xx_ll_usb.o(i.USB_EPStartXfer) for USB_EPStartXfer
+ stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler) refers to stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Transmit) for HAL_PCD_EP_DB_Transmit
+ stm32f1xx_ll_usb.o(i.USB_EPStartXfer) refers to stm32f1xx_ll_usb.o(i.USB_WritePMA) for USB_WritePMA
+ stm32f1xx_hal.o(i.HAL_DeInit) refers to stm32f1xx_hal.o(i.HAL_MspDeInit) for HAL_MspDeInit
+ stm32f1xx_hal.o(i.HAL_Delay) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal.o(i.HAL_Delay) refers to stm32f1xx_hal.o(.data) for uwTickFreq
+ stm32f1xx_hal.o(i.HAL_GetTick) refers to stm32f1xx_hal.o(.data) for uwTick
+ stm32f1xx_hal.o(i.HAL_GetTickFreq) refers to stm32f1xx_hal.o(.data) for uwTickFreq
+ stm32f1xx_hal.o(i.HAL_GetTickPrio) refers to stm32f1xx_hal.o(.data) for uwTickPrio
+ stm32f1xx_hal.o(i.HAL_IncTick) refers to stm32f1xx_hal.o(.data) for uwTick
+ stm32f1xx_hal.o(i.HAL_Init) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) for HAL_NVIC_SetPriorityGrouping
+ stm32f1xx_hal.o(i.HAL_Init) refers to stm32f1xx_hal.o(i.HAL_InitTick) for HAL_InitTick
+ stm32f1xx_hal.o(i.HAL_Init) refers to stm32f1xx_hal_msp.o(i.HAL_MspInit) for HAL_MspInit
+ stm32f1xx_hal.o(i.HAL_InitTick) refers to stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) for HAL_SYSTICK_Config
+ stm32f1xx_hal.o(i.HAL_InitTick) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) for HAL_NVIC_SetPriority
+ stm32f1xx_hal.o(i.HAL_InitTick) refers to stm32f1xx_hal.o(.data) for uwTickFreq
+ stm32f1xx_hal.o(i.HAL_InitTick) refers to system_stm32f1xx.o(.data) for SystemCoreClock
+ stm32f1xx_hal.o(i.HAL_SetTickFreq) refers to stm32f1xx_hal.o(i.HAL_InitTick) for HAL_InitTick
+ stm32f1xx_hal.o(i.HAL_SetTickFreq) refers to stm32f1xx_hal.o(.data) for uwTickFreq
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) for HAL_RCC_GetSysClockFreq
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32f1xx_hal.o(i.HAL_InitTick) for HAL_InitTick
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to system_stm32f1xx.o(.data) for SystemCoreClock
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) refers to stm32f1xx_hal.o(.data) for uwTickPrio
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to stm32f1xx_hal.o(i.HAL_InitTick) for HAL_InitTick
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to system_stm32f1xx.o(.data) for SystemCoreClock
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit) refers to stm32f1xx_hal.o(.data) for uwTickPrio
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) refers to system_stm32f1xx.o(.data) for SystemCoreClock
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) for HAL_RCC_GetHCLKFreq
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq) for HAL_RCC_GetHCLKFreq
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) refers to system_stm32f1xx.o(.constdata) for APBPrescTable
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) refers to stm32f1xx_hal_rcc.o(.constdata) for aPLLMULFactorTable
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_MCOConfig) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback) for HAL_RCC_CSSCallback
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) refers to stm32f1xx_hal_rcc.o(i.RCC_Delay) for RCC_Delay
+ stm32f1xx_hal_rcc.o(i.RCC_Delay) refers to system_stm32f1xx.o(.data) for SystemCoreClock
+ stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) for HAL_RCC_GetPCLK2Freq
+ stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq) refers to stm32f1xx_hal_rcc_ex.o(.constdata) for aPLLMULFactorTable
+ stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_EXTI_Callback) for HAL_GPIO_EXTI_Callback
+ stm32f1xx_hal_dma.o(i.HAL_DMA_PollForTransfer) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal_dma.o(i.HAL_DMA_Start) refers to stm32f1xx_hal_dma.o(i.DMA_SetConfig) for DMA_SetConfig
+ stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) refers to stm32f1xx_hal_dma.o(i.DMA_SetConfig) for DMA_SetConfig
+ stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetPriorityGrouping) refers to stm32f1xx_hal_cortex.o(i.__NVIC_GetPriorityGrouping) for __NVIC_GetPriorityGrouping
+ stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) refers to stm32f1xx_hal_cortex.o(i.__NVIC_GetPriorityGrouping) for __NVIC_GetPriorityGrouping
+ stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) refers to stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) for __NVIC_SetPriority
+ stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config) refers to stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) for __NVIC_SetPriority
+ stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler) refers to stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Callback) for HAL_SYSTICK_Callback
+ stm32f1xx_hal_pwr.o(i.HAL_PWR_EnterSTOPMode) refers to stm32f1xx_hal_pwr.o(i.PWR_OverloadWfe) for PWR_OverloadWfe
+ stm32f1xx_hal_pwr.o(i.HAL_PWR_PVD_IRQHandler) refers to stm32f1xx_hal_pwr.o(i.HAL_PWR_PVDCallback) for HAL_PWR_PVDCallback
+ stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash.o(i.FLASH_SetErrorCode) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) refers to stm32f1xx_hal_flash.o(i.FLASH_SetErrorCode) for FLASH_SetErrorCode
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_GetError) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(i.FLASH_SetErrorCode) for FLASH_SetErrorCode
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(i.HAL_FLASH_OperationErrorCallback) for HAL_FLASH_OperationErrorCallback
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(i.HAL_FLASH_EndOfOperationCallback) for HAL_FLASH_EndOfOperationCallback
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase) for FLASH_PageErase
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord) for FLASH_Program_HalfWord
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_OB_Launch) refers to stm32f1xx_hal_cortex.o(i.HAL_NVIC_SystemReset) for HAL_NVIC_SystemReset
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_Program) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_Program) refers to llushr.o(.text) for __aeabi_llsr
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_Program) refers to stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord) for FLASH_Program_HalfWord
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_Program) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_Program_IT) refers to stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord) for FLASH_Program_HalfWord
+ stm32f1xx_hal_flash.o(i.HAL_FLASH_Program_IT) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.FLASH_MassErase) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetWRP) for FLASH_OB_GetWRP
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) refers to stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) for HAL_FLASHEx_OBErase
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetWRP) for FLASH_OB_GetWRP
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) refers to stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) for HAL_FLASHEx_OBErase
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_ProgramData) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_ProgramData) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_UserConfig) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
+ stm32f1xx_hal_flash_ex.o(i.FLASH_OB_UserConfig) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_MassErase) for FLASH_MassErase
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase) for FLASH_PageErase
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_MassErase) for FLASH_MassErase
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase) for FLASH_PageErase
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetRDP) for FLASH_OB_GetRDP
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) refers to stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig) for FLASH_OB_RDP_LevelConfig
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetWRP) for FLASH_OB_GetWRP
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetRDP) for FLASH_OB_GetRDP
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetUser) for FLASH_OB_GetUser
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP) for FLASH_OB_EnableWRP
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP) for FLASH_OB_DisableWRP
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig) for FLASH_OB_RDP_LevelConfig
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_UserConfig) for FLASH_OB_UserConfig
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash_ex.o(i.FLASH_OB_ProgramData) for FLASH_OB_ProgramData
+ stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram) refers to stm32f1xx_hal_flash.o(.bss) for pFlash
+ stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_Init) refers to usart.o(i.HAL_UART_MspInit) for HAL_UART_MspInit
+ stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_Init) refers to stm32f1xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig
+ stm32f1xx_hal_uart.o(i.HAL_LIN_Init) refers to usart.o(i.HAL_UART_MspInit) for HAL_UART_MspInit
+ stm32f1xx_hal_uart.o(i.HAL_LIN_Init) refers to stm32f1xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig
+ stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_Init) refers to usart.o(i.HAL_UART_MspInit) for HAL_UART_MspInit
+ stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_Init) refers to stm32f1xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig
+ stm32f1xx_hal_uart.o(i.HAL_UARTEx_ReceiveToIdle) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal_uart.o(i.HAL_UARTEx_ReceiveToIdle_DMA) refers to stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) for UART_Start_Receive_DMA
+ stm32f1xx_hal_uart.o(i.HAL_UARTEx_ReceiveToIdle_IT) refers to stm32f1xx_hal_uart.o(i.UART_Start_Receive_IT) for UART_Start_Receive_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_Abort) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort
+ stm32f1xx_hal_uart.o(i.HAL_UART_Abort) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive_IT) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback) for HAL_UART_AbortReceiveCpltCallback
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive_IT) refers to stm32f1xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback) for UART_DMARxOnlyAbortCallback
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_GetError) for HAL_DMA_GetError
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback) for HAL_UART_AbortTransmitCpltCallback
+ stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT) refers to stm32f1xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback) for UART_DMATxOnlyAbortCallback
+ stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback
+ stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32f1xx_hal_uart.o(i.UART_DMATxAbortCallback) for UART_DMATxAbortCallback
+ stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT) refers to stm32f1xx_hal_uart.o(i.UART_DMARxAbortCallback) for UART_DMARxAbortCallback
+ stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort
+ stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) for UART_EndTxTransfer
+ stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop) refers to stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer
+ stm32f1xx_hal_uart.o(i.HAL_UART_DeInit) refers to usart.o(i.HAL_UART_MspDeInit) for HAL_UART_MspDeInit
+ stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.UART_Receive_IT) for UART_Receive_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer
+ stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback
+ stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Abort) for HAL_DMA_Abort
+ stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback
+ stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.UART_Transmit_IT) for UART_Transmit_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.UART_EndTransmit_IT) for UART_EndTransmit_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler) refers to stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) for UART_DMAAbortOnError
+ stm32f1xx_hal_uart.o(i.HAL_UART_Init) refers to usart.o(i.HAL_UART_MspInit) for HAL_UART_MspInit
+ stm32f1xx_hal_uart.o(i.HAL_UART_Init) refers to stm32f1xx_hal_uart.o(i.UART_SetConfig) for UART_SetConfig
+ stm32f1xx_hal_uart.o(i.HAL_UART_Receive) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal_uart.o(i.HAL_UART_Receive) refers to stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) for UART_WaitOnFlagUntilTimeout
+ stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA) refers to stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) for UART_Start_Receive_DMA
+ stm32f1xx_hal_uart.o(i.HAL_UART_Receive_IT) refers to stm32f1xx_hal_uart.o(i.UART_Start_Receive_IT) for UART_Start_Receive_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ stm32f1xx_hal_uart.o(i.HAL_UART_Transmit) refers to stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) for UART_WaitOnFlagUntilTimeout
+ stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT
+ stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMATransmitCplt) for UART_DMATransmitCplt
+ stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMATxHalfCplt) for UART_DMATxHalfCplt
+ stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMAError) for UART_DMAError
+ stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError) refers to stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback
+ stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.UART_EndTxTransfer) for UART_EndTxTransfer
+ stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.UART_EndRxTransfer) for UART_EndRxTransfer
+ stm32f1xx_hal_uart.o(i.UART_DMAError) refers to stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback) for HAL_UART_ErrorCallback
+ stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback
+ stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_DMARxAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback
+ stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback) for HAL_UART_RxHalfCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback) for HAL_UART_AbortReceiveCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_DMATransmitCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) for HAL_UART_TxCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_DMATxAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback) for HAL_UART_AbortCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_DMATxHalfCplt) refers to stm32f1xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback) for HAL_UART_TxHalfCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback) refers to stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback) for HAL_UART_AbortTransmitCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_EndTransmit_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback) for HAL_UART_TxCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_Receive_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback) for HAL_UARTEx_RxEventCallback
+ stm32f1xx_hal_uart.o(i.UART_Receive_IT) refers to stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback) for HAL_UART_RxCpltCallback
+ stm32f1xx_hal_uart.o(i.UART_SetConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) for HAL_RCC_GetPCLK2Freq
+ stm32f1xx_hal_uart.o(i.UART_SetConfig) refers to stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) for HAL_RCC_GetPCLK1Freq
+ stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) refers to stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT) for HAL_DMA_Start_IT
+ stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt) for UART_DMAReceiveCplt
+ stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt) for UART_DMARxHalfCplt
+ stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA) refers to stm32f1xx_hal_uart.o(i.UART_DMAError) for UART_DMAError
+ stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout) refers to stm32f1xx_hal.o(i.HAL_GetTick) for HAL_GetTick
+ system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.data) for SystemCoreClock
+ system_stm32f1xx.o(i.SystemCoreClockUpdate) refers to system_stm32f1xx.o(.constdata) for AHBPrescTable
+ usbd_core.o(i.USBD_DeInit) refers to usbd_conf.o(i.USBD_LL_Stop) for USBD_LL_Stop
+ usbd_core.o(i.USBD_DeInit) refers to usbd_conf.o(i.USBD_LL_DeInit) for USBD_LL_DeInit
+ usbd_core.o(i.USBD_Init) refers to usbd_conf.o(i.USBD_LL_Init) for USBD_LL_Init
+ usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_ioreq.o(i.USBD_CtlContinueSendData) for USBD_CtlContinueSendData
+ usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive
+ usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_conf.o(i.USBD_LL_StallEP) for USBD_LL_StallEP
+ usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_ioreq.o(i.USBD_CtlReceiveStatus) for USBD_CtlReceiveStatus
+ usbd_core.o(i.USBD_LL_DataInStage) refers to usbd_core.o(i.USBD_RunTestMode) for USBD_RunTestMode
+ usbd_core.o(i.USBD_LL_DataOutStage) refers to usbd_ioreq.o(i.USBD_CtlContinueRx) for USBD_CtlContinueRx
+ usbd_core.o(i.USBD_LL_DataOutStage) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus
+ usbd_core.o(i.USBD_LL_DataOutStage) refers to usbd_conf.o(i.USBD_LL_StallEP) for USBD_LL_StallEP
+ usbd_core.o(i.USBD_LL_Reset) refers to usbd_conf.o(i.USBD_LL_OpenEP) for USBD_LL_OpenEP
+ usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_ctlreq.o(i.USBD_ParseSetupRequest) for USBD_ParseSetupRequest
+ usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_ctlreq.o(i.USBD_StdDevReq) for USBD_StdDevReq
+ usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_ctlreq.o(i.USBD_StdItfReq) for USBD_StdItfReq
+ usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_ctlreq.o(i.USBD_StdEPReq) for USBD_StdEPReq
+ usbd_core.o(i.USBD_LL_SetupStage) refers to usbd_conf.o(i.USBD_LL_StallEP) for USBD_LL_StallEP
+ usbd_core.o(i.USBD_Start) refers to usbd_conf.o(i.USBD_LL_Start) for USBD_LL_Start
+ usbd_core.o(i.USBD_Stop) refers to usbd_conf.o(i.USBD_LL_Stop) for USBD_LL_Stop
+ usbd_ctlreq.o(i.USBD_ClrFeature) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus
+ usbd_ctlreq.o(i.USBD_ClrFeature) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_ctlreq.o(i.USBD_CtlError) refers to usbd_conf.o(i.USBD_LL_StallEP) for USBD_LL_StallEP
+ usbd_ctlreq.o(i.USBD_GetConfig) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_ctlreq.o(i.USBD_GetConfig) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData
+ usbd_ctlreq.o(i.USBD_GetDescriptor) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_ctlreq.o(i.USBD_GetDescriptor) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData
+ usbd_ctlreq.o(i.USBD_GetDescriptor) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus
+ usbd_ctlreq.o(i.USBD_GetStatus) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_ctlreq.o(i.USBD_GetStatus) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData
+ usbd_ctlreq.o(i.USBD_GetString) refers to usbd_ctlreq.o(i.USBD_GetLen) for USBD_GetLen
+ usbd_ctlreq.o(i.USBD_SetAddress) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_ctlreq.o(i.USBD_SetAddress) refers to usbd_conf.o(i.USBD_LL_SetUSBAddress) for USBD_LL_SetUSBAddress
+ usbd_ctlreq.o(i.USBD_SetAddress) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus
+ usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_core.o(i.USBD_SetClassConfig) for USBD_SetClassConfig
+ usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus
+ usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_core.o(i.USBD_ClrClassConfig) for USBD_ClrClassConfig
+ usbd_ctlreq.o(i.USBD_SetConfig) refers to usbd_ctlreq.o(.data) for cfgidx
+ usbd_ctlreq.o(i.USBD_SetFeature) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus
+ usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_GetDescriptor) for USBD_GetDescriptor
+ usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_SetAddress) for USBD_SetAddress
+ usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_SetConfig) for USBD_SetConfig
+ usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_GetConfig) for USBD_GetConfig
+ usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_GetStatus) for USBD_GetStatus
+ usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_SetFeature) for USBD_SetFeature
+ usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_ClrFeature) for USBD_ClrFeature
+ usbd_ctlreq.o(i.USBD_StdDevReq) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_conf.o(i.USBD_LL_StallEP) for USBD_LL_StallEP
+ usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus
+ usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_conf.o(i.USBD_LL_ClearStallEP) for USBD_LL_ClearStallEP
+ usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData
+ usbd_ctlreq.o(i.USBD_StdEPReq) refers to usbd_conf.o(i.USBD_LL_IsStallEP) for USBD_LL_IsStallEP
+ usbd_ctlreq.o(i.USBD_StdItfReq) refers to usbd_ioreq.o(i.USBD_CtlSendStatus) for USBD_CtlSendStatus
+ usbd_ctlreq.o(i.USBD_StdItfReq) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_ioreq.o(i.USBD_CtlContinueRx) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive
+ usbd_ioreq.o(i.USBD_CtlContinueSendData) refers to usbd_conf.o(i.USBD_LL_Transmit) for USBD_LL_Transmit
+ usbd_ioreq.o(i.USBD_CtlPrepareRx) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive
+ usbd_ioreq.o(i.USBD_CtlReceiveStatus) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive
+ usbd_ioreq.o(i.USBD_CtlSendData) refers to usbd_conf.o(i.USBD_LL_Transmit) for USBD_LL_Transmit
+ usbd_ioreq.o(i.USBD_CtlSendStatus) refers to usbd_conf.o(i.USBD_LL_Transmit) for USBD_LL_Transmit
+ usbd_ioreq.o(i.USBD_GetRxCount) refers to usbd_conf.o(i.USBD_LL_GetRxDataSize) for USBD_LL_GetRxDataSize
+ usbd_customhid.o(i.USBD_CUSTOM_HID_DataOut) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive
+ usbd_customhid.o(i.USBD_CUSTOM_HID_DeInit) refers to usbd_conf.o(i.USBD_LL_CloseEP) for USBD_LL_CloseEP
+ usbd_customhid.o(i.USBD_CUSTOM_HID_DeInit) refers to usbd_conf.o(i.USBD_static_free) for USBD_static_free
+ usbd_customhid.o(i.USBD_CUSTOM_HID_GetDeviceQualifierDesc) refers to usbd_customhid.o(.data) for USBD_CUSTOM_HID_DeviceQualifierDesc
+ usbd_customhid.o(i.USBD_CUSTOM_HID_GetFSCfgDesc) refers to usbd_customhid.o(.data) for USBD_CUSTOM_HID_CfgFSDesc
+ usbd_customhid.o(i.USBD_CUSTOM_HID_GetHSCfgDesc) refers to usbd_customhid.o(.data) for USBD_CUSTOM_HID_CfgHSDesc
+ usbd_customhid.o(i.USBD_CUSTOM_HID_GetOtherSpeedCfgDesc) refers to usbd_customhid.o(.data) for USBD_CUSTOM_HID_OtherSpeedCfgDesc
+ usbd_customhid.o(i.USBD_CUSTOM_HID_Init) refers to usbd_conf.o(i.USBD_LL_OpenEP) for USBD_LL_OpenEP
+ usbd_customhid.o(i.USBD_CUSTOM_HID_Init) refers to usbd_conf.o(i.USBD_static_malloc) for USBD_static_malloc
+ usbd_customhid.o(i.USBD_CUSTOM_HID_Init) refers to usbd_conf.o(i.USBD_LL_PrepareReceive) for USBD_LL_PrepareReceive
+ usbd_customhid.o(i.USBD_CUSTOM_HID_SendReport) refers to usbd_conf.o(i.USBD_LL_Transmit) for USBD_LL_Transmit
+ usbd_customhid.o(i.USBD_CUSTOM_HID_Setup) refers to usbd_ioreq.o(i.USBD_CtlSendData) for USBD_CtlSendData
+ usbd_customhid.o(i.USBD_CUSTOM_HID_Setup) refers to usbd_ioreq.o(i.USBD_CtlPrepareRx) for USBD_CtlPrepareRx
+ usbd_customhid.o(i.USBD_CUSTOM_HID_Setup) refers to usbd_ctlreq.o(i.USBD_CtlError) for USBD_CtlError
+ usbd_customhid.o(i.USBD_CUSTOM_HID_Setup) refers to usbd_customhid.o(.data) for USBD_CUSTOM_HID_Desc
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_Init) for USBD_CUSTOM_HID_Init
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_DeInit) for USBD_CUSTOM_HID_DeInit
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_Setup) for USBD_CUSTOM_HID_Setup
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_EP0_RxReady) for USBD_CUSTOM_HID_EP0_RxReady
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_DataIn) for USBD_CUSTOM_HID_DataIn
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_DataOut) for USBD_CUSTOM_HID_DataOut
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_GetHSCfgDesc) for USBD_CUSTOM_HID_GetHSCfgDesc
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_GetFSCfgDesc) for USBD_CUSTOM_HID_GetFSCfgDesc
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_GetOtherSpeedCfgDesc) for USBD_CUSTOM_HID_GetOtherSpeedCfgDesc
+ usbd_customhid.o(.data) refers to usbd_customhid.o(i.USBD_CUSTOM_HID_GetDeviceQualifierDesc) for USBD_CUSTOM_HID_GetDeviceQualifierDesc
+ entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp
+ entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$0000000F) for __rt_final_exit
+ entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock
+ entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry8b.o(.ARM.Collect$$$$0000000A) for _main_cpp_init
+ entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry9a.o(.ARM.Collect$$$$0000000B) for _main_init
+ entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry5.o(.ARM.Collect$$$$00000004) for _main_scatterload
+ entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry2.o(.ARM.Collect$$$$00000001) for _main_stk
+ printfb.o(i.__0fprintf$bare) refers to printfb.o(i._printf_core) for _printf_core
+ printfb.o(i.__0fprintf$bare) refers to usart.o(i.fputc) for fputc
+ printfb.o(i.__0printf$bare) refers to printfb.o(i._printf_core) for _printf_core
+ printfb.o(i.__0printf$bare) refers to usart.o(i.fputc) for fputc
+ printfb.o(i.__0printf$bare) refers to stdout.o(.data) for __stdout
+ printfb.o(i.__0snprintf$bare) refers to printfb.o(i._printf_core) for _printf_core
+ printfb.o(i.__0snprintf$bare) refers to printfb.o(i._snputc) for _snputc
+ printfb.o(i.__0sprintf$bare) refers to printfb.o(i._printf_core) for _printf_core
+ printfb.o(i.__0sprintf$bare) refers to printfb.o(i._sputc) for _sputc
+ printfb.o(i.__0vfprintf$bare) refers to printfb.o(i._printf_core) for _printf_core
+ printfb.o(i.__0vfprintf$bare) refers to usart.o(i.fputc) for fputc
+ printfb.o(i.__0vprintf$bare) refers to printfb.o(i._printf_core) for _printf_core
+ printfb.o(i.__0vprintf$bare) refers to usart.o(i.fputc) for fputc
+ printfb.o(i.__0vprintf$bare) refers to stdout.o(.data) for __stdout
+ printfb.o(i.__0vsnprintf$bare) refers to printfb.o(i._printf_core) for _printf_core
+ printfb.o(i.__0vsnprintf$bare) refers to printfb.o(i._snputc) for _snputc
+ printfb.o(i.__0vsprintf$bare) refers to printfb.o(i._printf_core) for _printf_core
+ printfb.o(i.__0vsprintf$bare) refers to printfb.o(i._sputc) for _sputc
+ printf0.o(i.__0fprintf$0) refers to printf0.o(i._printf_core) for _printf_core
+ printf0.o(i.__0fprintf$0) refers to usart.o(i.fputc) for fputc
+ printf0.o(i.__0printf$0) refers to printf0.o(i._printf_core) for _printf_core
+ printf0.o(i.__0printf$0) refers to usart.o(i.fputc) for fputc
+ printf0.o(i.__0printf$0) refers to stdout.o(.data) for __stdout
+ printf0.o(i.__0snprintf$0) refers to printf0.o(i._printf_core) for _printf_core
+ printf0.o(i.__0snprintf$0) refers to printf0.o(i._snputc) for _snputc
+ printf0.o(i.__0sprintf$0) refers to printf0.o(i._printf_core) for _printf_core
+ printf0.o(i.__0sprintf$0) refers to printf0.o(i._sputc) for _sputc
+ printf0.o(i.__0vfprintf$0) refers to printf0.o(i._printf_core) for _printf_core
+ printf0.o(i.__0vfprintf$0) refers to usart.o(i.fputc) for fputc
+ printf0.o(i.__0vprintf$0) refers to printf0.o(i._printf_core) for _printf_core
+ printf0.o(i.__0vprintf$0) refers to usart.o(i.fputc) for fputc
+ printf0.o(i.__0vprintf$0) refers to stdout.o(.data) for __stdout
+ printf0.o(i.__0vsnprintf$0) refers to printf0.o(i._printf_core) for _printf_core
+ printf0.o(i.__0vsnprintf$0) refers to printf0.o(i._snputc) for _snputc
+ printf0.o(i.__0vsprintf$0) refers to printf0.o(i._printf_core) for _printf_core
+ printf0.o(i.__0vsprintf$0) refers to printf0.o(i._sputc) for _sputc
+ printf1.o(i.__0fprintf$1) refers to printf1.o(i._printf_core) for _printf_core
+ printf1.o(i.__0fprintf$1) refers to usart.o(i.fputc) for fputc
+ printf1.o(i.__0printf$1) refers to printf1.o(i._printf_core) for _printf_core
+ printf1.o(i.__0printf$1) refers to usart.o(i.fputc) for fputc
+ printf1.o(i.__0printf$1) refers to stdout.o(.data) for __stdout
+ printf1.o(i.__0snprintf$1) refers to printf1.o(i._printf_core) for _printf_core
+ printf1.o(i.__0snprintf$1) refers to printf1.o(i._snputc) for _snputc
+ printf1.o(i.__0sprintf$1) refers to printf1.o(i._printf_core) for _printf_core
+ printf1.o(i.__0sprintf$1) refers to printf1.o(i._sputc) for _sputc
+ printf1.o(i.__0vfprintf$1) refers to printf1.o(i._printf_core) for _printf_core
+ printf1.o(i.__0vfprintf$1) refers to usart.o(i.fputc) for fputc
+ printf1.o(i.__0vprintf$1) refers to printf1.o(i._printf_core) for _printf_core
+ printf1.o(i.__0vprintf$1) refers to usart.o(i.fputc) for fputc
+ printf1.o(i.__0vprintf$1) refers to stdout.o(.data) for __stdout
+ printf1.o(i.__0vsnprintf$1) refers to printf1.o(i._printf_core) for _printf_core
+ printf1.o(i.__0vsnprintf$1) refers to printf1.o(i._snputc) for _snputc
+ printf1.o(i.__0vsprintf$1) refers to printf1.o(i._printf_core) for _printf_core
+ printf1.o(i.__0vsprintf$1) refers to printf1.o(i._sputc) for _sputc
+ printf1.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod
+ printf2.o(i.__0fprintf$2) refers to printf2.o(i._printf_core) for _printf_core
+ printf2.o(i.__0fprintf$2) refers to usart.o(i.fputc) for fputc
+ printf2.o(i.__0printf$2) refers to printf2.o(i._printf_core) for _printf_core
+ printf2.o(i.__0printf$2) refers to usart.o(i.fputc) for fputc
+ printf2.o(i.__0printf$2) refers to stdout.o(.data) for __stdout
+ printf2.o(i.__0snprintf$2) refers to printf2.o(i._printf_core) for _printf_core
+ printf2.o(i.__0snprintf$2) refers to printf2.o(i._snputc) for _snputc
+ printf2.o(i.__0sprintf$2) refers to printf2.o(i._printf_core) for _printf_core
+ printf2.o(i.__0sprintf$2) refers to printf2.o(i._sputc) for _sputc
+ printf2.o(i.__0vfprintf$2) refers to printf2.o(i._printf_core) for _printf_core
+ printf2.o(i.__0vfprintf$2) refers to usart.o(i.fputc) for fputc
+ printf2.o(i.__0vprintf$2) refers to printf2.o(i._printf_core) for _printf_core
+ printf2.o(i.__0vprintf$2) refers to usart.o(i.fputc) for fputc
+ printf2.o(i.__0vprintf$2) refers to stdout.o(.data) for __stdout
+ printf2.o(i.__0vsnprintf$2) refers to printf2.o(i._printf_core) for _printf_core
+ printf2.o(i.__0vsnprintf$2) refers to printf2.o(i._snputc) for _snputc
+ printf2.o(i.__0vsprintf$2) refers to printf2.o(i._printf_core) for _printf_core
+ printf2.o(i.__0vsprintf$2) refers to printf2.o(i._sputc) for _sputc
+ printf3.o(i.__0fprintf$3) refers to printf3.o(i._printf_core) for _printf_core
+ printf3.o(i.__0fprintf$3) refers to usart.o(i.fputc) for fputc
+ printf3.o(i.__0printf$3) refers to printf3.o(i._printf_core) for _printf_core
+ printf3.o(i.__0printf$3) refers to usart.o(i.fputc) for fputc
+ printf3.o(i.__0printf$3) refers to stdout.o(.data) for __stdout
+ printf3.o(i.__0snprintf$3) refers to printf3.o(i._printf_core) for _printf_core
+ printf3.o(i.__0snprintf$3) refers to printf3.o(i._snputc) for _snputc
+ printf3.o(i.__0sprintf$3) refers to printf3.o(i._printf_core) for _printf_core
+ printf3.o(i.__0sprintf$3) refers to printf3.o(i._sputc) for _sputc
+ printf3.o(i.__0vfprintf$3) refers to printf3.o(i._printf_core) for _printf_core
+ printf3.o(i.__0vfprintf$3) refers to usart.o(i.fputc) for fputc
+ printf3.o(i.__0vprintf$3) refers to printf3.o(i._printf_core) for _printf_core
+ printf3.o(i.__0vprintf$3) refers to usart.o(i.fputc) for fputc
+ printf3.o(i.__0vprintf$3) refers to stdout.o(.data) for __stdout
+ printf3.o(i.__0vsnprintf$3) refers to printf3.o(i._printf_core) for _printf_core
+ printf3.o(i.__0vsnprintf$3) refers to printf3.o(i._snputc) for _snputc
+ printf3.o(i.__0vsprintf$3) refers to printf3.o(i._printf_core) for _printf_core
+ printf3.o(i.__0vsprintf$3) refers to printf3.o(i._sputc) for _sputc
+ printf3.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod
+ printf4.o(i.__0fprintf$4) refers to printf4.o(i._printf_core) for _printf_core
+ printf4.o(i.__0fprintf$4) refers to usart.o(i.fputc) for fputc
+ printf4.o(i.__0printf$4) refers to printf4.o(i._printf_core) for _printf_core
+ printf4.o(i.__0printf$4) refers to usart.o(i.fputc) for fputc
+ printf4.o(i.__0printf$4) refers to stdout.o(.data) for __stdout
+ printf4.o(i.__0snprintf$4) refers to printf4.o(i._printf_core) for _printf_core
+ printf4.o(i.__0snprintf$4) refers to printf4.o(i._snputc) for _snputc
+ printf4.o(i.__0sprintf$4) refers to printf4.o(i._printf_core) for _printf_core
+ printf4.o(i.__0sprintf$4) refers to printf4.o(i._sputc) for _sputc
+ printf4.o(i.__0vfprintf$4) refers to printf4.o(i._printf_core) for _printf_core
+ printf4.o(i.__0vfprintf$4) refers to usart.o(i.fputc) for fputc
+ printf4.o(i.__0vprintf$4) refers to printf4.o(i._printf_core) for _printf_core
+ printf4.o(i.__0vprintf$4) refers to usart.o(i.fputc) for fputc
+ printf4.o(i.__0vprintf$4) refers to stdout.o(.data) for __stdout
+ printf4.o(i.__0vsnprintf$4) refers to printf4.o(i._printf_core) for _printf_core
+ printf4.o(i.__0vsnprintf$4) refers to printf4.o(i._snputc) for _snputc
+ printf4.o(i.__0vsprintf$4) refers to printf4.o(i._printf_core) for _printf_core
+ printf4.o(i.__0vsprintf$4) refers to printf4.o(i._sputc) for _sputc
+ printf4.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod
+ printf5.o(i.__0fprintf$5) refers to printf5.o(i._printf_core) for _printf_core
+ printf5.o(i.__0fprintf$5) refers to usart.o(i.fputc) for fputc
+ printf5.o(i.__0printf$5) refers to printf5.o(i._printf_core) for _printf_core
+ printf5.o(i.__0printf$5) refers to usart.o(i.fputc) for fputc
+ printf5.o(i.__0printf$5) refers to stdout.o(.data) for __stdout
+ printf5.o(i.__0snprintf$5) refers to printf5.o(i._printf_core) for _printf_core
+ printf5.o(i.__0snprintf$5) refers to printf5.o(i._snputc) for _snputc
+ printf5.o(i.__0sprintf$5) refers to printf5.o(i._printf_core) for _printf_core
+ printf5.o(i.__0sprintf$5) refers to printf5.o(i._sputc) for _sputc
+ printf5.o(i.__0vfprintf$5) refers to printf5.o(i._printf_core) for _printf_core
+ printf5.o(i.__0vfprintf$5) refers to usart.o(i.fputc) for fputc
+ printf5.o(i.__0vprintf$5) refers to printf5.o(i._printf_core) for _printf_core
+ printf5.o(i.__0vprintf$5) refers to usart.o(i.fputc) for fputc
+ printf5.o(i.__0vprintf$5) refers to stdout.o(.data) for __stdout
+ printf5.o(i.__0vsnprintf$5) refers to printf5.o(i._printf_core) for _printf_core
+ printf5.o(i.__0vsnprintf$5) refers to printf5.o(i._snputc) for _snputc
+ printf5.o(i.__0vsprintf$5) refers to printf5.o(i._printf_core) for _printf_core
+ printf5.o(i.__0vsprintf$5) refers to printf5.o(i._sputc) for _sputc
+ printf5.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod
+ printf6.o(i.__0fprintf$6) refers to printf6.o(i._printf_core) for _printf_core
+ printf6.o(i.__0fprintf$6) refers to usart.o(i.fputc) for fputc
+ printf6.o(i.__0printf$6) refers to printf6.o(i._printf_core) for _printf_core
+ printf6.o(i.__0printf$6) refers to usart.o(i.fputc) for fputc
+ printf6.o(i.__0printf$6) refers to stdout.o(.data) for __stdout
+ printf6.o(i.__0snprintf$6) refers to printf6.o(i._printf_core) for _printf_core
+ printf6.o(i.__0snprintf$6) refers to printf6.o(i._snputc) for _snputc
+ printf6.o(i.__0sprintf$6) refers to printf6.o(i._printf_core) for _printf_core
+ printf6.o(i.__0sprintf$6) refers to printf6.o(i._sputc) for _sputc
+ printf6.o(i.__0vfprintf$6) refers to printf6.o(i._printf_core) for _printf_core
+ printf6.o(i.__0vfprintf$6) refers to usart.o(i.fputc) for fputc
+ printf6.o(i.__0vprintf$6) refers to printf6.o(i._printf_core) for _printf_core
+ printf6.o(i.__0vprintf$6) refers to usart.o(i.fputc) for fputc
+ printf6.o(i.__0vprintf$6) refers to stdout.o(.data) for __stdout
+ printf6.o(i.__0vsnprintf$6) refers to printf6.o(i._printf_core) for _printf_core
+ printf6.o(i.__0vsnprintf$6) refers to printf6.o(i._snputc) for _snputc
+ printf6.o(i.__0vsprintf$6) refers to printf6.o(i._printf_core) for _printf_core
+ printf6.o(i.__0vsprintf$6) refers to printf6.o(i._sputc) for _sputc
+ printf6.o(i._printf_core) refers to printf6.o(i._printf_pre_padding) for _printf_pre_padding
+ printf6.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod
+ printf6.o(i._printf_core) refers to printf6.o(i._printf_post_padding) for _printf_post_padding
+ printf7.o(i.__0fprintf$7) refers to printf7.o(i._printf_core) for _printf_core
+ printf7.o(i.__0fprintf$7) refers to usart.o(i.fputc) for fputc
+ printf7.o(i.__0printf$7) refers to printf7.o(i._printf_core) for _printf_core
+ printf7.o(i.__0printf$7) refers to usart.o(i.fputc) for fputc
+ printf7.o(i.__0printf$7) refers to stdout.o(.data) for __stdout
+ printf7.o(i.__0snprintf$7) refers to printf7.o(i._printf_core) for _printf_core
+ printf7.o(i.__0snprintf$7) refers to printf7.o(i._snputc) for _snputc
+ printf7.o(i.__0sprintf$7) refers to printf7.o(i._printf_core) for _printf_core
+ printf7.o(i.__0sprintf$7) refers to printf7.o(i._sputc) for _sputc
+ printf7.o(i.__0vfprintf$7) refers to printf7.o(i._printf_core) for _printf_core
+ printf7.o(i.__0vfprintf$7) refers to usart.o(i.fputc) for fputc
+ printf7.o(i.__0vprintf$7) refers to printf7.o(i._printf_core) for _printf_core
+ printf7.o(i.__0vprintf$7) refers to usart.o(i.fputc) for fputc
+ printf7.o(i.__0vprintf$7) refers to stdout.o(.data) for __stdout
+ printf7.o(i.__0vsnprintf$7) refers to printf7.o(i._printf_core) for _printf_core
+ printf7.o(i.__0vsnprintf$7) refers to printf7.o(i._snputc) for _snputc
+ printf7.o(i.__0vsprintf$7) refers to printf7.o(i._printf_core) for _printf_core
+ printf7.o(i.__0vsprintf$7) refers to printf7.o(i._sputc) for _sputc
+ printf7.o(i._printf_core) refers to printf7.o(i._printf_pre_padding) for _printf_pre_padding
+ printf7.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod
+ printf7.o(i._printf_core) refers to printf7.o(i._printf_post_padding) for _printf_post_padding
+ printf8.o(i.__0fprintf$8) refers to printf8.o(i._printf_core) for _printf_core
+ printf8.o(i.__0fprintf$8) refers to usart.o(i.fputc) for fputc
+ printf8.o(i.__0printf$8) refers to printf8.o(i._printf_core) for _printf_core
+ printf8.o(i.__0printf$8) refers to usart.o(i.fputc) for fputc
+ printf8.o(i.__0printf$8) refers to stdout.o(.data) for __stdout
+ printf8.o(i.__0snprintf$8) refers to printf8.o(i._printf_core) for _printf_core
+ printf8.o(i.__0snprintf$8) refers to printf8.o(i._snputc) for _snputc
+ printf8.o(i.__0sprintf$8) refers to printf8.o(i._printf_core) for _printf_core
+ printf8.o(i.__0sprintf$8) refers to printf8.o(i._sputc) for _sputc
+ printf8.o(i.__0vfprintf$8) refers to printf8.o(i._printf_core) for _printf_core
+ printf8.o(i.__0vfprintf$8) refers to usart.o(i.fputc) for fputc
+ printf8.o(i.__0vprintf$8) refers to printf8.o(i._printf_core) for _printf_core
+ printf8.o(i.__0vprintf$8) refers to usart.o(i.fputc) for fputc
+ printf8.o(i.__0vprintf$8) refers to stdout.o(.data) for __stdout
+ printf8.o(i.__0vsnprintf$8) refers to printf8.o(i._printf_core) for _printf_core
+ printf8.o(i.__0vsnprintf$8) refers to printf8.o(i._snputc) for _snputc
+ printf8.o(i.__0vsprintf$8) refers to printf8.o(i._printf_core) for _printf_core
+ printf8.o(i.__0vsprintf$8) refers to printf8.o(i._sputc) for _sputc
+ printf8.o(i._printf_core) refers to printf8.o(i._printf_pre_padding) for _printf_pre_padding
+ printf8.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod
+ printf8.o(i._printf_core) refers to printf8.o(i._printf_post_padding) for _printf_post_padding
+ printfa.o(i.__0fprintf) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i.__0fprintf) refers to printfa.o(i._printf_core) for _printf_core
+ printfa.o(i.__0fprintf) refers to usart.o(i.fputc) for fputc
+ printfa.o(i.__0printf) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i.__0printf) refers to printfa.o(i._printf_core) for _printf_core
+ printfa.o(i.__0printf) refers to usart.o(i.fputc) for fputc
+ printfa.o(i.__0printf) refers to stdout.o(.data) for __stdout
+ printfa.o(i.__0snprintf) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i.__0snprintf) refers to printfa.o(i._printf_core) for _printf_core
+ printfa.o(i.__0snprintf) refers to printfa.o(i._snputc) for _snputc
+ printfa.o(i.__0sprintf) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i.__0sprintf) refers to printfa.o(i._printf_core) for _printf_core
+ printfa.o(i.__0sprintf) refers to printfa.o(i._sputc) for _sputc
+ printfa.o(i.__0vfprintf) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i.__0vfprintf) refers to printfa.o(i._printf_core) for _printf_core
+ printfa.o(i.__0vfprintf) refers to usart.o(i.fputc) for fputc
+ printfa.o(i.__0vprintf) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i.__0vprintf) refers to printfa.o(i._printf_core) for _printf_core
+ printfa.o(i.__0vprintf) refers to usart.o(i.fputc) for fputc
+ printfa.o(i.__0vprintf) refers to stdout.o(.data) for __stdout
+ printfa.o(i.__0vsnprintf) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i.__0vsnprintf) refers to printfa.o(i._printf_core) for _printf_core
+ printfa.o(i.__0vsnprintf) refers to printfa.o(i._snputc) for _snputc
+ printfa.o(i.__0vsprintf) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i.__0vsprintf) refers to printfa.o(i._printf_core) for _printf_core
+ printfa.o(i.__0vsprintf) refers to printfa.o(i._sputc) for _sputc
+ printfa.o(i._fp_digits) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i._fp_digits) refers to dmul.o(.text) for __aeabi_dmul
+ printfa.o(i._fp_digits) refers to ddiv.o(.text) for __aeabi_ddiv
+ printfa.o(i._fp_digits) refers to cdrcmple.o(.text) for __aeabi_cdrcmple
+ printfa.o(i._fp_digits) refers to dadd.o(.text) for __aeabi_dadd
+ printfa.o(i._fp_digits) refers to dfixul.o(.text) for __aeabi_d2ulz
+ printfa.o(i._fp_digits) refers to uldiv.o(.text) for __aeabi_uldivmod
+ printfa.o(i._printf_core) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i._printf_core) refers to printfa.o(i._printf_pre_padding) for _printf_pre_padding
+ printfa.o(i._printf_core) refers to uldiv.o(.text) for __aeabi_uldivmod
+ printfa.o(i._printf_core) refers to printfa.o(i._printf_post_padding) for _printf_post_padding
+ printfa.o(i._printf_core) refers to printfa.o(i._fp_digits) for _fp_digits
+ printfa.o(i._printf_core) refers to uidiv.o(.text) for __aeabi_uidivmod
+ printfa.o(i._printf_post_padding) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i._printf_pre_padding) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i._snputc) refers (Special) to iusefp.o(.text) for __I$use$fp
+ printfa.o(i._sputc) refers (Special) to iusefp.o(.text) for __I$use$fp
+ fdiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
+ fdiv.o(.text) refers to fepilogue.o(.text) for _float_round
+ fflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
+ fflti.o(.text) refers to fepilogue.o(.text) for _float_epilogue
+ ffltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
+ ffltui.o(.text) refers to fepilogue.o(.text) for _float_epilogue
+ ffixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
+ f2d.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp
+ entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000
+ entry2.o(.ARM.Collect$$$$00002712) refers to startup_stm32f103xb.o(STACK) for __initial_sp
+ entry2.o(__vectab_stack_and_reset_area) refers to startup_stm32f103xb.o(STACK) for __initial_sp
+ entry2.o(__vectab_stack_and_reset_area) refers to entry.o(.ARM.Collect$$$$00000000) for __main
+ entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload
+ entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(i.main) for main
+ entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(i.main) for main
+ uldiv.o(.text) refers to llushr.o(.text) for __aeabi_llsr
+ uldiv.o(.text) refers to llshl.o(.text) for __aeabi_llsl
+ dadd.o(.text) refers to llshl.o(.text) for __aeabi_llsl
+ dadd.o(.text) refers to llsshr.o(.text) for __aeabi_lasr
+ dadd.o(.text) refers to depilogue.o(.text) for _double_epilogue
+ dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue
+ ddiv.o(.text) refers to depilogue.o(.text) for _double_round
+ dfixul.o(.text) refers to llushr.o(.text) for __aeabi_llsr
+ dfixul.o(.text) refers to llshl.o(.text) for __aeabi_llsl
+ init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload
+ depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl
+ depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr
+
+
+==============================================================================
+
+Removing Unused input sections from the image.
+
+ Removing startup_stm32f103xb.o(HEAP), (512 bytes).
+ Removing main.o(.rev16_text), (4 bytes).
+ Removing main.o(.revsh_text), (4 bytes).
+ Removing main.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_it.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_it.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_it.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_msp.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_msp.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_msp.o(.rrx_text), (6 bytes).
+ Removing usart.o(.rev16_text), (4 bytes).
+ Removing usart.o(.revsh_text), (4 bytes).
+ Removing usart.o(.rrx_text), (6 bytes).
+ Removing usart.o(i.HAL_UART_MspDeInit), (48 bytes).
+ Removing i2c.o(.rev16_text), (4 bytes).
+ Removing i2c.o(.revsh_text), (4 bytes).
+ Removing i2c.o(.rrx_text), (6 bytes).
+ Removing i2c.o(i.HC_I2C_Ack), (52 bytes).
+ Removing usb_device.o(.rev16_text), (4 bytes).
+ Removing usb_device.o(.revsh_text), (4 bytes).
+ Removing usb_device.o(.rrx_text), (6 bytes).
+ Removing usbd_desc.o(.rev16_text), (4 bytes).
+ Removing usbd_desc.o(.revsh_text), (4 bytes).
+ Removing usbd_desc.o(.rrx_text), (6 bytes).
+ Removing usbd_custom_hid_if.o(.rev16_text), (4 bytes).
+ Removing usbd_custom_hid_if.o(.revsh_text), (4 bytes).
+ Removing usbd_custom_hid_if.o(.rrx_text), (6 bytes).
+ Removing usbd_conf.o(.rev16_text), (4 bytes).
+ Removing usbd_conf.o(.revsh_text), (4 bytes).
+ Removing usbd_conf.o(.rrx_text), (6 bytes).
+ Removing usbd_conf.o(i.HAL_PCD_ConnectCallback), (14 bytes).
+ Removing usbd_conf.o(i.HAL_PCD_DisconnectCallback), (14 bytes).
+ Removing usbd_conf.o(i.HAL_PCD_ISOINIncompleteCallback), (18 bytes).
+ Removing usbd_conf.o(i.HAL_PCD_ISOOUTIncompleteCallback), (18 bytes).
+ Removing usbd_conf.o(i.HAL_PCD_MspDeInit), (40 bytes).
+ Removing usbd_conf.o(i.USBD_LL_DeInit), (30 bytes).
+ Removing usbd_conf.o(i.USBD_LL_Delay), (12 bytes).
+ Removing usbd_conf.o(i.USBD_LL_FlushEP), (38 bytes).
+ Removing usbd_conf.o(i.USBD_LL_GetRxDataSize), (18 bytes).
+ Removing usbd_conf.o(i.USBD_LL_Stop), (30 bytes).
+ Removing stm32f1xx_hal_gpio_ex.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_gpio_ex.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_gpio_ex.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_gpio_ex.o(i.HAL_GPIOEx_ConfigEventout), (24 bytes).
+ Removing stm32f1xx_hal_gpio_ex.o(i.HAL_GPIOEx_DisableEventout), (20 bytes).
+ Removing stm32f1xx_hal_gpio_ex.o(i.HAL_GPIOEx_EnableEventout), (20 bytes).
+ Removing stm32f1xx_hal_pcd.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_pcd.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_pcd.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_ActivateRemoteWakeup), (12 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_ConnectCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_DataInStageCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_DataOutStageCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_DeActivateRemoteWakeup), (12 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_DeInit), (44 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_DevConnect), (54 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_DevDisconnect), (54 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_DisconnectCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Abort), (66 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Flush), (68 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_GetRxCount), (22 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_GetState), (8 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_ISOINIncompleteCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_ISOOUTIncompleteCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_MspDeInit), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_MspInit), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_ResetCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_ResumeCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_SOFCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_SetupStageCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_Stop), (60 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_SuspendCallback), (2 bytes).
+ Removing stm32f1xx_hal_pcd.o(i.HAL_PCD_WKUP_IRQHandler), (16 bytes).
+ Removing stm32f1xx_hal_pcd_ex.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_pcd_ex.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_pcd_ex.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_pcd_ex.o(i.HAL_PCDEx_BCD_Callback), (2 bytes).
+ Removing stm32f1xx_hal_pcd_ex.o(i.HAL_PCDEx_LPM_Callback), (2 bytes).
+ Removing stm32f1xx_hal_pcd_ex.o(i.HAL_PCDEx_SetConnectionState), (2 bytes).
+ Removing stm32f1xx_ll_usb.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_ll_usb.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_ll_usb.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_ActivateRemoteWakeup), (18 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_ClearInterrupts), (2 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_DeActivateRemoteWakeup), (20 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_EPStopXfer), (188 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_FlushRxFifo), (6 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_FlushTxFifo), (6 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_ReadDevAllInEpInterrupt), (6 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_ReadDevAllOutEpInterrupt), (6 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_ReadDevInEPInterrupt), (6 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_ReadDevOutEPInterrupt), (6 bytes).
+ Removing stm32f1xx_ll_usb.o(i.USB_StopDevice), (22 bytes).
+ Removing stm32f1xx_hal.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_DBGMCU_DisableDBGSleepMode), (20 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_DBGMCU_DisableDBGStandbyMode), (20 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_DBGMCU_DisableDBGStopMode), (20 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGSleepMode), (20 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGStandbyMode), (20 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGStopMode), (20 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_DeInit), (36 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_GetDEVID), (16 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_GetHalVersion), (8 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_GetREVID), (12 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_GetTickFreq), (12 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_GetTickPrio), (12 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_GetUIDw0), (12 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_GetUIDw1), (12 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_GetUIDw2), (12 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_MspDeInit), (2 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_MspInit), (2 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_ResumeTick), (18 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_SetTickFreq), (48 bytes).
+ Removing stm32f1xx_hal.o(i.HAL_SuspendTick), (18 bytes).
+ Removing stm32f1xx_hal_rcc.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_rcc.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_rcc.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_CSSCallback), (2 bytes).
+ Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_DeInit), (272 bytes).
+ Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_DisableCSS), (12 bytes).
+ Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_EnableCSS), (12 bytes).
+ Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_GetClockConfig), (68 bytes).
+ Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_GetOscConfig), (200 bytes).
+ Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_MCOConfig), (100 bytes).
+ Removing stm32f1xx_hal_rcc.o(i.HAL_RCC_NMI_IRQHandler), (32 bytes).
+ Removing stm32f1xx_hal_rcc_ex.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_rcc_ex.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_rcc_ex.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKConfig), (60 bytes).
+ Removing stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq), (252 bytes).
+ Removing stm32f1xx_hal_rcc_ex.o(.constdata), (18 bytes).
+ Removing stm32f1xx_hal_gpio.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_gpio.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_gpio.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_DeInit), (308 bytes).
+ Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_EXTI_Callback), (2 bytes).
+ Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_EXTI_IRQHandler), (28 bytes).
+ Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_LockPin), (46 bytes).
+ Removing stm32f1xx_hal_gpio.o(i.HAL_GPIO_TogglePin), (20 bytes).
+ Removing stm32f1xx_hal_dma.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_dma.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_dma.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_dma.o(i.DMA_SetConfig), (44 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Abort), (86 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Abort_IT), (176 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_DeInit), (104 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_GetError), (6 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_GetState), (8 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_IRQHandler), (412 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Init), (104 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_PollForTransfer), (692 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_RegisterCallback), (90 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Start), (114 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_Start_IT), (156 bytes).
+ Removing stm32f1xx_hal_dma.o(i.HAL_DMA_UnRegisterCallback), (106 bytes).
+ Removing stm32f1xx_hal_cortex.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_cortex.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_cortex.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_ClearPendingIRQ), (36 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ), (68 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetActive), (48 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetPendingIRQ), (48 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetPriority), (148 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_GetPriorityGrouping), (8 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPendingIRQ), (36 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_NVIC_SystemReset), (68 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig), (40 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Callback), (2 bytes).
+ Removing stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler), (8 bytes).
+ Removing stm32f1xx_hal_pwr.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_pwr.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_pwr.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_ConfigPVD), (180 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DeInit), (28 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisableBkUpAccess), (12 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisablePVD), (12 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisableSEVOnPend), (20 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisableSleepOnExit), (20 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_DisableWakeUpPin), (28 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnableBkUpAccess), (12 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnablePVD), (12 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnableSEVOnPend), (20 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnableSleepOnExit), (20 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnableWakeUpPin), (28 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnterSLEEPMode), (32 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnterSTANDBYMode), (40 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_EnterSTOPMode), (84 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_PVDCallback), (2 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.HAL_PWR_PVD_IRQHandler), (32 bytes).
+ Removing stm32f1xx_hal_pwr.o(i.PWR_OverloadWfe), (6 bytes).
+ Removing stm32f1xx_hal_flash.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_flash.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_flash.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_flash.o(i.FLASH_Program_HalfWord), (32 bytes).
+ Removing stm32f1xx_hal_flash.o(i.FLASH_SetErrorCode), (132 bytes).
+ Removing stm32f1xx_hal_flash.o(i.FLASH_WaitForLastOperation), (112 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_EndOfOperationCallback), (2 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_GetError), (12 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_IRQHandler), (384 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_Lock), (20 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_OB_Launch), (8 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_OB_Lock), (20 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_OB_Unlock), (44 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_OperationErrorCallback), (2 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_Program), (176 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_Program_IT), (124 bytes).
+ Removing stm32f1xx_hal_flash.o(i.HAL_FLASH_Unlock), (48 bytes).
+ Removing stm32f1xx_hal_flash.o(.bss), (32 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_MassErase), (40 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP), (232 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP), (236 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetRDP), (28 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetUser), (16 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_GetWRP), (12 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_ProgramData), (76 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig), (124 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_OB_UserConfig), (84 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.FLASH_PageErase), (40 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase), (176 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT), (100 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase), (96 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig), (28 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetUserData), (40 bytes).
+ Removing stm32f1xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram), (200 bytes).
+ Removing stm32f1xx_hal_exti.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_exti.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_exti.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_ClearConfigLine), (120 bytes).
+ Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_ClearPending), (28 bytes).
+ Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_GenerateSWI), (24 bytes).
+ Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_GetConfigLine), (156 bytes).
+ Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_GetHandle), (14 bytes).
+ Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_GetPending), (36 bytes).
+ Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_IRQHandler), (44 bytes).
+ Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_RegisterCallback), (20 bytes).
+ Removing stm32f1xx_hal_exti.o(i.HAL_EXTI_SetConfigLine), (240 bytes).
+ Removing stm32f1xx_hal_tim.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_tim.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_tim.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_tim_ex.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_tim_ex.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_tim_ex.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_uart.o(.rev16_text), (4 bytes).
+ Removing stm32f1xx_hal_uart.o(.revsh_text), (4 bytes).
+ Removing stm32f1xx_hal_uart.o(.rrx_text), (6 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_EnableReceiver), (68 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_EnableTransmitter), (68 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_HalfDuplex_Init), (122 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_LIN_Init), (146 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_LIN_SendBreak), (80 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_EnterMuteMode), (82 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_ExitMuteMode), (82 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_MultiProcessor_Init), (158 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UARTEx_GetRxEventType), (6 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UARTEx_ReceiveToIdle), (296 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UARTEx_ReceiveToIdle_DMA), (114 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UARTEx_ReceiveToIdle_IT), (114 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UARTEx_RxEventCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_Abort), (278 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortCpltCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive), (194 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceiveCpltCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortReceive_IT), (216 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit), (124 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmitCpltCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_AbortTransmit_IT), (144 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_Abort_IT), (328 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_DMAPause), (166 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_DMAResume), (170 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_DMAStop), (138 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_DeInit), (62 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_ErrorCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_GetError), (6 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_GetState), (20 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_IRQHandler), (740 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_MspDeInit), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_MspInit), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive), (188 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive_DMA), (44 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_Receive_IT), (44 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_RxCpltCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_RxHalfCpltCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_DMA), (140 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_Transmit_IT), (56 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_TxCpltCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.HAL_UART_TxHalfCpltCallback), (2 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMAAbortOnError), (20 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMAError), (80 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMAReceiveCplt), (180 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMARxAbortCallback), (56 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMARxHalfCplt), (36 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMARxOnlyAbortCallback), (28 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMATransmitCplt), (88 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMATxAbortCallback), (56 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMATxHalfCplt), (14 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_DMATxOnlyAbortCallback), (24 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_EndRxTransfer), (108 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_EndTransmit_IT), (32 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_EndTxTransfer), (38 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_Receive_IT), (252 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_Start_Receive_DMA), (200 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_Start_Receive_IT), (64 bytes).
+ Removing stm32f1xx_hal_uart.o(i.UART_Transmit_IT), (96 bytes).
+ Removing system_stm32f1xx.o(.rev16_text), (4 bytes).
+ Removing system_stm32f1xx.o(.revsh_text), (4 bytes).
+ Removing system_stm32f1xx.o(.rrx_text), (6 bytes).
+ Removing system_stm32f1xx.o(i.SystemCoreClockUpdate), (164 bytes).
+ Removing usbd_core.o(.rev16_text), (4 bytes).
+ Removing usbd_core.o(.revsh_text), (4 bytes).
+ Removing usbd_core.o(.rrx_text), (6 bytes).
+ Removing usbd_core.o(i.USBD_DeInit), (38 bytes).
+ Removing usbd_core.o(i.USBD_LL_DevConnected), (6 bytes).
+ Removing usbd_core.o(i.USBD_LL_DevDisconnected), (26 bytes).
+ Removing usbd_core.o(i.USBD_LL_IsoINIncomplete), (6 bytes).
+ Removing usbd_core.o(i.USBD_LL_IsoOUTIncomplete), (6 bytes).
+ Removing usbd_core.o(i.USBD_Stop), (26 bytes).
+ Removing usbd_ctlreq.o(.rev16_text), (4 bytes).
+ Removing usbd_ctlreq.o(.revsh_text), (4 bytes).
+ Removing usbd_ctlreq.o(.rrx_text), (6 bytes).
+ Removing usbd_ioreq.o(.rev16_text), (4 bytes).
+ Removing usbd_ioreq.o(.revsh_text), (4 bytes).
+ Removing usbd_ioreq.o(.rrx_text), (6 bytes).
+ Removing usbd_ioreq.o(i.USBD_GetRxCount), (16 bytes).
+ Removing usbd_customhid.o(.rev16_text), (4 bytes).
+ Removing usbd_customhid.o(.revsh_text), (4 bytes).
+ Removing usbd_customhid.o(.rrx_text), (6 bytes).
+
+331 unused section(s) (total 16478 bytes) removed from the image.
+
+==============================================================================
+
+Image Symbol Table
+
+ Local Symbols
+
+ Symbol Name Value Ov Type Size Object(Section)
+
+ ../Core/Src/main.c 0x00000000 Number 0 main.o ABSOLUTE
+ ../Core/Src/stm32f1xx_hal_msp.c 0x00000000 Number 0 stm32f1xx_hal_msp.o ABSOLUTE
+ ../Core/Src/stm32f1xx_it.c 0x00000000 Number 0 stm32f1xx_it.o ABSOLUTE
+ ../Core/Src/system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c 0x00000000 Number 0 stm32f1xx_hal.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c 0x00000000 Number 0 stm32f1xx_hal_cortex.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c 0x00000000 Number 0 stm32f1xx_hal_dma.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c 0x00000000 Number 0 stm32f1xx_hal_exti.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c 0x00000000 Number 0 stm32f1xx_hal_flash.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c 0x00000000 Number 0 stm32f1xx_hal_flash_ex.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c 0x00000000 Number 0 stm32f1xx_hal_gpio.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c 0x00000000 Number 0 stm32f1xx_hal_gpio_ex.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c 0x00000000 Number 0 stm32f1xx_hal_pcd.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c 0x00000000 Number 0 stm32f1xx_hal_pcd_ex.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c 0x00000000 Number 0 stm32f1xx_hal_pwr.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c 0x00000000 Number 0 stm32f1xx_hal_rcc.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c 0x00000000 Number 0 stm32f1xx_hal_rcc_ex.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c 0x00000000 Number 0 stm32f1xx_hal_tim.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c 0x00000000 Number 0 stm32f1xx_hal_tim_ex.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c 0x00000000 Number 0 stm32f1xx_hal_uart.o ABSOLUTE
+ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c 0x00000000 Number 0 stm32f1xx_ll_usb.o ABSOLUTE
+ ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid.c 0x00000000 Number 0 usbd_customhid.o ABSOLUTE
+ ../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c 0x00000000 Number 0 usbd_core.o ABSOLUTE
+ ../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c 0x00000000 Number 0 usbd_ctlreq.o ABSOLUTE
+ ../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c 0x00000000 Number 0 usbd_ioreq.o ABSOLUTE
+ ../USB_DEVICE/App/usb_device.c 0x00000000 Number 0 usb_device.o ABSOLUTE
+ ../USB_DEVICE/App/usbd_custom_hid_if.c 0x00000000 Number 0 usbd_custom_hid_if.o ABSOLUTE
+ ../USB_DEVICE/App/usbd_desc.c 0x00000000 Number 0 usbd_desc.o ABSOLUTE
+ ../USB_DEVICE/Target/usbd_conf.c 0x00000000 Number 0 usbd_conf.o ABSOLUTE
+ ../clib/../cmprslib/zerorunl2.c 0x00000000 Number 0 __dczerorl2.o ABSOLUTE
+ ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE
+ ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE
+ ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE
+ ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE
+ ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE
+ ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE
+ ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE
+ ../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE
+ ../clib/microlib/stdio/streams.c 0x00000000 Number 0 stdout.o ABSOLUTE
+ ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE
+ ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE
+ ../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE
+ ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE
+ ../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE
+ ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE
+ ../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE
+ ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE
+ ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE
+ ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE
+ ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE
+ ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE
+ ../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE
+ ../fplib/microlib/fpflt.c 0x00000000 Number 0 fflti.o ABSOLUTE
+ ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE
+ ..\Core\Src\i2c.c 0x00000000 Number 0 i2c.o ABSOLUTE
+ ..\Core\Src\main.c 0x00000000 Number 0 main.o ABSOLUTE
+ ..\Core\Src\stm32f1xx_hal_msp.c 0x00000000 Number 0 stm32f1xx_hal_msp.o ABSOLUTE
+ ..\Core\Src\stm32f1xx_it.c 0x00000000 Number 0 stm32f1xx_it.o ABSOLUTE
+ ..\Core\Src\system_stm32f1xx.c 0x00000000 Number 0 system_stm32f1xx.o ABSOLUTE
+ ..\Core\Src\usart.c 0x00000000 Number 0 usart.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c 0x00000000 Number 0 stm32f1xx_hal.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c 0x00000000 Number 0 stm32f1xx_hal_cortex.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c 0x00000000 Number 0 stm32f1xx_hal_dma.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c 0x00000000 Number 0 stm32f1xx_hal_exti.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash.c 0x00000000 Number 0 stm32f1xx_hal_flash.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_flash_ex.c 0x00000000 Number 0 stm32f1xx_hal_flash_ex.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c 0x00000000 Number 0 stm32f1xx_hal_gpio.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio_ex.c 0x00000000 Number 0 stm32f1xx_hal_gpio_ex.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pcd.c 0x00000000 Number 0 stm32f1xx_hal_pcd.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pcd_ex.c 0x00000000 Number 0 stm32f1xx_hal_pcd_ex.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c 0x00000000 Number 0 stm32f1xx_hal_pwr.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c 0x00000000 Number 0 stm32f1xx_hal_rcc.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc_ex.c 0x00000000 Number 0 stm32f1xx_hal_rcc_ex.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c 0x00000000 Number 0 stm32f1xx_hal_tim.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c 0x00000000 Number 0 stm32f1xx_hal_tim_ex.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c 0x00000000 Number 0 stm32f1xx_hal_uart.o ABSOLUTE
+ ..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_ll_usb.c 0x00000000 Number 0 stm32f1xx_ll_usb.o ABSOLUTE
+ ..\Middlewares\ST\STM32_USB_Device_Library\Class\CustomHID\Src\usbd_customhid.c 0x00000000 Number 0 usbd_customhid.o ABSOLUTE
+ ..\Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_core.c 0x00000000 Number 0 usbd_core.o ABSOLUTE
+ ..\Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ctlreq.c 0x00000000 Number 0 usbd_ctlreq.o ABSOLUTE
+ ..\Middlewares\ST\STM32_USB_Device_Library\Core\Src\usbd_ioreq.c 0x00000000 Number 0 usbd_ioreq.o ABSOLUTE
+ ..\USB_DEVICE\App\usb_device.c 0x00000000 Number 0 usb_device.o ABSOLUTE
+ ..\USB_DEVICE\App\usbd_custom_hid_if.c 0x00000000 Number 0 usbd_custom_hid_if.o ABSOLUTE
+ ..\USB_DEVICE\App\usbd_desc.c 0x00000000 Number 0 usbd_desc.o ABSOLUTE
+ ..\USB_DEVICE\Target\usbd_conf.c 0x00000000 Number 0 usbd_conf.o ABSOLUTE
+ ..\\Core\\Src\\i2c.c 0x00000000 Number 0 i2c.o ABSOLUTE
+ ..\\Core\\Src\\usart.c 0x00000000 Number 0 usart.o ABSOLUTE
+ cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE
+ dc.s 0x00000000 Number 0 dc.o ABSOLUTE
+ handlers.s 0x00000000 Number 0 handlers.o ABSOLUTE
+ init.s 0x00000000 Number 0 init.o ABSOLUTE
+ startup_stm32f103xb.s 0x00000000 Number 0 startup_stm32f103xb.o ABSOLUTE
+ RESET 0x08000000 Section 236 startup_stm32f103xb.o(RESET)
+ .ARM.Collect$$$$00000000 0x080000ec Section 0 entry.o(.ARM.Collect$$$$00000000)
+ .ARM.Collect$$$$00000001 0x080000ec Section 4 entry2.o(.ARM.Collect$$$$00000001)
+ .ARM.Collect$$$$00000004 0x080000f0 Section 4 entry5.o(.ARM.Collect$$$$00000004)
+ .ARM.Collect$$$$00000008 0x080000f4 Section 0 entry7b.o(.ARM.Collect$$$$00000008)
+ .ARM.Collect$$$$0000000A 0x080000f4 Section 0 entry8b.o(.ARM.Collect$$$$0000000A)
+ .ARM.Collect$$$$0000000B 0x080000f4 Section 8 entry9a.o(.ARM.Collect$$$$0000000B)
+ .ARM.Collect$$$$0000000D 0x080000fc Section 0 entry10a.o(.ARM.Collect$$$$0000000D)
+ .ARM.Collect$$$$0000000F 0x080000fc Section 0 entry11a.o(.ARM.Collect$$$$0000000F)
+ .ARM.Collect$$$$00002712 0x080000fc Section 4 entry2.o(.ARM.Collect$$$$00002712)
+ __lit__00000000 0x080000fc Data 4 entry2.o(.ARM.Collect$$$$00002712)
+ .text 0x08000100 Section 36 startup_stm32f103xb.o(.text)
+ .text 0x08000124 Section 0 llushr.o(.text)
+ .text 0x08000144 Section 0 memcpya.o(.text)
+ .text 0x08000168 Section 0 memseta.o(.text)
+ .text 0x0800018c Section 0 fdiv.o(.text)
+ .text 0x08000208 Section 0 fflti.o(.text)
+ .text 0x0800021a Section 0 ffltui.o(.text)
+ .text 0x08000224 Section 0 ffixi.o(.text)
+ .text 0x08000256 Section 0 f2d.o(.text)
+ .text 0x0800027c Section 0 uidiv.o(.text)
+ .text 0x080002a8 Section 0 uldiv.o(.text)
+ .text 0x0800030a Section 0 fepilogue.o(.text)
+ .text 0x0800030a Section 0 iusefp.o(.text)
+ .text 0x08000378 Section 0 dadd.o(.text)
+ .text 0x080004c6 Section 0 dmul.o(.text)
+ .text 0x080005aa Section 0 ddiv.o(.text)
+ .text 0x08000688 Section 0 dfixul.o(.text)
+ .text 0x080006b8 Section 48 cdrcmple.o(.text)
+ .text 0x080006e8 Section 36 init.o(.text)
+ .text 0x0800070c Section 0 llshl.o(.text)
+ .text 0x0800072a Section 0 llsshr.o(.text)
+ .text 0x0800074e Section 0 depilogue.o(.text)
+ .text 0x08000808 Section 0 __dczerorl2.o(.text)
+ i.BusFault_Handler 0x0800085e Section 0 stm32f1xx_it.o(i.BusFault_Handler)
+ i.CUSTOM_HID_DeInit_FS 0x08000862 Section 0 usbd_custom_hid_if.o(i.CUSTOM_HID_DeInit_FS)
+ CUSTOM_HID_DeInit_FS 0x08000863 Thumb Code 4 usbd_custom_hid_if.o(i.CUSTOM_HID_DeInit_FS)
+ i.CUSTOM_HID_Init_FS 0x08000866 Section 0 usbd_custom_hid_if.o(i.CUSTOM_HID_Init_FS)
+ CUSTOM_HID_Init_FS 0x08000867 Thumb Code 4 usbd_custom_hid_if.o(i.CUSTOM_HID_Init_FS)
+ i.CUSTOM_HID_OutEvent_FS 0x0800086a Section 0 usbd_custom_hid_if.o(i.CUSTOM_HID_OutEvent_FS)
+ CUSTOM_HID_OutEvent_FS 0x0800086b Thumb Code 6 usbd_custom_hid_if.o(i.CUSTOM_HID_OutEvent_FS)
+ i.DebugMon_Handler 0x08000870 Section 0 stm32f1xx_it.o(i.DebugMon_Handler)
+ i.Error_Handler 0x08000872 Section 0 main.o(i.Error_Handler)
+ i.Get_SerialNum 0x08000878 Section 0 usbd_desc.o(i.Get_SerialNum)
+ Get_SerialNum 0x08000879 Thumb Code 42 usbd_desc.o(i.Get_SerialNum)
+ i.HAL_Delay 0x080008ac Section 0 stm32f1xx_hal.o(i.HAL_Delay)
+ i.HAL_GPIO_Init 0x080008d4 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)
+ i.HAL_GPIO_ReadPin 0x08000bf4 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin)
+ i.HAL_GPIO_WritePin 0x08000c04 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)
+ i.HAL_GetTick 0x08000c10 Section 0 stm32f1xx_hal.o(i.HAL_GetTick)
+ i.HAL_IncTick 0x08000c1c Section 0 stm32f1xx_hal.o(i.HAL_IncTick)
+ i.HAL_Init 0x08000c34 Section 0 stm32f1xx_hal.o(i.HAL_Init)
+ i.HAL_InitTick 0x08000c5c Section 0 stm32f1xx_hal.o(i.HAL_InitTick)
+ i.HAL_MspInit 0x08000ca8 Section 0 stm32f1xx_hal_msp.o(i.HAL_MspInit)
+ i.HAL_NVIC_EnableIRQ 0x08000ce8 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
+ i.HAL_NVIC_SetPriority 0x08000d08 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
+ i.HAL_NVIC_SetPriorityGrouping 0x08000d84 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)
+ i.HAL_PCDEx_PMAConfig 0x08000dac Section 0 stm32f1xx_hal_pcd_ex.o(i.HAL_PCDEx_PMAConfig)
+ i.HAL_PCDEx_SetConnectionState 0x08000df0 Section 0 usbd_conf.o(i.HAL_PCDEx_SetConnectionState)
+ i.HAL_PCD_DataInStageCallback 0x08000df2 Section 0 usbd_conf.o(i.HAL_PCD_DataInStageCallback)
+ i.HAL_PCD_DataOutStageCallback 0x08000e12 Section 0 usbd_conf.o(i.HAL_PCD_DataOutStageCallback)
+ i.HAL_PCD_EP_Close 0x08000e32 Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Close)
+ i.HAL_PCD_EP_ClrStall 0x08000e9c Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_ClrStall)
+ i.HAL_PCD_EP_DB_Receive 0x08000f18 Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Receive)
+ HAL_PCD_EP_DB_Receive 0x08000f19 Thumb Code 344 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Receive)
+ i.HAL_PCD_EP_DB_Transmit 0x08001070 Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Transmit)
+ HAL_PCD_EP_DB_Transmit 0x08001071 Thumb Code 1342 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_DB_Transmit)
+ i.HAL_PCD_EP_Open 0x080015ae Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Open)
+ i.HAL_PCD_EP_Receive 0x08001632 Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Receive)
+ i.HAL_PCD_EP_SetStall 0x0800166e Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_SetStall)
+ i.HAL_PCD_EP_Transmit 0x080016f6 Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Transmit)
+ i.HAL_PCD_IRQHandler 0x0800173c Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler)
+ i.HAL_PCD_Init 0x08001908 Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_Init)
+ i.HAL_PCD_MspInit 0x08001a54 Section 0 usbd_conf.o(i.HAL_PCD_MspInit)
+ i.HAL_PCD_ResetCallback 0x08001a98 Section 0 usbd_conf.o(i.HAL_PCD_ResetCallback)
+ i.HAL_PCD_ResumeCallback 0x08001abc Section 0 usbd_conf.o(i.HAL_PCD_ResumeCallback)
+ i.HAL_PCD_SOFCallback 0x08001aca Section 0 usbd_conf.o(i.HAL_PCD_SOFCallback)
+ i.HAL_PCD_SetAddress 0x08001ad8 Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_SetAddress)
+ i.HAL_PCD_SetupStageCallback 0x08001b0e Section 0 usbd_conf.o(i.HAL_PCD_SetupStageCallback)
+ i.HAL_PCD_Start 0x08001b20 Section 0 stm32f1xx_hal_pcd.o(i.HAL_PCD_Start)
+ i.HAL_PCD_SuspendCallback 0x08001b5c Section 0 usbd_conf.o(i.HAL_PCD_SuspendCallback)
+ i.HAL_RCCEx_PeriphCLKConfig 0x08001b80 Section 0 stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
+ i.HAL_RCC_ClockConfig 0x08001cb0 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
+ i.HAL_RCC_GetHCLKFreq 0x08001e3c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
+ i.HAL_RCC_GetPCLK1Freq 0x08001e48 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)
+ i.HAL_RCC_GetPCLK2Freq 0x08001e68 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)
+ i.HAL_RCC_GetSysClockFreq 0x08001e88 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
+ i.HAL_RCC_OscConfig 0x08001ef8 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig)
+ i.HAL_SYSTICK_Config 0x0800235c Section 0 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config)
+ i.HAL_UART_Init 0x08002390 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Init)
+ i.HAL_UART_MspInit 0x08002408 Section 0 usart.o(i.HAL_UART_MspInit)
+ i.HAL_UART_Transmit 0x08002490 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit)
+ i.HC_I2C_Init 0x08002544 Section 0 i2c.o(i.HC_I2C_Init)
+ i.HC_I2C_NoAck 0x08002598 Section 0 i2c.o(i.HC_I2C_NoAck)
+ HC_I2C_NoAck 0x08002599 Thumb Code 48 i2c.o(i.HC_I2C_NoAck)
+ i.HC_I2C_Read 0x080025cc Section 0 i2c.o(i.HC_I2C_Read)
+ i.HC_I2C_ReadByte 0x0800263c Section 0 i2c.o(i.HC_I2C_ReadByte)
+ HC_I2C_ReadByte 0x0800263d Thumb Code 78 i2c.o(i.HC_I2C_ReadByte)
+ i.HC_I2C_SendByte 0x08002690 Section 0 i2c.o(i.HC_I2C_SendByte)
+ HC_I2C_SendByte 0x08002691 Thumb Code 78 i2c.o(i.HC_I2C_SendByte)
+ i.HC_I2C_Start 0x080026e4 Section 0 i2c.o(i.HC_I2C_Start)
+ HC_I2C_Start 0x080026e5 Thumb Code 84 i2c.o(i.HC_I2C_Start)
+ i.HC_I2C_Stop 0x0800273c Section 0 i2c.o(i.HC_I2C_Stop)
+ HC_I2C_Stop 0x0800273d Thumb Code 48 i2c.o(i.HC_I2C_Stop)
+ i.HC_I2C_WaitAck 0x08002770 Section 0 i2c.o(i.HC_I2C_WaitAck)
+ HC_I2C_WaitAck 0x08002771 Thumb Code 68 i2c.o(i.HC_I2C_WaitAck)
+ i.HC_I2C_Write 0x080027b8 Section 0 i2c.o(i.HC_I2C_Write)
+ i.HardFault_Handler 0x080027d8 Section 0 stm32f1xx_it.o(i.HardFault_Handler)
+ i.I2C_delay 0x080027dc Section 0 i2c.o(i.I2C_delay)
+ I2C_delay 0x080027dd Thumb Code 22 i2c.o(i.I2C_delay)
+ i.IntToUnicode 0x080027f2 Section 0 usbd_desc.o(i.IntToUnicode)
+ IntToUnicode 0x080027f3 Thumb Code 62 usbd_desc.o(i.IntToUnicode)
+ i.MX_GPIO_Init 0x08002830 Section 0 main.o(i.MX_GPIO_Init)
+ MX_GPIO_Init 0x08002831 Thumb Code 152 main.o(i.MX_GPIO_Init)
+ i.MX_USART3_UART_Init 0x080028d4 Section 0 usart.o(i.MX_USART3_UART_Init)
+ i.MX_USB_DEVICE_Init 0x0800290c Section 0 usb_device.o(i.MX_USB_DEVICE_Init)
+ i.MemManage_Handler 0x08002958 Section 0 stm32f1xx_it.o(i.MemManage_Handler)
+ i.NMI_Handler 0x0800295c Section 0 stm32f1xx_it.o(i.NMI_Handler)
+ i.PCD_EP_ISR_Handler 0x08002960 Section 0 stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler)
+ PCD_EP_ISR_Handler 0x08002961 Thumb Code 1266 stm32f1xx_hal_pcd.o(i.PCD_EP_ISR_Handler)
+ i.PendSV_Handler 0x08002e52 Section 0 stm32f1xx_it.o(i.PendSV_Handler)
+ i.RCC_Delay 0x08002e54 Section 0 stm32f1xx_hal_rcc.o(i.RCC_Delay)
+ RCC_Delay 0x08002e55 Thumb Code 36 stm32f1xx_hal_rcc.o(i.RCC_Delay)
+ i.SVC_Handler 0x08002e7c Section 0 stm32f1xx_it.o(i.SVC_Handler)
+ i.SysTick_Handler 0x08002e7e Section 0 stm32f1xx_it.o(i.SysTick_Handler)
+ i.SystemClock_Config 0x08002e86 Section 0 main.o(i.SystemClock_Config)
+ i.SystemInit 0x08002f0a Section 0 system_stm32f1xx.o(i.SystemInit)
+ i.UART_SetConfig 0x08002f0c Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig)
+ UART_SetConfig 0x08002f0d Thumb Code 248 stm32f1xx_hal_uart.o(i.UART_SetConfig)
+ i.UART_WaitOnFlagUntilTimeout 0x08003008 Section 0 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
+ UART_WaitOnFlagUntilTimeout 0x08003009 Thumb Code 146 stm32f1xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)
+ i.USBD_CUSTOM_HID_DataIn 0x0800309a Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_DataIn)
+ USBD_CUSTOM_HID_DataIn 0x0800309b Thumb Code 14 usbd_customhid.o(i.USBD_CUSTOM_HID_DataIn)
+ i.USBD_CUSTOM_HID_DataOut 0x080030a8 Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_DataOut)
+ USBD_CUSTOM_HID_DataOut 0x080030a9 Thumb Code 38 usbd_customhid.o(i.USBD_CUSTOM_HID_DataOut)
+ i.USBD_CUSTOM_HID_DeInit 0x080030ce Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_DeInit)
+ USBD_CUSTOM_HID_DeInit 0x080030cf Thumb Code 64 usbd_customhid.o(i.USBD_CUSTOM_HID_DeInit)
+ i.USBD_CUSTOM_HID_EP0_RxReady 0x0800310e Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_EP0_RxReady)
+ USBD_CUSTOM_HID_EP0_RxReady 0x0800310f Thumb Code 34 usbd_customhid.o(i.USBD_CUSTOM_HID_EP0_RxReady)
+ i.USBD_CUSTOM_HID_GetDeviceQualifierDesc 0x08003130 Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_GetDeviceQualifierDesc)
+ USBD_CUSTOM_HID_GetDeviceQualifierDesc 0x08003131 Thumb Code 10 usbd_customhid.o(i.USBD_CUSTOM_HID_GetDeviceQualifierDesc)
+ i.USBD_CUSTOM_HID_GetFSCfgDesc 0x08003140 Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_GetFSCfgDesc)
+ USBD_CUSTOM_HID_GetFSCfgDesc 0x08003141 Thumb Code 10 usbd_customhid.o(i.USBD_CUSTOM_HID_GetFSCfgDesc)
+ i.USBD_CUSTOM_HID_GetHSCfgDesc 0x08003150 Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_GetHSCfgDesc)
+ USBD_CUSTOM_HID_GetHSCfgDesc 0x08003151 Thumb Code 10 usbd_customhid.o(i.USBD_CUSTOM_HID_GetHSCfgDesc)
+ i.USBD_CUSTOM_HID_GetOtherSpeedCfgDesc 0x08003160 Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_GetOtherSpeedCfgDesc)
+ USBD_CUSTOM_HID_GetOtherSpeedCfgDesc 0x08003161 Thumb Code 10 usbd_customhid.o(i.USBD_CUSTOM_HID_GetOtherSpeedCfgDesc)
+ i.USBD_CUSTOM_HID_Init 0x08003170 Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_Init)
+ USBD_CUSTOM_HID_Init 0x08003171 Thumb Code 98 usbd_customhid.o(i.USBD_CUSTOM_HID_Init)
+ i.USBD_CUSTOM_HID_RegisterInterface 0x080031d2 Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_RegisterInterface)
+ i.USBD_CUSTOM_HID_SendReport 0x080031e0 Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_SendReport)
+ i.USBD_CUSTOM_HID_Setup 0x0800321c Section 0 usbd_customhid.o(i.USBD_CUSTOM_HID_Setup)
+ USBD_CUSTOM_HID_Setup 0x0800321d Thumb Code 366 usbd_customhid.o(i.USBD_CUSTOM_HID_Setup)
+ i.USBD_ClrClassConfig 0x08003390 Section 0 usbd_core.o(i.USBD_ClrClassConfig)
+ i.USBD_ClrFeature 0x080033a6 Section 0 usbd_ctlreq.o(i.USBD_ClrFeature)
+ USBD_ClrFeature 0x080033a7 Thumb Code 62 usbd_ctlreq.o(i.USBD_ClrFeature)
+ i.USBD_CtlContinueRx 0x080033e4 Section 0 usbd_ioreq.o(i.USBD_CtlContinueRx)
+ i.USBD_CtlContinueSendData 0x080033fc Section 0 usbd_ioreq.o(i.USBD_CtlContinueSendData)
+ i.USBD_CtlError 0x08003414 Section 0 usbd_ctlreq.o(i.USBD_CtlError)
+ i.USBD_CtlPrepareRx 0x0800342c Section 0 usbd_ioreq.o(i.USBD_CtlPrepareRx)
+ i.USBD_CtlReceiveStatus 0x08003454 Section 0 usbd_ioreq.o(i.USBD_CtlReceiveStatus)
+ i.USBD_CtlSendData 0x0800346e Section 0 usbd_ioreq.o(i.USBD_CtlSendData)
+ i.USBD_CtlSendStatus 0x08003490 Section 0 usbd_ioreq.o(i.USBD_CtlSendStatus)
+ i.USBD_FS_ConfigStrDescriptor 0x080034ac Section 0 usbd_desc.o(i.USBD_FS_ConfigStrDescriptor)
+ i.USBD_FS_DeviceDescriptor 0x080034e8 Section 0 usbd_desc.o(i.USBD_FS_DeviceDescriptor)
+ i.USBD_FS_InterfaceStrDescriptor 0x080034f8 Section 0 usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor)
+ i.USBD_FS_LangIDStrDescriptor 0x08003538 Section 0 usbd_desc.o(i.USBD_FS_LangIDStrDescriptor)
+ i.USBD_FS_ManufacturerStrDescriptor 0x08003548 Section 0 usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor)
+ i.USBD_FS_ProductStrDescriptor 0x08003568 Section 0 usbd_desc.o(i.USBD_FS_ProductStrDescriptor)
+ i.USBD_FS_SerialStrDescriptor 0x080035a0 Section 0 usbd_desc.o(i.USBD_FS_SerialStrDescriptor)
+ i.USBD_GetConfig 0x080035b8 Section 0 usbd_ctlreq.o(i.USBD_GetConfig)
+ USBD_GetConfig 0x080035b9 Thumb Code 86 usbd_ctlreq.o(i.USBD_GetConfig)
+ i.USBD_GetDescriptor 0x0800360e Section 0 usbd_ctlreq.o(i.USBD_GetDescriptor)
+ USBD_GetDescriptor 0x0800360f Thumb Code 500 usbd_ctlreq.o(i.USBD_GetDescriptor)
+ i.USBD_GetLen 0x08003802 Section 0 usbd_ctlreq.o(i.USBD_GetLen)
+ USBD_GetLen 0x08003803 Thumb Code 20 usbd_ctlreq.o(i.USBD_GetLen)
+ i.USBD_GetStatus 0x08003816 Section 0 usbd_ctlreq.o(i.USBD_GetStatus)
+ USBD_GetStatus 0x08003817 Thumb Code 90 usbd_ctlreq.o(i.USBD_GetStatus)
+ i.USBD_GetString 0x08003870 Section 0 usbd_ctlreq.o(i.USBD_GetString)
+ i.USBD_Get_USB_Status 0x080038c2 Section 0 usbd_conf.o(i.USBD_Get_USB_Status)
+ USBD_Get_USB_Status 0x080038c3 Thumb Code 44 usbd_conf.o(i.USBD_Get_USB_Status)
+ i.USBD_Init 0x080038ee Section 0 usbd_core.o(i.USBD_Init)
+ i.USBD_LL_ClearStallEP 0x08003920 Section 0 usbd_conf.o(i.USBD_LL_ClearStallEP)
+ i.USBD_LL_CloseEP 0x08003946 Section 0 usbd_conf.o(i.USBD_LL_CloseEP)
+ i.USBD_LL_DataInStage 0x0800396c Section 0 usbd_core.o(i.USBD_LL_DataInStage)
+ i.USBD_LL_DataOutStage 0x08003a6c Section 0 usbd_core.o(i.USBD_LL_DataOutStage)
+ i.USBD_LL_Init 0x08003b14 Section 0 usbd_conf.o(i.USBD_LL_Init)
+ i.USBD_LL_IsStallEP 0x08003b88 Section 0 usbd_conf.o(i.USBD_LL_IsStallEP)
+ i.USBD_LL_OpenEP 0x08003bc0 Section 0 usbd_conf.o(i.USBD_LL_OpenEP)
+ i.USBD_LL_PrepareReceive 0x08003bf0 Section 0 usbd_conf.o(i.USBD_LL_PrepareReceive)
+ i.USBD_LL_Reset 0x08003c20 Section 0 usbd_core.o(i.USBD_LL_Reset)
+ i.USBD_LL_Resume 0x08003c7c Section 0 usbd_core.o(i.USBD_LL_Resume)
+ i.USBD_LL_SOF 0x08003c92 Section 0 usbd_core.o(i.USBD_LL_SOF)
+ i.USBD_LL_SetSpeed 0x08003cb4 Section 0 usbd_core.o(i.USBD_LL_SetSpeed)
+ i.USBD_LL_SetUSBAddress 0x08003cbc Section 0 usbd_conf.o(i.USBD_LL_SetUSBAddress)
+ i.USBD_LL_SetupStage 0x08003ce2 Section 0 usbd_core.o(i.USBD_LL_SetupStage)
+ i.USBD_LL_StallEP 0x08003d50 Section 0 usbd_conf.o(i.USBD_LL_StallEP)
+ i.USBD_LL_Start 0x08003d76 Section 0 usbd_conf.o(i.USBD_LL_Start)
+ i.USBD_LL_Suspend 0x08003d94 Section 0 usbd_core.o(i.USBD_LL_Suspend)
+ i.USBD_LL_Transmit 0x08003da8 Section 0 usbd_conf.o(i.USBD_LL_Transmit)
+ i.USBD_ParseSetupRequest 0x08003dd8 Section 0 usbd_ctlreq.o(i.USBD_ParseSetupRequest)
+ i.USBD_RegisterClass 0x08003e00 Section 0 usbd_core.o(i.USBD_RegisterClass)
+ i.USBD_RunTestMode 0x08003e10 Section 0 usbd_core.o(i.USBD_RunTestMode)
+ i.USBD_SetAddress 0x08003e16 Section 0 usbd_ctlreq.o(i.USBD_SetAddress)
+ USBD_SetAddress 0x08003e17 Thumb Code 90 usbd_ctlreq.o(i.USBD_SetAddress)
+ i.USBD_SetClassConfig 0x08003e70 Section 0 usbd_core.o(i.USBD_SetClassConfig)
+ i.USBD_SetConfig 0x08003e94 Section 0 usbd_ctlreq.o(i.USBD_SetConfig)
+ USBD_SetConfig 0x08003e95 Thumb Code 228 usbd_ctlreq.o(i.USBD_SetConfig)
+ i.USBD_SetFeature 0x08003f7c Section 0 usbd_ctlreq.o(i.USBD_SetFeature)
+ USBD_SetFeature 0x08003f7d Thumb Code 24 usbd_ctlreq.o(i.USBD_SetFeature)
+ i.USBD_Start 0x08003f94 Section 0 usbd_core.o(i.USBD_Start)
+ i.USBD_StdDevReq 0x08003fa2 Section 0 usbd_ctlreq.o(i.USBD_StdDevReq)
+ i.USBD_StdEPReq 0x08004044 Section 0 usbd_ctlreq.o(i.USBD_StdEPReq)
+ i.USBD_StdItfReq 0x0800427c Section 0 usbd_ctlreq.o(i.USBD_StdItfReq)
+ i.USBD_static_free 0x080042fa Section 0 usbd_conf.o(i.USBD_static_free)
+ i.USBD_static_malloc 0x080042fc Section 0 usbd_conf.o(i.USBD_static_malloc)
+ i.USB_ActivateEndpoint 0x08004308 Section 0 stm32f1xx_ll_usb.o(i.USB_ActivateEndpoint)
+ i.USB_CoreInit 0x080047b8 Section 0 stm32f1xx_ll_usb.o(i.USB_CoreInit)
+ i.USB_DeactivateEndpoint 0x080047c0 Section 0 stm32f1xx_ll_usb.o(i.USB_DeactivateEndpoint)
+ i.USB_DevConnect 0x08004a3c Section 0 stm32f1xx_ll_usb.o(i.USB_DevConnect)
+ i.USB_DevDisconnect 0x08004a42 Section 0 stm32f1xx_ll_usb.o(i.USB_DevDisconnect)
+ i.USB_DevInit 0x08004a48 Section 0 stm32f1xx_ll_usb.o(i.USB_DevInit)
+ i.USB_DisableGlobalInt 0x08004a5e Section 0 stm32f1xx_ll_usb.o(i.USB_DisableGlobalInt)
+ i.USB_EP0_OutStart 0x08004a72 Section 0 stm32f1xx_ll_usb.o(i.USB_EP0_OutStart)
+ i.USB_EPClearStall 0x08004a78 Section 0 stm32f1xx_ll_usb.o(i.USB_EPClearStall)
+ i.USB_EPSetStall 0x08004b52 Section 0 stm32f1xx_ll_usb.o(i.USB_EPSetStall)
+ i.USB_EPStartXfer 0x08004bae Section 0 stm32f1xx_ll_usb.o(i.USB_EPStartXfer)
+ i.USB_EnableGlobalInt 0x080055fe Section 0 stm32f1xx_ll_usb.o(i.USB_EnableGlobalInt)
+ i.USB_LP_CAN1_RX0_IRQHandler 0x08005610 Section 0 stm32f1xx_it.o(i.USB_LP_CAN1_RX0_IRQHandler)
+ i.USB_ReadInterrupts 0x08005620 Section 0 stm32f1xx_ll_usb.o(i.USB_ReadInterrupts)
+ i.USB_ReadPMA 0x08005628 Section 0 stm32f1xx_ll_usb.o(i.USB_ReadPMA)
+ i.USB_SetCurrentMode 0x08005672 Section 0 stm32f1xx_ll_usb.o(i.USB_SetCurrentMode)
+ i.USB_SetDevAddress 0x08005678 Section 0 stm32f1xx_ll_usb.o(i.USB_SetDevAddress)
+ i.USB_WritePMA 0x08005686 Section 0 stm32f1xx_ll_usb.o(i.USB_WritePMA)
+ i.UsageFault_Handler 0x080056c6 Section 0 stm32f1xx_it.o(i.UsageFault_Handler)
+ i.UsbSendPackageReport 0x080056cc Section 0 main.o(i.UsbSendPackageReport)
+ i.__0printf 0x080056f4 Section 0 printfa.o(i.__0printf)
+ i.__NVIC_GetPriorityGrouping 0x08005714 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_GetPriorityGrouping)
+ __NVIC_GetPriorityGrouping 0x08005715 Thumb Code 10 stm32f1xx_hal_cortex.o(i.__NVIC_GetPriorityGrouping)
+ i.__NVIC_SetPriority 0x08005724 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)
+ __NVIC_SetPriority 0x08005725 Thumb Code 32 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)
+ i.__scatterload_copy 0x0800574c Section 14 handlers.o(i.__scatterload_copy)
+ i.__scatterload_null 0x0800575a Section 2 handlers.o(i.__scatterload_null)
+ i.__scatterload_zeroinit 0x0800575c Section 14 handlers.o(i.__scatterload_zeroinit)
+ i._fp_digits 0x0800576c Section 0 printfa.o(i._fp_digits)
+ _fp_digits 0x0800576d Thumb Code 366 printfa.o(i._fp_digits)
+ i._printf_core 0x080058f0 Section 0 printfa.o(i._printf_core)
+ _printf_core 0x080058f1 Thumb Code 1744 printfa.o(i._printf_core)
+ i._printf_post_padding 0x08005fcc Section 0 printfa.o(i._printf_post_padding)
+ _printf_post_padding 0x08005fcd Thumb Code 36 printfa.o(i._printf_post_padding)
+ i._printf_pre_padding 0x08005ff0 Section 0 printfa.o(i._printf_pre_padding)
+ _printf_pre_padding 0x08005ff1 Thumb Code 46 printfa.o(i._printf_pre_padding)
+ i.fputc 0x08006020 Section 0 usart.o(i.fputc)
+ i.main 0x0800603c Section 0 main.o(i.main)
+ .constdata 0x080061ac Section 18 stm32f1xx_hal_rcc.o(.constdata)
+ aPLLMULFactorTable 0x080061ac Data 16 stm32f1xx_hal_rcc.o(.constdata)
+ aPredivFactorTable 0x080061bc Data 2 stm32f1xx_hal_rcc.o(.constdata)
+ .constdata 0x080061be Section 24 system_stm32f1xx.o(.constdata)
+ .data 0x20000000 Section 78 usbd_desc.o(.data)
+ .data 0x20000050 Section 52 usbd_custom_hid_if.o(.data)
+ CUSTOM_HID_ReportDesc_FS 0x20000050 Data 33 usbd_custom_hid_if.o(.data)
+ .data 0x20000084 Section 9 stm32f1xx_hal.o(.data)
+ .data 0x20000090 Section 4 system_stm32f1xx.o(.data)
+ .data 0x20000094 Section 1 usbd_ctlreq.o(.data)
+ cfgidx 0x20000094 Data 1 usbd_ctlreq.o(.data)
+ .data 0x20000098 Section 210 usbd_customhid.o(.data)
+ USBD_CUSTOM_HID_CfgFSDesc 0x200000d0 Data 41 usbd_customhid.o(.data)
+ USBD_CUSTOM_HID_CfgHSDesc 0x200000fc Data 41 usbd_customhid.o(.data)
+ USBD_CUSTOM_HID_OtherSpeedCfgDesc 0x20000128 Data 41 usbd_customhid.o(.data)
+ USBD_CUSTOM_HID_Desc 0x20000154 Data 9 usbd_customhid.o(.data)
+ USBD_CUSTOM_HID_DeviceQualifierDesc 0x20000160 Data 10 usbd_customhid.o(.data)
+ .data 0x2000016c Section 4 stdout.o(.data)
+ .bss 0x20000170 Section 64 main.o(.bss)
+ .bss 0x200001b0 Section 72 usart.o(.bss)
+ .bss 0x200001f8 Section 708 usb_device.o(.bss)
+ .bss 0x200004bc Section 512 usbd_desc.o(.bss)
+ .bss 0x200006bc Section 840 usbd_conf.o(.bss)
+ mem 0x200009ac Data 88 usbd_conf.o(.bss)
+ STACK 0x20000a08 Section 1024 startup_stm32f103xb.o(STACK)
+
+ Global Symbols
+
+ Symbol Name Value Ov Type Size Object(Section)
+
+ BuildAttributes$$THM_ISAv4$P$D$K$B$S$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE
+ __ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE
+ _printf_a 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_c 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_charcount 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_d 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_e 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_f 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_flags 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_fp_dec 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_fp_hex 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_g 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_i 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_int_dec 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_l 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_lc 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_ll 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_lld 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_lli 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_llo 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_llu 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_llx 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_longlong_dec 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_longlong_hex 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_longlong_oct 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_ls 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_mbtowc 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_n 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_o 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_p 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_percent 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_pre_padding 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_return_value 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_s 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_sizespec 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_str 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_truncate_signed 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_truncate_unsigned 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_u 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_wc 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_wctomb 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_widthprec 0x00000000 Number 0 stubs.o ABSOLUTE
+ _printf_x 0x00000000 Number 0 stubs.o ABSOLUTE
+ __cpp_initialize__aeabi_ - Undefined Weak Reference
+ __cxa_finalize - Undefined Weak Reference
+ _clock_init - Undefined Weak Reference
+ _microlib_exit - Undefined Weak Reference
+ __Vectors_Size 0x000000ec Number 0 startup_stm32f103xb.o ABSOLUTE
+ __Vectors 0x08000000 Data 4 startup_stm32f103xb.o(RESET)
+ __Vectors_End 0x080000ec Data 0 startup_stm32f103xb.o(RESET)
+ __main 0x080000ed Thumb Code 0 entry.o(.ARM.Collect$$$$00000000)
+ _main_stk 0x080000ed Thumb Code 0 entry2.o(.ARM.Collect$$$$00000001)
+ _main_scatterload 0x080000f1 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004)
+ __main_after_scatterload 0x080000f5 Thumb Code 0 entry5.o(.ARM.Collect$$$$00000004)
+ _main_clock 0x080000f5 Thumb Code 0 entry7b.o(.ARM.Collect$$$$00000008)
+ _main_cpp_init 0x080000f5 Thumb Code 0 entry8b.o(.ARM.Collect$$$$0000000A)
+ _main_init 0x080000f5 Thumb Code 0 entry9a.o(.ARM.Collect$$$$0000000B)
+ __rt_final_cpp 0x080000fd Thumb Code 0 entry10a.o(.ARM.Collect$$$$0000000D)
+ __rt_final_exit 0x080000fd Thumb Code 0 entry11a.o(.ARM.Collect$$$$0000000F)
+ Reset_Handler 0x08000101 Thumb Code 8 startup_stm32f103xb.o(.text)
+ ADC1_2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ CAN1_RX1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ CAN1_SCE_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ DMA1_Channel1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ DMA1_Channel2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ DMA1_Channel3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ DMA1_Channel4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ DMA1_Channel5_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ DMA1_Channel6_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ DMA1_Channel7_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ EXTI0_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ EXTI15_10_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ EXTI1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ EXTI2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ EXTI3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ EXTI4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ EXTI9_5_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ FLASH_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ I2C1_ER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ I2C1_EV_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ I2C2_ER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ I2C2_EV_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ PVD_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ RCC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ RTC_Alarm_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ RTC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ SPI1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ SPI2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ TAMPER_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ TIM1_BRK_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ TIM1_CC_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ TIM1_TRG_COM_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ TIM1_UP_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ TIM2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ TIM3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ TIM4_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ USART1_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ USART2_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ USART3_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ USBWakeUp_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ USB_HP_CAN1_TX_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ WWDG_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f103xb.o(.text)
+ __aeabi_llsr 0x08000125 Thumb Code 32 llushr.o(.text)
+ _ll_ushift_r 0x08000125 Thumb Code 0 llushr.o(.text)
+ __aeabi_memcpy 0x08000145 Thumb Code 36 memcpya.o(.text)
+ __aeabi_memcpy4 0x08000145 Thumb Code 0 memcpya.o(.text)
+ __aeabi_memcpy8 0x08000145 Thumb Code 0 memcpya.o(.text)
+ __aeabi_memset 0x08000169 Thumb Code 14 memseta.o(.text)
+ __aeabi_memset4 0x08000169 Thumb Code 0 memseta.o(.text)
+ __aeabi_memset8 0x08000169 Thumb Code 0 memseta.o(.text)
+ __aeabi_memclr 0x08000177 Thumb Code 4 memseta.o(.text)
+ __aeabi_memclr4 0x08000177 Thumb Code 0 memseta.o(.text)
+ __aeabi_memclr8 0x08000177 Thumb Code 0 memseta.o(.text)
+ _memset$wrapper 0x0800017b Thumb Code 18 memseta.o(.text)
+ __aeabi_fdiv 0x0800018d Thumb Code 124 fdiv.o(.text)
+ __aeabi_i2f 0x08000209 Thumb Code 18 fflti.o(.text)
+ __aeabi_ui2f 0x0800021b Thumb Code 10 ffltui.o(.text)
+ __aeabi_f2iz 0x08000225 Thumb Code 50 ffixi.o(.text)
+ __aeabi_f2d 0x08000257 Thumb Code 38 f2d.o(.text)
+ __aeabi_uidiv 0x0800027d Thumb Code 0 uidiv.o(.text)
+ __aeabi_uidivmod 0x0800027d Thumb Code 44 uidiv.o(.text)
+ __aeabi_uldivmod 0x080002a9 Thumb Code 98 uldiv.o(.text)
+ __I$use$fp 0x0800030b Thumb Code 0 iusefp.o(.text)
+ _float_round 0x0800030b Thumb Code 18 fepilogue.o(.text)
+ _float_epilogue 0x0800031d Thumb Code 92 fepilogue.o(.text)
+ __aeabi_dadd 0x08000379 Thumb Code 322 dadd.o(.text)
+ __aeabi_dsub 0x080004bb Thumb Code 6 dadd.o(.text)
+ __aeabi_drsub 0x080004c1 Thumb Code 6 dadd.o(.text)
+ __aeabi_dmul 0x080004c7 Thumb Code 228 dmul.o(.text)
+ __aeabi_ddiv 0x080005ab Thumb Code 222 ddiv.o(.text)
+ __aeabi_d2ulz 0x08000689 Thumb Code 48 dfixul.o(.text)
+ __aeabi_cdrcmple 0x080006b9 Thumb Code 48 cdrcmple.o(.text)
+ __scatterload 0x080006e9 Thumb Code 28 init.o(.text)
+ __scatterload_rt2 0x080006e9 Thumb Code 0 init.o(.text)
+ __aeabi_llsl 0x0800070d Thumb Code 30 llshl.o(.text)
+ _ll_shift_l 0x0800070d Thumb Code 0 llshl.o(.text)
+ __aeabi_lasr 0x0800072b Thumb Code 36 llsshr.o(.text)
+ _ll_sshift_r 0x0800072b Thumb Code 0 llsshr.o(.text)
+ _double_round 0x0800074f Thumb Code 30 depilogue.o(.text)
+ _double_epilogue 0x0800076d Thumb Code 156 depilogue.o(.text)
+ __decompress 0x08000809 Thumb Code 0 __dczerorl2.o(.text)
+ __decompress1 0x08000809 Thumb Code 86 __dczerorl2.o(.text)
+ BusFault_Handler 0x0800085f Thumb Code 4 stm32f1xx_it.o(i.BusFault_Handler)
+ DebugMon_Handler 0x08000871 Thumb Code 2 stm32f1xx_it.o(i.DebugMon_Handler)
+ Error_Handler 0x08000873 Thumb Code 6 main.o(i.Error_Handler)
+ HAL_Delay 0x080008ad Thumb Code 36 stm32f1xx_hal.o(i.HAL_Delay)
+ HAL_GPIO_Init 0x080008d5 Thumb Code 766 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)
+ HAL_GPIO_ReadPin 0x08000bf5 Thumb Code 16 stm32f1xx_hal_gpio.o(i.HAL_GPIO_ReadPin)
+ HAL_GPIO_WritePin 0x08000c05 Thumb Code 12 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)
+ HAL_GetTick 0x08000c11 Thumb Code 6 stm32f1xx_hal.o(i.HAL_GetTick)
+ HAL_IncTick 0x08000c1d Thumb Code 16 stm32f1xx_hal.o(i.HAL_IncTick)
+ HAL_Init 0x08000c35 Thumb Code 34 stm32f1xx_hal.o(i.HAL_Init)
+ HAL_InitTick 0x08000c5d Thumb Code 64 stm32f1xx_hal.o(i.HAL_InitTick)
+ HAL_MspInit 0x08000ca9 Thumb Code 58 stm32f1xx_hal_msp.o(i.HAL_MspInit)
+ HAL_NVIC_EnableIRQ 0x08000ce9 Thumb Code 32 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)
+ HAL_NVIC_SetPriority 0x08000d09 Thumb Code 124 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
+ HAL_NVIC_SetPriorityGrouping 0x08000d85 Thumb Code 32 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)
+ HAL_PCDEx_PMAConfig 0x08000dad Thumb Code 68 stm32f1xx_hal_pcd_ex.o(i.HAL_PCDEx_PMAConfig)
+ HAL_PCDEx_SetConnectionState 0x08000df1 Thumb Code 2 usbd_conf.o(i.HAL_PCDEx_SetConnectionState)
+ HAL_PCD_DataInStageCallback 0x08000df3 Thumb Code 32 usbd_conf.o(i.HAL_PCD_DataInStageCallback)
+ HAL_PCD_DataOutStageCallback 0x08000e13 Thumb Code 32 usbd_conf.o(i.HAL_PCD_DataOutStageCallback)
+ HAL_PCD_EP_Close 0x08000e33 Thumb Code 106 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Close)
+ HAL_PCD_EP_ClrStall 0x08000e9d Thumb Code 124 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_ClrStall)
+ HAL_PCD_EP_Open 0x080015af Thumb Code 132 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Open)
+ HAL_PCD_EP_Receive 0x08001633 Thumb Code 60 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Receive)
+ HAL_PCD_EP_SetStall 0x0800166f Thumb Code 136 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_SetStall)
+ HAL_PCD_EP_Transmit 0x080016f7 Thumb Code 70 stm32f1xx_hal_pcd.o(i.HAL_PCD_EP_Transmit)
+ HAL_PCD_IRQHandler 0x0800173d Thumb Code 460 stm32f1xx_hal_pcd.o(i.HAL_PCD_IRQHandler)
+ HAL_PCD_Init 0x08001909 Thumb Code 330 stm32f1xx_hal_pcd.o(i.HAL_PCD_Init)
+ HAL_PCD_MspInit 0x08001a55 Thumb Code 58 usbd_conf.o(i.HAL_PCD_MspInit)
+ HAL_PCD_ResetCallback 0x08001a99 Thumb Code 36 usbd_conf.o(i.HAL_PCD_ResetCallback)
+ HAL_PCD_ResumeCallback 0x08001abd Thumb Code 14 usbd_conf.o(i.HAL_PCD_ResumeCallback)
+ HAL_PCD_SOFCallback 0x08001acb Thumb Code 14 usbd_conf.o(i.HAL_PCD_SOFCallback)
+ HAL_PCD_SetAddress 0x08001ad9 Thumb Code 54 stm32f1xx_hal_pcd.o(i.HAL_PCD_SetAddress)
+ HAL_PCD_SetupStageCallback 0x08001b0f Thumb Code 18 usbd_conf.o(i.HAL_PCD_SetupStageCallback)
+ HAL_PCD_Start 0x08001b21 Thumb Code 60 stm32f1xx_hal_pcd.o(i.HAL_PCD_Start)
+ HAL_PCD_SuspendCallback 0x08001b5d Thumb Code 30 usbd_conf.o(i.HAL_PCD_SuspendCallback)
+ HAL_RCCEx_PeriphCLKConfig 0x08001b81 Thumb Code 290 stm32f1xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
+ HAL_RCC_ClockConfig 0x08001cb1 Thumb Code 376 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
+ HAL_RCC_GetHCLKFreq 0x08001e3d Thumb Code 6 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
+ HAL_RCC_GetPCLK1Freq 0x08001e49 Thumb Code 22 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)
+ HAL_RCC_GetPCLK2Freq 0x08001e69 Thumb Code 22 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)
+ HAL_RCC_GetSysClockFreq 0x08001e89 Thumb Code 92 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
+ HAL_RCC_OscConfig 0x08001ef9 Thumb Code 1114 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig)
+ HAL_SYSTICK_Config 0x0800235d Thumb Code 52 stm32f1xx_hal_cortex.o(i.HAL_SYSTICK_Config)
+ HAL_UART_Init 0x08002391 Thumb Code 118 stm32f1xx_hal_uart.o(i.HAL_UART_Init)
+ HAL_UART_MspInit 0x08002409 Thumb Code 122 usart.o(i.HAL_UART_MspInit)
+ HAL_UART_Transmit 0x08002491 Thumb Code 178 stm32f1xx_hal_uart.o(i.HAL_UART_Transmit)
+ HC_I2C_Init 0x08002545 Thumb Code 76 i2c.o(i.HC_I2C_Init)
+ HC_I2C_Read 0x080025cd Thumb Code 108 i2c.o(i.HC_I2C_Read)
+ HC_I2C_Write 0x080027b9 Thumb Code 32 i2c.o(i.HC_I2C_Write)
+ HardFault_Handler 0x080027d9 Thumb Code 4 stm32f1xx_it.o(i.HardFault_Handler)
+ MX_USART3_UART_Init 0x080028d5 Thumb Code 46 usart.o(i.MX_USART3_UART_Init)
+ MX_USB_DEVICE_Init 0x0800290d Thumb Code 60 usb_device.o(i.MX_USB_DEVICE_Init)
+ MemManage_Handler 0x08002959 Thumb Code 4 stm32f1xx_it.o(i.MemManage_Handler)
+ NMI_Handler 0x0800295d Thumb Code 4 stm32f1xx_it.o(i.NMI_Handler)
+ PendSV_Handler 0x08002e53 Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler)
+ SVC_Handler 0x08002e7d Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler)
+ SysTick_Handler 0x08002e7f Thumb Code 8 stm32f1xx_it.o(i.SysTick_Handler)
+ SystemClock_Config 0x08002e87 Thumb Code 132 main.o(i.SystemClock_Config)
+ SystemInit 0x08002f0b Thumb Code 2 system_stm32f1xx.o(i.SystemInit)
+ USBD_CUSTOM_HID_RegisterInterface 0x080031d3 Thumb Code 14 usbd_customhid.o(i.USBD_CUSTOM_HID_RegisterInterface)
+ USBD_CUSTOM_HID_SendReport 0x080031e1 Thumb Code 58 usbd_customhid.o(i.USBD_CUSTOM_HID_SendReport)
+ USBD_ClrClassConfig 0x08003391 Thumb Code 22 usbd_core.o(i.USBD_ClrClassConfig)
+ USBD_CtlContinueRx 0x080033e5 Thumb Code 24 usbd_ioreq.o(i.USBD_CtlContinueRx)
+ USBD_CtlContinueSendData 0x080033fd Thumb Code 24 usbd_ioreq.o(i.USBD_CtlContinueSendData)
+ USBD_CtlError 0x08003415 Thumb Code 24 usbd_ctlreq.o(i.USBD_CtlError)
+ USBD_CtlPrepareRx 0x0800342d Thumb Code 40 usbd_ioreq.o(i.USBD_CtlPrepareRx)
+ USBD_CtlReceiveStatus 0x08003455 Thumb Code 26 usbd_ioreq.o(i.USBD_CtlReceiveStatus)
+ USBD_CtlSendData 0x0800346f Thumb Code 34 usbd_ioreq.o(i.USBD_CtlSendData)
+ USBD_CtlSendStatus 0x08003491 Thumb Code 26 usbd_ioreq.o(i.USBD_CtlSendStatus)
+ USBD_FS_ConfigStrDescriptor 0x080034ad Thumb Code 34 usbd_desc.o(i.USBD_FS_ConfigStrDescriptor)
+ USBD_FS_DeviceDescriptor 0x080034e9 Thumb Code 10 usbd_desc.o(i.USBD_FS_DeviceDescriptor)
+ USBD_FS_InterfaceStrDescriptor 0x080034f9 Thumb Code 34 usbd_desc.o(i.USBD_FS_InterfaceStrDescriptor)
+ USBD_FS_LangIDStrDescriptor 0x08003539 Thumb Code 10 usbd_desc.o(i.USBD_FS_LangIDStrDescriptor)
+ USBD_FS_ManufacturerStrDescriptor 0x08003549 Thumb Code 20 usbd_desc.o(i.USBD_FS_ManufacturerStrDescriptor)
+ USBD_FS_ProductStrDescriptor 0x08003569 Thumb Code 34 usbd_desc.o(i.USBD_FS_ProductStrDescriptor)
+ USBD_FS_SerialStrDescriptor 0x080035a1 Thumb Code 18 usbd_desc.o(i.USBD_FS_SerialStrDescriptor)
+ USBD_GetString 0x08003871 Thumb Code 82 usbd_ctlreq.o(i.USBD_GetString)
+ USBD_Init 0x080038ef Thumb Code 50 usbd_core.o(i.USBD_Init)
+ USBD_LL_ClearStallEP 0x08003921 Thumb Code 38 usbd_conf.o(i.USBD_LL_ClearStallEP)
+ USBD_LL_CloseEP 0x08003947 Thumb Code 38 usbd_conf.o(i.USBD_LL_CloseEP)
+ USBD_LL_DataInStage 0x0800396d Thumb Code 256 usbd_core.o(i.USBD_LL_DataInStage)
+ USBD_LL_DataOutStage 0x08003a6d Thumb Code 166 usbd_core.o(i.USBD_LL_DataOutStage)
+ USBD_LL_Init 0x08003b15 Thumb Code 108 usbd_conf.o(i.USBD_LL_Init)
+ USBD_LL_IsStallEP 0x08003b89 Thumb Code 56 usbd_conf.o(i.USBD_LL_IsStallEP)
+ USBD_LL_OpenEP 0x08003bc1 Thumb Code 48 usbd_conf.o(i.USBD_LL_OpenEP)
+ USBD_LL_PrepareReceive 0x08003bf1 Thumb Code 48 usbd_conf.o(i.USBD_LL_PrepareReceive)
+ USBD_LL_Reset 0x08003c21 Thumb Code 92 usbd_core.o(i.USBD_LL_Reset)
+ USBD_LL_Resume 0x08003c7d Thumb Code 22 usbd_core.o(i.USBD_LL_Resume)
+ USBD_LL_SOF 0x08003c93 Thumb Code 34 usbd_core.o(i.USBD_LL_SOF)
+ USBD_LL_SetSpeed 0x08003cb5 Thumb Code 8 usbd_core.o(i.USBD_LL_SetSpeed)
+ USBD_LL_SetUSBAddress 0x08003cbd Thumb Code 38 usbd_conf.o(i.USBD_LL_SetUSBAddress)
+ USBD_LL_SetupStage 0x08003ce3 Thumb Code 110 usbd_core.o(i.USBD_LL_SetupStage)
+ USBD_LL_StallEP 0x08003d51 Thumb Code 38 usbd_conf.o(i.USBD_LL_StallEP)
+ USBD_LL_Start 0x08003d77 Thumb Code 30 usbd_conf.o(i.USBD_LL_Start)
+ USBD_LL_Suspend 0x08003d95 Thumb Code 20 usbd_core.o(i.USBD_LL_Suspend)
+ USBD_LL_Transmit 0x08003da9 Thumb Code 48 usbd_conf.o(i.USBD_LL_Transmit)
+ USBD_ParseSetupRequest 0x08003dd9 Thumb Code 40 usbd_ctlreq.o(i.USBD_ParseSetupRequest)
+ USBD_RegisterClass 0x08003e01 Thumb Code 16 usbd_core.o(i.USBD_RegisterClass)
+ USBD_RunTestMode 0x08003e11 Thumb Code 6 usbd_core.o(i.USBD_RunTestMode)
+ USBD_SetClassConfig 0x08003e71 Thumb Code 34 usbd_core.o(i.USBD_SetClassConfig)
+ USBD_Start 0x08003f95 Thumb Code 14 usbd_core.o(i.USBD_Start)
+ USBD_StdDevReq 0x08003fa3 Thumb Code 162 usbd_ctlreq.o(i.USBD_StdDevReq)
+ USBD_StdEPReq 0x08004045 Thumb Code 568 usbd_ctlreq.o(i.USBD_StdEPReq)
+ USBD_StdItfReq 0x0800427d Thumb Code 126 usbd_ctlreq.o(i.USBD_StdItfReq)
+ USBD_static_free 0x080042fb Thumb Code 2 usbd_conf.o(i.USBD_static_free)
+ USBD_static_malloc 0x080042fd Thumb Code 6 usbd_conf.o(i.USBD_static_malloc)
+ USB_ActivateEndpoint 0x08004309 Thumb Code 1200 stm32f1xx_ll_usb.o(i.USB_ActivateEndpoint)
+ USB_CoreInit 0x080047b9 Thumb Code 8 stm32f1xx_ll_usb.o(i.USB_CoreInit)
+ USB_DeactivateEndpoint 0x080047c1 Thumb Code 636 stm32f1xx_ll_usb.o(i.USB_DeactivateEndpoint)
+ USB_DevConnect 0x08004a3d Thumb Code 6 stm32f1xx_ll_usb.o(i.USB_DevConnect)
+ USB_DevDisconnect 0x08004a43 Thumb Code 6 stm32f1xx_ll_usb.o(i.USB_DevDisconnect)
+ USB_DevInit 0x08004a49 Thumb Code 22 stm32f1xx_ll_usb.o(i.USB_DevInit)
+ USB_DisableGlobalInt 0x08004a5f Thumb Code 20 stm32f1xx_ll_usb.o(i.USB_DisableGlobalInt)
+ USB_EP0_OutStart 0x08004a73 Thumb Code 6 stm32f1xx_ll_usb.o(i.USB_EP0_OutStart)
+ USB_EPClearStall 0x08004a79 Thumb Code 218 stm32f1xx_ll_usb.o(i.USB_EPClearStall)
+ USB_EPSetStall 0x08004b53 Thumb Code 92 stm32f1xx_ll_usb.o(i.USB_EPSetStall)
+ USB_EPStartXfer 0x08004baf Thumb Code 2640 stm32f1xx_ll_usb.o(i.USB_EPStartXfer)
+ USB_EnableGlobalInt 0x080055ff Thumb Code 18 stm32f1xx_ll_usb.o(i.USB_EnableGlobalInt)
+ USB_LP_CAN1_RX0_IRQHandler 0x08005611 Thumb Code 10 stm32f1xx_it.o(i.USB_LP_CAN1_RX0_IRQHandler)
+ USB_ReadInterrupts 0x08005621 Thumb Code 8 stm32f1xx_ll_usb.o(i.USB_ReadInterrupts)
+ USB_ReadPMA 0x08005629 Thumb Code 74 stm32f1xx_ll_usb.o(i.USB_ReadPMA)
+ USB_SetCurrentMode 0x08005673 Thumb Code 6 stm32f1xx_ll_usb.o(i.USB_SetCurrentMode)
+ USB_SetDevAddress 0x08005679 Thumb Code 14 stm32f1xx_ll_usb.o(i.USB_SetDevAddress)
+ USB_WritePMA 0x08005687 Thumb Code 64 stm32f1xx_ll_usb.o(i.USB_WritePMA)
+ UsageFault_Handler 0x080056c7 Thumb Code 4 stm32f1xx_it.o(i.UsageFault_Handler)
+ UsbSendPackageReport 0x080056cd Thumb Code 34 main.o(i.UsbSendPackageReport)
+ __0printf 0x080056f5 Thumb Code 22 printfa.o(i.__0printf)
+ __1printf 0x080056f5 Thumb Code 0 printfa.o(i.__0printf)
+ __2printf 0x080056f5 Thumb Code 0 printfa.o(i.__0printf)
+ __c89printf 0x080056f5 Thumb Code 0 printfa.o(i.__0printf)
+ printf 0x080056f5 Thumb Code 0 printfa.o(i.__0printf)
+ __scatterload_copy 0x0800574d Thumb Code 14 handlers.o(i.__scatterload_copy)
+ __scatterload_null 0x0800575b Thumb Code 2 handlers.o(i.__scatterload_null)
+ __scatterload_zeroinit 0x0800575d Thumb Code 14 handlers.o(i.__scatterload_zeroinit)
+ fputc 0x08006021 Thumb Code 22 usart.o(i.fputc)
+ main 0x0800603d Thumb Code 296 main.o(i.main)
+ AHBPrescTable 0x080061be Data 16 system_stm32f1xx.o(.constdata)
+ APBPrescTable 0x080061ce Data 8 system_stm32f1xx.o(.constdata)
+ Region$$Table$$Base 0x080061d8 Number 0 anon$$obj.o(Region$$Table)
+ Region$$Table$$Limit 0x080061f8 Number 0 anon$$obj.o(Region$$Table)
+ FS_Desc 0x20000000 Data 28 usbd_desc.o(.data)
+ USBD_FS_DeviceDesc 0x2000001c Data 18 usbd_desc.o(.data)
+ USBD_LangIDDesc 0x20000030 Data 4 usbd_desc.o(.data)
+ USBD_StringSerial 0x20000034 Data 26 usbd_desc.o(.data)
+ USBD_CustomHID_fops_FS 0x20000074 Data 16 usbd_custom_hid_if.o(.data)
+ uwTick 0x20000084 Data 4 stm32f1xx_hal.o(.data)
+ uwTickPrio 0x20000088 Data 4 stm32f1xx_hal.o(.data)
+ uwTickFreq 0x2000008c Data 1 stm32f1xx_hal.o(.data)
+ SystemCoreClock 0x20000090 Data 4 system_stm32f1xx.o(.data)
+ USBD_CUSTOM_HID 0x20000098 Data 56 usbd_customhid.o(.data)
+ __stdout 0x2000016c Data 4 stdout.o(.data)
+ report 0x20000170 Data 64 main.o(.bss)
+ huart3 0x200001b0 Data 72 usart.o(.bss)
+ hUsbDeviceFS 0x200001f8 Data 708 usb_device.o(.bss)
+ USBD_StrDesc 0x200004bc Data 512 usbd_desc.o(.bss)
+ hpcd_USB_FS 0x200006bc Data 752 usbd_conf.o(.bss)
+ __initial_sp 0x20000e08 Data 0 startup_stm32f103xb.o(STACK)
+
+
+
+==============================================================================
+
+Memory Map of the image
+
+ Image Entry point : 0x080000ed
+
+ Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00006368, Max: 0x00010000, ABSOLUTE, COMPRESSED[0x000062bc])
+
+ Execution Region ER_IROM1 (Base: 0x08000000, Size: 0x000061f8, Max: 0x00010000, ABSOLUTE)
+
+ Base Addr Size Type Attr Idx E Section Name Object
+
+ 0x08000000 0x000000ec Data RO 3 RESET startup_stm32f103xb.o
+ 0x080000ec 0x00000000 Code RO 3138 * .ARM.Collect$$$$00000000 mc_w.l(entry.o)
+ 0x080000ec 0x00000004 Code RO 3420 .ARM.Collect$$$$00000001 mc_w.l(entry2.o)
+ 0x080000f0 0x00000004 Code RO 3423 .ARM.Collect$$$$00000004 mc_w.l(entry5.o)
+ 0x080000f4 0x00000000 Code RO 3425 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o)
+ 0x080000f4 0x00000000 Code RO 3427 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o)
+ 0x080000f4 0x00000008 Code RO 3428 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o)
+ 0x080000fc 0x00000000 Code RO 3430 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o)
+ 0x080000fc 0x00000000 Code RO 3432 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o)
+ 0x080000fc 0x00000004 Code RO 3421 .ARM.Collect$$$$00002712 mc_w.l(entry2.o)
+ 0x08000100 0x00000024 Code RO 4 .text startup_stm32f103xb.o
+ 0x08000124 0x00000020 Code RO 3141 .text mc_w.l(llushr.o)
+ 0x08000144 0x00000024 Code RO 3143 .text mc_w.l(memcpya.o)
+ 0x08000168 0x00000024 Code RO 3145 .text mc_w.l(memseta.o)
+ 0x0800018c 0x0000007c Code RO 3410 .text mf_w.l(fdiv.o)
+ 0x08000208 0x00000012 Code RO 3412 .text mf_w.l(fflti.o)
+ 0x0800021a 0x0000000a Code RO 3414 .text mf_w.l(ffltui.o)
+ 0x08000224 0x00000032 Code RO 3416 .text mf_w.l(ffixi.o)
+ 0x08000256 0x00000026 Code RO 3418 .text mf_w.l(f2d.o)
+ 0x0800027c 0x0000002c Code RO 3435 .text mc_w.l(uidiv.o)
+ 0x080002a8 0x00000062 Code RO 3437 .text mc_w.l(uldiv.o)
+ 0x0800030a 0x00000000 Code RO 3439 .text mc_w.l(iusefp.o)
+ 0x0800030a 0x0000006e Code RO 3440 .text mf_w.l(fepilogue.o)
+ 0x08000378 0x0000014e Code RO 3442 .text mf_w.l(dadd.o)
+ 0x080004c6 0x000000e4 Code RO 3444 .text mf_w.l(dmul.o)
+ 0x080005aa 0x000000de Code RO 3446 .text mf_w.l(ddiv.o)
+ 0x08000688 0x00000030 Code RO 3448 .text mf_w.l(dfixul.o)
+ 0x080006b8 0x00000030 Code RO 3450 .text mf_w.l(cdrcmple.o)
+ 0x080006e8 0x00000024 Code RO 3452 .text mc_w.l(init.o)
+ 0x0800070c 0x0000001e Code RO 3454 .text mc_w.l(llshl.o)
+ 0x0800072a 0x00000024 Code RO 3456 .text mc_w.l(llsshr.o)
+ 0x0800074e 0x000000ba Code RO 3458 .text mf_w.l(depilogue.o)
+ 0x08000808 0x00000056 Code RO 3468 .text mc_w.l(__dczerorl2.o)
+ 0x0800085e 0x00000004 Code RO 194 i.BusFault_Handler stm32f1xx_it.o
+ 0x08000862 0x00000004 Code RO 555 i.CUSTOM_HID_DeInit_FS usbd_custom_hid_if.o
+ 0x08000866 0x00000004 Code RO 556 i.CUSTOM_HID_Init_FS usbd_custom_hid_if.o
+ 0x0800086a 0x00000006 Code RO 557 i.CUSTOM_HID_OutEvent_FS usbd_custom_hid_if.o
+ 0x08000870 0x00000002 Code RO 195 i.DebugMon_Handler stm32f1xx_it.o
+ 0x08000872 0x00000006 Code RO 13 i.Error_Handler main.o
+ 0x08000878 0x00000034 Code RO 472 i.Get_SerialNum usbd_desc.o
+ 0x080008ac 0x00000028 Code RO 1315 i.HAL_Delay stm32f1xx_hal.o
+ 0x080008d4 0x00000320 Code RO 1630 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o
+ 0x08000bf4 0x00000010 Code RO 1632 i.HAL_GPIO_ReadPin stm32f1xx_hal_gpio.o
+ 0x08000c04 0x0000000c Code RO 1634 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o
+ 0x08000c10 0x0000000c Code RO 1319 i.HAL_GetTick stm32f1xx_hal.o
+ 0x08000c1c 0x00000018 Code RO 1325 i.HAL_IncTick stm32f1xx_hal.o
+ 0x08000c34 0x00000028 Code RO 1326 i.HAL_Init stm32f1xx_hal.o
+ 0x08000c5c 0x0000004c Code RO 1327 i.HAL_InitTick stm32f1xx_hal.o
+ 0x08000ca8 0x00000040 Code RO 279 i.HAL_MspInit stm32f1xx_hal_msp.o
+ 0x08000ce8 0x00000020 Code RO 1790 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o
+ 0x08000d08 0x0000007c Code RO 1796 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o
+ 0x08000d84 0x00000028 Code RO 1797 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o
+ 0x08000dac 0x00000044 Code RO 1082 i.HAL_PCDEx_PMAConfig stm32f1xx_hal_pcd_ex.o
+ 0x08000df0 0x00000002 Code RO 595 i.HAL_PCDEx_SetConnectionState usbd_conf.o
+ 0x08000df2 0x00000020 Code RO 597 i.HAL_PCD_DataInStageCallback usbd_conf.o
+ 0x08000e12 0x00000020 Code RO 598 i.HAL_PCD_DataOutStageCallback usbd_conf.o
+ 0x08000e32 0x0000006a Code RO 853 i.HAL_PCD_EP_Close stm32f1xx_hal_pcd.o
+ 0x08000e9c 0x0000007c Code RO 854 i.HAL_PCD_EP_ClrStall stm32f1xx_hal_pcd.o
+ 0x08000f18 0x00000158 Code RO 855 i.HAL_PCD_EP_DB_Receive stm32f1xx_hal_pcd.o
+ 0x08001070 0x0000053e Code RO 856 i.HAL_PCD_EP_DB_Transmit stm32f1xx_hal_pcd.o
+ 0x080015ae 0x00000084 Code RO 859 i.HAL_PCD_EP_Open stm32f1xx_hal_pcd.o
+ 0x08001632 0x0000003c Code RO 860 i.HAL_PCD_EP_Receive stm32f1xx_hal_pcd.o
+ 0x0800166e 0x00000088 Code RO 861 i.HAL_PCD_EP_SetStall stm32f1xx_hal_pcd.o
+ 0x080016f6 0x00000046 Code RO 862 i.HAL_PCD_EP_Transmit stm32f1xx_hal_pcd.o
+ 0x0800173c 0x000001cc Code RO 864 i.HAL_PCD_IRQHandler stm32f1xx_hal_pcd.o
+ 0x08001908 0x0000014a Code RO 867 i.HAL_PCD_Init stm32f1xx_hal_pcd.o
+ 0x08001a52 0x00000002 PAD
+ 0x08001a54 0x00000044 Code RO 603 i.HAL_PCD_MspInit usbd_conf.o
+ 0x08001a98 0x00000024 Code RO 604 i.HAL_PCD_ResetCallback usbd_conf.o
+ 0x08001abc 0x0000000e Code RO 605 i.HAL_PCD_ResumeCallback usbd_conf.o
+ 0x08001aca 0x0000000e Code RO 606 i.HAL_PCD_SOFCallback usbd_conf.o
+ 0x08001ad8 0x00000036 Code RO 873 i.HAL_PCD_SetAddress stm32f1xx_hal_pcd.o
+ 0x08001b0e 0x00000012 Code RO 607 i.HAL_PCD_SetupStageCallback usbd_conf.o
+ 0x08001b20 0x0000003c Code RO 875 i.HAL_PCD_Start stm32f1xx_hal_pcd.o
+ 0x08001b5c 0x00000024 Code RO 608 i.HAL_PCD_SuspendCallback usbd_conf.o
+ 0x08001b80 0x00000130 Code RO 1592 i.HAL_RCCEx_PeriphCLKConfig stm32f1xx_hal_rcc_ex.o
+ 0x08001cb0 0x0000018c Code RO 1483 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o
+ 0x08001e3c 0x0000000c Code RO 1488 i.HAL_RCC_GetHCLKFreq stm32f1xx_hal_rcc.o
+ 0x08001e48 0x00000020 Code RO 1490 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o
+ 0x08001e68 0x00000020 Code RO 1491 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o
+ 0x08001e88 0x00000070 Code RO 1492 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o
+ 0x08001ef8 0x00000464 Code RO 1495 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o
+ 0x0800235c 0x00000034 Code RO 1801 i.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o
+ 0x08002390 0x00000076 Code RO 2382 i.HAL_UART_Init stm32f1xx_hal_uart.o
+ 0x08002406 0x00000002 PAD
+ 0x08002408 0x00000088 Code RO 304 i.HAL_UART_MspInit usart.o
+ 0x08002490 0x000000b2 Code RO 2390 i.HAL_UART_Transmit stm32f1xx_hal_uart.o
+ 0x08002542 0x00000002 PAD
+ 0x08002544 0x00000054 Code RO 356 i.HC_I2C_Init i2c.o
+ 0x08002598 0x00000034 Code RO 357 i.HC_I2C_NoAck i2c.o
+ 0x080025cc 0x00000070 Code RO 358 i.HC_I2C_Read i2c.o
+ 0x0800263c 0x00000054 Code RO 359 i.HC_I2C_ReadByte i2c.o
+ 0x08002690 0x00000054 Code RO 360 i.HC_I2C_SendByte i2c.o
+ 0x080026e4 0x00000058 Code RO 361 i.HC_I2C_Start i2c.o
+ 0x0800273c 0x00000034 Code RO 362 i.HC_I2C_Stop i2c.o
+ 0x08002770 0x00000048 Code RO 363 i.HC_I2C_WaitAck i2c.o
+ 0x080027b8 0x00000020 Code RO 364 i.HC_I2C_Write i2c.o
+ 0x080027d8 0x00000004 Code RO 196 i.HardFault_Handler stm32f1xx_it.o
+ 0x080027dc 0x00000016 Code RO 365 i.I2C_delay i2c.o
+ 0x080027f2 0x0000003e Code RO 473 i.IntToUnicode usbd_desc.o
+ 0x08002830 0x000000a4 Code RO 14 i.MX_GPIO_Init main.o
+ 0x080028d4 0x00000038 Code RO 305 i.MX_USART3_UART_Init usart.o
+ 0x0800290c 0x0000004c Code RO 431 i.MX_USB_DEVICE_Init usb_device.o
+ 0x08002958 0x00000004 Code RO 197 i.MemManage_Handler stm32f1xx_it.o
+ 0x0800295c 0x00000004 Code RO 198 i.NMI_Handler stm32f1xx_it.o
+ 0x08002960 0x000004f2 Code RO 879 i.PCD_EP_ISR_Handler stm32f1xx_hal_pcd.o
+ 0x08002e52 0x00000002 Code RO 199 i.PendSV_Handler stm32f1xx_it.o
+ 0x08002e54 0x00000028 Code RO 1496 i.RCC_Delay stm32f1xx_hal_rcc.o
+ 0x08002e7c 0x00000002 Code RO 200 i.SVC_Handler stm32f1xx_it.o
+ 0x08002e7e 0x00000008 Code RO 201 i.SysTick_Handler stm32f1xx_it.o
+ 0x08002e86 0x00000084 Code RO 15 i.SystemClock_Config main.o
+ 0x08002f0a 0x00000002 Code RO 2726 i.SystemInit system_stm32f1xx.o
+ 0x08002f0c 0x000000fc Code RO 2409 i.UART_SetConfig stm32f1xx_hal_uart.o
+ 0x08003008 0x00000092 Code RO 2413 i.UART_WaitOnFlagUntilTimeout stm32f1xx_hal_uart.o
+ 0x0800309a 0x0000000e Code RO 3055 i.USBD_CUSTOM_HID_DataIn usbd_customhid.o
+ 0x080030a8 0x00000026 Code RO 3056 i.USBD_CUSTOM_HID_DataOut usbd_customhid.o
+ 0x080030ce 0x00000040 Code RO 3057 i.USBD_CUSTOM_HID_DeInit usbd_customhid.o
+ 0x0800310e 0x00000022 Code RO 3058 i.USBD_CUSTOM_HID_EP0_RxReady usbd_customhid.o
+ 0x08003130 0x00000010 Code RO 3059 i.USBD_CUSTOM_HID_GetDeviceQualifierDesc usbd_customhid.o
+ 0x08003140 0x00000010 Code RO 3060 i.USBD_CUSTOM_HID_GetFSCfgDesc usbd_customhid.o
+ 0x08003150 0x00000010 Code RO 3061 i.USBD_CUSTOM_HID_GetHSCfgDesc usbd_customhid.o
+ 0x08003160 0x00000010 Code RO 3062 i.USBD_CUSTOM_HID_GetOtherSpeedCfgDesc usbd_customhid.o
+ 0x08003170 0x00000062 Code RO 3063 i.USBD_CUSTOM_HID_Init usbd_customhid.o
+ 0x080031d2 0x0000000e Code RO 3064 i.USBD_CUSTOM_HID_RegisterInterface usbd_customhid.o
+ 0x080031e0 0x0000003a Code RO 3065 i.USBD_CUSTOM_HID_SendReport usbd_customhid.o
+ 0x0800321a 0x00000002 PAD
+ 0x0800321c 0x00000174 Code RO 3066 i.USBD_CUSTOM_HID_Setup usbd_customhid.o
+ 0x08003390 0x00000016 Code RO 2762 i.USBD_ClrClassConfig usbd_core.o
+ 0x080033a6 0x0000003e Code RO 2900 i.USBD_ClrFeature usbd_ctlreq.o
+ 0x080033e4 0x00000018 Code RO 2995 i.USBD_CtlContinueRx usbd_ioreq.o
+ 0x080033fc 0x00000018 Code RO 2996 i.USBD_CtlContinueSendData usbd_ioreq.o
+ 0x08003414 0x00000018 Code RO 2901 i.USBD_CtlError usbd_ctlreq.o
+ 0x0800342c 0x00000028 Code RO 2997 i.USBD_CtlPrepareRx usbd_ioreq.o
+ 0x08003454 0x0000001a Code RO 2998 i.USBD_CtlReceiveStatus usbd_ioreq.o
+ 0x0800346e 0x00000022 Code RO 2999 i.USBD_CtlSendData usbd_ioreq.o
+ 0x08003490 0x0000001a Code RO 3000 i.USBD_CtlSendStatus usbd_ioreq.o
+ 0x080034aa 0x00000002 PAD
+ 0x080034ac 0x0000003c Code RO 474 i.USBD_FS_ConfigStrDescriptor usbd_desc.o
+ 0x080034e8 0x00000010 Code RO 475 i.USBD_FS_DeviceDescriptor usbd_desc.o
+ 0x080034f8 0x00000040 Code RO 476 i.USBD_FS_InterfaceStrDescriptor usbd_desc.o
+ 0x08003538 0x00000010 Code RO 477 i.USBD_FS_LangIDStrDescriptor usbd_desc.o
+ 0x08003548 0x00000020 Code RO 478 i.USBD_FS_ManufacturerStrDescriptor usbd_desc.o
+ 0x08003568 0x00000038 Code RO 479 i.USBD_FS_ProductStrDescriptor usbd_desc.o
+ 0x080035a0 0x00000018 Code RO 480 i.USBD_FS_SerialStrDescriptor usbd_desc.o
+ 0x080035b8 0x00000056 Code RO 2902 i.USBD_GetConfig usbd_ctlreq.o
+ 0x0800360e 0x000001f4 Code RO 2903 i.USBD_GetDescriptor usbd_ctlreq.o
+ 0x08003802 0x00000014 Code RO 2904 i.USBD_GetLen usbd_ctlreq.o
+ 0x08003816 0x0000005a Code RO 2905 i.USBD_GetStatus usbd_ctlreq.o
+ 0x08003870 0x00000052 Code RO 2906 i.USBD_GetString usbd_ctlreq.o
+ 0x080038c2 0x0000002c Code RO 609 i.USBD_Get_USB_Status usbd_conf.o
+ 0x080038ee 0x00000032 Code RO 2764 i.USBD_Init usbd_core.o
+ 0x08003920 0x00000026 Code RO 610 i.USBD_LL_ClearStallEP usbd_conf.o
+ 0x08003946 0x00000026 Code RO 611 i.USBD_LL_CloseEP usbd_conf.o
+ 0x0800396c 0x00000100 Code RO 2765 i.USBD_LL_DataInStage usbd_core.o
+ 0x08003a6c 0x000000a6 Code RO 2766 i.USBD_LL_DataOutStage usbd_core.o
+ 0x08003b12 0x00000002 PAD
+ 0x08003b14 0x00000074 Code RO 616 i.USBD_LL_Init usbd_conf.o
+ 0x08003b88 0x00000038 Code RO 617 i.USBD_LL_IsStallEP usbd_conf.o
+ 0x08003bc0 0x00000030 Code RO 618 i.USBD_LL_OpenEP usbd_conf.o
+ 0x08003bf0 0x00000030 Code RO 619 i.USBD_LL_PrepareReceive usbd_conf.o
+ 0x08003c20 0x0000005c Code RO 2771 i.USBD_LL_Reset usbd_core.o
+ 0x08003c7c 0x00000016 Code RO 2772 i.USBD_LL_Resume usbd_core.o
+ 0x08003c92 0x00000022 Code RO 2773 i.USBD_LL_SOF usbd_core.o
+ 0x08003cb4 0x00000008 Code RO 2774 i.USBD_LL_SetSpeed usbd_core.o
+ 0x08003cbc 0x00000026 Code RO 620 i.USBD_LL_SetUSBAddress usbd_conf.o
+ 0x08003ce2 0x0000006e Code RO 2775 i.USBD_LL_SetupStage usbd_core.o
+ 0x08003d50 0x00000026 Code RO 621 i.USBD_LL_StallEP usbd_conf.o
+ 0x08003d76 0x0000001e Code RO 622 i.USBD_LL_Start usbd_conf.o
+ 0x08003d94 0x00000014 Code RO 2776 i.USBD_LL_Suspend usbd_core.o
+ 0x08003da8 0x00000030 Code RO 624 i.USBD_LL_Transmit usbd_conf.o
+ 0x08003dd8 0x00000028 Code RO 2907 i.USBD_ParseSetupRequest usbd_ctlreq.o
+ 0x08003e00 0x00000010 Code RO 2777 i.USBD_RegisterClass usbd_core.o
+ 0x08003e10 0x00000006 Code RO 2778 i.USBD_RunTestMode usbd_core.o
+ 0x08003e16 0x0000005a Code RO 2908 i.USBD_SetAddress usbd_ctlreq.o
+ 0x08003e70 0x00000022 Code RO 2779 i.USBD_SetClassConfig usbd_core.o
+ 0x08003e92 0x00000002 PAD
+ 0x08003e94 0x000000e8 Code RO 2909 i.USBD_SetConfig usbd_ctlreq.o
+ 0x08003f7c 0x00000018 Code RO 2910 i.USBD_SetFeature usbd_ctlreq.o
+ 0x08003f94 0x0000000e Code RO 2780 i.USBD_Start usbd_core.o
+ 0x08003fa2 0x000000a2 Code RO 2911 i.USBD_StdDevReq usbd_ctlreq.o
+ 0x08004044 0x00000238 Code RO 2912 i.USBD_StdEPReq usbd_ctlreq.o
+ 0x0800427c 0x0000007e Code RO 2913 i.USBD_StdItfReq usbd_ctlreq.o
+ 0x080042fa 0x00000002 Code RO 625 i.USBD_static_free usbd_conf.o
+ 0x080042fc 0x0000000c Code RO 626 i.USBD_static_malloc usbd_conf.o
+ 0x08004308 0x000004b0 Code RO 1122 i.USB_ActivateEndpoint stm32f1xx_ll_usb.o
+ 0x080047b8 0x00000008 Code RO 1125 i.USB_CoreInit stm32f1xx_ll_usb.o
+ 0x080047c0 0x0000027c Code RO 1127 i.USB_DeactivateEndpoint stm32f1xx_ll_usb.o
+ 0x08004a3c 0x00000006 Code RO 1128 i.USB_DevConnect stm32f1xx_ll_usb.o
+ 0x08004a42 0x00000006 Code RO 1129 i.USB_DevDisconnect stm32f1xx_ll_usb.o
+ 0x08004a48 0x00000016 Code RO 1130 i.USB_DevInit stm32f1xx_ll_usb.o
+ 0x08004a5e 0x00000014 Code RO 1131 i.USB_DisableGlobalInt stm32f1xx_ll_usb.o
+ 0x08004a72 0x00000006 Code RO 1132 i.USB_EP0_OutStart stm32f1xx_ll_usb.o
+ 0x08004a78 0x000000da Code RO 1133 i.USB_EPClearStall stm32f1xx_ll_usb.o
+ 0x08004b52 0x0000005c Code RO 1134 i.USB_EPSetStall stm32f1xx_ll_usb.o
+ 0x08004bae 0x00000a50 Code RO 1135 i.USB_EPStartXfer stm32f1xx_ll_usb.o
+ 0x080055fe 0x00000012 Code RO 1137 i.USB_EnableGlobalInt stm32f1xx_ll_usb.o
+ 0x08005610 0x00000010 Code RO 202 i.USB_LP_CAN1_RX0_IRQHandler stm32f1xx_it.o
+ 0x08005620 0x00000008 Code RO 1144 i.USB_ReadInterrupts stm32f1xx_ll_usb.o
+ 0x08005628 0x0000004a Code RO 1145 i.USB_ReadPMA stm32f1xx_ll_usb.o
+ 0x08005672 0x00000006 Code RO 1146 i.USB_SetCurrentMode stm32f1xx_ll_usb.o
+ 0x08005678 0x0000000e Code RO 1147 i.USB_SetDevAddress stm32f1xx_ll_usb.o
+ 0x08005686 0x00000040 Code RO 1149 i.USB_WritePMA stm32f1xx_ll_usb.o
+ 0x080056c6 0x00000004 Code RO 203 i.UsageFault_Handler stm32f1xx_it.o
+ 0x080056ca 0x00000002 PAD
+ 0x080056cc 0x00000028 Code RO 16 i.UsbSendPackageReport main.o
+ 0x080056f4 0x00000020 Code RO 3382 i.__0printf mc_w.l(printfa.o)
+ 0x08005714 0x00000010 Code RO 1803 i.__NVIC_GetPriorityGrouping stm32f1xx_hal_cortex.o
+ 0x08005724 0x00000028 Code RO 1804 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o
+ 0x0800574c 0x0000000e Code RO 3462 i.__scatterload_copy mc_w.l(handlers.o)
+ 0x0800575a 0x00000002 Code RO 3463 i.__scatterload_null mc_w.l(handlers.o)
+ 0x0800575c 0x0000000e Code RO 3464 i.__scatterload_zeroinit mc_w.l(handlers.o)
+ 0x0800576a 0x00000002 PAD
+ 0x0800576c 0x00000184 Code RO 3389 i._fp_digits mc_w.l(printfa.o)
+ 0x080058f0 0x000006dc Code RO 3390 i._printf_core mc_w.l(printfa.o)
+ 0x08005fcc 0x00000024 Code RO 3391 i._printf_post_padding mc_w.l(printfa.o)
+ 0x08005ff0 0x0000002e Code RO 3392 i._printf_pre_padding mc_w.l(printfa.o)
+ 0x0800601e 0x00000002 PAD
+ 0x08006020 0x0000001c Code RO 306 i.fputc usart.o
+ 0x0800603c 0x00000170 Code RO 17 i.main main.o
+ 0x080061ac 0x00000012 Data RO 1497 .constdata stm32f1xx_hal_rcc.o
+ 0x080061be 0x00000018 Data RO 2727 .constdata system_stm32f1xx.o
+ 0x080061d6 0x00000002 PAD
+ 0x080061d8 0x00000020 Data RO 3460 Region$$Table anon$$obj.o
+
+
+ Execution Region RW_IRAM1 (Base: 0x20000000, Size: 0x00000e08, Max: 0x00005000, ABSOLUTE, COMPRESSED[0x000000c4])
+
+ Base Addr Size Type Attr Idx E Section Name Object
+
+ 0x20000000 0x0000004e Data RW 482 .data usbd_desc.o
+ 0x2000004e 0x00000002 PAD
+ 0x20000050 0x00000034 Data RW 558 .data usbd_custom_hid_if.o
+ 0x20000084 0x00000009 Data RW 1333 .data stm32f1xx_hal.o
+ 0x2000008d 0x00000003 PAD
+ 0x20000090 0x00000004 Data RW 2728 .data system_stm32f1xx.o
+ 0x20000094 0x00000001 Data RW 2914 .data usbd_ctlreq.o
+ 0x20000095 0x00000003 PAD
+ 0x20000098 0x000000d2 Data RW 3067 .data usbd_customhid.o
+ 0x2000016a 0x00000002 PAD
+ 0x2000016c 0x00000004 Data RW 3434 .data mc_w.l(stdout.o)
+ 0x20000170 0x00000040 Zero RW 18 .bss main.o
+ 0x200001b0 0x00000048 Zero RW 307 .bss usart.o
+ 0x200001f8 0x000002c4 Zero RW 432 .bss usb_device.o
+ 0x200004bc 0x00000200 Zero RW 481 .bss usbd_desc.o
+ 0x200006bc 0x00000348 Zero RW 627 .bss usbd_conf.o
+ 0x20000a04 0x00000004 PAD
+ 0x20000a08 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o
+
+
+==============================================================================
+
+Image component sizes
+
+
+ Code (inc. data) RO Data RW Data ZI Data Debug Object Name
+
+ 682 40 0 0 0 5455 i2c.o
+ 710 90 0 0 64 417917 main.o
+ 36 8 236 0 1024 812 startup_stm32f103xb.o
+ 192 36 0 9 0 5957 stm32f1xx_hal.o
+ 304 22 0 0 0 29471 stm32f1xx_hal_cortex.o
+ 828 34 0 0 0 3351 stm32f1xx_hal_gpio.o
+ 64 6 0 0 0 846 stm32f1xx_hal_msp.o
+ 4484 0 0 0 0 14597 stm32f1xx_hal_pcd.o
+ 68 0 0 0 0 1190 stm32f1xx_hal_pcd_ex.o
+ 1748 98 18 0 0 6040 stm32f1xx_hal_rcc.o
+ 304 14 0 0 0 1420 stm32f1xx_hal_rcc_ex.o
+ 694 4 0 0 0 3812 stm32f1xx_hal_uart.o
+ 50 6 0 0 0 4487 stm32f1xx_it.o
+ 5038 0 0 0 0 19131 stm32f1xx_ll_usb.o
+ 2 0 24 4 0 1143 system_stm32f1xx.o
+ 220 30 0 0 72 3534 usart.o
+ 76 16 0 0 708 780 usb_device.o
+ 808 30 0 0 840 14437 usbd_conf.o
+ 850 0 0 0 0 10043 usbd_core.o
+ 2106 28 0 1 0 10792 usbd_ctlreq.o
+ 14 0 0 52 0 2184 usbd_custom_hid_if.o
+ 756 40 0 210 0 10947 usbd_customhid.o
+ 382 118 0 78 512 6685 usbd_desc.o
+ 174 0 0 0 0 4592 usbd_ioreq.o
+
+ ----------------------------------------------------------------------
+ 20606 620 312 364 3224 579623 Object Totals
+ 0 0 32 0 0 0 (incl. Generated)
+ 16 0 2 10 4 0 (incl. Padding)
+
+ ----------------------------------------------------------------------
+
+ Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
+
+ 86 0 0 0 0 0 __dczerorl2.o
+ 0 0 0 0 0 0 entry.o
+ 0 0 0 0 0 0 entry10a.o
+ 0 0 0 0 0 0 entry11a.o
+ 8 4 0 0 0 0 entry2.o
+ 4 0 0 0 0 0 entry5.o
+ 0 0 0 0 0 0 entry7b.o
+ 0 0 0 0 0 0 entry8b.o
+ 8 4 0 0 0 0 entry9a.o
+ 30 0 0 0 0 0 handlers.o
+ 36 8 0 0 0 68 init.o
+ 0 0 0 0 0 0 iusefp.o
+ 30 0 0 0 0 68 llshl.o
+ 36 0 0 0 0 68 llsshr.o
+ 32 0 0 0 0 68 llushr.o
+ 36 0 0 0 0 68 memcpya.o
+ 36 0 0 0 0 108 memseta.o
+ 2258 90 0 0 0 452 printfa.o
+ 0 0 0 4 0 0 stdout.o
+ 44 0 0 0 0 80 uidiv.o
+ 98 0 0 0 0 92 uldiv.o
+ 48 0 0 0 0 68 cdrcmple.o
+ 334 0 0 0 0 148 dadd.o
+ 222 0 0 0 0 100 ddiv.o
+ 186 0 0 0 0 176 depilogue.o
+ 48 0 0 0 0 68 dfixul.o
+ 228 0 0 0 0 96 dmul.o
+ 38 0 0 0 0 68 f2d.o
+ 124 0 0 0 0 88 fdiv.o
+ 110 0 0 0 0 168 fepilogue.o
+ 50 0 0 0 0 68 ffixi.o
+ 18 0 0 0 0 68 fflti.o
+ 10 0 0 0 0 68 ffltui.o
+
+ ----------------------------------------------------------------------
+ 4162 106 0 4 0 2256 Library Totals
+ 4 0 0 0 0 0 (incl. Padding)
+
+ ----------------------------------------------------------------------
+
+ Code (inc. data) RO Data RW Data ZI Data Debug Library Name
+
+ 2742 106 0 4 0 1072 mc_w.l
+ 1416 0 0 0 0 1184 mf_w.l
+
+ ----------------------------------------------------------------------
+ 4162 106 0 4 0 2256 Library Totals
+
+ ----------------------------------------------------------------------
+
+==============================================================================
+
+
+ Code (inc. data) RO Data RW Data ZI Data Debug
+
+ 24768 726 312 368 3224 572491 Grand Totals
+ 24768 726 312 196 3224 572491 ELF Image Totals (compressed)
+ 24768 726 312 196 0 0 ROM Totals
+
+==============================================================================
+
+ Total RO Size (Code + RO Data) 25080 ( 24.49kB)
+ Total RW Size (RW Data + ZI Data) 3592 ( 3.51kB)
+ Total ROM Size (Code + RO Data + RW Data) 25276 ( 24.68kB)
+
+==============================================================================
+
diff --git a/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor.sct b/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor.sct
new file mode 100644
index 0000000..f64b03c
--- /dev/null
+++ b/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor.sct
@@ -0,0 +1,15 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x08000000 0x00010000 { ; load region size_region
+ ER_IROM1 0x08000000 0x00010000 { ; load address = execution address
+ *.o (RESET, +First)
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ }
+ RW_IRAM1 0x20000000 0x00005000 { ; RW data
+ .ANY (+RW +ZI)
+ }
+}
+
diff --git a/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor_RobotSensor.dep b/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor_RobotSensor.dep
new file mode 100644
index 0000000..ece9703
--- /dev/null
+++ b/Hardware/RobotSensor/MDK-ARM/RobotSensor/RobotSensor_RobotSensor.dep
@@ -0,0 +1,1002 @@
+Dependencies for Project 'RobotSensor', Target 'RobotSensor': (DO NOT MODIFY !)
+F (startup_stm32f103xb.s)(0x6628ACD8)(--cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1"
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
--pd "__UVISION_VERSION SETA 521" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1"
--list startup_stm32f103xb.lst --xref -o robotsensor\startup_stm32f103xb.o --depend robotsensor\startup_stm32f103xb.d)
+F (../Core/Src/main.c)(0x662A0040)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\main.o --omf_browse robotsensor\main.crf --depend robotsensor\main.d)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Core/Inc/usart.h)(0x662747FE)
+I (../Core/Inc/i2c.h)(0x6628A881)
+I (../USB_DEVICE/App/usb_device.h)(0x66287566)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h)(0x66287556)
+I (../USB_DEVICE/Target/usbd_conf.h)(0x6628AEB4)
+I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
+I (../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x66287556)
+F (../Core/Src/stm32f1xx_it.c)(0x66287568)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_it.o --omf_browse robotsensor\stm32f1xx_it.crf --depend robotsensor\stm32f1xx_it.d)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_it.h)(0x66287568)
+F (../Core/Src/stm32f1xx_hal_msp.c)(0x6628ADEB)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_msp.o --omf_browse robotsensor\stm32f1xx_hal_msp.crf --depend robotsensor\stm32f1xx_hal_msp.d)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (..\Core\Src\usart.c)(0x6628ADF3)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\usart.o --omf_browse robotsensor\usart.crf --depend robotsensor\usart.d)
+I (../Core/Inc/usart.h)(0x662747FE)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+F (..\Core\Src\i2c.c)(0x6628B0FF)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\i2c.o --omf_browse robotsensor\i2c.crf --depend robotsensor\i2c.d)
+I (../Core/Inc/i2c.h)(0x6628A881)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../USB_DEVICE/App/usb_device.c)(0x66287566)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\usb_device.o --omf_browse robotsensor\usb_device.crf --depend robotsensor\usb_device.d)
+I (../USB_DEVICE/App/usb_device.h)(0x66287566)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h)(0x66287556)
+I (../USB_DEVICE/Target/usbd_conf.h)(0x6628AEB4)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x66287556)
+I (../USB_DEVICE/App/usbd_desc.h)(0x66287567)
+I (../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid.h)(0x66287556)
+I (../USB_DEVICE/App/usbd_custom_hid_if.h)(0x66287568)
+F (../USB_DEVICE/App/usbd_desc.c)(0x6628BB52)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\usbd_desc.o --omf_browse robotsensor\usbd_desc.crf --depend robotsensor\usbd_desc.d)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x66287556)
+I (../USB_DEVICE/Target/usbd_conf.h)(0x6628AEB4)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x66287556)
+I (../USB_DEVICE/App/usbd_desc.h)(0x66287567)
+F (../USB_DEVICE/App/usbd_custom_hid_if.c)(0x6628AE8C)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\usbd_custom_hid_if.o --omf_browse robotsensor\usbd_custom_hid_if.crf --depend robotsensor\usbd_custom_hid_if.d)
+I (../USB_DEVICE/App/usbd_custom_hid_if.h)(0x66287568)
+I (../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h)(0x66287556)
+I (../USB_DEVICE/Target/usbd_conf.h)(0x6628AEB4)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x66287556)
+F (../USB_DEVICE/Target/usbd_conf.c)(0x66287567)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\usbd_conf.o --omf_browse robotsensor\usbd_conf.crf --depend robotsensor\usbd_conf.d)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h)(0x66287556)
+I (../USB_DEVICE/Target/usbd_conf.h)(0x6628AEB4)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid.h)(0x66287556)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_gpio_ex.o --omf_browse robotsensor\stm32f1xx_hal_gpio_ex.crf --depend robotsensor\stm32f1xx_hal_gpio_ex.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_pcd.o --omf_browse robotsensor\stm32f1xx_hal_pcd.crf --depend robotsensor\stm32f1xx_hal_pcd.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pcd_ex.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_pcd_ex.o --omf_browse robotsensor\stm32f1xx_hal_pcd_ex.crf --depend robotsensor\stm32f1xx_hal_pcd_ex.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_ll_usb.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_ll_usb.o --omf_browse robotsensor\stm32f1xx_ll_usb.crf --depend robotsensor\stm32f1xx_ll_usb.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal.o --omf_browse robotsensor\stm32f1xx_hal.crf --depend robotsensor\stm32f1xx_hal.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_rcc.o --omf_browse robotsensor\stm32f1xx_hal_rcc.crf --depend robotsensor\stm32f1xx_hal_rcc.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_rcc_ex.o --omf_browse robotsensor\stm32f1xx_hal_rcc_ex.crf --depend robotsensor\stm32f1xx_hal_rcc_ex.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_gpio.o --omf_browse robotsensor\stm32f1xx_hal_gpio.crf --depend robotsensor\stm32f1xx_hal_gpio.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_dma.o --omf_browse robotsensor\stm32f1xx_hal_dma.crf --depend robotsensor\stm32f1xx_hal_dma.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_cortex.o --omf_browse robotsensor\stm32f1xx_hal_cortex.crf --depend robotsensor\stm32f1xx_hal_cortex.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_pwr.o --omf_browse robotsensor\stm32f1xx_hal_pwr.crf --depend robotsensor\stm32f1xx_hal_pwr.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_flash.o --omf_browse robotsensor\stm32f1xx_hal_flash.crf --depend robotsensor\stm32f1xx_hal_flash.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_flash_ex.o --omf_browse robotsensor\stm32f1xx_hal_flash_ex.crf --depend robotsensor\stm32f1xx_hal_flash_ex.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_exti.o --omf_browse robotsensor\stm32f1xx_hal_exti.crf --depend robotsensor\stm32f1xx_hal_exti.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_tim.o --omf_browse robotsensor\stm32f1xx_hal_tim.crf --depend robotsensor\stm32f1xx_hal_tim.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_tim_ex.o --omf_browse robotsensor\stm32f1xx_hal_tim_ex.crf --depend robotsensor\stm32f1xx_hal_tim_ex.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\stm32f1xx_hal_uart.o --omf_browse robotsensor\stm32f1xx_hal_uart.crf --depend robotsensor\stm32f1xx_hal_uart.d)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Core/Src/system_stm32f1xx.c)(0x66287561)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\system_stm32f1xx.o --omf_browse robotsensor\system_stm32f1xx.crf --depend robotsensor\system_stm32f1xx.d)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+F (../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c)(0x66287556)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\usbd_core.o --omf_browse robotsensor\usbd_core.crf --depend robotsensor\usbd_core.d)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x66287556)
+I (../USB_DEVICE/Target/usbd_conf.h)(0x6628AEB4)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x66287556)
+F (../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c)(0x66287556)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\usbd_ctlreq.o --omf_browse robotsensor\usbd_ctlreq.crf --depend robotsensor\usbd_ctlreq.d)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h)(0x66287556)
+I (../USB_DEVICE/Target/usbd_conf.h)(0x6628AEB4)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x66287556)
+F (../Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c)(0x66287556)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\usbd_ioreq.o --omf_browse robotsensor\usbd_ioreq.crf --depend robotsensor\usbd_ioreq.d)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h)(0x66287556)
+I (../USB_DEVICE/Target/usbd_conf.h)(0x6628AEB4)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x66287556)
+F (../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid.c)(0x66287556)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O0 --apcs=interwork --split_sections -I ../USB_DEVICE/App -I ../USB_DEVICE/Target -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I ../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include
-I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE"
-IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include
-IC:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.1.0\Device\Include
-D__UVISION_VERSION="521" -D_RTE_ -DSTM32F10X_MD -DUSE_HAL_DRIVER -DSTM32F103xB
-o robotsensor\usbd_customhid.o --omf_browse robotsensor\usbd_customhid.crf --depend robotsensor\usbd_customhid.d)
+I (../Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h)(0x66287556)
+I (../USB_DEVICE/Target/usbd_conf.h)(0x6628AEB4)
+I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x574E3E26)
+I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x574E3E26)
+I (../Core/Inc/main.h)(0x6628B539)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66287561)
+I (../Core/Inc/stm32f1xx_hal_conf.h)(0x6628ACD5)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h)(0x66287561)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h)(0x66287561)
+I (../Drivers/CMSIS/Include/core_cm3.h)(0x66287555)
+I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x574E3E26)
+I (../Drivers/CMSIS/Include/cmsis_version.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_compiler.h)(0x66287555)
+I (../Drivers/CMSIS/Include/cmsis_armcc.h)(0x66287555)
+I (../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h)(0x66287561)
+I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x574E3E26)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_ll_usb.h)(0x66287561)
+I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pcd_ex.h)(0x66287561)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h)(0x66287556)
+I (../Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h)(0x66287556)
diff --git a/Hardware/RobotSensor/MDK-ARM/startup_stm32f103xb.lst b/Hardware/RobotSensor/MDK-ARM/startup_stm32f103xb.lst
new file mode 100644
index 0000000..0f0bb23
--- /dev/null
+++ b/Hardware/RobotSensor/MDK-ARM/startup_stm32f103xb.lst
@@ -0,0 +1,1175 @@
+
+
+
+ARM Macro Assembler Page 1
+
+
+ 1 00000000 ;******************** (C) COPYRIGHT 2017 STMicroelectron
+ ics ********************
+ 2 00000000 ;* File Name : startup_stm32f103xb.s
+ 3 00000000 ;* Author : MCD Application Team
+ 4 00000000 ;* Description : STM32F103xB Devices vector table
+ for MDK-ARM toolchain.
+ 5 00000000 ;* This module performs:
+ 6 00000000 ;* - Set the initial SP
+ 7 00000000 ;* - Set the initial PC == Reset_Ha
+ ndler
+ 8 00000000 ;* - Set the vector table entries w
+ ith the exceptions ISR address
+ 9 00000000 ;* - Configure the clock system
+ 10 00000000 ;* - Branches to __main in the C li
+ brary (which eventually
+ 11 00000000 ;* calls main()).
+ 12 00000000 ;* After Reset the Cortex-M3 proces
+ sor is in Thread mode,
+ 13 00000000 ;* priority is Privileged, and the
+ Stack is set to Main.
+ 14 00000000 ;*******************************************************
+ ***********************
+ 15 00000000 ;* @attention
+ 16 00000000 ;*
+ 17 00000000 ;* Copyright (c) 2017-2021 STMicroelectronics.
+ 18 00000000 ;* All rights reserved.
+ 19 00000000 ;*
+ 20 00000000 ;* This software is licensed under terms that can be fou
+ nd in the LICENSE file
+ 21 00000000 ;* in the root directory of this software component.
+ 22 00000000 ;* If no LICENSE file comes with this software, it is pr
+ ovided AS-IS.
+ 23 00000000 ;*
+ 24 00000000 ;*******************************************************
+ ***********************
+ 25 00000000
+ 26 00000000 ; Amount of memory (in bytes) allocated for Stack
+ 27 00000000 ; Tailor this value to your application needs
+ 28 00000000 ; Stack Configuration
+ 29 00000000 ; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+ 30 00000000 ;
+ 31 00000000
+ 32 00000000 00000400
+ Stack_Size
+ EQU 0x400
+ 33 00000000
+ 34 00000000 AREA STACK, NOINIT, READWRITE, ALIGN
+=3
+ 35 00000000 Stack_Mem
+ SPACE Stack_Size
+ 36 00000400 __initial_sp
+ 37 00000400
+ 38 00000400
+ 39 00000400 ; Heap Configuration
+ 40 00000400 ; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+ 41 00000400 ;
+ 42 00000400
+ 43 00000400 00000200
+ Heap_Size
+
+
+
+ARM Macro Assembler Page 2
+
+
+ EQU 0x200
+ 44 00000400
+ 45 00000400 AREA HEAP, NOINIT, READWRITE, ALIGN=
+3
+ 46 00000000 __heap_base
+ 47 00000000 Heap_Mem
+ SPACE Heap_Size
+ 48 00000200 __heap_limit
+ 49 00000200
+ 50 00000200 PRESERVE8
+ 51 00000200 THUMB
+ 52 00000200
+ 53 00000200
+ 54 00000200 ; Vector Table Mapped to Address 0 at Reset
+ 55 00000200 AREA RESET, DATA, READONLY
+ 56 00000000 EXPORT __Vectors
+ 57 00000000 EXPORT __Vectors_End
+ 58 00000000 EXPORT __Vectors_Size
+ 59 00000000
+ 60 00000000 00000000
+ __Vectors
+ DCD __initial_sp ; Top of Stack
+ 61 00000004 00000000 DCD Reset_Handler ; Reset Handler
+ 62 00000008 00000000 DCD NMI_Handler ; NMI Handler
+ 63 0000000C 00000000 DCD HardFault_Handler ; Hard Fault
+ Handler
+ 64 00000010 00000000 DCD MemManage_Handler
+ ; MPU Fault Handler
+
+ 65 00000014 00000000 DCD BusFault_Handler
+ ; Bus Fault Handler
+
+ 66 00000018 00000000 DCD UsageFault_Handler ; Usage Faul
+ t Handler
+ 67 0000001C 00000000 DCD 0 ; Reserved
+ 68 00000020 00000000 DCD 0 ; Reserved
+ 69 00000024 00000000 DCD 0 ; Reserved
+ 70 00000028 00000000 DCD 0 ; Reserved
+ 71 0000002C 00000000 DCD SVC_Handler ; SVCall Handler
+ 72 00000030 00000000 DCD DebugMon_Handler ; Debug Monito
+ r Handler
+ 73 00000034 00000000 DCD 0 ; Reserved
+ 74 00000038 00000000 DCD PendSV_Handler ; PendSV Handler
+
+ 75 0000003C 00000000 DCD SysTick_Handler
+ ; SysTick Handler
+ 76 00000040
+ 77 00000040 ; External Interrupts
+ 78 00000040 00000000 DCD WWDG_IRQHandler
+ ; Window Watchdog
+ 79 00000044 00000000 DCD PVD_IRQHandler ; PVD through EX
+ TI Line detect
+ 80 00000048 00000000 DCD TAMPER_IRQHandler ; Tamper
+ 81 0000004C 00000000 DCD RTC_IRQHandler ; RTC
+ 82 00000050 00000000 DCD FLASH_IRQHandler ; Flash
+ 83 00000054 00000000 DCD RCC_IRQHandler ; RCC
+ 84 00000058 00000000 DCD EXTI0_IRQHandler ; EXTI Line 0
+ 85 0000005C 00000000 DCD EXTI1_IRQHandler ; EXTI Line 1
+ 86 00000060 00000000 DCD EXTI2_IRQHandler ; EXTI Line 2
+
+
+
+ARM Macro Assembler Page 3
+
+
+ 87 00000064 00000000 DCD EXTI3_IRQHandler ; EXTI Line 3
+ 88 00000068 00000000 DCD EXTI4_IRQHandler ; EXTI Line 4
+ 89 0000006C 00000000 DCD DMA1_Channel1_IRQHandler
+ ; DMA1 Channel 1
+ 90 00000070 00000000 DCD DMA1_Channel2_IRQHandler
+ ; DMA1 Channel 2
+ 91 00000074 00000000 DCD DMA1_Channel3_IRQHandler
+ ; DMA1 Channel 3
+ 92 00000078 00000000 DCD DMA1_Channel4_IRQHandler
+ ; DMA1 Channel 4
+ 93 0000007C 00000000 DCD DMA1_Channel5_IRQHandler
+ ; DMA1 Channel 5
+ 94 00000080 00000000 DCD DMA1_Channel6_IRQHandler
+ ; DMA1 Channel 6
+ 95 00000084 00000000 DCD DMA1_Channel7_IRQHandler
+ ; DMA1 Channel 7
+ 96 00000088 00000000 DCD ADC1_2_IRQHandler ; ADC1_2
+ 97 0000008C 00000000 DCD USB_HP_CAN1_TX_IRQHandler ; USB
+ High Priority or C
+ AN1 TX
+ 98 00000090 00000000 DCD USB_LP_CAN1_RX0_IRQHandler ; US
+ B Low Priority or
+ CAN1 RX0
+ 99 00000094 00000000 DCD CAN1_RX1_IRQHandler ; CAN1 RX1
+ 100 00000098 00000000 DCD CAN1_SCE_IRQHandler ; CAN1 SCE
+ 101 0000009C 00000000 DCD EXTI9_5_IRQHandler
+ ; EXTI Line 9..5
+ 102 000000A0 00000000 DCD TIM1_BRK_IRQHandler
+ ; TIM1 Break
+ 103 000000A4 00000000 DCD TIM1_UP_IRQHandler
+ ; TIM1 Update
+ 104 000000A8 00000000 DCD TIM1_TRG_COM_IRQHandler ; TIM1
+ Trigger and Commuta
+ tion
+ 105 000000AC 00000000 DCD TIM1_CC_IRQHandler ; TIM1 Captu
+ re Compare
+ 106 000000B0 00000000 DCD TIM2_IRQHandler ; TIM2
+ 107 000000B4 00000000 DCD TIM3_IRQHandler ; TIM3
+ 108 000000B8 00000000 DCD TIM4_IRQHandler ; TIM4
+ 109 000000BC 00000000 DCD I2C1_EV_IRQHandler ; I2C1 Event
+
+ 110 000000C0 00000000 DCD I2C1_ER_IRQHandler ; I2C1 Error
+
+ 111 000000C4 00000000 DCD I2C2_EV_IRQHandler ; I2C2 Event
+
+ 112 000000C8 00000000 DCD I2C2_ER_IRQHandler ; I2C2 Error
+
+ 113 000000CC 00000000 DCD SPI1_IRQHandler ; SPI1
+ 114 000000D0 00000000 DCD SPI2_IRQHandler ; SPI2
+ 115 000000D4 00000000 DCD USART1_IRQHandler ; USART1
+ 116 000000D8 00000000 DCD USART2_IRQHandler ; USART2
+ 117 000000DC 00000000 DCD USART3_IRQHandler ; USART3
+ 118 000000E0 00000000 DCD EXTI15_10_IRQHandler
+ ; EXTI Line 15..10
+ 119 000000E4 00000000 DCD RTC_Alarm_IRQHandler ; RTC Alar
+ m through EXTI Line
+
+ 120 000000E8 00000000 DCD USBWakeUp_IRQHandler ; USB Wake
+ up from suspend
+
+
+
+ARM Macro Assembler Page 4
+
+
+ 121 000000EC __Vectors_End
+ 122 000000EC
+ 123 000000EC 000000EC
+ __Vectors_Size
+ EQU __Vectors_End - __Vectors
+ 124 000000EC
+ 125 000000EC AREA |.text|, CODE, READONLY
+ 126 00000000
+ 127 00000000 ; Reset handler
+ 128 00000000 Reset_Handler
+ PROC
+ 129 00000000 EXPORT Reset_Handler [WEAK
+]
+ 130 00000000 IMPORT __main
+ 131 00000000 IMPORT SystemInit
+ 132 00000000 4806 LDR R0, =SystemInit
+ 133 00000002 4780 BLX R0
+ 134 00000004 4806 LDR R0, =__main
+ 135 00000006 4700 BX R0
+ 136 00000008 ENDP
+ 137 00000008
+ 138 00000008 ; Dummy Exception Handlers (infinite loops which can be
+ modified)
+ 139 00000008
+ 140 00000008 NMI_Handler
+ PROC
+ 141 00000008 EXPORT NMI_Handler [WEA
+K]
+ 142 00000008 E7FE B .
+ 143 0000000A ENDP
+ 145 0000000A HardFault_Handler
+ PROC
+ 146 0000000A EXPORT HardFault_Handler [WEA
+K]
+ 147 0000000A E7FE B .
+ 148 0000000C ENDP
+ 150 0000000C MemManage_Handler
+ PROC
+ 151 0000000C EXPORT MemManage_Handler [WEA
+K]
+ 152 0000000C E7FE B .
+ 153 0000000E ENDP
+ 155 0000000E BusFault_Handler
+ PROC
+ 156 0000000E EXPORT BusFault_Handler [WEA
+K]
+ 157 0000000E E7FE B .
+ 158 00000010 ENDP
+ 160 00000010 UsageFault_Handler
+ PROC
+ 161 00000010 EXPORT UsageFault_Handler [WEA
+K]
+ 162 00000010 E7FE B .
+ 163 00000012 ENDP
+ 164 00000012 SVC_Handler
+ PROC
+ 165 00000012 EXPORT SVC_Handler [WEA
+K]
+ 166 00000012 E7FE B .
+
+
+
+ARM Macro Assembler Page 5
+
+
+ 167 00000014 ENDP
+ 169 00000014 DebugMon_Handler
+ PROC
+ 170 00000014 EXPORT DebugMon_Handler [WEA
+K]
+ 171 00000014 E7FE B .
+ 172 00000016 ENDP
+ 173 00000016 PendSV_Handler
+ PROC
+ 174 00000016 EXPORT PendSV_Handler [WEA
+K]
+ 175 00000016 E7FE B .
+ 176 00000018 ENDP
+ 177 00000018 SysTick_Handler
+ PROC
+ 178 00000018 EXPORT SysTick_Handler [WEA
+K]
+ 179 00000018 E7FE B .
+ 180 0000001A ENDP
+ 181 0000001A
+ 182 0000001A Default_Handler
+ PROC
+ 183 0000001A
+ 184 0000001A EXPORT WWDG_IRQHandler [WEA
+K]
+ 185 0000001A EXPORT PVD_IRQHandler [WEA
+K]
+ 186 0000001A EXPORT TAMPER_IRQHandler [WEA
+K]
+ 187 0000001A EXPORT RTC_IRQHandler [WEA
+K]
+ 188 0000001A EXPORT FLASH_IRQHandler [WEA
+K]
+ 189 0000001A EXPORT RCC_IRQHandler [WEA
+K]
+ 190 0000001A EXPORT EXTI0_IRQHandler [WEA
+K]
+ 191 0000001A EXPORT EXTI1_IRQHandler [WEA
+K]
+ 192 0000001A EXPORT EXTI2_IRQHandler [WEA
+K]
+ 193 0000001A EXPORT EXTI3_IRQHandler [WEA
+K]
+ 194 0000001A EXPORT EXTI4_IRQHandler [WEA
+K]
+ 195 0000001A EXPORT DMA1_Channel1_IRQHandler [WEA
+K]
+ 196 0000001A EXPORT DMA1_Channel2_IRQHandler [WEA
+K]
+ 197 0000001A EXPORT DMA1_Channel3_IRQHandler [WEA
+K]
+ 198 0000001A EXPORT DMA1_Channel4_IRQHandler [WEA
+K]
+ 199 0000001A EXPORT DMA1_Channel5_IRQHandler [WEA
+K]
+ 200 0000001A EXPORT DMA1_Channel6_IRQHandler [WEA
+K]
+ 201 0000001A EXPORT DMA1_Channel7_IRQHandler [WEA
+K]
+
+
+
+ARM Macro Assembler Page 6
+
+
+ 202 0000001A EXPORT ADC1_2_IRQHandler [WEA
+K]
+ 203 0000001A EXPORT USB_HP_CAN1_TX_IRQHandler [WEA
+K]
+ 204 0000001A EXPORT USB_LP_CAN1_RX0_IRQHandler [WEA
+K]
+ 205 0000001A EXPORT CAN1_RX1_IRQHandler [WEA
+K]
+ 206 0000001A EXPORT CAN1_SCE_IRQHandler [WEA
+K]
+ 207 0000001A EXPORT EXTI9_5_IRQHandler [WEA
+K]
+ 208 0000001A EXPORT TIM1_BRK_IRQHandler [WEA
+K]
+ 209 0000001A EXPORT TIM1_UP_IRQHandler [WEA
+K]
+ 210 0000001A EXPORT TIM1_TRG_COM_IRQHandler [WEA
+K]
+ 211 0000001A EXPORT TIM1_CC_IRQHandler [WEA
+K]
+ 212 0000001A EXPORT TIM2_IRQHandler [WEA
+K]
+ 213 0000001A EXPORT TIM3_IRQHandler [WEA
+K]
+ 214 0000001A EXPORT TIM4_IRQHandler [WEA
+K]
+ 215 0000001A EXPORT I2C1_EV_IRQHandler [WEA
+K]
+ 216 0000001A EXPORT I2C1_ER_IRQHandler [WEA
+K]
+ 217 0000001A EXPORT I2C2_EV_IRQHandler [WEA
+K]
+ 218 0000001A EXPORT I2C2_ER_IRQHandler [WEA
+K]
+ 219 0000001A EXPORT SPI1_IRQHandler [WEA
+K]
+ 220 0000001A EXPORT SPI2_IRQHandler [WEA
+K]
+ 221 0000001A EXPORT USART1_IRQHandler [WEA
+K]
+ 222 0000001A EXPORT USART2_IRQHandler [WEA
+K]
+ 223 0000001A EXPORT USART3_IRQHandler [WEA
+K]
+ 224 0000001A EXPORT EXTI15_10_IRQHandler [WEA
+K]
+ 225 0000001A EXPORT RTC_Alarm_IRQHandler [WE
+AK]
+ 226 0000001A EXPORT USBWakeUp_IRQHandler [WEA
+K]
+ 227 0000001A
+ 228 0000001A WWDG_IRQHandler
+ 229 0000001A PVD_IRQHandler
+ 230 0000001A TAMPER_IRQHandler
+ 231 0000001A RTC_IRQHandler
+ 232 0000001A FLASH_IRQHandler
+ 233 0000001A RCC_IRQHandler
+ 234 0000001A EXTI0_IRQHandler
+ 235 0000001A EXTI1_IRQHandler
+
+
+
+ARM Macro Assembler Page 7
+
+
+ 236 0000001A EXTI2_IRQHandler
+ 237 0000001A EXTI3_IRQHandler
+ 238 0000001A EXTI4_IRQHandler
+ 239 0000001A DMA1_Channel1_IRQHandler
+ 240 0000001A DMA1_Channel2_IRQHandler
+ 241 0000001A DMA1_Channel3_IRQHandler
+ 242 0000001A DMA1_Channel4_IRQHandler
+ 243 0000001A DMA1_Channel5_IRQHandler
+ 244 0000001A DMA1_Channel6_IRQHandler
+ 245 0000001A DMA1_Channel7_IRQHandler
+ 246 0000001A ADC1_2_IRQHandler
+ 247 0000001A USB_HP_CAN1_TX_IRQHandler
+ 248 0000001A USB_LP_CAN1_RX0_IRQHandler
+ 249 0000001A CAN1_RX1_IRQHandler
+ 250 0000001A CAN1_SCE_IRQHandler
+ 251 0000001A EXTI9_5_IRQHandler
+ 252 0000001A TIM1_BRK_IRQHandler
+ 253 0000001A TIM1_UP_IRQHandler
+ 254 0000001A TIM1_TRG_COM_IRQHandler
+ 255 0000001A TIM1_CC_IRQHandler
+ 256 0000001A TIM2_IRQHandler
+ 257 0000001A TIM3_IRQHandler
+ 258 0000001A TIM4_IRQHandler
+ 259 0000001A I2C1_EV_IRQHandler
+ 260 0000001A I2C1_ER_IRQHandler
+ 261 0000001A I2C2_EV_IRQHandler
+ 262 0000001A I2C2_ER_IRQHandler
+ 263 0000001A SPI1_IRQHandler
+ 264 0000001A SPI2_IRQHandler
+ 265 0000001A USART1_IRQHandler
+ 266 0000001A USART2_IRQHandler
+ 267 0000001A USART3_IRQHandler
+ 268 0000001A EXTI15_10_IRQHandler
+ 269 0000001A RTC_Alarm_IRQHandler
+ 270 0000001A USBWakeUp_IRQHandler
+ 271 0000001A
+ 272 0000001A E7FE B .
+ 273 0000001C
+ 274 0000001C ENDP
+ 275 0000001C
+ 276 0000001C ALIGN
+ 277 0000001C
+ 278 0000001C ;*******************************************************
+ ************************
+ 279 0000001C ; User Stack and Heap initialization
+ 280 0000001C ;*******************************************************
+ ************************
+ 281 0000001C IF :DEF:__MICROLIB
+ 282 0000001C
+ 283 0000001C EXPORT __initial_sp
+ 284 0000001C EXPORT __heap_base
+ 285 0000001C EXPORT __heap_limit
+ 286 0000001C
+ 287 0000001C ELSE
+ 302 ENDIF
+ 303 0000001C
+ 304 0000001C END
+ 00000000
+ 00000000
+
+
+
+ARM Macro Assembler Page 8
+
+
+Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw
+ork --depend=robotsensor\startup_stm32f103xb.d -orobotsensor\startup_stm32f103x
+b.o -I"D:\Hardware Project\RobotHardware-UESTC\Hardware\RobotSensor\MDK-ARM\RTE
+" -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\4.5.0\CMSIS\Include -IC:\Keil_v5\ARM\PACK\Kei
+l\STM32F1xx_DFP\1.1.0\Device\Include --predefine="__MICROLIB SETA 1" --predefin
+e="__UVISION_VERSION SETA 521" --predefine="_RTE_ SETA 1" --predefine="STM32F10
+X_MD SETA 1" --list=startup_stm32f103xb.lst startup_stm32f103xb.s
+
+
+
+ARM Macro Assembler Page 1 Alphabetic symbol ordering
+Relocatable symbols
+
+STACK 00000000
+
+Symbol: STACK
+ Definitions
+ At line 34 in file startup_stm32f103xb.s
+ Uses
+ None
+Comment: STACK unused
+Stack_Mem 00000000
+
+Symbol: Stack_Mem
+ Definitions
+ At line 35 in file startup_stm32f103xb.s
+ Uses
+ None
+Comment: Stack_Mem unused
+__initial_sp 00000400
+
+Symbol: __initial_sp
+ Definitions
+ At line 36 in file startup_stm32f103xb.s
+ Uses
+ At line 60 in file startup_stm32f103xb.s
+ At line 283 in file startup_stm32f103xb.s
+
+3 symbols
+
+
+
+ARM Macro Assembler Page 1 Alphabetic symbol ordering
+Relocatable symbols
+
+HEAP 00000000
+
+Symbol: HEAP
+ Definitions
+ At line 45 in file startup_stm32f103xb.s
+ Uses
+ None
+Comment: HEAP unused
+Heap_Mem 00000000
+
+Symbol: Heap_Mem
+ Definitions
+ At line 47 in file startup_stm32f103xb.s
+ Uses
+ None
+Comment: Heap_Mem unused
+__heap_base 00000000
+
+Symbol: __heap_base
+ Definitions
+ At line 46 in file startup_stm32f103xb.s
+ Uses
+ At line 284 in file startup_stm32f103xb.s
+Comment: __heap_base used once
+__heap_limit 00000200
+
+Symbol: __heap_limit
+ Definitions
+ At line 48 in file startup_stm32f103xb.s
+ Uses
+ At line 285 in file startup_stm32f103xb.s
+Comment: __heap_limit used once
+4 symbols
+
+
+
+ARM Macro Assembler Page 1 Alphabetic symbol ordering
+Relocatable symbols
+
+RESET 00000000
+
+Symbol: RESET
+ Definitions
+ At line 55 in file startup_stm32f103xb.s
+ Uses
+ None
+Comment: RESET unused
+__Vectors 00000000
+
+Symbol: __Vectors
+ Definitions
+ At line 60 in file startup_stm32f103xb.s
+ Uses
+ At line 56 in file startup_stm32f103xb.s
+ At line 123 in file startup_stm32f103xb.s
+
+__Vectors_End 000000EC
+
+Symbol: __Vectors_End
+ Definitions
+ At line 121 in file startup_stm32f103xb.s
+ Uses
+ At line 57 in file startup_stm32f103xb.s
+ At line 123 in file startup_stm32f103xb.s
+
+3 symbols
+
+
+
+ARM Macro Assembler Page 1 Alphabetic symbol ordering
+Relocatable symbols
+
+.text 00000000
+
+Symbol: .text
+ Definitions
+ At line 125 in file startup_stm32f103xb.s
+ Uses
+ None
+Comment: .text unused
+ADC1_2_IRQHandler 0000001A
+
+Symbol: ADC1_2_IRQHandler
+ Definitions
+ At line 246 in file startup_stm32f103xb.s
+ Uses
+ At line 96 in file startup_stm32f103xb.s
+ At line 202 in file startup_stm32f103xb.s
+
+BusFault_Handler 0000000E
+
+Symbol: BusFault_Handler
+ Definitions
+ At line 155 in file startup_stm32f103xb.s
+ Uses
+ At line 65 in file startup_stm32f103xb.s
+ At line 156 in file startup_stm32f103xb.s
+
+CAN1_RX1_IRQHandler 0000001A
+
+Symbol: CAN1_RX1_IRQHandler
+ Definitions
+ At line 249 in file startup_stm32f103xb.s
+ Uses
+ At line 99 in file startup_stm32f103xb.s
+ At line 205 in file startup_stm32f103xb.s
+
+CAN1_SCE_IRQHandler 0000001A
+
+Symbol: CAN1_SCE_IRQHandler
+ Definitions
+ At line 250 in file startup_stm32f103xb.s
+ Uses
+ At line 100 in file startup_stm32f103xb.s
+ At line 206 in file startup_stm32f103xb.s
+
+DMA1_Channel1_IRQHandler 0000001A
+
+Symbol: DMA1_Channel1_IRQHandler
+ Definitions
+ At line 239 in file startup_stm32f103xb.s
+ Uses
+ At line 89 in file startup_stm32f103xb.s
+ At line 195 in file startup_stm32f103xb.s
+
+DMA1_Channel2_IRQHandler 0000001A
+
+Symbol: DMA1_Channel2_IRQHandler
+ Definitions
+ At line 240 in file startup_stm32f103xb.s
+ Uses
+
+
+
+ARM Macro Assembler Page 2 Alphabetic symbol ordering
+Relocatable symbols
+
+ At line 90 in file startup_stm32f103xb.s
+ At line 196 in file startup_stm32f103xb.s
+
+DMA1_Channel3_IRQHandler 0000001A
+
+Symbol: DMA1_Channel3_IRQHandler
+ Definitions
+ At line 241 in file startup_stm32f103xb.s
+ Uses
+ At line 91 in file startup_stm32f103xb.s
+ At line 197 in file startup_stm32f103xb.s
+
+DMA1_Channel4_IRQHandler 0000001A
+
+Symbol: DMA1_Channel4_IRQHandler
+ Definitions
+ At line 242 in file startup_stm32f103xb.s
+ Uses
+ At line 92 in file startup_stm32f103xb.s
+ At line 198 in file startup_stm32f103xb.s
+
+DMA1_Channel5_IRQHandler 0000001A
+
+Symbol: DMA1_Channel5_IRQHandler
+ Definitions
+ At line 243 in file startup_stm32f103xb.s
+ Uses
+ At line 93 in file startup_stm32f103xb.s
+ At line 199 in file startup_stm32f103xb.s
+
+DMA1_Channel6_IRQHandler 0000001A
+
+Symbol: DMA1_Channel6_IRQHandler
+ Definitions
+ At line 244 in file startup_stm32f103xb.s
+ Uses
+ At line 94 in file startup_stm32f103xb.s
+ At line 200 in file startup_stm32f103xb.s
+
+DMA1_Channel7_IRQHandler 0000001A
+
+Symbol: DMA1_Channel7_IRQHandler
+ Definitions
+ At line 245 in file startup_stm32f103xb.s
+ Uses
+ At line 95 in file startup_stm32f103xb.s
+ At line 201 in file startup_stm32f103xb.s
+
+DebugMon_Handler 00000014
+
+Symbol: DebugMon_Handler
+ Definitions
+ At line 169 in file startup_stm32f103xb.s
+ Uses
+ At line 72 in file startup_stm32f103xb.s
+ At line 170 in file startup_stm32f103xb.s
+
+Default_Handler 0000001A
+
+
+
+
+ARM Macro Assembler Page 3 Alphabetic symbol ordering
+Relocatable symbols
+
+Symbol: Default_Handler
+ Definitions
+ At line 182 in file startup_stm32f103xb.s
+ Uses
+ None
+Comment: Default_Handler unused
+EXTI0_IRQHandler 0000001A
+
+Symbol: EXTI0_IRQHandler
+ Definitions
+ At line 234 in file startup_stm32f103xb.s
+ Uses
+ At line 84 in file startup_stm32f103xb.s
+ At line 190 in file startup_stm32f103xb.s
+
+EXTI15_10_IRQHandler 0000001A
+
+Symbol: EXTI15_10_IRQHandler
+ Definitions
+ At line 268 in file startup_stm32f103xb.s
+ Uses
+ At line 118 in file startup_stm32f103xb.s
+ At line 224 in file startup_stm32f103xb.s
+
+EXTI1_IRQHandler 0000001A
+
+Symbol: EXTI1_IRQHandler
+ Definitions
+ At line 235 in file startup_stm32f103xb.s
+ Uses
+ At line 85 in file startup_stm32f103xb.s
+ At line 191 in file startup_stm32f103xb.s
+
+EXTI2_IRQHandler 0000001A
+
+Symbol: EXTI2_IRQHandler
+ Definitions
+ At line 236 in file startup_stm32f103xb.s
+ Uses
+ At line 86 in file startup_stm32f103xb.s
+ At line 192 in file startup_stm32f103xb.s
+
+EXTI3_IRQHandler 0000001A
+
+Symbol: EXTI3_IRQHandler
+ Definitions
+ At line 237 in file startup_stm32f103xb.s
+ Uses
+ At line 87 in file startup_stm32f103xb.s
+ At line 193 in file startup_stm32f103xb.s
+
+EXTI4_IRQHandler 0000001A
+
+Symbol: EXTI4_IRQHandler
+ Definitions
+ At line 238 in file startup_stm32f103xb.s
+ Uses
+ At line 88 in file startup_stm32f103xb.s
+ At line 194 in file startup_stm32f103xb.s
+
+
+
+ARM Macro Assembler Page 4 Alphabetic symbol ordering
+Relocatable symbols
+
+
+EXTI9_5_IRQHandler 0000001A
+
+Symbol: EXTI9_5_IRQHandler
+ Definitions
+ At line 251 in file startup_stm32f103xb.s
+ Uses
+ At line 101 in file startup_stm32f103xb.s
+ At line 207 in file startup_stm32f103xb.s
+
+FLASH_IRQHandler 0000001A
+
+Symbol: FLASH_IRQHandler
+ Definitions
+ At line 232 in file startup_stm32f103xb.s
+ Uses
+ At line 82 in file startup_stm32f103xb.s
+ At line 188 in file startup_stm32f103xb.s
+
+HardFault_Handler 0000000A
+
+Symbol: HardFault_Handler
+ Definitions
+ At line 145 in file startup_stm32f103xb.s
+ Uses
+ At line 63 in file startup_stm32f103xb.s
+ At line 146 in file startup_stm32f103xb.s
+
+I2C1_ER_IRQHandler 0000001A
+
+Symbol: I2C1_ER_IRQHandler
+ Definitions
+ At line 260 in file startup_stm32f103xb.s
+ Uses
+ At line 110 in file startup_stm32f103xb.s
+ At line 216 in file startup_stm32f103xb.s
+
+I2C1_EV_IRQHandler 0000001A
+
+Symbol: I2C1_EV_IRQHandler
+ Definitions
+ At line 259 in file startup_stm32f103xb.s
+ Uses
+ At line 109 in file startup_stm32f103xb.s
+ At line 215 in file startup_stm32f103xb.s
+
+I2C2_ER_IRQHandler 0000001A
+
+Symbol: I2C2_ER_IRQHandler
+ Definitions
+ At line 262 in file startup_stm32f103xb.s
+ Uses
+ At line 112 in file startup_stm32f103xb.s
+ At line 218 in file startup_stm32f103xb.s
+
+I2C2_EV_IRQHandler 0000001A
+
+Symbol: I2C2_EV_IRQHandler
+ Definitions
+
+
+
+ARM Macro Assembler Page 5 Alphabetic symbol ordering
+Relocatable symbols
+
+ At line 261 in file startup_stm32f103xb.s
+ Uses
+ At line 111 in file startup_stm32f103xb.s
+ At line 217 in file startup_stm32f103xb.s
+
+MemManage_Handler 0000000C
+
+Symbol: MemManage_Handler
+ Definitions
+ At line 150 in file startup_stm32f103xb.s
+ Uses
+ At line 64 in file startup_stm32f103xb.s
+ At line 151 in file startup_stm32f103xb.s
+
+NMI_Handler 00000008
+
+Symbol: NMI_Handler
+ Definitions
+ At line 140 in file startup_stm32f103xb.s
+ Uses
+ At line 62 in file startup_stm32f103xb.s
+ At line 141 in file startup_stm32f103xb.s
+
+PVD_IRQHandler 0000001A
+
+Symbol: PVD_IRQHandler
+ Definitions
+ At line 229 in file startup_stm32f103xb.s
+ Uses
+ At line 79 in file startup_stm32f103xb.s
+ At line 185 in file startup_stm32f103xb.s
+
+PendSV_Handler 00000016
+
+Symbol: PendSV_Handler
+ Definitions
+ At line 173 in file startup_stm32f103xb.s
+ Uses
+ At line 74 in file startup_stm32f103xb.s
+ At line 174 in file startup_stm32f103xb.s
+
+RCC_IRQHandler 0000001A
+
+Symbol: RCC_IRQHandler
+ Definitions
+ At line 233 in file startup_stm32f103xb.s
+ Uses
+ At line 83 in file startup_stm32f103xb.s
+ At line 189 in file startup_stm32f103xb.s
+
+RTC_Alarm_IRQHandler 0000001A
+
+Symbol: RTC_Alarm_IRQHandler
+ Definitions
+ At line 269 in file startup_stm32f103xb.s
+ Uses
+ At line 119 in file startup_stm32f103xb.s
+ At line 225 in file startup_stm32f103xb.s
+
+
+
+
+ARM Macro Assembler Page 6 Alphabetic symbol ordering
+Relocatable symbols
+
+RTC_IRQHandler 0000001A
+
+Symbol: RTC_IRQHandler
+ Definitions
+ At line 231 in file startup_stm32f103xb.s
+ Uses
+ At line 81 in file startup_stm32f103xb.s
+ At line 187 in file startup_stm32f103xb.s
+
+Reset_Handler 00000000
+
+Symbol: Reset_Handler
+ Definitions
+ At line 128 in file startup_stm32f103xb.s
+ Uses
+ At line 61 in file startup_stm32f103xb.s
+ At line 129 in file startup_stm32f103xb.s
+
+SPI1_IRQHandler 0000001A
+
+Symbol: SPI1_IRQHandler
+ Definitions
+ At line 263 in file startup_stm32f103xb.s
+ Uses
+ At line 113 in file startup_stm32f103xb.s
+ At line 219 in file startup_stm32f103xb.s
+
+SPI2_IRQHandler 0000001A
+
+Symbol: SPI2_IRQHandler
+ Definitions
+ At line 264 in file startup_stm32f103xb.s
+ Uses
+ At line 114 in file startup_stm32f103xb.s
+ At line 220 in file startup_stm32f103xb.s
+
+SVC_Handler 00000012
+
+Symbol: SVC_Handler
+ Definitions
+ At line 164 in file startup_stm32f103xb.s
+ Uses
+ At line 71 in file startup_stm32f103xb.s
+ At line 165 in file startup_stm32f103xb.s
+
+SysTick_Handler 00000018
+
+Symbol: SysTick_Handler
+ Definitions
+ At line 177 in file startup_stm32f103xb.s
+ Uses
+ At line 75 in file startup_stm32f103xb.s
+ At line 178 in file startup_stm32f103xb.s
+
+TAMPER_IRQHandler 0000001A
+
+Symbol: TAMPER_IRQHandler
+ Definitions
+ At line 230 in file startup_stm32f103xb.s
+
+
+
+ARM Macro Assembler Page 7 Alphabetic symbol ordering
+Relocatable symbols
+
+ Uses
+ At line 80 in file startup_stm32f103xb.s
+ At line 186 in file startup_stm32f103xb.s
+
+TIM1_BRK_IRQHandler 0000001A
+
+Symbol: TIM1_BRK_IRQHandler
+ Definitions
+ At line 252 in file startup_stm32f103xb.s
+ Uses
+ At line 102 in file startup_stm32f103xb.s
+ At line 208 in file startup_stm32f103xb.s
+
+TIM1_CC_IRQHandler 0000001A
+
+Symbol: TIM1_CC_IRQHandler
+ Definitions
+ At line 255 in file startup_stm32f103xb.s
+ Uses
+ At line 105 in file startup_stm32f103xb.s
+ At line 211 in file startup_stm32f103xb.s
+
+TIM1_TRG_COM_IRQHandler 0000001A
+
+Symbol: TIM1_TRG_COM_IRQHandler
+ Definitions
+ At line 254 in file startup_stm32f103xb.s
+ Uses
+ At line 104 in file startup_stm32f103xb.s
+ At line 210 in file startup_stm32f103xb.s
+
+TIM1_UP_IRQHandler 0000001A
+
+Symbol: TIM1_UP_IRQHandler
+ Definitions
+ At line 253 in file startup_stm32f103xb.s
+ Uses
+ At line 103 in file startup_stm32f103xb.s
+ At line 209 in file startup_stm32f103xb.s
+
+TIM2_IRQHandler 0000001A
+
+Symbol: TIM2_IRQHandler
+ Definitions
+ At line 256 in file startup_stm32f103xb.s
+ Uses
+ At line 106 in file startup_stm32f103xb.s
+ At line 212 in file startup_stm32f103xb.s
+
+TIM3_IRQHandler 0000001A
+
+Symbol: TIM3_IRQHandler
+ Definitions
+ At line 257 in file startup_stm32f103xb.s
+ Uses
+ At line 107 in file startup_stm32f103xb.s
+ At line 213 in file startup_stm32f103xb.s
+
+TIM4_IRQHandler 0000001A
+
+
+
+ARM Macro Assembler Page 8 Alphabetic symbol ordering
+Relocatable symbols
+
+
+Symbol: TIM4_IRQHandler
+ Definitions
+ At line 258 in file startup_stm32f103xb.s
+ Uses
+ At line 108 in file startup_stm32f103xb.s
+ At line 214 in file startup_stm32f103xb.s
+
+USART1_IRQHandler 0000001A
+
+Symbol: USART1_IRQHandler
+ Definitions
+ At line 265 in file startup_stm32f103xb.s
+ Uses
+ At line 115 in file startup_stm32f103xb.s
+ At line 221 in file startup_stm32f103xb.s
+
+USART2_IRQHandler 0000001A
+
+Symbol: USART2_IRQHandler
+ Definitions
+ At line 266 in file startup_stm32f103xb.s
+ Uses
+ At line 116 in file startup_stm32f103xb.s
+ At line 222 in file startup_stm32f103xb.s
+
+USART3_IRQHandler 0000001A
+
+Symbol: USART3_IRQHandler
+ Definitions
+ At line 267 in file startup_stm32f103xb.s
+ Uses
+ At line 117 in file startup_stm32f103xb.s
+ At line 223 in file startup_stm32f103xb.s
+
+USBWakeUp_IRQHandler 0000001A
+
+Symbol: USBWakeUp_IRQHandler
+ Definitions
+ At line 270 in file startup_stm32f103xb.s
+ Uses
+ At line 120 in file startup_stm32f103xb.s
+ At line 226 in file startup_stm32f103xb.s
+
+USB_HP_CAN1_TX_IRQHandler 0000001A
+
+Symbol: USB_HP_CAN1_TX_IRQHandler
+ Definitions
+ At line 247 in file startup_stm32f103xb.s
+ Uses
+ At line 97 in file startup_stm32f103xb.s
+ At line 203 in file startup_stm32f103xb.s
+
+USB_LP_CAN1_RX0_IRQHandler 0000001A
+
+Symbol: USB_LP_CAN1_RX0_IRQHandler
+ Definitions
+ At line 248 in file startup_stm32f103xb.s
+ Uses
+
+
+
+ARM Macro Assembler Page 9 Alphabetic symbol ordering
+Relocatable symbols
+
+ At line 98 in file startup_stm32f103xb.s
+ At line 204 in file startup_stm32f103xb.s
+
+UsageFault_Handler 00000010
+
+Symbol: UsageFault_Handler
+ Definitions
+ At line 160 in file startup_stm32f103xb.s
+ Uses
+ At line 66 in file startup_stm32f103xb.s
+ At line 161 in file startup_stm32f103xb.s
+
+WWDG_IRQHandler 0000001A
+
+Symbol: WWDG_IRQHandler
+ Definitions
+ At line 228 in file startup_stm32f103xb.s
+ Uses
+ At line 78 in file startup_stm32f103xb.s
+ At line 184 in file startup_stm32f103xb.s
+
+55 symbols
+
+
+
+ARM Macro Assembler Page 1 Alphabetic symbol ordering
+Absolute symbols
+
+Heap_Size 00000200
+
+Symbol: Heap_Size
+ Definitions
+ At line 43 in file startup_stm32f103xb.s
+ Uses
+ At line 47 in file startup_stm32f103xb.s
+Comment: Heap_Size used once
+Stack_Size 00000400
+
+Symbol: Stack_Size
+ Definitions
+ At line 32 in file startup_stm32f103xb.s
+ Uses
+ At line 35 in file startup_stm32f103xb.s
+Comment: Stack_Size used once
+__Vectors_Size 000000EC
+
+Symbol: __Vectors_Size
+ Definitions
+ At line 123 in file startup_stm32f103xb.s
+ Uses
+ At line 58 in file startup_stm32f103xb.s
+Comment: __Vectors_Size used once
+3 symbols
+
+
+
+ARM Macro Assembler Page 1 Alphabetic symbol ordering
+External symbols
+
+SystemInit 00000000
+
+Symbol: SystemInit
+ Definitions
+ At line 131 in file startup_stm32f103xb.s
+ Uses
+ At line 132 in file startup_stm32f103xb.s
+Comment: SystemInit used once
+__main 00000000
+
+Symbol: __main
+ Definitions
+ At line 130 in file startup_stm32f103xb.s
+ Uses
+ At line 134 in file startup_stm32f103xb.s
+Comment: __main used once
+2 symbols
+406 symbols in table
diff --git a/Hardware/RobotSensor/MDK-ARM/startup_stm32f103xb.s b/Hardware/RobotSensor/MDK-ARM/startup_stm32f103xb.s
new file mode 100644
index 0000000..fd82d4f
--- /dev/null
+++ b/Hardware/RobotSensor/MDK-ARM/startup_stm32f103xb.s
@@ -0,0 +1,305 @@
+;******************** (C) COPYRIGHT 2017 STMicroelectronics ********************
+;* File Name : startup_stm32f103xb.s
+;* Author : MCD Application Team
+;* Description : STM32F103xB Devices vector table for MDK-ARM toolchain.
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == Reset_Handler
+;* - Set the vector table entries with the exceptions ISR address
+;* - Configure the clock system
+;* - Branches to __main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M3 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2017-2021 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software is licensed under terms that can be found in the LICENSE file
+;* in the root directory of this software component.
+;* If no LICENSE file comes with this software, it is provided AS-IS.
+;*
+;******************************************************************************
+
+; Amount of memory (in bytes) allocated for Stack
+; Tailor this value to your application needs
+; Stack Configuration
+; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Stack_Size EQU 0x400
+
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
+Stack_Mem SPACE Stack_Size
+__initial_sp
+
+
+; Heap Configuration
+; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Heap_Size EQU 0x200
+
+ AREA HEAP, NOINIT, READWRITE, ALIGN=3
+__heap_base
+Heap_Mem SPACE Heap_Size
+__heap_limit
+
+ PRESERVE8
+ THUMB
+
+
+; Vector Table Mapped to Address 0 at Reset
+ AREA RESET, DATA, READONLY
+ EXPORT __Vectors
+ EXPORT __Vectors_End
+ EXPORT __Vectors_Size
+
+__Vectors DCD __initial_sp ; Top of Stack
+ DCD Reset_Handler ; Reset Handler
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window Watchdog
+ DCD PVD_IRQHandler ; PVD through EXTI Line detect
+ DCD TAMPER_IRQHandler ; Tamper
+ DCD RTC_IRQHandler ; RTC
+ DCD FLASH_IRQHandler ; Flash
+ DCD RCC_IRQHandler ; RCC
+ DCD EXTI0_IRQHandler ; EXTI Line 0
+ DCD EXTI1_IRQHandler ; EXTI Line 1
+ DCD EXTI2_IRQHandler ; EXTI Line 2
+ DCD EXTI3_IRQHandler ; EXTI Line 3
+ DCD EXTI4_IRQHandler ; EXTI Line 4
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
+ DCD ADC1_2_IRQHandler ; ADC1_2
+ DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX
+ DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0
+ DCD CAN1_RX1_IRQHandler ; CAN1 RX1
+ DCD CAN1_SCE_IRQHandler ; CAN1 SCE
+ DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
+ DCD TIM1_BRK_IRQHandler ; TIM1 Break
+ DCD TIM1_UP_IRQHandler ; TIM1 Update
+ DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
+ DCD TIM2_IRQHandler ; TIM2
+ DCD TIM3_IRQHandler ; TIM3
+ DCD TIM4_IRQHandler ; TIM4
+ DCD I2C1_EV_IRQHandler ; I2C1 Event
+ DCD I2C1_ER_IRQHandler ; I2C1 Error
+ DCD I2C2_EV_IRQHandler ; I2C2 Event
+ DCD I2C2_ER_IRQHandler ; I2C2 Error
+ DCD SPI1_IRQHandler ; SPI1
+ DCD SPI2_IRQHandler ; SPI2
+ DCD USART1_IRQHandler ; USART1
+ DCD USART2_IRQHandler ; USART2
+ DCD USART3_IRQHandler ; USART3
+ DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
+ DCD RTC_Alarm_IRQHandler ; RTC Alarm through EXTI Line
+ DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend
+__Vectors_End
+
+__Vectors_Size EQU __Vectors_End - __Vectors
+
+ AREA |.text|, CODE, READONLY
+
+; Reset handler
+Reset_Handler PROC
+ EXPORT Reset_Handler [WEAK]
+ IMPORT __main
+ IMPORT SystemInit
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__main
+ BX R0
+ ENDP
+
+; Dummy Exception Handlers (infinite loops which can be modified)
+
+NMI_Handler PROC
+ EXPORT NMI_Handler [WEAK]
+ B .
+ ENDP
+HardFault_Handler\
+ PROC
+ EXPORT HardFault_Handler [WEAK]
+ B .
+ ENDP
+MemManage_Handler\
+ PROC
+ EXPORT MemManage_Handler [WEAK]
+ B .
+ ENDP
+BusFault_Handler\
+ PROC
+ EXPORT BusFault_Handler [WEAK]
+ B .
+ ENDP
+UsageFault_Handler\
+ PROC
+ EXPORT UsageFault_Handler [WEAK]
+ B .
+ ENDP
+SVC_Handler PROC
+ EXPORT SVC_Handler [WEAK]
+ B .
+ ENDP
+DebugMon_Handler\
+ PROC
+ EXPORT DebugMon_Handler [WEAK]
+ B .
+ ENDP
+PendSV_Handler PROC
+ EXPORT PendSV_Handler [WEAK]
+ B .
+ ENDP
+SysTick_Handler PROC
+ EXPORT SysTick_Handler [WEAK]
+ B .
+ ENDP
+
+Default_Handler PROC
+
+ EXPORT WWDG_IRQHandler [WEAK]
+ EXPORT PVD_IRQHandler [WEAK]
+ EXPORT TAMPER_IRQHandler [WEAK]
+ EXPORT RTC_IRQHandler [WEAK]
+ EXPORT FLASH_IRQHandler [WEAK]
+ EXPORT RCC_IRQHandler [WEAK]
+ EXPORT EXTI0_IRQHandler [WEAK]
+ EXPORT EXTI1_IRQHandler [WEAK]
+ EXPORT EXTI2_IRQHandler [WEAK]
+ EXPORT EXTI3_IRQHandler [WEAK]
+ EXPORT EXTI4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel1_IRQHandler [WEAK]
+ EXPORT DMA1_Channel2_IRQHandler [WEAK]
+ EXPORT DMA1_Channel3_IRQHandler [WEAK]
+ EXPORT DMA1_Channel4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel5_IRQHandler [WEAK]
+ EXPORT DMA1_Channel6_IRQHandler [WEAK]
+ EXPORT DMA1_Channel7_IRQHandler [WEAK]
+ EXPORT ADC1_2_IRQHandler [WEAK]
+ EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK]
+ EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK]
+ EXPORT CAN1_RX1_IRQHandler [WEAK]
+ EXPORT CAN1_SCE_IRQHandler [WEAK]
+ EXPORT EXTI9_5_IRQHandler [WEAK]
+ EXPORT TIM1_BRK_IRQHandler [WEAK]
+ EXPORT TIM1_UP_IRQHandler [WEAK]
+ EXPORT TIM1_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM1_CC_IRQHandler [WEAK]
+ EXPORT TIM2_IRQHandler [WEAK]
+ EXPORT TIM3_IRQHandler [WEAK]
+ EXPORT TIM4_IRQHandler [WEAK]
+ EXPORT I2C1_EV_IRQHandler [WEAK]
+ EXPORT I2C1_ER_IRQHandler [WEAK]
+ EXPORT I2C2_EV_IRQHandler [WEAK]
+ EXPORT I2C2_ER_IRQHandler [WEAK]
+ EXPORT SPI1_IRQHandler [WEAK]
+ EXPORT SPI2_IRQHandler [WEAK]
+ EXPORT USART1_IRQHandler [WEAK]
+ EXPORT USART2_IRQHandler [WEAK]
+ EXPORT USART3_IRQHandler [WEAK]
+ EXPORT EXTI15_10_IRQHandler [WEAK]
+ EXPORT RTC_Alarm_IRQHandler [WEAK]
+ EXPORT USBWakeUp_IRQHandler [WEAK]
+
+WWDG_IRQHandler
+PVD_IRQHandler
+TAMPER_IRQHandler
+RTC_IRQHandler
+FLASH_IRQHandler
+RCC_IRQHandler
+EXTI0_IRQHandler
+EXTI1_IRQHandler
+EXTI2_IRQHandler
+EXTI3_IRQHandler
+EXTI4_IRQHandler
+DMA1_Channel1_IRQHandler
+DMA1_Channel2_IRQHandler
+DMA1_Channel3_IRQHandler
+DMA1_Channel4_IRQHandler
+DMA1_Channel5_IRQHandler
+DMA1_Channel6_IRQHandler
+DMA1_Channel7_IRQHandler
+ADC1_2_IRQHandler
+USB_HP_CAN1_TX_IRQHandler
+USB_LP_CAN1_RX0_IRQHandler
+CAN1_RX1_IRQHandler
+CAN1_SCE_IRQHandler
+EXTI9_5_IRQHandler
+TIM1_BRK_IRQHandler
+TIM1_UP_IRQHandler
+TIM1_TRG_COM_IRQHandler
+TIM1_CC_IRQHandler
+TIM2_IRQHandler
+TIM3_IRQHandler
+TIM4_IRQHandler
+I2C1_EV_IRQHandler
+I2C1_ER_IRQHandler
+I2C2_EV_IRQHandler
+I2C2_ER_IRQHandler
+SPI1_IRQHandler
+SPI2_IRQHandler
+USART1_IRQHandler
+USART2_IRQHandler
+USART3_IRQHandler
+EXTI15_10_IRQHandler
+RTC_Alarm_IRQHandler
+USBWakeUp_IRQHandler
+
+ B .
+
+ ENDP
+
+ ALIGN
+
+;*******************************************************************************
+; User Stack and Heap initialization
+;*******************************************************************************
+ IF :DEF:__MICROLIB
+
+ EXPORT __initial_sp
+ EXPORT __heap_base
+ EXPORT __heap_limit
+
+ ELSE
+
+ IMPORT __use_two_region_memory
+ EXPORT __user_initial_stackheap
+
+__user_initial_stackheap
+
+ LDR R0, = Heap_Mem
+ LDR R1, =(Stack_Mem + Stack_Size)
+ LDR R2, = (Heap_Mem + Heap_Size)
+ LDR R3, = Stack_Mem
+ BX LR
+
+ ALIGN
+
+ ENDIF
+
+ END
+
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid.h b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid.h
new file mode 100644
index 0000000..d461c01
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid.h
@@ -0,0 +1,166 @@
+/**
+ ******************************************************************************
+ * @file usbd_customhid.h
+ * @author MCD Application Team
+ * @brief header file for the usbd_customhid.c file.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USB_CUSTOMHID_H
+#define __USB_CUSTOMHID_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_ioreq.h"
+
+/** @addtogroup STM32_USB_DEVICE_LIBRARY
+ * @{
+ */
+
+/** @defgroup USBD_CUSTOM_HID
+ * @brief This file is the Header file for USBD_customhid.c
+ * @{
+ */
+
+
+/** @defgroup USBD_CUSTOM_HID_Exported_Defines
+ * @{
+ */
+#define CUSTOM_HID_EPIN_ADDR 0x81U
+#define CUSTOM_HID_EPIN_SIZE 0x02U
+
+#define CUSTOM_HID_EPOUT_ADDR 0x01U
+#define CUSTOM_HID_EPOUT_SIZE 0x02U
+
+#define USB_CUSTOM_HID_CONFIG_DESC_SIZ 41U
+#define USB_CUSTOM_HID_DESC_SIZ 9U
+
+#ifndef CUSTOM_HID_HS_BINTERVAL
+#define CUSTOM_HID_HS_BINTERVAL 0x05U
+#endif /* CUSTOM_HID_HS_BINTERVAL */
+
+#ifndef CUSTOM_HID_FS_BINTERVAL
+#define CUSTOM_HID_FS_BINTERVAL 0x05U
+#endif /* CUSTOM_HID_FS_BINTERVAL */
+
+#ifndef USBD_CUSTOMHID_OUTREPORT_BUF_SIZE
+#define USBD_CUSTOMHID_OUTREPORT_BUF_SIZE 0x02U
+#endif /* USBD_CUSTOMHID_OUTREPORT_BUF_SIZE */
+#ifndef USBD_CUSTOM_HID_REPORT_DESC_SIZE
+#define USBD_CUSTOM_HID_REPORT_DESC_SIZE 163U
+#endif /* USBD_CUSTOM_HID_REPORT_DESC_SIZE */
+
+#define CUSTOM_HID_DESCRIPTOR_TYPE 0x21U
+#define CUSTOM_HID_REPORT_DESC 0x22U
+
+#define CUSTOM_HID_REQ_SET_PROTOCOL 0x0BU
+#define CUSTOM_HID_REQ_GET_PROTOCOL 0x03U
+
+#define CUSTOM_HID_REQ_SET_IDLE 0x0AU
+#define CUSTOM_HID_REQ_GET_IDLE 0x02U
+
+#define CUSTOM_HID_REQ_SET_REPORT 0x09U
+#define CUSTOM_HID_REQ_GET_REPORT 0x01U
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_CORE_Exported_TypesDefinitions
+ * @{
+ */
+typedef enum
+{
+ CUSTOM_HID_IDLE = 0U,
+ CUSTOM_HID_BUSY,
+}
+CUSTOM_HID_StateTypeDef;
+
+typedef struct _USBD_CUSTOM_HID_Itf
+{
+ uint8_t *pReport;
+ int8_t (* Init)(void);
+ int8_t (* DeInit)(void);
+ int8_t (* OutEvent)(uint8_t event_idx, uint8_t state);
+
+} USBD_CUSTOM_HID_ItfTypeDef;
+
+typedef struct
+{
+ uint8_t Report_buf[USBD_CUSTOMHID_OUTREPORT_BUF_SIZE];
+ uint32_t Protocol;
+ uint32_t IdleState;
+ uint32_t AltSetting;
+ uint32_t IsReportAvailable;
+ CUSTOM_HID_StateTypeDef state;
+}
+USBD_CUSTOM_HID_HandleTypeDef;
+/**
+ * @}
+ */
+
+
+
+/** @defgroup USBD_CORE_Exported_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CORE_Exported_Variables
+ * @{
+ */
+
+extern USBD_ClassTypeDef USBD_CUSTOM_HID;
+#define USBD_CUSTOM_HID_CLASS &USBD_CUSTOM_HID
+/**
+ * @}
+ */
+
+/** @defgroup USB_CORE_Exported_Functions
+ * @{
+ */
+uint8_t USBD_CUSTOM_HID_SendReport(USBD_HandleTypeDef *pdev,
+ uint8_t *report,
+ uint16_t len);
+
+
+
+uint8_t USBD_CUSTOM_HID_RegisterInterface(USBD_HandleTypeDef *pdev,
+ USBD_CUSTOM_HID_ItfTypeDef *fops);
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USB_CUSTOMHID_H */
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid_if_template.h b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid_if_template.h
new file mode 100644
index 0000000..e390693
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Inc/usbd_customhid_if_template.h
@@ -0,0 +1,43 @@
+/**
+ ******************************************************************************
+ * @file usbd_customhid_if_template.h
+ * @author MCD Application Team
+ * @brief Header for usbd_customhid_if_template.c file.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USBD_CUSTOMHID_IF_TEMPLATE_H
+#define __USBD_CUSTOMHID_IF_TEMPLATE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_customhid.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+extern USBD_CUSTOM_HID_ItfTypeDef USBD_CustomHID_template_fops;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USBD_CUSTOMHID_IF_TEMPLATE_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid.c b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid.c
new file mode 100644
index 0000000..8998070
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid.c
@@ -0,0 +1,716 @@
+/**
+ ******************************************************************************
+ * @file usbd_customhid.c
+ * @author MCD Application Team
+ * @brief This file provides the CUSTOM_HID core functions.
+ *
+ * @verbatim
+ *
+ * ===================================================================
+ * CUSTOM_HID Class Description
+ * ===================================================================
+ * This module manages the CUSTOM_HID class V1.11 following the "Device Class Definition
+ * for Human Interface Devices (CUSTOM_HID) Version 1.11 Jun 27, 2001".
+ * This driver implements the following aspects of the specification:
+ * - The Boot Interface Subclass
+ * - Usage Page : Generic Desktop
+ * - Usage : Vendor
+ * - Collection : Application
+ *
+ * @note In HS mode and when the DMA is used, all variables and data structures
+ * dealing with the DMA during the transaction process should be 32-bit aligned.
+ *
+ *
+ * @endverbatim
+ *
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* BSPDependencies
+- "stm32xxxxx_{eval}{discovery}{nucleo_144}.c"
+- "stm32xxxxx_{eval}{discovery}_io.c"
+EndBSPDependencies */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_customhid.h"
+#include "usbd_ctlreq.h"
+
+
+/** @addtogroup STM32_USB_DEVICE_LIBRARY
+ * @{
+ */
+
+
+/** @defgroup USBD_CUSTOM_HID
+ * @brief usbd core module
+ * @{
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Private_TypesDefinitions
+ * @{
+ */
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_CUSTOM_HID_Private_Defines
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_CUSTOM_HID_Private_Macros
+ * @{
+ */
+/**
+ * @}
+ */
+/** @defgroup USBD_CUSTOM_HID_Private_FunctionPrototypes
+ * @{
+ */
+
+
+static uint8_t USBD_CUSTOM_HID_Init(USBD_HandleTypeDef *pdev,
+ uint8_t cfgidx);
+
+static uint8_t USBD_CUSTOM_HID_DeInit(USBD_HandleTypeDef *pdev,
+ uint8_t cfgidx);
+
+static uint8_t USBD_CUSTOM_HID_Setup(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req);
+
+static uint8_t *USBD_CUSTOM_HID_GetFSCfgDesc(uint16_t *length);
+
+static uint8_t *USBD_CUSTOM_HID_GetHSCfgDesc(uint16_t *length);
+
+static uint8_t *USBD_CUSTOM_HID_GetOtherSpeedCfgDesc(uint16_t *length);
+
+static uint8_t *USBD_CUSTOM_HID_GetDeviceQualifierDesc(uint16_t *length);
+
+static uint8_t USBD_CUSTOM_HID_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum);
+
+static uint8_t USBD_CUSTOM_HID_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum);
+static uint8_t USBD_CUSTOM_HID_EP0_RxReady(USBD_HandleTypeDef *pdev);
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Private_Variables
+ * @{
+ */
+
+USBD_ClassTypeDef USBD_CUSTOM_HID =
+{
+ USBD_CUSTOM_HID_Init,
+ USBD_CUSTOM_HID_DeInit,
+ USBD_CUSTOM_HID_Setup,
+ NULL, /*EP0_TxSent*/
+ USBD_CUSTOM_HID_EP0_RxReady, /*EP0_RxReady*/ /* STATUS STAGE IN */
+ USBD_CUSTOM_HID_DataIn, /*DataIn*/
+ USBD_CUSTOM_HID_DataOut,
+ NULL, /*SOF */
+ NULL,
+ NULL,
+ USBD_CUSTOM_HID_GetHSCfgDesc,
+ USBD_CUSTOM_HID_GetFSCfgDesc,
+ USBD_CUSTOM_HID_GetOtherSpeedCfgDesc,
+ USBD_CUSTOM_HID_GetDeviceQualifierDesc,
+};
+
+/* USB CUSTOM_HID device FS Configuration Descriptor */
+__ALIGN_BEGIN static uint8_t USBD_CUSTOM_HID_CfgFSDesc[USB_CUSTOM_HID_CONFIG_DESC_SIZ] __ALIGN_END =
+{
+ 0x09, /* bLength: Configuration Descriptor size */
+ USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */
+ USB_CUSTOM_HID_CONFIG_DESC_SIZ,
+ /* wTotalLength: Bytes returned */
+ 0x00,
+ 0x01, /*bNumInterfaces: 1 interface*/
+ 0x01, /*bConfigurationValue: Configuration value*/
+ 0x00, /*iConfiguration: Index of string descriptor describing
+ the configuration*/
+ 0xC0, /*bmAttributes: bus powered */
+ 0x32, /*MaxPower 100 mA: this current is used for detecting Vbus*/
+
+ /************** Descriptor of CUSTOM HID interface ****************/
+ /* 09 */
+ 0x09, /*bLength: Interface Descriptor size*/
+ USB_DESC_TYPE_INTERFACE,/*bDescriptorType: Interface descriptor type*/
+ 0x00, /*bInterfaceNumber: Number of Interface*/
+ 0x00, /*bAlternateSetting: Alternate setting*/
+ 0x02, /*bNumEndpoints*/
+ 0x03, /*bInterfaceClass: CUSTOM_HID*/
+ 0x00, /*bInterfaceSubClass : 1=BOOT, 0=no boot*/
+ 0x00, /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/
+ 0, /*iInterface: Index of string descriptor*/
+ /******************** Descriptor of CUSTOM_HID *************************/
+ /* 18 */
+ 0x09, /*bLength: CUSTOM_HID Descriptor size*/
+ CUSTOM_HID_DESCRIPTOR_TYPE, /*bDescriptorType: CUSTOM_HID*/
+ 0x11, /*bCUSTOM_HIDUSTOM_HID: CUSTOM_HID Class Spec release number*/
+ 0x01,
+ 0x00, /*bCountryCode: Hardware target country*/
+ 0x01, /*bNumDescriptors: Number of CUSTOM_HID class descriptors to follow*/
+ 0x22, /*bDescriptorType*/
+ USBD_CUSTOM_HID_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
+ 0x00,
+ /******************** Descriptor of Custom HID endpoints ********************/
+ /* 27 */
+ 0x07, /*bLength: Endpoint Descriptor size*/
+ USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
+
+ CUSTOM_HID_EPIN_ADDR, /*bEndpointAddress: Endpoint Address (IN)*/
+ 0x03, /*bmAttributes: Interrupt endpoint*/
+ CUSTOM_HID_EPIN_SIZE, /*wMaxPacketSize: 2 Byte max */
+ 0x00,
+ CUSTOM_HID_FS_BINTERVAL, /*bInterval: Polling Interval */
+ /* 34 */
+
+ 0x07, /* bLength: Endpoint Descriptor size */
+ USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: */
+ CUSTOM_HID_EPOUT_ADDR, /*bEndpointAddress: Endpoint Address (OUT)*/
+ 0x03, /* bmAttributes: Interrupt endpoint */
+ CUSTOM_HID_EPOUT_SIZE, /* wMaxPacketSize: 2 Bytes max */
+ 0x00,
+ CUSTOM_HID_FS_BINTERVAL, /* bInterval: Polling Interval */
+ /* 41 */
+};
+
+/* USB CUSTOM_HID device HS Configuration Descriptor */
+__ALIGN_BEGIN static uint8_t USBD_CUSTOM_HID_CfgHSDesc[USB_CUSTOM_HID_CONFIG_DESC_SIZ] __ALIGN_END =
+{
+ 0x09, /* bLength: Configuration Descriptor size */
+ USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */
+ USB_CUSTOM_HID_CONFIG_DESC_SIZ,
+ /* wTotalLength: Bytes returned */
+ 0x00,
+ 0x01, /*bNumInterfaces: 1 interface*/
+ 0x01, /*bConfigurationValue: Configuration value*/
+ 0x00, /*iConfiguration: Index of string descriptor describing
+ the configuration*/
+ 0xC0, /*bmAttributes: bus powered */
+ 0x32, /*MaxPower 100 mA: this current is used for detecting Vbus*/
+
+ /************** Descriptor of CUSTOM HID interface ****************/
+ /* 09 */
+ 0x09, /*bLength: Interface Descriptor size*/
+ USB_DESC_TYPE_INTERFACE,/*bDescriptorType: Interface descriptor type*/
+ 0x00, /*bInterfaceNumber: Number of Interface*/
+ 0x00, /*bAlternateSetting: Alternate setting*/
+ 0x02, /*bNumEndpoints*/
+ 0x03, /*bInterfaceClass: CUSTOM_HID*/
+ 0x00, /*bInterfaceSubClass : 1=BOOT, 0=no boot*/
+ 0x00, /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/
+ 0, /*iInterface: Index of string descriptor*/
+ /******************** Descriptor of CUSTOM_HID *************************/
+ /* 18 */
+ 0x09, /*bLength: CUSTOM_HID Descriptor size*/
+ CUSTOM_HID_DESCRIPTOR_TYPE, /*bDescriptorType: CUSTOM_HID*/
+ 0x11, /*bCUSTOM_HIDUSTOM_HID: CUSTOM_HID Class Spec release number*/
+ 0x01,
+ 0x00, /*bCountryCode: Hardware target country*/
+ 0x01, /*bNumDescriptors: Number of CUSTOM_HID class descriptors to follow*/
+ 0x22, /*bDescriptorType*/
+ USBD_CUSTOM_HID_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
+ 0x00,
+ /******************** Descriptor of Custom HID endpoints ********************/
+ /* 27 */
+ 0x07, /*bLength: Endpoint Descriptor size*/
+ USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
+
+ CUSTOM_HID_EPIN_ADDR, /*bEndpointAddress: Endpoint Address (IN)*/
+ 0x03, /*bmAttributes: Interrupt endpoint*/
+ CUSTOM_HID_EPIN_SIZE, /*wMaxPacketSize: 2 Byte max */
+ 0x00,
+ CUSTOM_HID_HS_BINTERVAL, /*bInterval: Polling Interval */
+ /* 34 */
+
+ 0x07, /* bLength: Endpoint Descriptor size */
+ USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: */
+ CUSTOM_HID_EPOUT_ADDR, /*bEndpointAddress: Endpoint Address (OUT)*/
+ 0x03, /* bmAttributes: Interrupt endpoint */
+ CUSTOM_HID_EPOUT_SIZE, /* wMaxPacketSize: 2 Bytes max */
+ 0x00,
+ CUSTOM_HID_HS_BINTERVAL, /* bInterval: Polling Interval */
+ /* 41 */
+};
+
+/* USB CUSTOM_HID device Other Speed Configuration Descriptor */
+__ALIGN_BEGIN static uint8_t USBD_CUSTOM_HID_OtherSpeedCfgDesc[USB_CUSTOM_HID_CONFIG_DESC_SIZ] __ALIGN_END =
+{
+ 0x09, /* bLength: Configuration Descriptor size */
+ USB_DESC_TYPE_CONFIGURATION, /* bDescriptorType: Configuration */
+ USB_CUSTOM_HID_CONFIG_DESC_SIZ,
+ /* wTotalLength: Bytes returned */
+ 0x00,
+ 0x01, /*bNumInterfaces: 1 interface*/
+ 0x01, /*bConfigurationValue: Configuration value*/
+ 0x00, /*iConfiguration: Index of string descriptor describing
+ the configuration*/
+ 0xC0, /*bmAttributes: bus powered */
+ 0x32, /*MaxPower 100 mA: this current is used for detecting Vbus*/
+
+ /************** Descriptor of CUSTOM HID interface ****************/
+ /* 09 */
+ 0x09, /*bLength: Interface Descriptor size*/
+ USB_DESC_TYPE_INTERFACE,/*bDescriptorType: Interface descriptor type*/
+ 0x00, /*bInterfaceNumber: Number of Interface*/
+ 0x00, /*bAlternateSetting: Alternate setting*/
+ 0x02, /*bNumEndpoints*/
+ 0x03, /*bInterfaceClass: CUSTOM_HID*/
+ 0x00, /*bInterfaceSubClass : 1=BOOT, 0=no boot*/
+ 0x00, /*nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse*/
+ 0, /*iInterface: Index of string descriptor*/
+ /******************** Descriptor of CUSTOM_HID *************************/
+ /* 18 */
+ 0x09, /*bLength: CUSTOM_HID Descriptor size*/
+ CUSTOM_HID_DESCRIPTOR_TYPE, /*bDescriptorType: CUSTOM_HID*/
+ 0x11, /*bCUSTOM_HIDUSTOM_HID: CUSTOM_HID Class Spec release number*/
+ 0x01,
+ 0x00, /*bCountryCode: Hardware target country*/
+ 0x01, /*bNumDescriptors: Number of CUSTOM_HID class descriptors to follow*/
+ 0x22, /*bDescriptorType*/
+ USBD_CUSTOM_HID_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
+ 0x00,
+ /******************** Descriptor of Custom HID endpoints ********************/
+ /* 27 */
+ 0x07, /*bLength: Endpoint Descriptor size*/
+ USB_DESC_TYPE_ENDPOINT, /*bDescriptorType:*/
+
+ CUSTOM_HID_EPIN_ADDR, /*bEndpointAddress: Endpoint Address (IN)*/
+ 0x03, /*bmAttributes: Interrupt endpoint*/
+ CUSTOM_HID_EPIN_SIZE, /*wMaxPacketSize: 2 Byte max */
+ 0x00,
+ CUSTOM_HID_FS_BINTERVAL, /*bInterval: Polling Interval */
+ /* 34 */
+
+ 0x07, /* bLength: Endpoint Descriptor size */
+ USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: */
+ CUSTOM_HID_EPOUT_ADDR, /*bEndpointAddress: Endpoint Address (OUT)*/
+ 0x03, /* bmAttributes: Interrupt endpoint */
+ CUSTOM_HID_EPOUT_SIZE, /* wMaxPacketSize: 2 Bytes max */
+ 0x00,
+ CUSTOM_HID_FS_BINTERVAL, /* bInterval: Polling Interval */
+ /* 41 */
+};
+
+/* USB CUSTOM_HID device Configuration Descriptor */
+__ALIGN_BEGIN static uint8_t USBD_CUSTOM_HID_Desc[USB_CUSTOM_HID_DESC_SIZ] __ALIGN_END =
+{
+ /* 18 */
+ 0x09, /*bLength: CUSTOM_HID Descriptor size*/
+ CUSTOM_HID_DESCRIPTOR_TYPE, /*bDescriptorType: CUSTOM_HID*/
+ 0x11, /*bCUSTOM_HIDUSTOM_HID: CUSTOM_HID Class Spec release number*/
+ 0x01,
+ 0x00, /*bCountryCode: Hardware target country*/
+ 0x01, /*bNumDescriptors: Number of CUSTOM_HID class descriptors to follow*/
+ 0x22, /*bDescriptorType*/
+ USBD_CUSTOM_HID_REPORT_DESC_SIZE,/*wItemLength: Total length of Report descriptor*/
+ 0x00,
+};
+
+/* USB Standard Device Descriptor */
+__ALIGN_BEGIN static uint8_t USBD_CUSTOM_HID_DeviceQualifierDesc[USB_LEN_DEV_QUALIFIER_DESC] __ALIGN_END =
+{
+ USB_LEN_DEV_QUALIFIER_DESC,
+ USB_DESC_TYPE_DEVICE_QUALIFIER,
+ 0x00,
+ 0x02,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x40,
+ 0x01,
+ 0x00,
+};
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief USBD_CUSTOM_HID_Init
+ * Initialize the CUSTOM_HID interface
+ * @param pdev: device instance
+ * @param cfgidx: Configuration index
+ * @retval status
+ */
+static uint8_t USBD_CUSTOM_HID_Init(USBD_HandleTypeDef *pdev,
+ uint8_t cfgidx)
+{
+ uint8_t ret = 0U;
+ USBD_CUSTOM_HID_HandleTypeDef *hhid;
+
+ /* Open EP IN */
+ USBD_LL_OpenEP(pdev, CUSTOM_HID_EPIN_ADDR, USBD_EP_TYPE_INTR,
+ CUSTOM_HID_EPIN_SIZE);
+
+ pdev->ep_in[CUSTOM_HID_EPIN_ADDR & 0xFU].is_used = 1U;
+
+ /* Open EP OUT */
+ USBD_LL_OpenEP(pdev, CUSTOM_HID_EPOUT_ADDR, USBD_EP_TYPE_INTR,
+ CUSTOM_HID_EPOUT_SIZE);
+
+ pdev->ep_out[CUSTOM_HID_EPOUT_ADDR & 0xFU].is_used = 1U;
+
+ pdev->pClassData = USBD_malloc(sizeof(USBD_CUSTOM_HID_HandleTypeDef));
+
+ if (pdev->pClassData == NULL)
+ {
+ ret = 1U;
+ }
+ else
+ {
+ hhid = (USBD_CUSTOM_HID_HandleTypeDef *) pdev->pClassData;
+
+ hhid->state = CUSTOM_HID_IDLE;
+ ((USBD_CUSTOM_HID_ItfTypeDef *)pdev->pUserData)->Init();
+
+ /* Prepare Out endpoint to receive 1st packet */
+ USBD_LL_PrepareReceive(pdev, CUSTOM_HID_EPOUT_ADDR, hhid->Report_buf,
+ USBD_CUSTOMHID_OUTREPORT_BUF_SIZE);
+ }
+
+ return ret;
+}
+
+/**
+ * @brief USBD_CUSTOM_HID_Init
+ * DeInitialize the CUSTOM_HID layer
+ * @param pdev: device instance
+ * @param cfgidx: Configuration index
+ * @retval status
+ */
+static uint8_t USBD_CUSTOM_HID_DeInit(USBD_HandleTypeDef *pdev,
+ uint8_t cfgidx)
+{
+ /* Close CUSTOM_HID EP IN */
+ USBD_LL_CloseEP(pdev, CUSTOM_HID_EPIN_ADDR);
+ pdev->ep_in[CUSTOM_HID_EPIN_ADDR & 0xFU].is_used = 0U;
+
+ /* Close CUSTOM_HID EP OUT */
+ USBD_LL_CloseEP(pdev, CUSTOM_HID_EPOUT_ADDR);
+ pdev->ep_out[CUSTOM_HID_EPOUT_ADDR & 0xFU].is_used = 0U;
+
+ /* FRee allocated memory */
+ if (pdev->pClassData != NULL)
+ {
+ ((USBD_CUSTOM_HID_ItfTypeDef *)pdev->pUserData)->DeInit();
+ USBD_free(pdev->pClassData);
+ pdev->pClassData = NULL;
+ }
+ return USBD_OK;
+}
+
+/**
+ * @brief USBD_CUSTOM_HID_Setup
+ * Handle the CUSTOM_HID specific requests
+ * @param pdev: instance
+ * @param req: usb requests
+ * @retval status
+ */
+static uint8_t USBD_CUSTOM_HID_Setup(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req)
+{
+ USBD_CUSTOM_HID_HandleTypeDef *hhid = (USBD_CUSTOM_HID_HandleTypeDef *)pdev->pClassData;
+ uint16_t len = 0U;
+ uint8_t *pbuf = NULL;
+ uint16_t status_info = 0U;
+ uint8_t ret = USBD_OK;
+
+ switch (req->bmRequest & USB_REQ_TYPE_MASK)
+ {
+ case USB_REQ_TYPE_CLASS :
+ switch (req->bRequest)
+ {
+ case CUSTOM_HID_REQ_SET_PROTOCOL:
+ hhid->Protocol = (uint8_t)(req->wValue);
+ break;
+
+ case CUSTOM_HID_REQ_GET_PROTOCOL:
+ USBD_CtlSendData(pdev, (uint8_t *)(void *)&hhid->Protocol, 1U);
+ break;
+
+ case CUSTOM_HID_REQ_SET_IDLE:
+ hhid->IdleState = (uint8_t)(req->wValue >> 8);
+ break;
+
+ case CUSTOM_HID_REQ_GET_IDLE:
+ USBD_CtlSendData(pdev, (uint8_t *)(void *)&hhid->IdleState, 1U);
+ break;
+
+ case CUSTOM_HID_REQ_SET_REPORT:
+ hhid->IsReportAvailable = 1U;
+ USBD_CtlPrepareRx(pdev, hhid->Report_buf, req->wLength);
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ ret = USBD_FAIL;
+ break;
+ }
+ break;
+
+ case USB_REQ_TYPE_STANDARD:
+ switch (req->bRequest)
+ {
+ case USB_REQ_GET_STATUS:
+ if (pdev->dev_state == USBD_STATE_CONFIGURED)
+ {
+ USBD_CtlSendData(pdev, (uint8_t *)(void *)&status_info, 2U);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ ret = USBD_FAIL;
+ }
+ break;
+
+ case USB_REQ_GET_DESCRIPTOR:
+ if (req->wValue >> 8 == CUSTOM_HID_REPORT_DESC)
+ {
+ len = MIN(USBD_CUSTOM_HID_REPORT_DESC_SIZE, req->wLength);
+ pbuf = ((USBD_CUSTOM_HID_ItfTypeDef *)pdev->pUserData)->pReport;
+ }
+ else
+ {
+ if (req->wValue >> 8 == CUSTOM_HID_DESCRIPTOR_TYPE)
+ {
+ pbuf = USBD_CUSTOM_HID_Desc;
+ len = MIN(USB_CUSTOM_HID_DESC_SIZ, req->wLength);
+ }
+ }
+
+ USBD_CtlSendData(pdev, pbuf, len);
+ break;
+
+ case USB_REQ_GET_INTERFACE :
+ if (pdev->dev_state == USBD_STATE_CONFIGURED)
+ {
+ USBD_CtlSendData(pdev, (uint8_t *)(void *)&hhid->AltSetting, 1U);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ ret = USBD_FAIL;
+ }
+ break;
+
+ case USB_REQ_SET_INTERFACE :
+ if (pdev->dev_state == USBD_STATE_CONFIGURED)
+ {
+ hhid->AltSetting = (uint8_t)(req->wValue);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ ret = USBD_FAIL;
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ ret = USBD_FAIL;
+ break;
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ ret = USBD_FAIL;
+ break;
+ }
+ return ret;
+}
+
+/**
+ * @brief USBD_CUSTOM_HID_SendReport
+ * Send CUSTOM_HID Report
+ * @param pdev: device instance
+ * @param buff: pointer to report
+ * @retval status
+ */
+uint8_t USBD_CUSTOM_HID_SendReport(USBD_HandleTypeDef *pdev,
+ uint8_t *report,
+ uint16_t len)
+{
+ USBD_CUSTOM_HID_HandleTypeDef *hhid = (USBD_CUSTOM_HID_HandleTypeDef *)pdev->pClassData;
+
+ if (pdev->dev_state == USBD_STATE_CONFIGURED)
+ {
+ if (hhid->state == CUSTOM_HID_IDLE)
+ {
+ hhid->state = CUSTOM_HID_BUSY;
+ USBD_LL_Transmit(pdev, CUSTOM_HID_EPIN_ADDR, report, len);
+ }
+ else
+ {
+ return USBD_BUSY;
+ }
+ }
+ return USBD_OK;
+}
+
+/**
+ * @brief USBD_CUSTOM_HID_GetFSCfgDesc
+ * return FS configuration descriptor
+ * @param speed : current device speed
+ * @param length : pointer data length
+ * @retval pointer to descriptor buffer
+ */
+static uint8_t *USBD_CUSTOM_HID_GetFSCfgDesc(uint16_t *length)
+{
+ *length = sizeof(USBD_CUSTOM_HID_CfgFSDesc);
+ return USBD_CUSTOM_HID_CfgFSDesc;
+}
+
+/**
+ * @brief USBD_CUSTOM_HID_GetHSCfgDesc
+ * return HS configuration descriptor
+ * @param speed : current device speed
+ * @param length : pointer data length
+ * @retval pointer to descriptor buffer
+ */
+static uint8_t *USBD_CUSTOM_HID_GetHSCfgDesc(uint16_t *length)
+{
+ *length = sizeof(USBD_CUSTOM_HID_CfgHSDesc);
+ return USBD_CUSTOM_HID_CfgHSDesc;
+}
+
+/**
+ * @brief USBD_CUSTOM_HID_GetOtherSpeedCfgDesc
+ * return other speed configuration descriptor
+ * @param speed : current device speed
+ * @param length : pointer data length
+ * @retval pointer to descriptor buffer
+ */
+static uint8_t *USBD_CUSTOM_HID_GetOtherSpeedCfgDesc(uint16_t *length)
+{
+ *length = sizeof(USBD_CUSTOM_HID_OtherSpeedCfgDesc);
+ return USBD_CUSTOM_HID_OtherSpeedCfgDesc;
+}
+
+/**
+ * @brief USBD_CUSTOM_HID_DataIn
+ * handle data IN Stage
+ * @param pdev: device instance
+ * @param epnum: endpoint index
+ * @retval status
+ */
+static uint8_t USBD_CUSTOM_HID_DataIn(USBD_HandleTypeDef *pdev,
+ uint8_t epnum)
+{
+ /* Ensure that the FIFO is empty before a new transfer, this condition could
+ be caused by a new transfer before the end of the previous transfer */
+ ((USBD_CUSTOM_HID_HandleTypeDef *)pdev->pClassData)->state = CUSTOM_HID_IDLE;
+
+ return USBD_OK;
+}
+
+/**
+ * @brief USBD_CUSTOM_HID_DataOut
+ * handle data OUT Stage
+ * @param pdev: device instance
+ * @param epnum: endpoint index
+ * @retval status
+ */
+static uint8_t USBD_CUSTOM_HID_DataOut(USBD_HandleTypeDef *pdev,
+ uint8_t epnum)
+{
+
+ USBD_CUSTOM_HID_HandleTypeDef *hhid = (USBD_CUSTOM_HID_HandleTypeDef *)pdev->pClassData;
+
+ ((USBD_CUSTOM_HID_ItfTypeDef *)pdev->pUserData)->OutEvent(hhid->Report_buf[0],
+ hhid->Report_buf[1]);
+
+ USBD_LL_PrepareReceive(pdev, CUSTOM_HID_EPOUT_ADDR, hhid->Report_buf,
+ USBD_CUSTOMHID_OUTREPORT_BUF_SIZE);
+
+ return USBD_OK;
+}
+
+/**
+ * @brief USBD_CUSTOM_HID_EP0_RxReady
+ * Handles control request data.
+ * @param pdev: device instance
+ * @retval status
+ */
+static uint8_t USBD_CUSTOM_HID_EP0_RxReady(USBD_HandleTypeDef *pdev)
+{
+ USBD_CUSTOM_HID_HandleTypeDef *hhid = (USBD_CUSTOM_HID_HandleTypeDef *)pdev->pClassData;
+
+ if (hhid->IsReportAvailable == 1U)
+ {
+ ((USBD_CUSTOM_HID_ItfTypeDef *)pdev->pUserData)->OutEvent(hhid->Report_buf[0],
+ hhid->Report_buf[1]);
+ hhid->IsReportAvailable = 0U;
+ }
+
+ return USBD_OK;
+}
+
+/**
+* @brief DeviceQualifierDescriptor
+* return Device Qualifier descriptor
+* @param length : pointer data length
+* @retval pointer to descriptor buffer
+*/
+static uint8_t *USBD_CUSTOM_HID_GetDeviceQualifierDesc(uint16_t *length)
+{
+ *length = sizeof(USBD_CUSTOM_HID_DeviceQualifierDesc);
+ return USBD_CUSTOM_HID_DeviceQualifierDesc;
+}
+
+/**
+* @brief USBD_CUSTOM_HID_RegisterInterface
+ * @param pdev: device instance
+ * @param fops: CUSTOMHID Interface callback
+ * @retval status
+ */
+uint8_t USBD_CUSTOM_HID_RegisterInterface(USBD_HandleTypeDef *pdev,
+ USBD_CUSTOM_HID_ItfTypeDef *fops)
+{
+ uint8_t ret = USBD_FAIL;
+
+ if (fops != NULL)
+ {
+ pdev->pUserData = fops;
+ ret = USBD_OK;
+ }
+
+ return ret;
+}
+/**
+ * @}
+ */
+
+
+/**
+ * @}
+ */
+
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid_if_template.c b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid_if_template.c
new file mode 100644
index 0000000..9f1fbf2
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Class/CustomHID/Src/usbd_customhid_if_template.c
@@ -0,0 +1,87 @@
+/**
+ ******************************************************************************
+ * @file usbd_customhid_if_template.c
+ * @author MCD Application Team
+ * @brief USB Device Custom HID interface file.
+ * This template should be copied to the user folder, renamed and customized
+ * following user needs.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* BSPDependencies
+- "stm32xxxxx_{eval}{discovery}{nucleo_144}.c"
+- "stm32xxxxx_{eval}{discovery}_io.c"
+EndBSPDependencies */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_customhid_if_template.h"
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+
+static int8_t TEMPLATE_CUSTOM_HID_Init(void);
+static int8_t TEMPLATE_CUSTOM_HID_DeInit(void);
+static int8_t TEMPLATE_CUSTOM_HID_OutEvent(uint8_t event_idx, uint8_t state);
+/* Private variables ---------------------------------------------------------*/
+USBD_CUSTOM_HID_ItfTypeDef USBD_CustomHID_template_fops =
+{
+ TEMPLATE_CUSTOM_HID_ReportDesc,
+ TEMPLATE_CUSTOM_HID_Init,
+ TEMPLATE_CUSTOM_HID_DeInit,
+ TEMPLATE_CUSTOM_HID_OutEvent,
+};
+
+/* Private functions ---------------------------------------------------------*/
+
+/**
+ * @brief TEMPLATE_CUSTOM_HID_Init
+ * Initializes the CUSTOM HID media low layer
+ * @param None
+ * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL
+ */
+static int8_t TEMPLATE_CUSTOM_HID_Init(void)
+{
+
+ return (0);
+}
+
+/**
+ * @brief TEMPLATE_CUSTOM_HID_DeInit
+ * DeInitializes the CUSTOM HID media low layer
+ * @param None
+ * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL
+ */
+static int8_t TEMPLATE_CUSTOM_HID_DeInit(void)
+{
+ /*
+ Add your deinitialization code here
+ */
+ return (0);
+}
+
+
+/**
+ * @brief TEMPLATE_CUSTOM_HID_Control
+ * Manage the CUSTOM HID class events
+ * @param event_idx: event index
+ * @param state: event state
+ * @retval Result of the operation: USBD_OK if all operations are OK else USBD_FAIL
+ */
+static int8_t TEMPLATE_CUSTOM_HID_OutEvent(uint8_t event_idx, uint8_t state)
+{
+
+ return (0);
+}
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h
new file mode 100644
index 0000000..e47c41c
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_conf_template.h
@@ -0,0 +1,162 @@
+/**
+ ******************************************************************************
+ * @file usbd_conf_template.h
+ * @author MCD Application Team
+ * @brief Header file for the usbd_conf_template.c file
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USBD_CONF_TEMPLATE_H
+#define __USBD_CONF_TEMPLATE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32fxxx.h" /* replace 'stm32xxx' with your HAL driver header filename, ex: stm32f4xx.h */
+#include
+#include
+#include
+
+/** @addtogroup STM32_USB_DEVICE_LIBRARY
+ * @{
+ */
+
+/** @defgroup USBD_CONF
+ * @brief USB device low level driver configuration file
+ * @{
+ */
+
+/** @defgroup USBD_CONF_Exported_Defines
+ * @{
+ */
+
+#define USBD_MAX_NUM_INTERFACES 1U
+#define USBD_MAX_NUM_CONFIGURATION 1U
+#define USBD_MAX_STR_DESC_SIZ 0x100U
+#define USBD_SUPPORT_USER_STRING_DESC 0U
+#define USBD_SELF_POWERED 1U
+#define USBD_DEBUG_LEVEL 2U
+
+/* MSC Class Config */
+#define MSC_MEDIA_PACKET 8192U
+
+/* CDC Class Config */
+#define USBD_CDC_INTERVAL 2000U
+
+/* DFU Class Config */
+#define USBD_DFU_MAX_ITF_NUM 1U
+#define USBD_DFU_XFERS_IZE 1024U
+
+/* AUDIO Class Config */
+#define USBD_AUDIO_FREQ 22100U
+
+/** @defgroup USBD_Exported_Macros
+ * @{
+ */
+
+/* Memory management macros */
+#define USBD_malloc malloc
+#define USBD_free free
+#define USBD_memset memset
+#define USBD_memcpy memcpy
+
+/* DEBUG macros */
+#if (USBD_DEBUG_LEVEL > 0U)
+#define USBD_UsrLog(...) do { \
+ printf(__VA_ARGS__); \
+ printf("\n"); \
+} while (0)
+#else
+#define USBD_UsrLog(...) do {} while (0)
+#endif
+
+#if (USBD_DEBUG_LEVEL > 1U)
+
+#define USBD_ErrLog(...) do { \
+ printf("ERROR: ") ; \
+ printf(__VA_ARGS__); \
+ printf("\n"); \
+} while (0)
+#else
+#define USBD_ErrLog(...) do {} while (0)
+#endif
+
+#if (USBD_DEBUG_LEVEL > 2U)
+#define USBD_DbgLog(...) do { \
+ printf("DEBUG : ") ; \
+ printf(__VA_ARGS__); \
+ printf("\n"); \
+} while (0)
+#else
+#define USBD_DbgLog(...) do {} while (0)
+#endif
+
+/**
+ * @}
+ */
+
+
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_CONF_Exported_Types
+ * @{
+ */
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_CONF_Exported_Macros
+ * @{
+ */
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CONF_Exported_Variables
+ * @{
+ */
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CONF_Exported_FunctionsPrototype
+ * @{
+ */
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USBD_CONF_TEMPLATE_H */
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h
new file mode 100644
index 0000000..2392815
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h
@@ -0,0 +1,161 @@
+/**
+ ******************************************************************************
+ * @file usbd_core.h
+ * @author MCD Application Team
+ * @brief Header file for usbd_core.c file
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USBD_CORE_H
+#define __USBD_CORE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_conf.h"
+#include "usbd_def.h"
+#include "usbd_ioreq.h"
+#include "usbd_ctlreq.h"
+
+/** @addtogroup STM32_USB_DEVICE_LIBRARY
+ * @{
+ */
+
+/** @defgroup USBD_CORE
+ * @brief This file is the Header file for usbd_core.c file
+ * @{
+ */
+
+
+/** @defgroup USBD_CORE_Exported_Defines
+ * @{
+ */
+#ifndef USBD_DEBUG_LEVEL
+#define USBD_DEBUG_LEVEL 0U
+#endif /* USBD_DEBUG_LEVEL */
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_CORE_Exported_TypesDefinitions
+ * @{
+ */
+
+
+/**
+ * @}
+ */
+
+
+
+/** @defgroup USBD_CORE_Exported_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CORE_Exported_Variables
+ * @{
+ */
+#define USBD_SOF USBD_LL_SOF
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CORE_Exported_FunctionsPrototype
+ * @{
+ */
+USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id);
+USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_Stop(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass);
+
+USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx);
+USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx);
+
+USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup);
+USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata);
+USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata);
+
+USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed);
+USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev);
+
+USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum);
+USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum);
+
+USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev);
+
+/* USBD Low Level Driver */
+USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_LL_Stop(USBD_HandleTypeDef *pdev);
+USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev,
+ uint8_t ep_addr,
+ uint8_t ep_type,
+ uint16_t ep_mps);
+
+USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr);
+USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr);
+USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr);
+USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr);
+uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr);
+USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr);
+USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev,
+ uint8_t ep_addr,
+ uint8_t *pbuf,
+ uint16_t size);
+
+USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev,
+ uint8_t ep_addr,
+ uint8_t *pbuf,
+ uint16_t size);
+
+uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr);
+void USBD_LL_Delay(uint32_t Delay);
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USBD_CORE_H */
+
+/**
+ * @}
+ */
+
+/**
+* @}
+*/
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
+
+
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
new file mode 100644
index 0000000..047fe2e
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
@@ -0,0 +1,105 @@
+/**
+ ******************************************************************************
+ * @file usbd_req.h
+ * @author MCD Application Team
+ * @brief Header file for the usbd_req.c file
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USB_REQUEST_H
+#define __USB_REQUEST_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_def.h"
+
+
+/** @addtogroup STM32_USB_DEVICE_LIBRARY
+ * @{
+ */
+
+/** @defgroup USBD_REQ
+ * @brief header file for the usbd_req.c file
+ * @{
+ */
+
+/** @defgroup USBD_REQ_Exported_Defines
+ * @{
+ */
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_REQ_Exported_Types
+ * @{
+ */
+/**
+ * @}
+ */
+
+
+
+/** @defgroup USBD_REQ_Exported_Macros
+ * @{
+ */
+/**
+ * @}
+ */
+
+/** @defgroup USBD_REQ_Exported_Variables
+ * @{
+ */
+/**
+ * @}
+ */
+
+/** @defgroup USBD_REQ_Exported_FunctionsPrototype
+ * @{
+ */
+
+USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
+USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
+USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
+
+
+void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
+
+void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata);
+
+void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len);
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USB_REQUEST_H */
+
+/**
+ * @}
+ */
+
+/**
+* @}
+*/
+
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h
new file mode 100644
index 0000000..a805e8b
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h
@@ -0,0 +1,348 @@
+/**
+ ******************************************************************************
+ * @file usbd_def.h
+ * @author MCD Application Team
+ * @brief General defines for the usb device library
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USBD_DEF_H
+#define __USBD_DEF_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_conf.h"
+
+/** @addtogroup STM32_USBD_DEVICE_LIBRARY
+ * @{
+ */
+
+/** @defgroup USB_DEF
+ * @brief general defines for the usb device library file
+ * @{
+ */
+
+/** @defgroup USB_DEF_Exported_Defines
+ * @{
+ */
+
+#ifndef NULL
+#define NULL 0U
+#endif /* NULL */
+
+#ifndef USBD_MAX_NUM_INTERFACES
+#define USBD_MAX_NUM_INTERFACES 1U
+#endif /* USBD_MAX_NUM_CONFIGURATION */
+
+#ifndef USBD_MAX_NUM_CONFIGURATION
+#define USBD_MAX_NUM_CONFIGURATION 1U
+#endif /* USBD_MAX_NUM_CONFIGURATION */
+
+#ifndef USBD_LPM_ENABLED
+#define USBD_LPM_ENABLED 0U
+#endif /* USBD_LPM_ENABLED */
+
+#ifndef USBD_SELF_POWERED
+#define USBD_SELF_POWERED 1U
+#endif /*USBD_SELF_POWERED */
+
+#ifndef USBD_SUPPORT_USER_STRING_DESC
+#define USBD_SUPPORT_USER_STRING_DESC 0U
+#endif /* USBD_SUPPORT_USER_STRING_DESC */
+
+#define USB_LEN_DEV_QUALIFIER_DESC 0x0AU
+#define USB_LEN_DEV_DESC 0x12U
+#define USB_LEN_CFG_DESC 0x09U
+#define USB_LEN_IF_DESC 0x09U
+#define USB_LEN_EP_DESC 0x07U
+#define USB_LEN_OTG_DESC 0x03U
+#define USB_LEN_LANGID_STR_DESC 0x04U
+#define USB_LEN_OTHER_SPEED_DESC_SIZ 0x09U
+
+#define USBD_IDX_LANGID_STR 0x00U
+#define USBD_IDX_MFC_STR 0x01U
+#define USBD_IDX_PRODUCT_STR 0x02U
+#define USBD_IDX_SERIAL_STR 0x03U
+#define USBD_IDX_CONFIG_STR 0x04U
+#define USBD_IDX_INTERFACE_STR 0x05U
+
+#define USB_REQ_TYPE_STANDARD 0x00U
+#define USB_REQ_TYPE_CLASS 0x20U
+#define USB_REQ_TYPE_VENDOR 0x40U
+#define USB_REQ_TYPE_MASK 0x60U
+
+#define USB_REQ_RECIPIENT_DEVICE 0x00U
+#define USB_REQ_RECIPIENT_INTERFACE 0x01U
+#define USB_REQ_RECIPIENT_ENDPOINT 0x02U
+#define USB_REQ_RECIPIENT_MASK 0x03U
+
+#define USB_REQ_GET_STATUS 0x00U
+#define USB_REQ_CLEAR_FEATURE 0x01U
+#define USB_REQ_SET_FEATURE 0x03U
+#define USB_REQ_SET_ADDRESS 0x05U
+#define USB_REQ_GET_DESCRIPTOR 0x06U
+#define USB_REQ_SET_DESCRIPTOR 0x07U
+#define USB_REQ_GET_CONFIGURATION 0x08U
+#define USB_REQ_SET_CONFIGURATION 0x09U
+#define USB_REQ_GET_INTERFACE 0x0AU
+#define USB_REQ_SET_INTERFACE 0x0BU
+#define USB_REQ_SYNCH_FRAME 0x0CU
+
+#define USB_DESC_TYPE_DEVICE 0x01U
+#define USB_DESC_TYPE_CONFIGURATION 0x02U
+#define USB_DESC_TYPE_STRING 0x03U
+#define USB_DESC_TYPE_INTERFACE 0x04U
+#define USB_DESC_TYPE_ENDPOINT 0x05U
+#define USB_DESC_TYPE_DEVICE_QUALIFIER 0x06U
+#define USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION 0x07U
+#define USB_DESC_TYPE_BOS 0x0FU
+
+#define USB_CONFIG_REMOTE_WAKEUP 0x02U
+#define USB_CONFIG_SELF_POWERED 0x01U
+
+#define USB_FEATURE_EP_HALT 0x00U
+#define USB_FEATURE_REMOTE_WAKEUP 0x01U
+#define USB_FEATURE_TEST_MODE 0x02U
+
+#define USB_DEVICE_CAPABITY_TYPE 0x10U
+
+#define USB_HS_MAX_PACKET_SIZE 512U
+#define USB_FS_MAX_PACKET_SIZE 64U
+#define USB_MAX_EP0_SIZE 64U
+
+/* Device Status */
+#define USBD_STATE_DEFAULT 0x01U
+#define USBD_STATE_ADDRESSED 0x02U
+#define USBD_STATE_CONFIGURED 0x03U
+#define USBD_STATE_SUSPENDED 0x04U
+
+
+/* EP0 State */
+#define USBD_EP0_IDLE 0x00U
+#define USBD_EP0_SETUP 0x01U
+#define USBD_EP0_DATA_IN 0x02U
+#define USBD_EP0_DATA_OUT 0x03U
+#define USBD_EP0_STATUS_IN 0x04U
+#define USBD_EP0_STATUS_OUT 0x05U
+#define USBD_EP0_STALL 0x06U
+
+#define USBD_EP_TYPE_CTRL 0x00U
+#define USBD_EP_TYPE_ISOC 0x01U
+#define USBD_EP_TYPE_BULK 0x02U
+#define USBD_EP_TYPE_INTR 0x03U
+
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_DEF_Exported_TypesDefinitions
+ * @{
+ */
+
+typedef struct usb_setup_req
+{
+ uint8_t bmRequest;
+ uint8_t bRequest;
+ uint16_t wValue;
+ uint16_t wIndex;
+ uint16_t wLength;
+} USBD_SetupReqTypedef;
+
+struct _USBD_HandleTypeDef;
+
+typedef struct _Device_cb
+{
+ uint8_t (*Init)(struct _USBD_HandleTypeDef *pdev, uint8_t cfgidx);
+ uint8_t (*DeInit)(struct _USBD_HandleTypeDef *pdev, uint8_t cfgidx);
+ /* Control Endpoints*/
+ uint8_t (*Setup)(struct _USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req);
+ uint8_t (*EP0_TxSent)(struct _USBD_HandleTypeDef *pdev);
+ uint8_t (*EP0_RxReady)(struct _USBD_HandleTypeDef *pdev);
+ /* Class Specific Endpoints*/
+ uint8_t (*DataIn)(struct _USBD_HandleTypeDef *pdev, uint8_t epnum);
+ uint8_t (*DataOut)(struct _USBD_HandleTypeDef *pdev, uint8_t epnum);
+ uint8_t (*SOF)(struct _USBD_HandleTypeDef *pdev);
+ uint8_t (*IsoINIncomplete)(struct _USBD_HandleTypeDef *pdev, uint8_t epnum);
+ uint8_t (*IsoOUTIncomplete)(struct _USBD_HandleTypeDef *pdev, uint8_t epnum);
+
+ uint8_t *(*GetHSConfigDescriptor)(uint16_t *length);
+ uint8_t *(*GetFSConfigDescriptor)(uint16_t *length);
+ uint8_t *(*GetOtherSpeedConfigDescriptor)(uint16_t *length);
+ uint8_t *(*GetDeviceQualifierDescriptor)(uint16_t *length);
+#if (USBD_SUPPORT_USER_STRING_DESC == 1U)
+ uint8_t *(*GetUsrStrDescriptor)(struct _USBD_HandleTypeDef *pdev, uint8_t index, uint16_t *length);
+#endif
+
+} USBD_ClassTypeDef;
+
+/* Following USB Device Speed */
+typedef enum
+{
+ USBD_SPEED_HIGH = 0U,
+ USBD_SPEED_FULL = 1U,
+ USBD_SPEED_LOW = 2U,
+} USBD_SpeedTypeDef;
+
+/* Following USB Device status */
+typedef enum
+{
+ USBD_OK = 0U,
+ USBD_BUSY,
+ USBD_FAIL,
+} USBD_StatusTypeDef;
+
+/* USB Device descriptors structure */
+typedef struct
+{
+ uint8_t *(*GetDeviceDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length);
+ uint8_t *(*GetLangIDStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length);
+ uint8_t *(*GetManufacturerStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length);
+ uint8_t *(*GetProductStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length);
+ uint8_t *(*GetSerialStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length);
+ uint8_t *(*GetConfigurationStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length);
+ uint8_t *(*GetInterfaceStrDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length);
+#if (USBD_LPM_ENABLED == 1U)
+ uint8_t *(*GetBOSDescriptor)(USBD_SpeedTypeDef speed, uint16_t *length);
+#endif
+} USBD_DescriptorsTypeDef;
+
+/* USB Device handle structure */
+typedef struct
+{
+ uint32_t status;
+ uint32_t is_used;
+ uint32_t total_length;
+ uint32_t rem_length;
+ uint32_t maxpacket;
+} USBD_EndpointTypeDef;
+
+/* USB Device handle structure */
+typedef struct _USBD_HandleTypeDef
+{
+ uint8_t id;
+ uint32_t dev_config;
+ uint32_t dev_default_config;
+ uint32_t dev_config_status;
+ USBD_SpeedTypeDef dev_speed;
+ USBD_EndpointTypeDef ep_in[16];
+ USBD_EndpointTypeDef ep_out[16];
+ uint32_t ep0_state;
+ uint32_t ep0_data_len;
+ uint8_t dev_state;
+ uint8_t dev_old_state;
+ uint8_t dev_address;
+ uint8_t dev_connection_status;
+ uint8_t dev_test_mode;
+ uint32_t dev_remote_wakeup;
+
+ USBD_SetupReqTypedef request;
+ USBD_DescriptorsTypeDef *pDesc;
+ USBD_ClassTypeDef *pClass;
+ void *pClassData;
+ void *pUserData;
+ void *pData;
+} USBD_HandleTypeDef;
+
+/**
+ * @}
+ */
+
+
+
+/** @defgroup USBD_DEF_Exported_Macros
+ * @{
+ */
+#define SWAPBYTE(addr) (((uint16_t)(*((uint8_t *)(addr)))) + \
+ (((uint16_t)(*(((uint8_t *)(addr)) + 1U))) << 8U))
+
+#define LOBYTE(x) ((uint8_t)((x) & 0x00FFU))
+#define HIBYTE(x) ((uint8_t)(((x) & 0xFF00U) >> 8U))
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+
+
+#if defined ( __GNUC__ )
+#ifndef __weak
+#define __weak __attribute__((weak))
+#endif /* __weak */
+#ifndef __packed
+#define __packed __attribute__((__packed__))
+#endif /* __packed */
+#endif /* __GNUC__ */
+
+
+/* In HS mode and when the DMA is used, all variables and data structures dealing
+ with the DMA during the transaction process should be 4-bytes aligned */
+
+#if defined ( __GNUC__ ) && !defined (__CC_ARM) /* GNU Compiler */
+#ifndef __ALIGN_END
+#define __ALIGN_END __attribute__ ((aligned (4U)))
+#endif /* __ALIGN_END */
+#ifndef __ALIGN_BEGIN
+#define __ALIGN_BEGIN
+#endif /* __ALIGN_BEGIN */
+#else
+#ifndef __ALIGN_END
+#define __ALIGN_END
+#endif /* __ALIGN_END */
+#ifndef __ALIGN_BEGIN
+#if defined (__CC_ARM) /* ARM Compiler */
+#define __ALIGN_BEGIN __align(4U)
+#elif defined (__ICCARM__) /* IAR Compiler */
+#define __ALIGN_BEGIN
+#endif /* __CC_ARM */
+#endif /* __ALIGN_BEGIN */
+#endif /* __GNUC__ */
+
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DEF_Exported_Variables
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DEF_Exported_FunctionsPrototype
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USBD_DEF_H */
+
+/**
+ * @}
+ */
+
+/**
+* @}
+*/
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_desc_template.h b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_desc_template.h
new file mode 100644
index 0000000..35a5e63
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_desc_template.h
@@ -0,0 +1,41 @@
+/**
+ ******************************************************************************
+ * @file usbd_desc_template.h
+ * @author MCD Application Team
+ * @brief Header for usbd_desc_template.c module
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USBD_DESC_TEMPLATE_H
+#define __USBD_DESC_TEMPLATE_H
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_def.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+#define DEVICE_ID1 (0x1FFF7A10)
+#define DEVICE_ID2 (0x1FFF7A14)
+#define DEVICE_ID3 (0x1FFF7A18)
+
+#define USB_SIZ_STRING_SERIAL 0x1A
+
+/* Exported macro ------------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+extern USBD_DescriptorsTypeDef XXX_Desc; /* Replace 'XXX_Desc' with your active USB device class, ex: HID_Desc */
+
+#endif /* __USBD_DESC_TEMPLATE_H*/
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h
new file mode 100644
index 0000000..629369e
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h
@@ -0,0 +1,119 @@
+/**
+ ******************************************************************************
+ * @file usbd_ioreq.h
+ * @author MCD Application Team
+ * @brief Header file for the usbd_ioreq.c file
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USBD_IOREQ_H
+#define __USBD_IOREQ_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_def.h"
+#include "usbd_core.h"
+
+/** @addtogroup STM32_USB_DEVICE_LIBRARY
+ * @{
+ */
+
+/** @defgroup USBD_IOREQ
+ * @brief header file for the usbd_ioreq.c file
+ * @{
+ */
+
+/** @defgroup USBD_IOREQ_Exported_Defines
+ * @{
+ */
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_IOREQ_Exported_Types
+ * @{
+ */
+
+
+/**
+ * @}
+ */
+
+
+
+/** @defgroup USBD_IOREQ_Exported_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_IOREQ_Exported_Variables
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_IOREQ_Exported_FunctionsPrototype
+ * @{
+ */
+
+USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev,
+ uint8_t *pbuf,
+ uint16_t len);
+
+USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev,
+ uint8_t *pbuf,
+ uint16_t len);
+
+USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev,
+ uint8_t *pbuf,
+ uint16_t len);
+
+USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev,
+ uint8_t *pbuf,
+ uint16_t len);
+
+USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev);
+
+USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev);
+
+uint32_t USBD_GetRxCount(USBD_HandleTypeDef *pdev, uint8_t ep_addr);
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USBD_IOREQ_H */
+
+/**
+ * @}
+ */
+
+/**
+* @}
+*/
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_conf_template.c b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_conf_template.c
new file mode 100644
index 0000000..dbc75d8
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_conf_template.c
@@ -0,0 +1,201 @@
+/**
+ ******************************************************************************
+ * @file usbd_conf_template.c
+ * @author MCD Application Team
+ * @brief USB Device configuration and interface file
+ * This template should be copied to the user folder,
+ * renamed and customized following user needs.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_core.h"
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+/**
+ * @brief Initializes the Low Level portion of the Device driver.
+ * @param pdev: Device handle
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief De-Initializes the Low Level portion of the Device driver.
+ * @param pdev: Device handle
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Starts the Low Level portion of the Device driver.
+ * @param pdev: Device handle
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Stops the Low Level portion of the Device driver.
+ * @param pdev: Device handle
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_Stop(USBD_HandleTypeDef *pdev)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Opens an endpoint of the Low Level Driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @param ep_type: Endpoint Type
+ * @param ep_mps: Endpoint Max Packet Size
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr,
+ uint8_t ep_type, uint16_t ep_mps)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Closes an endpoint of the Low Level Driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Flushes an endpoint of the Low Level Driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Sets a Stall condition on an endpoint of the Low Level Driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Clears a Stall condition on an endpoint of the Low Level Driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev,
+ uint8_t ep_addr)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Returns Stall condition.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @retval Stall (1: Yes, 0: No)
+ */
+uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ return 0;
+}
+
+/**
+ * @brief Assigns a USB address to the device.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev,
+ uint8_t dev_addr)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Transmits data over an endpoint.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @param pbuf: Pointer to data to be sent
+ * @param size: Data size
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr,
+ uint8_t *pbuf, uint16_t size)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Prepares an endpoint for reception.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @param pbuf: Pointer to data to be received
+ * @param size: Data size
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev,
+ uint8_t ep_addr, uint8_t *pbuf,
+ uint16_t size)
+{
+ return USBD_OK;
+}
+
+/**
+ * @brief Returns the last transferred packet size.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint Number
+ * @retval Recived Data Size
+ */
+uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ return 0U;
+}
+
+/**
+ * @brief Delays routine for the USB Device Library.
+ * @param Delay: Delay in ms
+ * @retval None
+ */
+void USBD_LL_Delay(uint32_t Delay)
+{
+}
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c
new file mode 100644
index 0000000..ca87977
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c
@@ -0,0 +1,611 @@
+/**
+ ******************************************************************************
+ * @file usbd_core.c
+ * @author MCD Application Team
+ * @brief This file provides all the USBD core functions.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_core.h"
+
+/** @addtogroup STM32_USBD_DEVICE_LIBRARY
+* @{
+*/
+
+
+/** @defgroup USBD_CORE
+* @brief usbd core module
+* @{
+*/
+
+/** @defgroup USBD_CORE_Private_TypesDefinitions
+* @{
+*/
+
+/**
+* @}
+*/
+
+
+/** @defgroup USBD_CORE_Private_Defines
+* @{
+*/
+
+/**
+* @}
+*/
+
+
+/** @defgroup USBD_CORE_Private_Macros
+* @{
+*/
+
+/**
+* @}
+*/
+
+
+/** @defgroup USBD_CORE_Private_FunctionPrototypes
+* @{
+*/
+
+/**
+* @}
+*/
+
+/** @defgroup USBD_CORE_Private_Variables
+* @{
+*/
+
+/**
+* @}
+*/
+
+
+/** @defgroup USBD_CORE_Private_Functions
+* @{
+*/
+
+/**
+* @brief USBD_Init
+* Initializes the device stack and load the class driver
+* @param pdev: device instance
+* @param pdesc: Descriptor structure address
+* @param id: Low level core index
+* @retval None
+*/
+USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev,
+ USBD_DescriptorsTypeDef *pdesc, uint8_t id)
+{
+ /* Check whether the USB Host handle is valid */
+ if (pdev == NULL)
+ {
+#if (USBD_DEBUG_LEVEL > 1U)
+ USBD_ErrLog("Invalid Device handle");
+#endif
+ return USBD_FAIL;
+ }
+
+ /* Unlink previous class*/
+ if (pdev->pClass != NULL)
+ {
+ pdev->pClass = NULL;
+ }
+
+ /* Assign USBD Descriptors */
+ if (pdesc != NULL)
+ {
+ pdev->pDesc = pdesc;
+ }
+
+ /* Set Device initial State */
+ pdev->dev_state = USBD_STATE_DEFAULT;
+ pdev->id = id;
+ /* Initialize low level driver */
+ USBD_LL_Init(pdev);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_DeInit
+* Re-Initialize th device library
+* @param pdev: device instance
+* @retval status: status
+*/
+USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev)
+{
+ /* Set Default State */
+ pdev->dev_state = USBD_STATE_DEFAULT;
+
+ /* Free Class Resources */
+ pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config);
+
+ /* Stop the low level driver */
+ USBD_LL_Stop(pdev);
+
+ /* Initialize low level driver */
+ USBD_LL_DeInit(pdev);
+
+ return USBD_OK;
+}
+
+/**
+ * @brief USBD_RegisterClass
+ * Link class driver to Device Core.
+ * @param pDevice : Device Handle
+ * @param pclass: Class handle
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass)
+{
+ USBD_StatusTypeDef status = USBD_OK;
+ if (pclass != NULL)
+ {
+ /* link the class to the USB Device handle */
+ pdev->pClass = pclass;
+ status = USBD_OK;
+ }
+ else
+ {
+#if (USBD_DEBUG_LEVEL > 1U)
+ USBD_ErrLog("Invalid Class handle");
+#endif
+ status = USBD_FAIL;
+ }
+
+ return status;
+}
+
+/**
+ * @brief USBD_Start
+ * Start the USB Device Core.
+ * @param pdev: Device Handle
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev)
+{
+ /* Start the low level driver */
+ USBD_LL_Start(pdev);
+
+ return USBD_OK;
+}
+
+/**
+ * @brief USBD_Stop
+ * Stop the USB Device Core.
+ * @param pdev: Device Handle
+ * @retval USBD Status
+ */
+USBD_StatusTypeDef USBD_Stop(USBD_HandleTypeDef *pdev)
+{
+ /* Free Class Resources */
+ pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config);
+
+ /* Stop the low level driver */
+ USBD_LL_Stop(pdev);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_RunTestMode
+* Launch test mode process
+* @param pdev: device instance
+* @retval status
+*/
+USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev)
+{
+ /* Prevent unused argument compilation warning */
+ UNUSED(pdev);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_SetClassConfig
+* Configure device and start the interface
+* @param pdev: device instance
+* @param cfgidx: configuration index
+* @retval status
+*/
+
+USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
+{
+ USBD_StatusTypeDef ret = USBD_FAIL;
+
+ if (pdev->pClass != NULL)
+ {
+ /* Set configuration and Start the Class*/
+ if (pdev->pClass->Init(pdev, cfgidx) == 0U)
+ {
+ ret = USBD_OK;
+ }
+ }
+
+ return ret;
+}
+
+/**
+* @brief USBD_ClrClassConfig
+* Clear current configuration
+* @param pdev: device instance
+* @param cfgidx: configuration index
+* @retval status: USBD_StatusTypeDef
+*/
+USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
+{
+ /* Clear configuration and De-initialize the Class process*/
+ pdev->pClass->DeInit(pdev, cfgidx);
+
+ return USBD_OK;
+}
+
+
+/**
+* @brief USBD_SetupStage
+* Handle the setup stage
+* @param pdev: device instance
+* @retval status
+*/
+USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup)
+{
+ USBD_ParseSetupRequest(&pdev->request, psetup);
+
+ pdev->ep0_state = USBD_EP0_SETUP;
+
+ pdev->ep0_data_len = pdev->request.wLength;
+
+ switch (pdev->request.bmRequest & 0x1FU)
+ {
+ case USB_REQ_RECIPIENT_DEVICE:
+ USBD_StdDevReq(pdev, &pdev->request);
+ break;
+
+ case USB_REQ_RECIPIENT_INTERFACE:
+ USBD_StdItfReq(pdev, &pdev->request);
+ break;
+
+ case USB_REQ_RECIPIENT_ENDPOINT:
+ USBD_StdEPReq(pdev, &pdev->request);
+ break;
+
+ default:
+ USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U));
+ break;
+ }
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_DataOutStage
+* Handle data OUT stage
+* @param pdev: device instance
+* @param epnum: endpoint index
+* @retval status
+*/
+USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev,
+ uint8_t epnum, uint8_t *pdata)
+{
+ USBD_EndpointTypeDef *pep;
+
+ if (epnum == 0U)
+ {
+ pep = &pdev->ep_out[0];
+
+ if (pdev->ep0_state == USBD_EP0_DATA_OUT)
+ {
+ if (pep->rem_length > pep->maxpacket)
+ {
+ pep->rem_length -= pep->maxpacket;
+
+ USBD_CtlContinueRx(pdev, pdata,
+ (uint16_t)MIN(pep->rem_length, pep->maxpacket));
+ }
+ else
+ {
+ if ((pdev->pClass->EP0_RxReady != NULL) &&
+ (pdev->dev_state == USBD_STATE_CONFIGURED))
+ {
+ pdev->pClass->EP0_RxReady(pdev);
+ }
+ USBD_CtlSendStatus(pdev);
+ }
+ }
+ else
+ {
+ if (pdev->ep0_state == USBD_EP0_STATUS_OUT)
+ {
+ /*
+ * STATUS PHASE completed, update ep0_state to idle
+ */
+ pdev->ep0_state = USBD_EP0_IDLE;
+ USBD_LL_StallEP(pdev, 0U);
+ }
+ }
+ }
+ else if ((pdev->pClass->DataOut != NULL) &&
+ (pdev->dev_state == USBD_STATE_CONFIGURED))
+ {
+ pdev->pClass->DataOut(pdev, epnum);
+ }
+ else
+ {
+ /* should never be in this condition */
+ return USBD_FAIL;
+ }
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_DataInStage
+* Handle data in stage
+* @param pdev: device instance
+* @param epnum: endpoint index
+* @retval status
+*/
+USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev,
+ uint8_t epnum, uint8_t *pdata)
+{
+ USBD_EndpointTypeDef *pep;
+
+ if (epnum == 0U)
+ {
+ pep = &pdev->ep_in[0];
+
+ if (pdev->ep0_state == USBD_EP0_DATA_IN)
+ {
+ if (pep->rem_length > pep->maxpacket)
+ {
+ pep->rem_length -= pep->maxpacket;
+
+ USBD_CtlContinueSendData(pdev, pdata, (uint16_t)pep->rem_length);
+
+ /* Prepare endpoint for premature end of transfer */
+ USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U);
+ }
+ else
+ {
+ /* last packet is MPS multiple, so send ZLP packet */
+ if ((pep->total_length % pep->maxpacket == 0U) &&
+ (pep->total_length >= pep->maxpacket) &&
+ (pep->total_length < pdev->ep0_data_len))
+ {
+ USBD_CtlContinueSendData(pdev, NULL, 0U);
+ pdev->ep0_data_len = 0U;
+
+ /* Prepare endpoint for premature end of transfer */
+ USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U);
+ }
+ else
+ {
+ if ((pdev->pClass->EP0_TxSent != NULL) &&
+ (pdev->dev_state == USBD_STATE_CONFIGURED))
+ {
+ pdev->pClass->EP0_TxSent(pdev);
+ }
+ USBD_LL_StallEP(pdev, 0x80U);
+ USBD_CtlReceiveStatus(pdev);
+ }
+ }
+ }
+ else
+ {
+ if ((pdev->ep0_state == USBD_EP0_STATUS_IN) ||
+ (pdev->ep0_state == USBD_EP0_IDLE))
+ {
+ USBD_LL_StallEP(pdev, 0x80U);
+ }
+ }
+
+ if (pdev->dev_test_mode == 1U)
+ {
+ USBD_RunTestMode(pdev);
+ pdev->dev_test_mode = 0U;
+ }
+ }
+ else if ((pdev->pClass->DataIn != NULL) &&
+ (pdev->dev_state == USBD_STATE_CONFIGURED))
+ {
+ pdev->pClass->DataIn(pdev, epnum);
+ }
+ else
+ {
+ /* should never be in this condition */
+ return USBD_FAIL;
+ }
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_LL_Reset
+* Handle Reset event
+* @param pdev: device instance
+* @retval status
+*/
+
+USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev)
+{
+ /* Open EP0 OUT */
+ USBD_LL_OpenEP(pdev, 0x00U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE);
+ pdev->ep_out[0x00U & 0xFU].is_used = 1U;
+
+ pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE;
+
+ /* Open EP0 IN */
+ USBD_LL_OpenEP(pdev, 0x80U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE);
+ pdev->ep_in[0x80U & 0xFU].is_used = 1U;
+
+ pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE;
+
+ /* Upon Reset call user call back */
+ pdev->dev_state = USBD_STATE_DEFAULT;
+ pdev->ep0_state = USBD_EP0_IDLE;
+ pdev->dev_config = 0U;
+ pdev->dev_remote_wakeup = 0U;
+
+ if (pdev->pClassData)
+ {
+ pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config);
+ }
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_LL_Reset
+* Handle Reset event
+* @param pdev: device instance
+* @retval status
+*/
+USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev,
+ USBD_SpeedTypeDef speed)
+{
+ pdev->dev_speed = speed;
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_Suspend
+* Handle Suspend event
+* @param pdev: device instance
+* @retval status
+*/
+
+USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev)
+{
+ pdev->dev_old_state = pdev->dev_state;
+ pdev->dev_state = USBD_STATE_SUSPENDED;
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_Resume
+* Handle Resume event
+* @param pdev: device instance
+* @retval status
+*/
+
+USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev)
+{
+ if (pdev->dev_state == USBD_STATE_SUSPENDED)
+ {
+ pdev->dev_state = pdev->dev_old_state;
+ }
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_SOF
+* Handle SOF event
+* @param pdev: device instance
+* @retval status
+*/
+
+USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev)
+{
+ if (pdev->dev_state == USBD_STATE_CONFIGURED)
+ {
+ if (pdev->pClass->SOF != NULL)
+ {
+ pdev->pClass->SOF(pdev);
+ }
+ }
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_IsoINIncomplete
+* Handle iso in incomplete event
+* @param pdev: device instance
+* @retval status
+*/
+USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev,
+ uint8_t epnum)
+{
+ /* Prevent unused arguments compilation warning */
+ UNUSED(pdev);
+ UNUSED(epnum);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_IsoOUTIncomplete
+* Handle iso out incomplete event
+* @param pdev: device instance
+* @retval status
+*/
+USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev,
+ uint8_t epnum)
+{
+ /* Prevent unused arguments compilation warning */
+ UNUSED(pdev);
+ UNUSED(epnum);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_DevConnected
+* Handle device connection event
+* @param pdev: device instance
+* @retval status
+*/
+USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev)
+{
+ /* Prevent unused argument compilation warning */
+ UNUSED(pdev);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_DevDisconnected
+* Handle device disconnection event
+* @param pdev: device instance
+* @retval status
+*/
+USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev)
+{
+ /* Free Class Resources */
+ pdev->dev_state = USBD_STATE_DEFAULT;
+ pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config);
+
+ return USBD_OK;
+}
+/**
+* @}
+*/
+
+
+/**
+* @}
+*/
+
+
+/**
+* @}
+*/
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
+
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c
new file mode 100644
index 0000000..4561c8d
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c
@@ -0,0 +1,918 @@
+/**
+ ******************************************************************************
+ * @file usbd_req.c
+ * @author MCD Application Team
+ * @brief This file provides the standard USB requests following chapter 9.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_ctlreq.h"
+#include "usbd_ioreq.h"
+
+
+/** @addtogroup STM32_USBD_STATE_DEVICE_LIBRARY
+ * @{
+ */
+
+
+/** @defgroup USBD_REQ
+ * @brief USB standard requests module
+ * @{
+ */
+
+/** @defgroup USBD_REQ_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_REQ_Private_Defines
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_REQ_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_REQ_Private_Variables
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_REQ_Private_FunctionPrototypes
+ * @{
+ */
+static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req);
+
+static void USBD_SetAddress(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req);
+
+static void USBD_SetConfig(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req);
+
+static void USBD_GetConfig(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req);
+
+static void USBD_GetStatus(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req);
+
+static void USBD_SetFeature(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req);
+
+static void USBD_ClrFeature(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req);
+
+static uint8_t USBD_GetLen(uint8_t *buf);
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_REQ_Private_Functions
+ * @{
+ */
+
+
+/**
+* @brief USBD_StdDevReq
+* Handle standard usb device requests
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req)
+{
+ USBD_StatusTypeDef ret = USBD_OK;
+
+ switch (req->bmRequest & USB_REQ_TYPE_MASK)
+ {
+ case USB_REQ_TYPE_CLASS:
+ case USB_REQ_TYPE_VENDOR:
+ pdev->pClass->Setup(pdev, req);
+ break;
+
+ case USB_REQ_TYPE_STANDARD:
+ switch (req->bRequest)
+ {
+ case USB_REQ_GET_DESCRIPTOR:
+ USBD_GetDescriptor(pdev, req);
+ break;
+
+ case USB_REQ_SET_ADDRESS:
+ USBD_SetAddress(pdev, req);
+ break;
+
+ case USB_REQ_SET_CONFIGURATION:
+ USBD_SetConfig(pdev, req);
+ break;
+
+ case USB_REQ_GET_CONFIGURATION:
+ USBD_GetConfig(pdev, req);
+ break;
+
+ case USB_REQ_GET_STATUS:
+ USBD_GetStatus(pdev, req);
+ break;
+
+ case USB_REQ_SET_FEATURE:
+ USBD_SetFeature(pdev, req);
+ break;
+
+ case USB_REQ_CLEAR_FEATURE:
+ USBD_ClrFeature(pdev, req);
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+
+ return ret;
+}
+
+/**
+* @brief USBD_StdItfReq
+* Handle standard usb interface requests
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req)
+{
+ USBD_StatusTypeDef ret = USBD_OK;
+
+ switch (req->bmRequest & USB_REQ_TYPE_MASK)
+ {
+ case USB_REQ_TYPE_CLASS:
+ case USB_REQ_TYPE_VENDOR:
+ case USB_REQ_TYPE_STANDARD:
+ switch (pdev->dev_state)
+ {
+ case USBD_STATE_DEFAULT:
+ case USBD_STATE_ADDRESSED:
+ case USBD_STATE_CONFIGURED:
+
+ if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES)
+ {
+ ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req);
+
+ if ((req->wLength == 0U) && (ret == USBD_OK))
+ {
+ USBD_CtlSendStatus(pdev);
+ }
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_StdEPReq
+* Handle standard usb endpoint requests
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req)
+{
+ USBD_EndpointTypeDef *pep;
+ uint8_t ep_addr;
+ USBD_StatusTypeDef ret = USBD_OK;
+ ep_addr = LOBYTE(req->wIndex);
+
+ switch (req->bmRequest & USB_REQ_TYPE_MASK)
+ {
+ case USB_REQ_TYPE_CLASS:
+ case USB_REQ_TYPE_VENDOR:
+ pdev->pClass->Setup(pdev, req);
+ break;
+
+ case USB_REQ_TYPE_STANDARD:
+ /* Check if it is a class request */
+ if ((req->bmRequest & 0x60U) == 0x20U)
+ {
+ ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req);
+
+ return ret;
+ }
+
+ switch (req->bRequest)
+ {
+ case USB_REQ_SET_FEATURE:
+ switch (pdev->dev_state)
+ {
+ case USBD_STATE_ADDRESSED:
+ if ((ep_addr != 0x00U) && (ep_addr != 0x80U))
+ {
+ USBD_LL_StallEP(pdev, ep_addr);
+ USBD_LL_StallEP(pdev, 0x80U);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ }
+ break;
+
+ case USBD_STATE_CONFIGURED:
+ if (req->wValue == USB_FEATURE_EP_HALT)
+ {
+ if ((ep_addr != 0x00U) &&
+ (ep_addr != 0x80U) && (req->wLength == 0x00U))
+ {
+ USBD_LL_StallEP(pdev, ep_addr);
+ }
+ }
+ USBD_CtlSendStatus(pdev);
+
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ break;
+
+ case USB_REQ_CLEAR_FEATURE:
+
+ switch (pdev->dev_state)
+ {
+ case USBD_STATE_ADDRESSED:
+ if ((ep_addr != 0x00U) && (ep_addr != 0x80U))
+ {
+ USBD_LL_StallEP(pdev, ep_addr);
+ USBD_LL_StallEP(pdev, 0x80U);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ }
+ break;
+
+ case USBD_STATE_CONFIGURED:
+ if (req->wValue == USB_FEATURE_EP_HALT)
+ {
+ if ((ep_addr & 0x7FU) != 0x00U)
+ {
+ USBD_LL_ClearStallEP(pdev, ep_addr);
+ }
+ USBD_CtlSendStatus(pdev);
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ break;
+
+ case USB_REQ_GET_STATUS:
+ switch (pdev->dev_state)
+ {
+ case USBD_STATE_ADDRESSED:
+ if ((ep_addr != 0x00U) && (ep_addr != 0x80U))
+ {
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \
+ &pdev->ep_out[ep_addr & 0x7FU];
+
+ pep->status = 0x0000U;
+
+ USBD_CtlSendData(pdev, (uint8_t *)(void *)&pep->status, 2U);
+ break;
+
+ case USBD_STATE_CONFIGURED:
+ if ((ep_addr & 0x80U) == 0x80U)
+ {
+ if (pdev->ep_in[ep_addr & 0xFU].is_used == 0U)
+ {
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ }
+ else
+ {
+ if (pdev->ep_out[ep_addr & 0xFU].is_used == 0U)
+ {
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ }
+
+ pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \
+ &pdev->ep_out[ep_addr & 0x7FU];
+
+ if ((ep_addr == 0x00U) || (ep_addr == 0x80U))
+ {
+ pep->status = 0x0000U;
+ }
+ else if (USBD_LL_IsStallEP(pdev, ep_addr))
+ {
+ pep->status = 0x0001U;
+ }
+ else
+ {
+ pep->status = 0x0000U;
+ }
+
+ USBD_CtlSendData(pdev, (uint8_t *)(void *)&pep->status, 2U);
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+
+ return ret;
+}
+
+
+/**
+* @brief USBD_GetDescriptor
+* Handle Get Descriptor requests
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req)
+{
+ uint16_t len = 0U;
+ uint8_t *pbuf = NULL;
+ uint8_t err = 0U;
+
+ switch (req->wValue >> 8)
+ {
+#if (USBD_LPM_ENABLED == 1U)
+ case USB_DESC_TYPE_BOS:
+ if (pdev->pDesc->GetBOSDescriptor != NULL)
+ {
+ pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+#endif
+ case USB_DESC_TYPE_DEVICE:
+ pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len);
+ break;
+
+ case USB_DESC_TYPE_CONFIGURATION:
+ if (pdev->dev_speed == USBD_SPEED_HIGH)
+ {
+ pbuf = pdev->pClass->GetHSConfigDescriptor(&len);
+ pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
+ }
+ else
+ {
+ pbuf = pdev->pClass->GetFSConfigDescriptor(&len);
+ pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
+ }
+ break;
+
+ case USB_DESC_TYPE_STRING:
+ switch ((uint8_t)(req->wValue))
+ {
+ case USBD_IDX_LANGID_STR:
+ if (pdev->pDesc->GetLangIDStrDescriptor != NULL)
+ {
+ pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+
+ case USBD_IDX_MFC_STR:
+ if (pdev->pDesc->GetManufacturerStrDescriptor != NULL)
+ {
+ pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+
+ case USBD_IDX_PRODUCT_STR:
+ if (pdev->pDesc->GetProductStrDescriptor != NULL)
+ {
+ pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+
+ case USBD_IDX_SERIAL_STR:
+ if (pdev->pDesc->GetSerialStrDescriptor != NULL)
+ {
+ pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+
+ case USBD_IDX_CONFIG_STR:
+ if (pdev->pDesc->GetConfigurationStrDescriptor != NULL)
+ {
+ pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+
+ case USBD_IDX_INTERFACE_STR:
+ if (pdev->pDesc->GetInterfaceStrDescriptor != NULL)
+ {
+ pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+
+ default:
+#if (USBD_SUPPORT_USER_STRING_DESC == 1U)
+ if (pdev->pClass->GetUsrStrDescriptor != NULL)
+ {
+ pbuf = pdev->pClass->GetUsrStrDescriptor(pdev, (req->wValue), &len);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+#else
+ USBD_CtlError(pdev, req);
+ err++;
+#endif
+ }
+ break;
+
+ case USB_DESC_TYPE_DEVICE_QUALIFIER:
+ if (pdev->dev_speed == USBD_SPEED_HIGH)
+ {
+ pbuf = pdev->pClass->GetDeviceQualifierDescriptor(&len);
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+
+ case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION:
+ if (pdev->dev_speed == USBD_SPEED_HIGH)
+ {
+ pbuf = pdev->pClass->GetOtherSpeedConfigDescriptor(&len);
+ pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION;
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ err++;
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ err++;
+ break;
+ }
+
+ if (err != 0U)
+ {
+ return;
+ }
+ else
+ {
+ if ((len != 0U) && (req->wLength != 0U))
+ {
+ len = MIN(len, req->wLength);
+ (void)USBD_CtlSendData(pdev, pbuf, len);
+ }
+
+ if (req->wLength == 0U)
+ {
+ (void)USBD_CtlSendStatus(pdev);
+ }
+ }
+}
+
+/**
+* @brief USBD_SetAddress
+* Set device address
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+static void USBD_SetAddress(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req)
+{
+ uint8_t dev_addr;
+
+ if ((req->wIndex == 0U) && (req->wLength == 0U) && (req->wValue < 128U))
+ {
+ dev_addr = (uint8_t)(req->wValue) & 0x7FU;
+
+ if (pdev->dev_state == USBD_STATE_CONFIGURED)
+ {
+ USBD_CtlError(pdev, req);
+ }
+ else
+ {
+ pdev->dev_address = dev_addr;
+ USBD_LL_SetUSBAddress(pdev, dev_addr);
+ USBD_CtlSendStatus(pdev);
+
+ if (dev_addr != 0U)
+ {
+ pdev->dev_state = USBD_STATE_ADDRESSED;
+ }
+ else
+ {
+ pdev->dev_state = USBD_STATE_DEFAULT;
+ }
+ }
+ }
+ else
+ {
+ USBD_CtlError(pdev, req);
+ }
+}
+
+/**
+* @brief USBD_SetConfig
+* Handle Set device configuration request
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+static void USBD_SetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
+{
+ static uint8_t cfgidx;
+
+ cfgidx = (uint8_t)(req->wValue);
+
+ if (cfgidx > USBD_MAX_NUM_CONFIGURATION)
+ {
+ USBD_CtlError(pdev, req);
+ }
+ else
+ {
+ switch (pdev->dev_state)
+ {
+ case USBD_STATE_ADDRESSED:
+ if (cfgidx)
+ {
+ pdev->dev_config = cfgidx;
+ pdev->dev_state = USBD_STATE_CONFIGURED;
+ if (USBD_SetClassConfig(pdev, cfgidx) == USBD_FAIL)
+ {
+ USBD_CtlError(pdev, req);
+ return;
+ }
+ USBD_CtlSendStatus(pdev);
+ }
+ else
+ {
+ USBD_CtlSendStatus(pdev);
+ }
+ break;
+
+ case USBD_STATE_CONFIGURED:
+ if (cfgidx == 0U)
+ {
+ pdev->dev_state = USBD_STATE_ADDRESSED;
+ pdev->dev_config = cfgidx;
+ USBD_ClrClassConfig(pdev, cfgidx);
+ USBD_CtlSendStatus(pdev);
+ }
+ else if (cfgidx != pdev->dev_config)
+ {
+ /* Clear old configuration */
+ USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config);
+
+ /* set new configuration */
+ pdev->dev_config = cfgidx;
+ if (USBD_SetClassConfig(pdev, cfgidx) == USBD_FAIL)
+ {
+ USBD_CtlError(pdev, req);
+ return;
+ }
+ USBD_CtlSendStatus(pdev);
+ }
+ else
+ {
+ USBD_CtlSendStatus(pdev);
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ USBD_ClrClassConfig(pdev, cfgidx);
+ break;
+ }
+ }
+}
+
+/**
+* @brief USBD_GetConfig
+* Handle Get device configuration request
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+static void USBD_GetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
+{
+ if (req->wLength != 1U)
+ {
+ USBD_CtlError(pdev, req);
+ }
+ else
+ {
+ switch (pdev->dev_state)
+ {
+ case USBD_STATE_DEFAULT:
+ case USBD_STATE_ADDRESSED:
+ pdev->dev_default_config = 0U;
+ USBD_CtlSendData(pdev, (uint8_t *)(void *)&pdev->dev_default_config, 1U);
+ break;
+
+ case USBD_STATE_CONFIGURED:
+ USBD_CtlSendData(pdev, (uint8_t *)(void *)&pdev->dev_config, 1U);
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+ }
+}
+
+/**
+* @brief USBD_GetStatus
+* Handle Get Status request
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+static void USBD_GetStatus(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req)
+{
+ switch (pdev->dev_state)
+ {
+ case USBD_STATE_DEFAULT:
+ case USBD_STATE_ADDRESSED:
+ case USBD_STATE_CONFIGURED:
+ if (req->wLength != 0x2U)
+ {
+ USBD_CtlError(pdev, req);
+ break;
+ }
+
+#if (USBD_SELF_POWERED == 1U)
+ pdev->dev_config_status = USB_CONFIG_SELF_POWERED;
+#else
+ pdev->dev_config_status = 0U;
+#endif
+
+ if (pdev->dev_remote_wakeup)
+ {
+ pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP;
+ }
+
+ USBD_CtlSendData(pdev, (uint8_t *)(void *)&pdev->dev_config_status, 2U);
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+}
+
+
+/**
+* @brief USBD_SetFeature
+* Handle Set device feature request
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+static void USBD_SetFeature(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req)
+{
+ if (req->wValue == USB_FEATURE_REMOTE_WAKEUP)
+ {
+ pdev->dev_remote_wakeup = 1U;
+ USBD_CtlSendStatus(pdev);
+ }
+}
+
+
+/**
+* @brief USBD_ClrFeature
+* Handle clear device feature request
+* @param pdev: device instance
+* @param req: usb request
+* @retval status
+*/
+static void USBD_ClrFeature(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req)
+{
+ switch (pdev->dev_state)
+ {
+ case USBD_STATE_DEFAULT:
+ case USBD_STATE_ADDRESSED:
+ case USBD_STATE_CONFIGURED:
+ if (req->wValue == USB_FEATURE_REMOTE_WAKEUP)
+ {
+ pdev->dev_remote_wakeup = 0U;
+ USBD_CtlSendStatus(pdev);
+ }
+ break;
+
+ default:
+ USBD_CtlError(pdev, req);
+ break;
+ }
+}
+
+/**
+* @brief USBD_ParseSetupRequest
+* Copy buffer into setup structure
+* @param pdev: device instance
+* @param req: usb request
+* @retval None
+*/
+
+void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata)
+{
+ req->bmRequest = *(uint8_t *)(pdata);
+ req->bRequest = *(uint8_t *)(pdata + 1U);
+ req->wValue = SWAPBYTE(pdata + 2U);
+ req->wIndex = SWAPBYTE(pdata + 4U);
+ req->wLength = SWAPBYTE(pdata + 6U);
+
+}
+
+/**
+* @brief USBD_CtlError
+* Handle USB low level Error
+* @param pdev: device instance
+* @param req: usb request
+* @retval None
+*/
+
+void USBD_CtlError(USBD_HandleTypeDef *pdev,
+ USBD_SetupReqTypedef *req)
+{
+ USBD_LL_StallEP(pdev, 0x80U);
+ USBD_LL_StallEP(pdev, 0U);
+}
+
+
+/**
+ * @brief USBD_GetString
+ * Convert Ascii string into unicode one
+ * @param desc : descriptor buffer
+ * @param unicode : Formatted string buffer (unicode)
+ * @param len : descriptor length
+ * @retval None
+ */
+void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len)
+{
+ uint8_t idx = 0U;
+
+ if (desc != NULL)
+ {
+ *len = (uint16_t)USBD_GetLen(desc) * 2U + 2U;
+ unicode[idx++] = *(uint8_t *)(void *)len;
+ unicode[idx++] = USB_DESC_TYPE_STRING;
+
+ while (*desc != '\0')
+ {
+ unicode[idx++] = *desc++;
+ unicode[idx++] = 0U;
+ }
+ }
+}
+
+/**
+ * @brief USBD_GetLen
+ * return the string length
+ * @param buf : pointer to the ascii string buffer
+ * @retval string length
+ */
+static uint8_t USBD_GetLen(uint8_t *buf)
+{
+ uint8_t len = 0U;
+
+ while (*buf != '\0')
+ {
+ len++;
+ buf++;
+ }
+
+ return len;
+}
+/**
+ * @}
+ */
+
+
+/**
+ * @}
+ */
+
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_desc_template.c b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_desc_template.c
new file mode 100644
index 0000000..ed0dfe2
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_desc_template.c
@@ -0,0 +1,277 @@
+/**
+ ******************************************************************************
+ * @file usbd_desc_template.c
+ * @author MCD Application Team
+ * @brief This file provides the USBD descriptors and string formatting method.
+ * This template should be copied to the user folder,
+ * renamed and customized following user needs.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_core.h"
+#include "usbd_desc.h"
+#include "usbd_conf.h"
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+#define USBD_VID 0x0483
+#define USBD_PID 0xaaaa /* Replace '0xaaaa' with your device product ID */
+#define USBD_LANGID_STRING 0xbbb /* Replace '0xbbb' with your device language ID */
+#define USBD_MANUFACTURER_STRING "xxxxx" /* Add your manufacturer string */
+#define USBD_PRODUCT_HS_STRING "xxxxx" /* Add your product High Speed string */
+#define USBD_PRODUCT_FS_STRING "xxxxx" /* Add your product Full Speed string */
+#define USBD_CONFIGURATION_HS_STRING "xxxxx" /* Add your configuration High Speed string */
+#define USBD_INTERFACE_HS_STRING "xxxxx" /* Add your Interface High Speed string */
+#define USBD_CONFIGURATION_FS_STRING "xxxxx" /* Add your configuration Full Speed string */
+#define USBD_INTERFACE_FS_STRING "xxxxx" /* Add your Interface Full Speed string */
+
+/* Private macro -------------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+uint8_t *USBD_Class_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t *USBD_Class_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t *USBD_Class_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t *USBD_Class_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t *USBD_Class_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t *USBD_Class_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t *USBD_Class_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+#ifdef USBD_SUPPORT_USER_STRING_DESC
+uint8_t *USBD_Class_USRStringDesc(USBD_SpeedTypeDef speed, uint8_t idx, uint16_t *length);
+#endif /* USBD_SUPPORT_USER_STRING_DESC */
+
+/* Private variables ---------------------------------------------------------*/
+USBD_DescriptorsTypeDef Class_Desc =
+{
+ USBD_Class_DeviceDescriptor,
+ USBD_Class_LangIDStrDescriptor,
+ USBD_Class_ManufacturerStrDescriptor,
+ USBD_Class_ProductStrDescriptor,
+ USBD_Class_SerialStrDescriptor,
+ USBD_Class_ConfigStrDescriptor,
+ USBD_Class_InterfaceStrDescriptor,
+};
+
+/* USB Standard Device Descriptor */
+#if defined ( __ICCARM__ ) /*!< IAR Compiler */
+#pragma data_alignment=4
+#endif
+__ALIGN_BEGIN uint8_t USBD_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END =
+{
+ 0x12, /* bLength */
+ USB_DESC_TYPE_DEVICE, /* bDescriptorType */
+ 0x00, /* bcdUSB */
+ 0x02,
+ 0x00, /* bDeviceClass */
+ 0x00, /* bDeviceSubClass */
+ 0x00, /* bDeviceProtocol */
+ USB_MAX_EP0_SIZE, /* bMaxPacketSize */
+ LOBYTE(USBD_VID), /* idVendor */
+ HIBYTE(USBD_VID), /* idVendor */
+ LOBYTE(USBD_PID), /* idVendor */
+ HIBYTE(USBD_PID), /* idVendor */
+ 0x00, /* bcdDevice rel. 2.00 */
+ 0x02,
+ USBD_IDX_MFC_STR, /* Index of manufacturer string */
+ USBD_IDX_PRODUCT_STR, /* Index of product string */
+ USBD_IDX_SERIAL_STR, /* Index of serial number string */
+ USBD_MAX_NUM_CONFIGURATION /* bNumConfigurations */
+}; /* USB_DeviceDescriptor */
+
+/* USB Standard Device Descriptor */
+#if defined ( __ICCARM__ ) /*!< IAR Compiler */
+#pragma data_alignment=4
+#endif
+__ALIGN_BEGIN uint8_t USBD_LangIDDesc[USB_LEN_LANGID_STR_DESC] __ALIGN_END =
+{
+ USB_LEN_LANGID_STR_DESC,
+ USB_DESC_TYPE_STRING,
+ LOBYTE(USBD_LANGID_STRING),
+ HIBYTE(USBD_LANGID_STRING),
+};
+
+uint8_t USBD_StringSerial[USB_SIZ_STRING_SERIAL] =
+{
+ USB_SIZ_STRING_SERIAL,
+ USB_DESC_TYPE_STRING,
+};
+
+#if defined ( __ICCARM__ ) /*!< IAR Compiler */
+#pragma data_alignment=4
+#endif
+__ALIGN_BEGIN uint8_t USBD_StrDesc[USBD_MAX_STR_DESC_SIZ] __ALIGN_END;
+
+/* Private functions ---------------------------------------------------------*/
+static void IntToUnicode(uint32_t value, uint8_t *pbuf, uint8_t len);
+static void Get_SerialNum(void);
+
+/**
+ * @brief Returns the device descriptor.
+ * @param speed: Current device speed
+ * @param length: Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t *USBD_Class_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ *length = sizeof(USBD_DeviceDesc);
+ return (uint8_t *)USBD_DeviceDesc;
+}
+
+/**
+ * @brief Returns the LangID string descriptor.
+ * @param speed: Current device speed
+ * @param length: Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t *USBD_Class_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ *length = sizeof(USBD_LangIDDesc);
+ return (uint8_t *)USBD_LangIDDesc;
+}
+
+/**
+ * @brief Returns the product string descriptor.
+ * @param speed: Current device speed
+ * @param length: Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t *USBD_Class_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ if (speed == USBD_SPEED_HIGH)
+ {
+ USBD_GetString((uint8_t *)USBD_PRODUCT_HS_STRING, USBD_StrDesc, length);
+ }
+ else
+ {
+ USBD_GetString((uint8_t *)USBD_PRODUCT_FS_STRING, USBD_StrDesc, length);
+ }
+ return USBD_StrDesc;
+}
+
+/**
+ * @brief Returns the manufacturer string descriptor.
+ * @param speed: Current device speed
+ * @param length: Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t *USBD_Class_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
+ return USBD_StrDesc;
+}
+
+/**
+ * @brief Returns the serial number string descriptor.
+ * @param speed: Current device speed
+ * @param length: Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t *USBD_Class_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ *length = USB_SIZ_STRING_SERIAL;
+
+ /* Update the serial number string descriptor with the data from the unique ID*/
+ Get_SerialNum();
+
+ return (uint8_t *)USBD_StringSerial;
+}
+
+/**
+ * @brief Returns the configuration string descriptor.
+ * @param speed: Current device speed
+ * @param length: Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t *USBD_Class_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ if (speed == USBD_SPEED_HIGH)
+ {
+ USBD_GetString((uint8_t *)USBD_CONFIGURATION_HS_STRING, USBD_StrDesc, length);
+ }
+ else
+ {
+ USBD_GetString((uint8_t *)USBD_CONFIGURATION_FS_STRING, USBD_StrDesc, length);
+ }
+ return USBD_StrDesc;
+}
+
+/**
+ * @brief Returns the interface string descriptor.
+ * @param speed: Current device speed
+ * @param length: Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t *USBD_Class_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ if (speed == USBD_SPEED_HIGH)
+ {
+ USBD_GetString((uint8_t *)USBD_INTERFACE_HS_STRING, USBD_StrDesc, length);
+ }
+ else
+ {
+ USBD_GetString((uint8_t *)USBD_INTERFACE_FS_STRING, USBD_StrDesc, length);
+ }
+ return USBD_StrDesc;
+}
+
+/**
+ * @brief Create the serial number string descriptor
+ * @param None
+ * @retval None
+ */
+static void Get_SerialNum(void)
+{
+ uint32_t deviceserial0, deviceserial1, deviceserial2;
+
+ deviceserial0 = *(uint32_t *)DEVICE_ID1;
+ deviceserial1 = *(uint32_t *)DEVICE_ID2;
+ deviceserial2 = *(uint32_t *)DEVICE_ID3;
+
+ deviceserial0 += deviceserial2;
+
+ if (deviceserial0 != 0U)
+ {
+ IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8U);
+ IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4U);
+ }
+}
+
+/**
+ * @brief Convert Hex 32Bits value into char
+ * @param value: value to convert
+ * @param pbuf: pointer to the buffer
+ * @param len: buffer length
+ * @retval None
+ */
+static void IntToUnicode(uint32_t value, uint8_t *pbuf, uint8_t len)
+{
+ uint8_t idx = 0U;
+
+ for (idx = 0U ; idx < len ; idx ++)
+ {
+ if (((value >> 28)) < 0xAU)
+ {
+ pbuf[ 2U * idx] = (value >> 28) + '0';
+ }
+ else
+ {
+ pbuf[2U * idx] = (value >> 28) + 'A' - 10U;
+ }
+
+ value = value << 4;
+
+ pbuf[2U * idx + 1] = 0U;
+ }
+}
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c
new file mode 100644
index 0000000..7e969de
--- /dev/null
+++ b/Hardware/RobotSensor/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c
@@ -0,0 +1,216 @@
+/**
+ ******************************************************************************
+ * @file usbd_ioreq.c
+ * @author MCD Application Team
+ * @brief This file provides the IO requests APIs for control endpoints.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2015 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under Ultimate Liberty license
+ * SLA0044, the "License"; You may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at:
+ * www.st.com/SLA0044
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_ioreq.h"
+
+/** @addtogroup STM32_USB_DEVICE_LIBRARY
+ * @{
+ */
+
+
+/** @defgroup USBD_IOREQ
+ * @brief control I/O requests module
+ * @{
+ */
+
+/** @defgroup USBD_IOREQ_Private_TypesDefinitions
+ * @{
+ */
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_IOREQ_Private_Defines
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_IOREQ_Private_Macros
+ * @{
+ */
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_IOREQ_Private_Variables
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_IOREQ_Private_FunctionPrototypes
+ * @{
+ */
+/**
+ * @}
+ */
+
+
+/** @defgroup USBD_IOREQ_Private_Functions
+ * @{
+ */
+
+/**
+* @brief USBD_CtlSendData
+* send data on the ctl pipe
+* @param pdev: device instance
+* @param buff: pointer to data buffer
+* @param len: length of data to be sent
+* @retval status
+*/
+USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev,
+ uint8_t *pbuf, uint16_t len)
+{
+ /* Set EP0 State */
+ pdev->ep0_state = USBD_EP0_DATA_IN;
+ pdev->ep_in[0].total_length = len;
+ pdev->ep_in[0].rem_length = len;
+
+ /* Start the transfer */
+ USBD_LL_Transmit(pdev, 0x00U, pbuf, len);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_CtlContinueSendData
+* continue sending data on the ctl pipe
+* @param pdev: device instance
+* @param buff: pointer to data buffer
+* @param len: length of data to be sent
+* @retval status
+*/
+USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev,
+ uint8_t *pbuf, uint16_t len)
+{
+ /* Start the next transfer */
+ USBD_LL_Transmit(pdev, 0x00U, pbuf, len);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_CtlPrepareRx
+* receive data on the ctl pipe
+* @param pdev: device instance
+* @param buff: pointer to data buffer
+* @param len: length of data to be received
+* @retval status
+*/
+USBD_StatusTypeDef USBD_CtlPrepareRx(USBD_HandleTypeDef *pdev,
+ uint8_t *pbuf, uint16_t len)
+{
+ /* Set EP0 State */
+ pdev->ep0_state = USBD_EP0_DATA_OUT;
+ pdev->ep_out[0].total_length = len;
+ pdev->ep_out[0].rem_length = len;
+
+ /* Start the transfer */
+ USBD_LL_PrepareReceive(pdev, 0U, pbuf, len);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_CtlContinueRx
+* continue receive data on the ctl pipe
+* @param pdev: device instance
+* @param buff: pointer to data buffer
+* @param len: length of data to be received
+* @retval status
+*/
+USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev,
+ uint8_t *pbuf, uint16_t len)
+{
+ USBD_LL_PrepareReceive(pdev, 0U, pbuf, len);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_CtlSendStatus
+* send zero lzngth packet on the ctl pipe
+* @param pdev: device instance
+* @retval status
+*/
+USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev)
+{
+ /* Set EP0 State */
+ pdev->ep0_state = USBD_EP0_STATUS_IN;
+
+ /* Start the transfer */
+ USBD_LL_Transmit(pdev, 0x00U, NULL, 0U);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_CtlReceiveStatus
+* receive zero lzngth packet on the ctl pipe
+* @param pdev: device instance
+* @retval status
+*/
+USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev)
+{
+ /* Set EP0 State */
+ pdev->ep0_state = USBD_EP0_STATUS_OUT;
+
+ /* Start the transfer */
+ USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U);
+
+ return USBD_OK;
+}
+
+/**
+* @brief USBD_GetRxCount
+* returns the received data length
+* @param pdev: device instance
+* @param ep_addr: endpoint address
+* @retval Rx Data blength
+*/
+uint32_t USBD_GetRxCount(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ return USBD_LL_GetRxDataSize(pdev, ep_addr);
+}
+
+/**
+ * @}
+ */
+
+
+/**
+ * @}
+ */
+
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/Hardware/RobotSensor/USB_DEVICE/App/usb_device.c b/Hardware/RobotSensor/USB_DEVICE/App/usb_device.c
new file mode 100644
index 0000000..06612ed
--- /dev/null
+++ b/Hardware/RobotSensor/USB_DEVICE/App/usb_device.c
@@ -0,0 +1,100 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : usb_device.c
+ * @version : v2.0_Cube
+ * @brief : This file implements the USB Device
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "usb_device.h"
+#include "usbd_core.h"
+#include "usbd_desc.h"
+#include "usbd_customhid.h"
+#include "usbd_custom_hid_if.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN PV */
+/* Private variables ---------------------------------------------------------*/
+
+/* USER CODE END PV */
+
+/* USER CODE BEGIN PFP */
+/* Private function prototypes -----------------------------------------------*/
+
+/* USER CODE END PFP */
+
+/* USB Device Core handle declaration. */
+USBD_HandleTypeDef hUsbDeviceFS;
+
+/*
+ * -- Insert your variables declaration here --
+ */
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*
+ * -- Insert your external function declaration here --
+ */
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/**
+ * Init USB device Library, add supported class and start the library
+ * @retval None
+ */
+void MX_USB_DEVICE_Init(void)
+{
+ /* USER CODE BEGIN USB_DEVICE_Init_PreTreatment */
+
+ /* USER CODE END USB_DEVICE_Init_PreTreatment */
+
+ /* Init Device Library, add supported class and start the library. */
+ if (USBD_Init(&hUsbDeviceFS, &FS_Desc, DEVICE_FS) != USBD_OK)
+ {
+ Error_Handler();
+ }
+ if (USBD_RegisterClass(&hUsbDeviceFS, &USBD_CUSTOM_HID) != USBD_OK)
+ {
+ Error_Handler();
+ }
+ if (USBD_CUSTOM_HID_RegisterInterface(&hUsbDeviceFS, &USBD_CustomHID_fops_FS) != USBD_OK)
+ {
+ Error_Handler();
+ }
+ if (USBD_Start(&hUsbDeviceFS) != USBD_OK)
+ {
+ Error_Handler();
+ }
+
+ /* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */
+
+ /* USER CODE END USB_DEVICE_Init_PostTreatment */
+}
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
diff --git a/Hardware/RobotSensor/USB_DEVICE/App/usb_device.h b/Hardware/RobotSensor/USB_DEVICE/App/usb_device.h
new file mode 100644
index 0000000..cef88b2
--- /dev/null
+++ b/Hardware/RobotSensor/USB_DEVICE/App/usb_device.h
@@ -0,0 +1,102 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : usb_device.h
+ * @version : v2.0_Cube
+ * @brief : Header for usb_device.c file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USB_DEVICE__H__
+#define __USB_DEVICE__H__
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f1xx.h"
+#include "stm32f1xx_hal.h"
+#include "usbd_def.h"
+
+/* USER CODE BEGIN INCLUDE */
+
+/* USER CODE END INCLUDE */
+
+/** @addtogroup USBD_OTG_DRIVER
+ * @{
+ */
+
+/** @defgroup USBD_DEVICE USBD_DEVICE
+ * @brief Device file for Usb otg low level driver.
+ * @{
+ */
+
+/** @defgroup USBD_DEVICE_Exported_Variables USBD_DEVICE_Exported_Variables
+ * @brief Public variables.
+ * @{
+ */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/*
+ * -- Insert your variables declaration here --
+ */
+/* USER CODE BEGIN VARIABLES */
+
+/* USER CODE END VARIABLES */
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DEVICE_Exported_FunctionsPrototype USBD_DEVICE_Exported_FunctionsPrototype
+ * @brief Declaration of public functions for Usb device.
+ * @{
+ */
+
+/** USB Device initialization function. */
+void MX_USB_DEVICE_Init(void);
+
+/*
+ * -- Insert functions declaration here --
+ */
+/* USER CODE BEGIN FD */
+
+/* USER CODE END FD */
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USB_DEVICE__H__ */
diff --git a/Hardware/RobotSensor/USB_DEVICE/App/usbd_custom_hid_if.c b/Hardware/RobotSensor/USB_DEVICE/App/usbd_custom_hid_if.c
new file mode 100644
index 0000000..558b201
--- /dev/null
+++ b/Hardware/RobotSensor/USB_DEVICE/App/usbd_custom_hid_if.c
@@ -0,0 +1,228 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : usbd_custom_hid_if.c
+ * @version : v2.0_Cube
+ * @brief : USB Device Custom HID interface file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_custom_hid_if.h"
+
+/* USER CODE BEGIN INCLUDE */
+
+/* USER CODE END INCLUDE */
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+
+/* USER CODE BEGIN PV */
+/* Private variables ---------------------------------------------------------*/
+
+/* USER CODE END PV */
+
+/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
+ * @brief Usb device.
+ * @{
+ */
+
+/** @addtogroup USBD_CUSTOM_HID
+ * @{
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Private_TypesDefinitions USBD_CUSTOM_HID_Private_TypesDefinitions
+ * @brief Private types.
+ * @{
+ */
+
+/* USER CODE BEGIN PRIVATE_TYPES */
+
+/* USER CODE END PRIVATE_TYPES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Private_Defines USBD_CUSTOM_HID_Private_Defines
+ * @brief Private defines.
+ * @{
+ */
+
+/* USER CODE BEGIN PRIVATE_DEFINES */
+
+/* USER CODE END PRIVATE_DEFINES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Private_Macros USBD_CUSTOM_HID_Private_Macros
+ * @brief Private macros.
+ * @{
+ */
+
+/* USER CODE BEGIN PRIVATE_MACRO */
+
+/* USER CODE END PRIVATE_MACRO */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Private_Variables USBD_CUSTOM_HID_Private_Variables
+ * @brief Private variables.
+ * @{
+ */
+
+/** Usb HID report descriptor. */
+__ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] __ALIGN_END =
+{
+ 0x05,0x8c, /* USAGE_PAGE (ST Page) */
+ 0x09,0x01, /* USAGE (Demo Kit) */
+ 0xa1,0x01, /* COLLECTION (Application) */
+
+ // The Input report
+ 0x09,0x03, // USAGE ID - Vendor defined
+ 0x15,0x00, // LOGICAL_MINIMUM (0)
+ 0x26,0x00, 0xFF, // LOGICAL_MAXIMUM (255)
+ 0x75,0x08, // REPORT_SIZE (8bit)
+ 0x95,0x40, // REPORT_COUNT (64Byte)
+ 0x81,0x02, // INPUT (Data,Var,Abs)
+
+ // The Output report
+ 0x09,0x04, // USAGE ID - Vendor defined
+ 0x15,0x00, // LOGICAL_MINIMUM (0)
+ 0x26,0x00,0xFF, // LOGICAL_MAXIMUM (255)
+ 0x75,0x08, // REPORT_SIZE (8bit)
+ 0x95,0x40, // REPORT_COUNT (64Byte)
+ 0x91,0x02, // OUTPUT (Data,Var,Abs)
+ 0xC0 /* END_COLLECTION */
+};
+
+/* USER CODE BEGIN PRIVATE_VARIABLES */
+
+/* USER CODE END PRIVATE_VARIABLES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Exported_Variables USBD_CUSTOM_HID_Exported_Variables
+ * @brief Public variables.
+ * @{
+ */
+extern USBD_HandleTypeDef hUsbDeviceFS;
+
+/* USER CODE BEGIN EXPORTED_VARIABLES */
+
+/* USER CODE END EXPORTED_VARIABLES */
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Private_FunctionPrototypes USBD_CUSTOM_HID_Private_FunctionPrototypes
+ * @brief Private functions declaration.
+ * @{
+ */
+
+static int8_t CUSTOM_HID_Init_FS(void);
+static int8_t CUSTOM_HID_DeInit_FS(void);
+static int8_t CUSTOM_HID_OutEvent_FS(uint8_t event_idx, uint8_t state);
+
+/**
+ * @}
+ */
+
+USBD_CUSTOM_HID_ItfTypeDef USBD_CustomHID_fops_FS =
+{
+ CUSTOM_HID_ReportDesc_FS,
+ CUSTOM_HID_Init_FS,
+ CUSTOM_HID_DeInit_FS,
+ CUSTOM_HID_OutEvent_FS
+};
+
+/** @defgroup USBD_CUSTOM_HID_Private_Functions USBD_CUSTOM_HID_Private_Functions
+ * @brief Private functions.
+ * @{
+ */
+
+/* Private functions ---------------------------------------------------------*/
+
+/**
+ * @brief Initializes the CUSTOM HID media low layer
+ * @retval USBD_OK if all operations are OK else USBD_FAIL
+ */
+static int8_t CUSTOM_HID_Init_FS(void)
+{
+ /* USER CODE BEGIN 4 */
+ return (USBD_OK);
+ /* USER CODE END 4 */
+}
+
+/**
+ * @brief DeInitializes the CUSTOM HID media low layer
+ * @retval USBD_OK if all operations are OK else USBD_FAIL
+ */
+static int8_t CUSTOM_HID_DeInit_FS(void)
+{
+ /* USER CODE BEGIN 5 */
+ return (USBD_OK);
+ /* USER CODE END 5 */
+}
+
+/**
+ * @brief Manage the CUSTOM HID class events
+ * @param event_idx: Event index
+ * @param state: Event state
+ * @retval USBD_OK if all operations are OK else USBD_FAIL
+ */
+static int8_t CUSTOM_HID_OutEvent_FS(uint8_t event_idx, uint8_t state)
+{
+ /* USER CODE BEGIN 6 */
+ return (USBD_OK);
+ /* USER CODE END 6 */
+}
+
+/* USER CODE BEGIN 7 */
+/**
+ * @brief Send the report to the Host
+ * @param report: The report to be sent
+ * @param len: The report length
+ * @retval USBD_OK if all operations are OK else USBD_FAIL
+ */
+/*
+static int8_t USBD_CUSTOM_HID_SendReport_FS(uint8_t *report, uint16_t len)
+{
+ return USBD_CUSTOM_HID_SendReport(&hUsbDeviceFS, report, len);
+}
+*/
+/* USER CODE END 7 */
+
+/* USER CODE BEGIN PRIVATE_FUNCTIONS_IMPLEMENTATION */
+
+/* USER CODE END PRIVATE_FUNCTIONS_IMPLEMENTATION */
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
diff --git a/Hardware/RobotSensor/USB_DEVICE/App/usbd_custom_hid_if.h b/Hardware/RobotSensor/USB_DEVICE/App/usbd_custom_hid_if.h
new file mode 100644
index 0000000..bf91eae
--- /dev/null
+++ b/Hardware/RobotSensor/USB_DEVICE/App/usbd_custom_hid_if.h
@@ -0,0 +1,127 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : usbd_custom_hid_if.h
+ * @version : v2.0_Cube
+ * @brief : Header for usbd_custom_hid_if.c file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USBD_CUSTOM_HID_IF_H__
+#define __USBD_CUSTOM_HID_IF_H__
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_customhid.h"
+
+/* USER CODE BEGIN INCLUDE */
+
+/* USER CODE END INCLUDE */
+
+/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
+ * @brief For Usb device.
+ * @{
+ */
+
+/** @defgroup USBD_CUSTOM_HID USBD_CUSTOM_HID
+ * @brief Usb custom human interface device module.
+ * @{
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Exported_Defines USBD_CUSTOM_HID_Exported_Defines
+ * @brief Defines.
+ * @{
+ */
+
+/* USER CODE BEGIN EXPORTED_DEFINES */
+
+/* USER CODE END EXPORTED_DEFINES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Exported_Types USBD_CUSTOM_HID_Exported_Types
+ * @brief Types.
+ * @{
+ */
+
+/* USER CODE BEGIN EXPORTED_TYPES */
+
+/* USER CODE END EXPORTED_TYPES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Exported_Macros USBD_CUSTOM_HID_Exported_Macros
+ * @brief Aliases.
+ * @{
+ */
+
+/* USER CODE BEGIN EXPORTED_MACRO */
+
+/* USER CODE END EXPORTED_MACRO */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Exported_Variables USBD_CUSTOM_HID_Exported_Variables
+ * @brief Public variables.
+ * @{
+ */
+
+/** CUSTOMHID Interface callback. */
+extern USBD_CUSTOM_HID_ItfTypeDef USBD_CustomHID_fops_FS;
+
+/* USER CODE BEGIN EXPORTED_VARIABLES */
+
+/* USER CODE END EXPORTED_VARIABLES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CUSTOM_HID_Exported_FunctionsPrototype USBD_CUSTOM_HID_Exported_FunctionsPrototype
+ * @brief Public functions declaration.
+ * @{
+ */
+
+/* USER CODE BEGIN EXPORTED_FUNCTIONS */
+
+/* USER CODE END EXPORTED_FUNCTIONS */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USBD_CUSTOM_HID_IF_H__ */
+
diff --git a/Hardware/RobotSensor/USB_DEVICE/App/usbd_desc.c b/Hardware/RobotSensor/USB_DEVICE/App/usbd_desc.c
new file mode 100644
index 0000000..648a785
--- /dev/null
+++ b/Hardware/RobotSensor/USB_DEVICE/App/usbd_desc.c
@@ -0,0 +1,394 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : App/usbd_desc.c
+ * @version : v2.0_Cube
+ * @brief : This file implements the USB device descriptors.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_core.h"
+#include "usbd_desc.h"
+#include "usbd_conf.h"
+
+/* USER CODE BEGIN INCLUDE */
+
+/* USER CODE END INCLUDE */
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+
+/* USER CODE BEGIN PV */
+/* Private variables ---------------------------------------------------------*/
+
+/* USER CODE END PV */
+
+/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
+ * @{
+ */
+
+/** @addtogroup USBD_DESC
+ * @{
+ */
+
+/** @defgroup USBD_DESC_Private_TypesDefinitions USBD_DESC_Private_TypesDefinitions
+ * @brief Private types.
+ * @{
+ */
+
+/* USER CODE BEGIN PRIVATE_TYPES */
+
+/* USER CODE END PRIVATE_TYPES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Private_Defines USBD_DESC_Private_Defines
+ * @brief Private defines.
+ * @{
+ */
+
+#define USBD_VID 1165
+#define USBD_LANGID_STRING 1033
+#define USBD_MANUFACTURER_STRING "UESTC"
+#define USBD_PID_FS 22352
+#define USBD_PRODUCT_STRING_FS "MOWING ROBOT"
+#define USBD_CONFIGURATION_STRING_FS "Custom HID Config"
+#define USBD_INTERFACE_STRING_FS "Custom HID Interface"
+
+/* USER CODE BEGIN PRIVATE_DEFINES */
+
+/* USER CODE END PRIVATE_DEFINES */
+
+/**
+ * @}
+ */
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/** @defgroup USBD_DESC_Private_Macros USBD_DESC_Private_Macros
+ * @brief Private macros.
+ * @{
+ */
+
+/* USER CODE BEGIN PRIVATE_MACRO */
+
+/* USER CODE END PRIVATE_MACRO */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Private_FunctionPrototypes USBD_DESC_Private_FunctionPrototypes
+ * @brief Private functions declaration.
+ * @{
+ */
+
+static void Get_SerialNum(void);
+static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len);
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Private_FunctionPrototypes USBD_DESC_Private_FunctionPrototypes
+ * @brief Private functions declaration for FS.
+ * @{
+ */
+
+uint8_t * USBD_FS_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t * USBD_FS_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t * USBD_FS_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+uint8_t * USBD_FS_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables
+ * @brief Private variables.
+ * @{
+ */
+
+USBD_DescriptorsTypeDef FS_Desc =
+{
+ USBD_FS_DeviceDescriptor
+, USBD_FS_LangIDStrDescriptor
+, USBD_FS_ManufacturerStrDescriptor
+, USBD_FS_ProductStrDescriptor
+, USBD_FS_SerialStrDescriptor
+, USBD_FS_ConfigStrDescriptor
+, USBD_FS_InterfaceStrDescriptor
+};
+
+#if defined ( __ICCARM__ ) /* IAR Compiler */
+ #pragma data_alignment=4
+#endif /* defined ( __ICCARM__ ) */
+/** USB standard device descriptor. */
+__ALIGN_BEGIN uint8_t USBD_FS_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END =
+{
+ 0x12, /*bLength */
+ USB_DESC_TYPE_DEVICE, /*bDescriptorType*/
+ 0x00, /*bcdUSB */
+ 0x02,
+ 0x00, /*bDeviceClass*/
+ 0x00, /*bDeviceSubClass*/
+ 0x00, /*bDeviceProtocol*/
+ USB_MAX_EP0_SIZE, /*bMaxPacketSize*/
+ LOBYTE(USBD_VID), /*idVendor*/
+ HIBYTE(USBD_VID), /*idVendor*/
+ LOBYTE(USBD_PID_FS), /*idProduct*/
+ HIBYTE(USBD_PID_FS), /*idProduct*/
+ 0x00, /*bcdDevice rel. 2.00*/
+ 0x02,
+ USBD_IDX_MFC_STR, /*Index of manufacturer string*/
+ USBD_IDX_PRODUCT_STR, /*Index of product string*/
+ USBD_IDX_SERIAL_STR, /*Index of serial number string*/
+ USBD_MAX_NUM_CONFIGURATION /*bNumConfigurations*/
+};
+
+/* USB_DeviceDescriptor */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables
+ * @brief Private variables.
+ * @{
+ */
+
+#if defined ( __ICCARM__ ) /* IAR Compiler */
+ #pragma data_alignment=4
+#endif /* defined ( __ICCARM__ ) */
+
+/** USB lang identifier descriptor. */
+__ALIGN_BEGIN uint8_t USBD_LangIDDesc[USB_LEN_LANGID_STR_DESC] __ALIGN_END =
+{
+ USB_LEN_LANGID_STR_DESC,
+ USB_DESC_TYPE_STRING,
+ LOBYTE(USBD_LANGID_STRING),
+ HIBYTE(USBD_LANGID_STRING)
+};
+
+#if defined ( __ICCARM__ ) /* IAR Compiler */
+ #pragma data_alignment=4
+#endif /* defined ( __ICCARM__ ) */
+/* Internal string descriptor. */
+__ALIGN_BEGIN uint8_t USBD_StrDesc[USBD_MAX_STR_DESC_SIZ] __ALIGN_END;
+
+#if defined ( __ICCARM__ ) /*!< IAR Compiler */
+ #pragma data_alignment=4
+#endif
+__ALIGN_BEGIN uint8_t USBD_StringSerial[USB_SIZ_STRING_SERIAL] __ALIGN_END = {
+ USB_SIZ_STRING_SERIAL,
+ USB_DESC_TYPE_STRING,
+};
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Private_Functions USBD_DESC_Private_Functions
+ * @brief Private functions.
+ * @{
+ */
+
+/**
+ * @brief Return the device descriptor
+ * @param speed : Current device speed
+ * @param length : Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t * USBD_FS_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ UNUSED(speed);
+ *length = sizeof(USBD_FS_DeviceDesc);
+ return USBD_FS_DeviceDesc;
+}
+
+/**
+ * @brief Return the LangID string descriptor
+ * @param speed : Current device speed
+ * @param length : Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t * USBD_FS_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ UNUSED(speed);
+ *length = sizeof(USBD_LangIDDesc);
+ return USBD_LangIDDesc;
+}
+
+/**
+ * @brief Return the product string descriptor
+ * @param speed : Current device speed
+ * @param length : Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ if(speed == 0)
+ {
+ USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length);
+ }
+ else
+ {
+ USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length);
+ }
+ return USBD_StrDesc;
+}
+
+/**
+ * @brief Return the manufacturer string descriptor
+ * @param speed : Current device speed
+ * @param length : Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ UNUSED(speed);
+ USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
+ return USBD_StrDesc;
+}
+
+/**
+ * @brief Return the serial number string descriptor
+ * @param speed : Current device speed
+ * @param length : Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ UNUSED(speed);
+ *length = USB_SIZ_STRING_SERIAL;
+
+ /* Update the serial number string descriptor with the data from the unique
+ * ID */
+ Get_SerialNum();
+ /* USER CODE BEGIN USBD_FS_SerialStrDescriptor */
+
+ /* USER CODE END USBD_FS_SerialStrDescriptor */
+ return (uint8_t *) USBD_StringSerial;
+}
+
+/**
+ * @brief Return the configuration string descriptor
+ * @param speed : Current device speed
+ * @param length : Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t * USBD_FS_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ if(speed == USBD_SPEED_HIGH)
+ {
+ USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_FS, USBD_StrDesc, length);
+ }
+ else
+ {
+ USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_FS, USBD_StrDesc, length);
+ }
+ return USBD_StrDesc;
+}
+
+/**
+ * @brief Return the interface string descriptor
+ * @param speed : Current device speed
+ * @param length : Pointer to data length variable
+ * @retval Pointer to descriptor buffer
+ */
+uint8_t * USBD_FS_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+{
+ if(speed == 0)
+ {
+ USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_FS, USBD_StrDesc, length);
+ }
+ else
+ {
+ USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_FS, USBD_StrDesc, length);
+ }
+ return USBD_StrDesc;
+}
+
+/**
+ * @brief Create the serial number string descriptor
+ * @param None
+ * @retval None
+ */
+static void Get_SerialNum(void)
+{
+ uint32_t deviceserial0;
+ uint32_t deviceserial1;
+ uint32_t deviceserial2;
+
+ deviceserial0 = *(uint32_t *) DEVICE_ID1;
+ deviceserial1 = *(uint32_t *) DEVICE_ID2;
+ deviceserial2 = *(uint32_t *) DEVICE_ID3;
+
+ deviceserial0 += deviceserial2;
+
+ if (deviceserial0 != 0)
+ {
+ IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8);
+ IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4);
+ }
+}
+
+/**
+ * @brief Convert Hex 32Bits value into char
+ * @param value: value to convert
+ * @param pbuf: pointer to the buffer
+ * @param len: buffer length
+ * @retval None
+ */
+static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len)
+{
+ uint8_t idx = 0;
+
+ for (idx = 0; idx < len; idx++)
+ {
+ if (((value >> 28)) < 0xA)
+ {
+ pbuf[2 * idx] = (value >> 28) + '0';
+ }
+ else
+ {
+ pbuf[2 * idx] = (value >> 28) + 'A' - 10;
+ }
+
+ value = value << 4;
+
+ pbuf[2 * idx + 1] = 0;
+ }
+}
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
diff --git a/Hardware/RobotSensor/USB_DEVICE/App/usbd_desc.h b/Hardware/RobotSensor/USB_DEVICE/App/usbd_desc.h
new file mode 100644
index 0000000..0f37d5b
--- /dev/null
+++ b/Hardware/RobotSensor/USB_DEVICE/App/usbd_desc.h
@@ -0,0 +1,143 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : usbd_desc.c
+ * @version : v2.0_Cube
+ * @brief : Header for usbd_conf.c file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USBD_DESC__C__
+#define __USBD_DESC__C__
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "usbd_def.h"
+
+/* USER CODE BEGIN INCLUDE */
+
+/* USER CODE END INCLUDE */
+
+/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
+ * @{
+ */
+
+/** @defgroup USBD_DESC USBD_DESC
+ * @brief Usb device descriptors module.
+ * @{
+ */
+
+/** @defgroup USBD_DESC_Exported_Constants USBD_DESC_Exported_Constants
+ * @brief Constants.
+ * @{
+ */
+#define DEVICE_ID1 (UID_BASE)
+#define DEVICE_ID2 (UID_BASE + 0x4)
+#define DEVICE_ID3 (UID_BASE + 0x8)
+
+#define USB_SIZ_STRING_SERIAL 0x1A
+
+/* USER CODE BEGIN EXPORTED_CONSTANTS */
+
+/* USER CODE END EXPORTED_CONSTANTS */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Exported_Defines USBD_DESC_Exported_Defines
+ * @brief Defines.
+ * @{
+ */
+
+/* USER CODE BEGIN EXPORTED_DEFINES */
+
+/* USER CODE END EXPORTED_DEFINES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Exported_TypesDefinitions USBD_DESC_Exported_TypesDefinitions
+ * @brief Types.
+ * @{
+ */
+
+/* USER CODE BEGIN EXPORTED_TYPES */
+
+/* USER CODE END EXPORTED_TYPES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Exported_Macros USBD_DESC_Exported_Macros
+ * @brief Aliases.
+ * @{
+ */
+
+/* USER CODE BEGIN EXPORTED_MACRO */
+
+/* USER CODE END EXPORTED_MACRO */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Exported_Variables USBD_DESC_Exported_Variables
+ * @brief Public variables.
+ * @{
+ */
+
+/** Descriptor for the Usb device. */
+extern USBD_DescriptorsTypeDef FS_Desc;
+
+/* USER CODE BEGIN EXPORTED_VARIABLES */
+
+/* USER CODE END EXPORTED_VARIABLES */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_DESC_Exported_FunctionsPrototype USBD_DESC_Exported_FunctionsPrototype
+ * @brief Public functions declaration.
+ * @{
+ */
+
+/* USER CODE BEGIN EXPORTED_FUNCTIONS */
+
+/* USER CODE END EXPORTED_FUNCTIONS */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USBD_DESC__C__ */
+
diff --git a/Hardware/RobotSensor/USB_DEVICE/Target/usbd_conf.c b/Hardware/RobotSensor/USB_DEVICE/Target/usbd_conf.c
new file mode 100644
index 0000000..85b93ef
--- /dev/null
+++ b/Hardware/RobotSensor/USB_DEVICE/Target/usbd_conf.c
@@ -0,0 +1,659 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : Target/usbd_conf.c
+ * @version : v2.0_Cube
+ * @brief : This file implements the board support package for the USB device library
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f1xx.h"
+#include "stm32f1xx_hal.h"
+#include "usbd_def.h"
+#include "usbd_core.h"
+#include "usbd_customhid.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+
+/* USER CODE BEGIN PV */
+/* Private variables ---------------------------------------------------------*/
+
+/* USER CODE END PV */
+
+PCD_HandleTypeDef hpcd_USB_FS;
+void Error_Handler(void);
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/* USER CODE BEGIN PFP */
+/* Private function prototypes -----------------------------------------------*/
+
+/* USER CODE END PFP */
+
+/* Private functions ---------------------------------------------------------*/
+static USBD_StatusTypeDef USBD_Get_USB_Status(HAL_StatusTypeDef hal_status);
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state);
+#else
+void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state);
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+
+/*******************************************************************************
+ LL Driver Callbacks (PCD -> USB Device Library)
+*******************************************************************************/
+/* MSP Init */
+
+void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle)
+{
+ if(pcdHandle->Instance==USB)
+ {
+ /* USER CODE BEGIN USB_MspInit 0 */
+
+ /* USER CODE END USB_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_USB_CLK_ENABLE();
+
+ /* Peripheral interrupt init */
+ HAL_NVIC_SetPriority(USB_LP_CAN1_RX0_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn);
+ /* USER CODE BEGIN USB_MspInit 1 */
+
+ /* USER CODE END USB_MspInit 1 */
+ }
+}
+
+void HAL_PCD_MspDeInit(PCD_HandleTypeDef* pcdHandle)
+{
+ if(pcdHandle->Instance==USB)
+ {
+ /* USER CODE BEGIN USB_MspDeInit 0 */
+
+ /* USER CODE END USB_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USB_CLK_DISABLE();
+
+ /* Peripheral interrupt Deinit*/
+ HAL_NVIC_DisableIRQ(USB_LP_CAN1_RX0_IRQn);
+
+ /* USER CODE BEGIN USB_MspDeInit 1 */
+
+ /* USER CODE END USB_MspDeInit 1 */
+ }
+}
+
+/**
+ * @brief Setup stage callback
+ * @param hpcd: PCD handle
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd)
+#else
+void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup);
+}
+
+/**
+ * @brief Data Out stage callback.
+ * @param hpcd: PCD handle
+ * @param epnum: Endpoint number
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+#else
+void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff);
+}
+
+/**
+ * @brief Data In stage callback.
+ * @param hpcd: PCD handle
+ * @param epnum: Endpoint number
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+#else
+void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff);
+}
+
+/**
+ * @brief SOF callback.
+ * @param hpcd: PCD handle
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
+#else
+void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData);
+}
+
+/**
+ * @brief Reset callback.
+ * @param hpcd: PCD handle
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_ResetCallback(PCD_HandleTypeDef *hpcd)
+#else
+void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ USBD_SpeedTypeDef speed = USBD_SPEED_FULL;
+
+ if ( hpcd->Init.speed != PCD_SPEED_FULL)
+ {
+ Error_Handler();
+ }
+ /* Set Speed. */
+ USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed);
+
+ /* Reset Device. */
+ USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData);
+}
+
+/**
+ * @brief Suspend callback.
+ * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it)
+ * @param hpcd: PCD handle
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
+#else
+void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ /* Inform USB library that core enters in suspend Mode. */
+ USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData);
+ /* Enter in STOP mode. */
+ /* USER CODE BEGIN 2 */
+ if (hpcd->Init.low_power_enable)
+ {
+ /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */
+ SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk));
+ }
+ /* USER CODE END 2 */
+}
+
+/**
+ * @brief Resume callback.
+ * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it)
+ * @param hpcd: PCD handle
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
+#else
+void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ /* USER CODE BEGIN 3 */
+
+ /* USER CODE END 3 */
+ USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData);
+}
+
+/**
+ * @brief ISOOUTIncomplete callback.
+ * @param hpcd: PCD handle
+ * @param epnum: Endpoint number
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+#else
+void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum);
+}
+
+/**
+ * @brief ISOINIncomplete callback.
+ * @param hpcd: PCD handle
+ * @param epnum: Endpoint number
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+#else
+void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum);
+}
+
+/**
+ * @brief Connect callback.
+ * @param hpcd: PCD handle
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
+#else
+void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData);
+}
+
+/**
+ * @brief Disconnect callback.
+ * @param hpcd: PCD handle
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
+#else
+void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData);
+}
+
+/*******************************************************************************
+ LL Driver Interface (USB Device Library --> PCD)
+*******************************************************************************/
+
+/**
+ * @brief Initializes the low level portion of the device driver.
+ * @param pdev: Device handle
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
+{
+ /* Init USB Ip. */
+ /* Link the driver to the stack. */
+ hpcd_USB_FS.pData = pdev;
+ pdev->pData = &hpcd_USB_FS;
+
+ hpcd_USB_FS.Instance = USB;
+ hpcd_USB_FS.Init.dev_endpoints = 8;
+ hpcd_USB_FS.Init.speed = PCD_SPEED_FULL;
+ hpcd_USB_FS.Init.low_power_enable = DISABLE;
+ hpcd_USB_FS.Init.lpm_enable = DISABLE;
+ hpcd_USB_FS.Init.battery_charging_enable = DISABLE;
+ if (HAL_PCD_Init(&hpcd_USB_FS) != HAL_OK)
+ {
+ Error_Handler( );
+ }
+
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ /* Register USB PCD CallBacks */
+ HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_SOF_CB_ID, PCD_SOFCallback);
+ HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_SETUPSTAGE_CB_ID, PCD_SetupStageCallback);
+ HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_RESET_CB_ID, PCD_ResetCallback);
+ HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_SUSPEND_CB_ID, PCD_SuspendCallback);
+ HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_RESUME_CB_ID, PCD_ResumeCallback);
+ HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_CONNECT_CB_ID, PCD_ConnectCallback);
+ HAL_PCD_RegisterCallback(&hpcd_USB_FS, HAL_PCD_DISCONNECT_CB_ID, PCD_DisconnectCallback);
+
+ HAL_PCD_RegisterDataOutStageCallback(&hpcd_USB_FS, PCD_DataOutStageCallback);
+ HAL_PCD_RegisterDataInStageCallback(&hpcd_USB_FS, PCD_DataInStageCallback);
+ HAL_PCD_RegisterIsoOutIncpltCallback(&hpcd_USB_FS, PCD_ISOOUTIncompleteCallback);
+ HAL_PCD_RegisterIsoInIncpltCallback(&hpcd_USB_FS, PCD_ISOINIncompleteCallback);
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ /* USER CODE BEGIN EndPoint_Configuration */
+ HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x00 , PCD_SNG_BUF, 0x18);
+ HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x80 , PCD_SNG_BUF, 0x58);
+ /* USER CODE END EndPoint_Configuration */
+ /* USER CODE BEGIN EndPoint_Configuration_CUSTOM_HID */
+ HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , CUSTOM_HID_EPIN_ADDR , PCD_SNG_BUF, 0x98);
+ HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , CUSTOM_HID_EPOUT_ADDR , PCD_SNG_BUF, 0xD8);
+ /* USER CODE END EndPoint_Configuration_CUSTOM_HID */
+ return USBD_OK;
+}
+
+/**
+ * @brief De-Initializes the low level portion of the device driver.
+ * @param pdev: Device handle
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_DeInit(pdev->pData);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Starts the low level portion of the device driver.
+ * @param pdev: Device handle
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_Start(pdev->pData);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Stops the low level portion of the device driver.
+ * @param pdev: Device handle
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_Stop(USBD_HandleTypeDef *pdev)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_Stop(pdev->pData);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Opens an endpoint of the low level driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint number
+ * @param ep_type: Endpoint type
+ * @param ep_mps: Endpoint max packet size
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_mps)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Closes an endpoint of the low level driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint number
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Flushes an endpoint of the Low Level Driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint number
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_EP_Flush(pdev->pData, ep_addr);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Sets a Stall condition on an endpoint of the Low Level Driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint number
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Clears a Stall condition on an endpoint of the Low Level Driver.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint number
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Returns Stall condition.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint number
+ * @retval Stall (1: Yes, 0: No)
+ */
+uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData;
+
+ if((ep_addr & 0x80) == 0x80)
+ {
+ return hpcd->IN_ep[ep_addr & 0x7F].is_stall;
+ }
+ else
+ {
+ return hpcd->OUT_ep[ep_addr & 0x7F].is_stall;
+ }
+}
+
+/**
+ * @brief Assigns a USB address to the device.
+ * @param pdev: Device handle
+ * @param dev_addr: Device address
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Transmits data over an endpoint.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint number
+ * @param pbuf: Pointer to data to be sent
+ * @param size: Data size
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint16_t size)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Prepares an endpoint for reception.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint number
+ * @param pbuf: Pointer to data to be received
+ * @param size: Data size
+ * @retval USBD status
+ */
+USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint16_t size)
+{
+ HAL_StatusTypeDef hal_status = HAL_OK;
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size);
+
+ usb_status = USBD_Get_USB_Status(hal_status);
+
+ return usb_status;
+}
+
+/**
+ * @brief Returns the last transferred packet size.
+ * @param pdev: Device handle
+ * @param ep_addr: Endpoint number
+ * @retval Received Data Size
+ */
+uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+{
+ return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr);
+}
+
+/**
+ * @brief Delays routine for the USB device library.
+ * @param Delay: Delay in ms
+ * @retval None
+ */
+void USBD_LL_Delay(uint32_t Delay)
+{
+ HAL_Delay(Delay);
+}
+
+/**
+ * @brief Static single allocation.
+ * @param size: Size of allocated memory
+ * @retval None
+ */
+void *USBD_static_malloc(uint32_t size)
+{
+ static uint32_t mem[(sizeof(USBD_CUSTOM_HID_HandleTypeDef)/4+1)];/* On 32-bit boundary */
+ return mem;
+}
+
+/**
+ * @brief Dummy memory free
+ * @param p: Pointer to allocated memory address
+ * @retval None
+ */
+void USBD_static_free(void *p)
+{
+
+}
+
+/**
+ * @brief Software Device Connection
+ * @param hpcd: PCD handle
+ * @param state: Connection state (0: disconnected / 1: connected)
+ * @retval None
+ */
+#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+static void PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state)
+#else
+void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state)
+#endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+{
+ /* USER CODE BEGIN 6 */
+ if (state == 1)
+ {
+ /* Configure Low connection state. */
+
+ }
+ else
+ {
+ /* Configure High connection state. */
+
+ }
+ /* USER CODE END 6 */
+}
+
+/**
+ * @brief Returns the USB status depending on the HAL status:
+ * @param hal_status: HAL status
+ * @retval USB status
+ */
+USBD_StatusTypeDef USBD_Get_USB_Status(HAL_StatusTypeDef hal_status)
+{
+ USBD_StatusTypeDef usb_status = USBD_OK;
+
+ switch (hal_status)
+ {
+ case HAL_OK :
+ usb_status = USBD_OK;
+ break;
+ case HAL_ERROR :
+ usb_status = USBD_FAIL;
+ break;
+ case HAL_BUSY :
+ usb_status = USBD_BUSY;
+ break;
+ case HAL_TIMEOUT :
+ usb_status = USBD_FAIL;
+ break;
+ default :
+ usb_status = USBD_FAIL;
+ break;
+ }
+ return usb_status;
+}
diff --git a/Hardware/RobotSensor/USB_DEVICE/Target/usbd_conf.h b/Hardware/RobotSensor/USB_DEVICE/Target/usbd_conf.h
new file mode 100644
index 0000000..ef93547
--- /dev/null
+++ b/Hardware/RobotSensor/USB_DEVICE/Target/usbd_conf.h
@@ -0,0 +1,172 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : usbd_conf.h
+ * @version : v2.0_Cube
+ * @brief : Header for usbd_conf.c file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2024 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USBD_CONF__H__
+#define __USBD_CONF__H__
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include
+#include
+#include
+#include "main.h"
+#include "stm32f1xx.h"
+#include "stm32f1xx_hal.h"
+
+/* USER CODE BEGIN INCLUDE */
+
+/* USER CODE END INCLUDE */
+
+/** @addtogroup USBD_OTG_DRIVER
+ * @{
+ */
+
+/** @defgroup USBD_CONF USBD_CONF
+ * @brief Configuration file for Usb otg low level driver.
+ * @{
+ */
+
+/** @defgroup USBD_CONF_Exported_Variables USBD_CONF_Exported_Variables
+ * @brief Public variables.
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CONF_Exported_Defines USBD_CONF_Exported_Defines
+ * @brief Defines for configuration of the Usb device.
+ * @{
+ */
+
+#define USBD_MAX_NUM_INTERFACES 1U
+#define USBD_MAX_NUM_CONFIGURATION 1U
+#define USBD_MAX_STR_DESC_SIZ 512U
+#define USBD_DEBUG_LEVEL 0U
+#define USBD_LPM_ENABLED 0U
+#define USBD_SELF_POWERED 1U
+#define USBD_CUSTOMHID_OUTREPORT_BUF_SIZE 64U
+#define USBD_CUSTOM_HID_REPORT_DESC_SIZE 33U
+#define CUSTOM_HID_FS_BINTERVAL 0x1U
+
+/****************************************/
+/* #define for FS and HS identification */
+#define DEVICE_FS 0
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CONF_Exported_Macros USBD_CONF_Exported_Macros
+ * @brief Aliases.
+ * @{
+ */
+
+/* Memory management macros */
+
+/** Alias for memory allocation. */
+#define USBD_malloc (uint32_t *)USBD_static_malloc
+
+/** Alias for memory release. */
+#define USBD_free USBD_static_free
+
+/** Alias for memory set. */
+#define USBD_memset /* Not used */
+
+/** Alias for memory copy. */
+#define USBD_memcpy /* Not used */
+
+/** Alias for delay. */
+#define USBD_Delay HAL_Delay
+
+/* For footprint reasons and since only one allocation is handled in the HID class
+ driver, the malloc/free is changed into a static allocation method */
+void *USBD_static_malloc(uint32_t size);
+void USBD_static_free(void *p);
+
+/* DEBUG macros */
+
+#if (USBD_DEBUG_LEVEL > 0)
+#define USBD_UsrLog(...) printf(__VA_ARGS__);\
+ printf("\n");
+#else
+#define USBD_UsrLog(...)
+#endif
+
+#if (USBD_DEBUG_LEVEL > 1)
+
+#define USBD_ErrLog(...) printf("ERROR: ") ;\
+ printf(__VA_ARGS__);\
+ printf("\n");
+#else
+#define USBD_ErrLog(...)
+#endif
+
+#if (USBD_DEBUG_LEVEL > 2)
+#define USBD_DbgLog(...) printf("DEBUG : ") ;\
+ printf(__VA_ARGS__);\
+ printf("\n");
+#else
+#define USBD_DbgLog(...)
+#endif
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CONF_Exported_Types USBD_CONF_Exported_Types
+ * @brief Types.
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup USBD_CONF_Exported_FunctionsPrototype USBD_CONF_Exported_FunctionsPrototype
+ * @brief Declaration of public functions for Usb device.
+ * @{
+ */
+
+/* Exported functions -------------------------------------------------------*/
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USBD_CONF__H__ */
+
diff --git a/Hardware/UPBot_DST2/debug.log b/Hardware/UPBot_DST2/debug.log
new file mode 100644
index 0000000..787b6b3
--- /dev/null
+++ b/Hardware/UPBot_DST2/debug.log
@@ -0,0 +1,5 @@
+[0408/012225:WARNING:dns_config_service_win.cc(665)] Failed to read DnsConfig.
+[0408/012228:WARNING:dns_config_service_win.cc(665)] Failed to read DnsConfig.
+[0408/012228:WARNING:dns_config_service_win.cc(665)] Failed to read DnsConfig.
+[0408/135940:WARNING:dns_config_service_win.cc(665)] Failed to read DnsConfig.
+[0408/135940:WARNING:dns_config_service_win.cc(665)] Failed to read DnsConfig.