Static Call Graph - [.\STM324xG-EVAL\STM324xG-EVAL_FS.axf]

# Static Call Graph for image .\STM324xG-EVAL\STM324xG-EVAL_FS.axf

#<CALLGRAPH># ARM Linker, 5.02 [Build 28]: Last Updated: Sat Aug 03 10:01:02 2013

### Maximum Stack Usage = 248 bytes + Unknown(Cycles, Untraceable Function Pointers)

### Call chain for Maximum Stack Depth:

main ⇒ USBH_Process ⇒ USBH_HandleEnum ⇒ USBH_Get_CfgDesc ⇒ USBH_ParseCfgDesc

### Mutually Recursive functions

- SysTick_Handler ⇒ SysTick_Handler
- ADC_IRQHandler ⇒ ADC_IRQHandler
- BusFault_Handler ⇒ BusFault_Handler
- HardFault_Handler ⇒ HardFault_Handler
- MemManage_Handler ⇒ MemManage_Handler
- UsageFault_Handler ⇒ UsageFault_Handler

  ### Function Pointers

  - ADC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - BusFault_Handler from stm32fxxx_it.o(i.BusFault_Handler) referenced from startup_stm32f4xx.o(RESET)
  - CAN1_RX0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN1_RX1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN1_SCE_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN1_TX_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN2_RX0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN2_RX1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN2_SCE_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN2_TX_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CRYP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DCMI_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream6_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream7_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream6_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream7_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DebugMon_Handler from stm32fxxx_it.o(i.DebugMon_Handler) referenced from startup_stm32f4xx.o(RESET)
  - ETH_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - ETH_WKUP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI15_10_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI1_IRQHandler from stm32fxxx_it.o(i.EXTI1_IRQHandler) referenced from startup_stm32f4xx.o(RESET)
  - EXTI2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI9_5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - FLASH_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - FPU_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - FSMC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - HASH_RNG_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - HardFault_Handler from stm32fxxx_it.o(i.HardFault_Handler) referenced from startup_stm32f4xx.o(RESET)
  - I2C1_ER_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C1_EV_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C2_ER_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C2_EV_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C3_ER_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C3_EV_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - KEYBRD_Decode from usbh_hid_keybd.o(i.KEYBRD_Decode) referenced from usbh_hid_keybd.o(.data)
  - KEYBRD_Init from usbh_hid_keybd.o(i.KEYBRD_Init) referenced from usbh_hid_keybd.o(.data)
  - MOUSE_Decode from usbh_hid_mouse.o(i.MOUSE_Decode) referenced from usbh_hid_mouse.o(.data)
  - MOUSE_Init from usbh_hid_mouse.o(i.MOUSE_Init) referenced from usbh_hid_mouse.o(.data)
  - MemManage_Handler from stm32fxxx_it.o(i.MemManage_Handler) referenced from startup_stm32f4xx.o(RESET)
  - NMI_Handler from stm32fxxx_it.o(i.NMI_Handler) referenced from startup_stm32f4xx.o(RESET)
  - OTG_FS_IRQHandler from stm32fxxx_it.o(i.OTG_FS_IRQHandler) referenced from startup_stm32f4xx.o(RESET)
  - OTG_FS_WKUP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - OTG_HS_EP1_IN_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - OTG_HS_EP1_OUT_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - OTG_HS_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - OTG_HS_WKUP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - PVD_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - PendSV_Handler from stm32fxxx_it.o(i.PendSV_Handler) referenced from startup_stm32f4xx.o(RESET)
  - RCC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - RTC_Alarm_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - RTC_WKUP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - Reset_Handler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SDIO_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SPI1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SPI2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SPI3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SVC_Handler from stm32fxxx_it.o(i.SVC_Handler) referenced from startup_stm32f4xx.o(RESET)
  - SysTick_Handler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SystemInit from system_stm32f4xx.o(i.SystemInit) referenced from startup_stm32f4xx.o(.text)
  - TAMP_STAMP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM1_BRK_TIM9_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM1_TRG_COM_TIM11_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM1_UP_TIM10_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM2_IRQHandler from stm32fxxx_it.o(i.TIM2_IRQHandler) referenced from startup_stm32f4xx.o(RESET)
  - TIM3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM6_DAC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM7_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM8_BRK_TIM12_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM8_CC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM8_TRG_COM_TIM14_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM8_UP_TIM13_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - UART4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - UART5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - USART1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - USART2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - USART3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - USART6_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - USBH_Connected from usbh_core.o(i.USBH_Connected) referenced from usbh_core.o(.data)
  - USBH_Disconnected from usbh_core.o(i.USBH_Disconnected) referenced from usbh_core.o(.data)
  - USBH_HID_ClassRequest from usbh_hid_core.o(i.USBH_HID_ClassRequest) referenced from usbh_hid_core.o(.data)
  - USBH_HID_Handle from usbh_hid_core.o(i.USBH_HID_Handle) referenced from usbh_hid_core.o(.data)
  - USBH_HID_InterfaceDeInit from usbh_hid_core.o(i.USBH_HID_InterfaceDeInit) referenced from usbh_hid_core.o(.data)
  - USBH_HID_InterfaceInit from usbh_hid_core.o(i.USBH_HID_InterfaceInit) referenced from usbh_hid_core.o(.data)
  - USBH_SOF from usbh_core.o(i.USBH_SOF) referenced from usbh_core.o(.data)
  - USBH_USR_Configuration_DescAvailable from usbh_usr.o(i.USBH_USR_Configuration_DescAvailable) referenced from usbh_usr.o(.data)
  - USBH_USR_DeInit from usbh_usr.o(i.USBH_USR_DeInit) referenced from usbh_usr.o(.data)
  - USBH_USR_DeviceAddressAssigned from usbh_usr.o(i.USBH_USR_DeviceAddressAssigned) referenced from usbh_usr.o(.data)
  - USBH_USR_DeviceAttached from usbh_usr.o(i.USBH_USR_DeviceAttached) referenced from usbh_usr.o(.data)
  - USBH_USR_DeviceDisconnected from usbh_usr.o(i.USBH_USR_DeviceDisconnected) referenced from usbh_usr.o(.data)
  - USBH_USR_DeviceNotSupported from usbh_usr.o(i.USBH_USR_DeviceNotSupported) referenced from usbh_usr.o(.data)
  - USBH_USR_DeviceSpeedDetected from usbh_usr.o(i.USBH_USR_DeviceSpeedDetected) referenced from usbh_usr.o(.data)
  - USBH_USR_Device_DescAvailable from usbh_usr.o(i.USBH_USR_Device_DescAvailable) referenced from usbh_usr.o(.data)
  - USBH_USR_EnumerationDone from usbh_usr.o(i.USBH_USR_EnumerationDone) referenced from usbh_usr.o(.data)
  - USBH_USR_Init from usbh_usr.o(i.USBH_USR_Init) referenced from usbh_usr.o(.data)
  - USBH_USR_Manufacturer_String from usbh_usr.o(i.USBH_USR_Manufacturer_String) referenced from usbh_usr.o(.data)
  - USBH_USR_OverCurrentDetected from usbh_usr.o(i.USBH_USR_OverCurrentDetected) referenced from usbh_usr.o(.data)
  - USBH_USR_Product_String from usbh_usr.o(i.USBH_USR_Product_String) referenced from usbh_usr.o(.data)
  - USBH_USR_ResetDevice from usbh_usr.o(i.USBH_USR_ResetDevice) referenced from usbh_usr.o(.data)
  - USBH_USR_SerialNum_String from usbh_usr.o(i.USBH_USR_SerialNum_String) referenced from usbh_usr.o(.data)
  - USBH_USR_UnrecoveredError from usbh_usr.o(i.USBH_USR_UnrecoveredError) referenced from usbh_usr.o(.data)
  - USBH_USR_UserInput from usbh_usr.o(i.USBH_USR_UserInput) referenced from usbh_usr.o(.data)
  - UsageFault_Handler from stm32fxxx_it.o(i.UsageFault_Handler) referenced from startup_stm32f4xx.o(RESET)
  - WWDG_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f4xx.o(.text)
  - _sputc from printf8.o(i._sputc) referenced from printf8.o(i.__0sprintf$8)
  - fputc from lcd_log.o(i.fputc) referenced from printf8.o(i.__0printf$8)
  - main from main.o(i.main) referenced from entry8.o(.ARM.Collect$$$$00000009)

  ### Global Symbols

  __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
  [Address Reference Count : 1]

  - startup_stm32f4xx.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]

  - >> __scatterload

  __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Called By]

  - >> __scatterload

  _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

  _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry8.o(.ARM.Collect$$$$00000009))

  Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Calls]

  - >> SysTick_Handler
  [Called By]
  - >> SysTick_Handler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Calls]

  - >> ADC_IRQHandler
  [Called By]
  - >> ADC_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  CAN1_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  CAN1_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  CAN1_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  CAN1_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  CAN2_RX0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  CAN2_RX1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  CAN2_SCE_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  CAN2_TX_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  CRYP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DCMI_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA1_Stream0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA1_Stream1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA1_Stream2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA1_Stream3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA1_Stream4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA1_Stream5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA1_Stream6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA1_Stream7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA2_Stream0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA2_Stream1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA2_Stream2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA2_Stream3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA2_Stream4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA2_Stream5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA2_Stream6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  DMA2_Stream7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  ETH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  ETH_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  EXTI0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  EXTI15_10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  EXTI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  EXTI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  EXTI4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  EXTI9_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  FPU_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  FSMC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  HASH_RNG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  I2C1_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  I2C1_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  I2C2_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  I2C2_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  I2C3_ER_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  I2C3_EV_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  OTG_FS_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  OTG_HS_EP1_IN_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  OTG_HS_EP1_OUT_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  OTG_HS_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  OTG_HS_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  RCC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  RTC_Alarm_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  RTC_WKUP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  SDIO_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  SPI3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TAMP_STAMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM1_BRK_TIM9_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM1_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM1_TRG_COM_TIM11_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM1_UP_TIM10_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM6_DAC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM8_BRK_TIM12_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM8_CC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM8_TRG_COM_TIM14_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  TIM8_UP_TIM13_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  UART4_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  UART5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  USART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  USART2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  USART3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  USART6_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f4xx.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  __aeabi_uldivmod (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> _printf_core

  __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
  [Calls]

  - >> __main_after_scatterload
  [Called By]
  - >> _main_scatterload

  __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]

  - >> __aeabi_uldivmod

  _ll_shift_l (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)

  __aeabi_llsr (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
  [Called By]

  - >> __aeabi_uldivmod

  _ll_ushift_r (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)

  BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.BusFault_Handler))
  [Calls]

  - >> BusFault_Handler
  [Called By]
  - >> BusFault_Handler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.DebugMon_Handler))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  EXTI1_IRQHandler (Thumb, 34 bytes, Stack size 8 bytes, stm32fxxx_it.o(i.EXTI1_IRQHandler))
  [Stack]

  - Max Depth = 8
  - Call Chain = EXTI1_IRQHandler
  [Calls]
  - >> EXTI_GetITStatus
  - >> EXTI_ClearITPendingBit
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  EXTI_ClearITPendingBit (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_exti.o(i.EXTI_ClearITPendingBit))
  [Called By]

  - >> EXTI1_IRQHandler

  EXTI_GetITStatus (Thumb, 28 bytes, Stack size 0 bytes, stm32f4xx_exti.o(i.EXTI_GetITStatus))
  [Called By]

  - >> EXTI1_IRQHandler

  EXTI_Init (Thumb, 108 bytes, Stack size 12 bytes, stm32f4xx_exti.o(i.EXTI_Init))
  [Stack]

  - Max Depth = 12
  - Call Chain = EXTI_Init
  [Called By]
  - >> STM_EVAL_PBInit

  FSMC_NORSRAMCmd (Thumb, 28 bytes, Stack size 0 bytes, stm32f4xx_fsmc.o(i.FSMC_NORSRAMCmd))
  [Called By]

  - >> LCD_FSMCConfig

  FSMC_NORSRAMInit (Thumb, 192 bytes, Stack size 12 bytes, stm32f4xx_fsmc.o(i.FSMC_NORSRAMInit))
  [Stack]

  - Max Depth = 12
  - Call Chain = FSMC_NORSRAMInit
  [Called By]
  - >> LCD_FSMCConfig

  GPIO_Init (Thumb, 162 bytes, Stack size 20 bytes, stm32f4xx_gpio.o(i.GPIO_Init))
  [Stack]

  - Max Depth = 20
  - Call Chain = GPIO_Init
  [Called By]
  - >> STM_EVAL_PBInit
  - >> STM_EVAL_LEDInit
  - >> USB_OTG_BSP_Init
  - >> USB_OTG_BSP_ConfigVBUS
  - >> LCD_CtrlLinesConfig

  GPIO_PinAFConfig (Thumb, 32 bytes, Stack size 8 bytes, stm32f4xx_gpio.o(i.GPIO_PinAFConfig))
  [Stack]

  - Max Depth = 8
  - Call Chain = GPIO_PinAFConfig
  [Called By]
  - >> USB_OTG_BSP_Init
  - >> LCD_CtrlLinesConfig

  GPIO_ReadInputDataBit (Thumb, 14 bytes, Stack size 0 bytes, stm32f4xx_gpio.o(i.GPIO_ReadInputDataBit))
  [Called By]

  - >> STM_EVAL_PBGetState

  GPIO_ResetBits (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_gpio.o(i.GPIO_ResetBits))
  [Called By]

  - >> USB_OTG_BSP_DriveVBUS

  GPIO_SetBits (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_gpio.o(i.GPIO_SetBits))
  [Called By]

  - >> USB_OTG_BSP_DriveVBUS
  - >> USB_OTG_BSP_ConfigVBUS

  HCD_GetCurrentFrame (Thumb, 8 bytes, Stack size 0 bytes, usb_hcd.o(i.HCD_GetCurrentFrame))
  [Called By]

  - >> USBH_HID_Handle
  - >> USBH_HandleControl

  HCD_GetCurrentSpeed (Thumb, 12 bytes, Stack size 0 bytes, usb_hcd.o(i.HCD_GetCurrentSpeed))
  [Called By]

  - >> USBH_Process

  HCD_GetURB_State (Thumb, 8 bytes, Stack size 0 bytes, usb_hcd.o(i.HCD_GetURB_State))
  [Called By]

  - >> USBH_HID_Handle
  - >> USBH_HandleControl

  HCD_Init (Thumb, 86 bytes, Stack size 8 bytes, usb_hcd.o(i.HCD_Init))
  [Stack]

  - Max Depth = 92
  - Call Chain = HCD_Init ⇒ USB_OTG_CoreInitHost ⇒ USB_OTG_BSP_ConfigVBUS ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_SetCurrentMode
  - >> USB_OTG_SelectCore
  - >> USB_OTG_EnableGlobalInt
  - >> USB_OTG_DisableGlobalInt
  - >> USB_OTG_CoreInitHost
  - >> USB_OTG_CoreInit
  [Called By]
  - >> USBH_Init

  HCD_IsDeviceConnected (Thumb, 6 bytes, Stack size 0 bytes, usb_hcd.o(i.HCD_IsDeviceConnected))
  [Called By]

  - >> USBH_Process

  HCD_ResetPort (Thumb, 10 bytes, Stack size 8 bytes, usb_hcd.o(i.HCD_ResetPort))
  [Stack]

  - Max Depth = 68
  - Call Chain = HCD_ResetPort ⇒ USB_OTG_ResetPort ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_ResetPort
  [Called By]
  - >> USBH_HandleEnum
  - >> USBH_Process

  HCD_SubmitRequest (Thumb, 20 bytes, Stack size 0 bytes, usb_hcd.o(i.HCD_SubmitRequest))
  [Stack]

  - Max Depth = 32
  - Call Chain = HCD_SubmitRequest ⇒ USB_OTG_HC_StartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_HC_StartXfer
  [Called By]
  - >> USBH_InterruptReceiveData
  - >> USBH_CtlSendSetup
  - >> USBH_CtlSendData
  - >> USBH_CtlReceiveData

  HID_MOUSE_ButtonPressed (Thumb, 64 bytes, Stack size 16 bytes, usbh_usr_lcd.o(i.HID_MOUSE_ButtonPressed))
  [Stack]

  - Max Depth = 84
  - Call Chain = HID_MOUSE_ButtonPressed ⇒ LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DrawFullRect
  - >> LCD_SetTextColor
  - >> LCD_SetBackColor
  [Called By]
  - >> USR_MOUSE_ProcessData

  HID_MOUSE_ButtonReleased (Thumb, 64 bytes, Stack size 16 bytes, usbh_usr_lcd.o(i.HID_MOUSE_ButtonReleased))
  [Stack]

  - Max Depth = 84
  - Call Chain = HID_MOUSE_ButtonReleased ⇒ LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DrawFullRect
  - >> LCD_SetTextColor
  - >> LCD_SetBackColor
  [Called By]
  - >> USR_MOUSE_ProcessData
  - >> USR_MOUSE_Init

  HID_MOUSE_UpdatePosition (Thumb, 170 bytes, Stack size 16 bytes, usbh_usr_lcd.o(i.HID_MOUSE_UpdatePosition))
  [Stack]

  - Max Depth = 52
  - Call Chain = HID_MOUSE_UpdatePosition ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetTextColor
  - >> LCD_SetBackColor
  - >> LCD_DisplayChar
  [Called By]
  - >> USR_MOUSE_ProcessData

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.HardFault_Handler))
  [Calls]

  - >> HardFault_Handler
  [Called By]
  - >> HardFault_Handler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  LCD_Clear (Thumb, 40 bytes, Stack size 12 bytes, stm324xg_eval_lcd.o(i.LCD_Clear))
  [Stack]

  - Max Depth = 16
  - Call Chain = LCD_Clear ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetCursor
  [Called By]
  - >> LCD_LOG_SetHeader
  - >> LCD_LOG_Init

  LCD_ClearLine (Thumb, 44 bytes, Stack size 16 bytes, stm324xg_eval_lcd.o(i.LCD_ClearLine))
  [Stack]

  - Max Depth = 52
  - Call Chain = LCD_ClearLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DisplayChar
  [Called By]
  - >> LCD_LOG_SetHeader
  - >> LCD_LOG_ClearTextZone

  LCD_CtrlLinesConfig (Thumb, 318 bytes, Stack size 16 bytes, stm324xg_eval_lcd.o(i.LCD_CtrlLinesConfig))
  [Stack]

  - Max Depth = 36
  - Call Chain = LCD_CtrlLinesConfig ⇒ GPIO_Init
  [Calls]
  - >> RCC_AHB1PeriphClockCmd
  - >> GPIO_PinAFConfig
  - >> GPIO_Init
  - >> RCC_AHB3PeriphClockCmd
  [Called By]
  - >> STM324xG_LCD_Init

  LCD_DisplayChar (Thumb, 26 bytes, Stack size 4 bytes, stm324xg_eval_lcd.o(i.LCD_DisplayChar))
  [Stack]

  - Max Depth = 36
  - Call Chain = LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DrawChar
  [Called By]
  - >> LCD_DisplayStringLine
  - >> HID_MOUSE_UpdatePosition
  - >> USR_MOUSE_Init
  - >> USR_KEYBRD_ProcessData
  - >> LCD_ClearLine

  LCD_DisplayStringLine (Thumb, 52 bytes, Stack size 20 bytes, stm324xg_eval_lcd.o(i.LCD_DisplayStringLine))
  [Stack]

  - Max Depth = 56
  - Call Chain = LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DisplayChar
  [Called By]
  - >> LCD_LOG_SetHeader
  - >> LCD_LOG_SetFooter
  - >> USR_MOUSE_Init
  - >> USR_KEYBRD_Init
  - >> USBH_USR_EnumerationDone
  - >> USBH_USR_DeviceDisconnected
  - >> LCD_LOG_UpdateDisplay

  LCD_DrawChar (Thumb, 122 bytes, Stack size 28 bytes, stm324xg_eval_lcd.o(i.LCD_DrawChar))
  [Stack]

  - Max Depth = 32
  - Call Chain = LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetCursor
  [Called By]
  - >> LCD_DisplayChar

  LCD_DrawFullRect (Thumb, 126 bytes, Stack size 28 bytes, stm324xg_eval_lcd.o(i.LCD_DrawFullRect))
  [Stack]

  - Max Depth = 68
  - Call Chain = LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DrawLine
  [Called By]
  - >> HID_MOUSE_ButtonReleased
  - >> HID_MOUSE_ButtonPressed

  LCD_DrawLine (Thumb, 90 bytes, Stack size 36 bytes, stm324xg_eval_lcd.o(i.LCD_DrawLine))
  [Stack]

  - Max Depth = 40
  - Call Chain = LCD_DrawLine ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetCursor
  [Called By]
  - >> LCD_DrawFullRect
  - >> LCD_DrawRect

  LCD_DrawRect (Thumb, 64 bytes, Stack size 20 bytes, stm324xg_eval_lcd.o(i.LCD_DrawRect))
  [Stack]

  - Max Depth = 60
  - Call Chain = LCD_DrawRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DrawLine
  [Called By]
  - >> USR_MOUSE_Init
  - >> USBH_USR_DeviceDisconnected

  LCD_FSMCConfig (Thumb, 78 bytes, Stack size 96 bytes, stm324xg_eval_lcd.o(i.LCD_FSMCConfig))
  [Stack]

  - Max Depth = 108
  - Call Chain = LCD_FSMCConfig ⇒ FSMC_NORSRAMInit
  [Calls]
  - >> FSMC_NORSRAMInit
  - >> FSMC_NORSRAMCmd
  [Called By]
  - >> STM324xG_LCD_Init

  LCD_GetFont (Thumb, 6 bytes, Stack size 0 bytes, stm324xg_eval_lcd.o(i.LCD_GetFont))
  [Called By]

  - >> LCD_LOG_SetHeader
  - >> LCD_LOG_SetFooter
  - >> LCD_LOG_ClearTextZone
  - >> fputc
  - >> LCD_LOG_UpdateDisplay

  LCD_LOG_ClearTextZone (Thumb, 38 bytes, Stack size 16 bytes, lcd_log.o(i.LCD_LOG_ClearTextZone))
  [Stack]

  - Max Depth = 68
  - Call Chain = LCD_LOG_ClearTextZone ⇒ LCD_ClearLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_GetFont
  - >> LCD_ClearLine
  - >> LCD_LOG_DeInit
  [Called By]
  - >> USBH_USR_DeviceDisconnected

  LCD_LOG_DeInit (Thumb, 34 bytes, Stack size 0 bytes, lcd_log.o(i.LCD_LOG_DeInit))
  [Called By]

  - >> LCD_LOG_Init
  - >> LCD_LOG_ClearTextZone

  LCD_LOG_Init (Thumb, 16 bytes, Stack size 8 bytes, lcd_log.o(i.LCD_LOG_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = LCD_LOG_Init ⇒ LCD_Clear ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_Clear
  - >> LCD_LOG_DeInit
  [Called By]
  - >> USBH_USR_Init

  LCD_LOG_SetFooter (Thumb, 100 bytes, Stack size 56 bytes, lcd_log.o(i.LCD_LOG_SetFooter))
  [Stack]

  - Max Depth = 112
  - Call Chain = LCD_LOG_SetFooter ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetBackColor
  - >> LCD_DisplayStringLine
  - >> LCD_GetFont
  [Called By]
  - >> USBH_USR_Init

  LCD_LOG_SetHeader (Thumb, 136 bytes, Stack size 48 bytes, lcd_log.o(i.LCD_LOG_SetHeader))
  [Stack]

  - Max Depth = 104
  - Call Chain = LCD_LOG_SetHeader ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetTextColor
  - >> LCD_SetBackColor
  - >> LCD_DisplayStringLine
  - >> LCD_SetFont
  - >> LCD_GetFont
  - >> LCD_ClearLine
  - >> LCD_Clear
  [Called By]
  - >> USBH_USR_Init

  LCD_ReadReg (Thumb, 12 bytes, Stack size 0 bytes, stm324xg_eval_lcd.o(i.LCD_ReadReg))
  [Called By]

  - >> STM324xG_LCD_Init

  LCD_SetBackColor (Thumb, 6 bytes, Stack size 0 bytes, stm324xg_eval_lcd.o(i.LCD_SetBackColor))
  [Called By]

  - >> LCD_LOG_SetHeader
  - >> LCD_LOG_SetFooter
  - >> HID_MOUSE_UpdatePosition
  - >> HID_MOUSE_ButtonReleased
  - >> HID_MOUSE_ButtonPressed
  - >> USR_MOUSE_Init
  - >> USBH_USR_DeviceDisconnected

  LCD_SetCursor (Thumb, 24 bytes, Stack size 4 bytes, stm324xg_eval_lcd.o(i.LCD_SetCursor))
  [Stack]

  - Max Depth = 4
  - Call Chain = LCD_SetCursor
  [Calls]
  - >> LCD_WriteReg
  [Called By]
  - >> LCD_Clear
  - >> LCD_DrawLine
  - >> LCD_DrawChar

  LCD_SetFont (Thumb, 6 bytes, Stack size 0 bytes, stm324xg_eval_lcd.o(i.LCD_SetFont))
  [Called By]

  - >> LCD_LOG_SetHeader

  LCD_SetTextColor (Thumb, 6 bytes, Stack size 0 bytes, stm324xg_eval_lcd.o(i.LCD_SetTextColor))
  [Called By]

  - >> LCD_LOG_SetHeader
  - >> HID_MOUSE_UpdatePosition
  - >> HID_MOUSE_ButtonReleased
  - >> HID_MOUSE_ButtonPressed
  - >> USR_MOUSE_Init
  - >> USR_KEYBRD_Init
  - >> USBH_USR_EnumerationDone
  - >> USBH_USR_DeviceDisconnected
  - >> LCD_LOG_UpdateDisplay

  LCD_WriteReg (Thumb, 12 bytes, Stack size 0 bytes, stm324xg_eval_lcd.o(i.LCD_WriteReg))
  [Called By]

  - >> STM324xG_LCD_Init
  - >> LCD_SetCursor

  MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.MemManage_Handler))
  [Calls]

  - >> MemManage_Handler
  [Called By]
  - >> MemManage_Handler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.NMI_Handler))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  NVIC_Init (Thumb, 92 bytes, Stack size 16 bytes, misc.o(i.NVIC_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = NVIC_Init
  [Called By]
  - >> STM_EVAL_PBInit
  - >> USB_OTG_BSP_Init
  - >> USB_OTG_BSP_EnableInterrupt

  NVIC_PriorityGroupConfig (Thumb, 10 bytes, Stack size 0 bytes, misc.o(i.NVIC_PriorityGroupConfig))
  [Called By]

  - >> USB_OTG_BSP_Init
  - >> USB_OTG_BSP_EnableInterrupt

  NVIC_SetVectorTable (Thumb, 12 bytes, Stack size 0 bytes, misc.o(i.NVIC_SetVectorTable))
  [Called By]

  - >> USB_OTG_BSP_Init

  OTG_FS_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.OTG_FS_IRQHandler))
  [Stack]

  - Max Depth = 108
  - Call Chain = OTG_FS_IRQHandler ⇒ USBH_OTG_ISR_Handler ⇒ USB_OTG_USBH_handle_port_ISR ⇒ USB_OTG_ResetPort ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USBH_OTG_ISR_Handler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.PendSV_Handler))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  RCC_AHB1PeriphClockCmd (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_AHB1PeriphClockCmd))
  [Called By]

  - >> STM_EVAL_PBInit
  - >> STM_EVAL_LEDInit
  - >> USB_OTG_BSP_Init
  - >> USB_OTG_BSP_ConfigVBUS
  - >> LCD_CtrlLinesConfig

  RCC_AHB2PeriphClockCmd (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_AHB2PeriphClockCmd))
  [Called By]

  - >> USB_OTG_BSP_Init

  RCC_AHB3PeriphClockCmd (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_AHB3PeriphClockCmd))
  [Called By]

  - >> LCD_CtrlLinesConfig

  RCC_APB1PeriphClockCmd (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_APB1PeriphClockCmd))
  [Called By]

  - >> USB_OTG_BSP_Init

  RCC_APB2PeriphClockCmd (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_APB2PeriphClockCmd))
  [Called By]

  - >> STM_EVAL_PBInit
  - >> USB_OTG_BSP_Init

  RCC_GetClocksFreq (Thumb, 134 bytes, Stack size 16 bytes, stm32f4xx_rcc.o(i.RCC_GetClocksFreq))
  [Stack]

  - Max Depth = 16
  - Call Chain = RCC_GetClocksFreq
  [Called By]
  - >> USBH_USR_Init

  STM324xG_LCD_Init (Thumb, 656 bytes, Stack size 16 bytes, stm324xg_eval_lcd.o(i.STM324xG_LCD_Init))
  [Stack]

  - Max Depth = 124
  - Call Chain = STM324xG_LCD_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit
  [Calls]
  - >> delay_ms
  - >> LCD_WriteReg
  - >> LCD_ReadReg
  - >> LCD_FSMCConfig
  - >> LCD_CtrlLinesConfig
  [Called By]
  - >> USBH_USR_Init

  STM_EVAL_LEDInit (Thumb, 62 bytes, Stack size 16 bytes, stm324xg_eval.o(i.STM_EVAL_LEDInit))
  [Stack]

  - Max Depth = 36
  - Call Chain = STM_EVAL_LEDInit ⇒ GPIO_Init
  [Calls]
  - >> RCC_AHB1PeriphClockCmd
  - >> GPIO_Init
  [Called By]
  - >> USBH_USR_Init

  STM_EVAL_LEDToggle (Thumb, 20 bytes, Stack size 0 bytes, stm324xg_eval.o(i.STM_EVAL_LEDToggle))
  [Called By]

  - >> main

  STM_EVAL_PBGetState (Thumb, 16 bytes, Stack size 0 bytes, stm324xg_eval.o(i.STM_EVAL_PBGetState))
  [Calls]

  - >> GPIO_ReadInputDataBit
  [Called By]
  - >> USBH_USR_UserInput

  STM_EVAL_PBInit (Thumb, 160 bytes, Stack size 40 bytes, stm324xg_eval.o(i.STM_EVAL_PBInit))
  [Stack]

  - Max Depth = 60
  - Call Chain = STM_EVAL_PBInit ⇒ GPIO_Init
  [Calls]
  - >> RCC_APB2PeriphClockCmd
  - >> RCC_AHB1PeriphClockCmd
  - >> NVIC_Init
  - >> GPIO_Init
  - >> EXTI_Init
  - >> SYSCFG_EXTILineConfig
  [Called By]
  - >> USBH_USR_Init

  SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.SVC_Handler))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  SYSCFG_EXTILineConfig (Thumb, 34 bytes, Stack size 8 bytes, stm32f4xx_syscfg.o(i.SYSCFG_EXTILineConfig))
  [Stack]

  - Max Depth = 8
  - Call Chain = SYSCFG_EXTILineConfig
  [Called By]
  - >> STM_EVAL_PBInit

  SystemInit (Thumb, 74 bytes, Stack size 8 bytes, system_stm32f4xx.o(i.SystemInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = SystemInit
  [Calls]
  - >> SetSysClock
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(.text)

  TIM2_IRQHandler (Thumb, 4 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.TIM2_IRQHandler))
  [Stack]

  - Max Depth = 8
  - Call Chain = TIM2_IRQHandler ⇒ USB_OTG_BSP_TimerIRQ
  [Calls]
  - >> USB_OTG_BSP_TimerIRQ
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  TIM_ARRPreloadConfig (Thumb, 20 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_ARRPreloadConfig))
  [Called By]

  - >> BSP_SetTime

  TIM_ClearITPendingBit (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_ClearITPendingBit))
  [Called By]

  - >> BSP_SetTime
  - >> USB_OTG_BSP_TimerIRQ

  TIM_Cmd (Thumb, 20 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_Cmd))
  [Called By]

  - >> BSP_SetTime
  - >> BSP_Delay
  - >> USB_OTG_BSP_TimerIRQ

  TIM_GetITStatus (Thumb, 24 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_GetITStatus))
  [Called By]

  - >> USB_OTG_BSP_TimerIRQ

  TIM_ITConfig (Thumb, 16 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_ITConfig))
  [Called By]

  - >> BSP_SetTime

  TIM_TimeBaseInit (Thumb, 96 bytes, Stack size 12 bytes, stm32f4xx_tim.o(i.TIM_TimeBaseInit))
  [Stack]

  - Max Depth = 12
  - Call Chain = TIM_TimeBaseInit
  [Called By]
  - >> BSP_SetTime

  USBH_Alloc_Channel (Thumb, 52 bytes, Stack size 8 bytes, usbh_hcs.o(i.USBH_Alloc_Channel))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBH_Alloc_Channel
  [Called By]
  - >> USBH_Process
  - >> USBH_HID_InterfaceInit

  USBH_ClrFeature (Thumb, 46 bytes, Stack size 8 bytes, usbh_stdreq.o(i.USBH_ClrFeature))
  [Stack]

  - Max Depth = 20
  - Call Chain = USBH_ClrFeature ⇒ USBH_CtlReq
  [Calls]
  - >> USBH_CtlReq
  [Called By]
  - >> USBH_HID_Handle

  USBH_Connected (Thumb, 10 bytes, Stack size 0 bytes, usbh_core.o(i.USBH_Connected))
  [Address Reference Count : 1]

  - usbh_core.o(.data)

  USBH_CtlReceiveData (Thumb, 34 bytes, Stack size 16 bytes, usbh_ioreq.o(i.USBH_CtlReceiveData))
  [Stack]

  - Max Depth = 48
  - Call Chain = USBH_CtlReceiveData ⇒ HCD_SubmitRequest ⇒ USB_OTG_HC_StartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> HCD_SubmitRequest
  [Called By]
  - >> USBH_HandleControl

  USBH_CtlReq (Thumb, 70 bytes, Stack size 12 bytes, usbh_ioreq.o(i.USBH_CtlReq))
  [Stack]

  - Max Depth = 12
  - Call Chain = USBH_CtlReq
  [Called By]
  - >> USBH_SetCfg
  - >> USBH_SetAddress
  - >> USBH_GetDescriptor
  - >> USBH_ClrFeature
  - >> USBH_HID_ClassRequest

  USBH_CtlSendData (Thumb, 54 bytes, Stack size 16 bytes, usbh_ioreq.o(i.USBH_CtlSendData))
  [Stack]

  - Max Depth = 48
  - Call Chain = USBH_CtlSendData ⇒ HCD_SubmitRequest ⇒ USB_OTG_HC_StartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> HCD_SubmitRequest
  [Called By]
  - >> USBH_HandleControl

  USBH_CtlSendSetup (Thumb, 36 bytes, Stack size 8 bytes, usbh_ioreq.o(i.USBH_CtlSendSetup))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH_CtlSendSetup ⇒ HCD_SubmitRequest ⇒ USB_OTG_HC_StartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> HCD_SubmitRequest
  [Called By]
  - >> USBH_HandleControl

  USBH_DeAllocate_AllChannel (Thumb, 24 bytes, Stack size 0 bytes, usbh_hcs.o(i.USBH_DeAllocate_AllChannel))
  [Called By]

  - >> USBH_Process

  USBH_DeInit (Thumb, 52 bytes, Stack size 16 bytes, usbh_core.o(i.USBH_DeInit))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBH_DeInit
  [Calls]
  - >> USBH_Free_Channel
  [Called By]
  - >> USBH_Process
  - >> USBH_Init

  USBH_Disconnected (Thumb, 10 bytes, Stack size 0 bytes, usbh_core.o(i.USBH_Disconnected))
  [Address Reference Count : 1]

  - usbh_core.o(.data)

  USBH_ErrorHandle (Thumb, 44 bytes, Stack size 16 bytes, usbh_core.o(i.USBH_ErrorHandle))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBH_ErrorHandle
  [Called By]
  - >> USBH_Process

  USBH_Free_Channel (Thumb, 26 bytes, Stack size 0 bytes, usbh_hcs.o(i.USBH_Free_Channel))
  [Called By]

  - >> USBH_HID_InterfaceDeInit
  - >> USBH_DeInit

  USBH_GetDescriptor (Thumb, 48 bytes, Stack size 8 bytes, usbh_stdreq.o(i.USBH_GetDescriptor))
  [Stack]

  - Max Depth = 20
  - Call Chain = USBH_GetDescriptor ⇒ USBH_CtlReq
  [Calls]
  - >> USBH_CtlReq
  [Called By]
  - >> USBH_Get_StringDesc
  - >> USBH_Get_DevDesc
  - >> USBH_Get_CfgDesc
  - >> USBH_HID_ClassRequest

  USBH_GetNextDesc (Thumb, 14 bytes, Stack size 0 bytes, usbh_stdreq.o(i.USBH_GetNextDesc))
  [Called By]

  - >> USBH_ParseCfgDesc

  USBH_Get_CfgDesc (Thumb, 84 bytes, Stack size 40 bytes, usbh_stdreq.o(i.USBH_Get_CfgDesc))
  [Stack]

  - Max Depth = 112
  - Call Chain = USBH_Get_CfgDesc ⇒ USBH_ParseCfgDesc
  [Calls]
  - >> USBH_GetDescriptor
  - >> USBH_ParseCfgDesc
  [Called By]
  - >> USBH_HandleEnum

  USBH_Get_DevDesc (Thumb, 132 bytes, Stack size 24 bytes, usbh_stdreq.o(i.USBH_Get_DevDesc))
  [Stack]

  - Max Depth = 44
  - Call Chain = USBH_Get_DevDesc ⇒ USBH_GetDescriptor ⇒ USBH_CtlReq
  [Calls]
  - >> USBH_GetDescriptor
  [Called By]
  - >> USBH_HandleEnum

  USBH_Get_StringDesc (Thumb, 72 bytes, Stack size 24 bytes, usbh_stdreq.o(i.USBH_Get_StringDesc))
  [Stack]

  - Max Depth = 44
  - Call Chain = USBH_Get_StringDesc ⇒ USBH_GetDescriptor ⇒ USBH_CtlReq
  [Calls]
  - >> USBH_GetDescriptor
  [Called By]
  - >> USBH_HandleEnum

  USBH_HandleControl (Thumb, 464 bytes, Stack size 40 bytes, usbh_core.o(i.USBH_HandleControl))
  [Stack]

  - Max Depth = 88
  - Call Chain = USBH_HandleControl ⇒ USBH_CtlSendData ⇒ HCD_SubmitRequest ⇒ USB_OTG_HC_StartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBH_CtlSendSetup
  - >> USBH_CtlSendData
  - >> USBH_CtlReceiveData
  - >> HCD_GetURB_State
  - >> HCD_GetCurrentFrame
  [Called By]
  - >> USBH_Process

  USBH_Init (Thumb, 62 bytes, Stack size 24 bytes, usbh_core.o(i.USBH_Init))
  [Stack]

  - Max Depth = 116
  - Call Chain = USBH_Init ⇒ HCD_Init ⇒ USB_OTG_CoreInitHost ⇒ USB_OTG_BSP_ConfigVBUS ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_BSP_Init
  - >> USB_OTG_BSP_EnableInterrupt
  - >> USB_OTG_BSP_ConfigVBUS
  - >> HCD_Init
  - >> USBH_DeInit
  [Called By]
  - >> main

  USBH_InterruptReceiveData (Thumb, 50 bytes, Stack size 16 bytes, usbh_ioreq.o(i.USBH_InterruptReceiveData))
  [Stack]

  - Max Depth = 48
  - Call Chain = USBH_InterruptReceiveData ⇒ HCD_SubmitRequest ⇒ USB_OTG_HC_StartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> HCD_SubmitRequest
  [Called By]
  - >> USBH_HID_Handle

  USBH_Modify_Channel (Thumb, 50 bytes, Stack size 16 bytes, usbh_hcs.o(i.USBH_Modify_Channel))
  [Stack]

  - Max Depth = 36
  - Call Chain = USBH_Modify_Channel ⇒ USB_OTG_HC_Init
  [Calls]
  - >> USB_OTG_HC_Init
  [Called By]
  - >> USBH_HandleEnum

  USBH_OTG_ISR_Handler (Thumb, 168 bytes, Stack size 16 bytes, usb_hcd_int.o(i.USBH_OTG_ISR_Handler))
  [Stack]

  - Max Depth = 108
  - Call Chain = USBH_OTG_ISR_Handler ⇒ USB_OTG_USBH_handle_port_ISR ⇒ USB_OTG_ResetPort ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_ReadCoreItr
  - >> USB_OTG_IsHostMode
  - >> USB_OTG_USBH_handle_sof_ISR
  - >> USB_OTG_USBH_handle_rx_qlvl_ISR
  - >> USB_OTG_USBH_handle_ptxfempty_ISR
  - >> USB_OTG_USBH_handle_port_ISR
  - >> USB_OTG_USBH_handle_nptxfempty_ISR
  - >> USB_OTG_USBH_handle_hc_ISR
  - >> USB_OTG_USBH_handle_IncompletePeriodicXfer_ISR
  - >> USB_OTG_USBH_handle_Disconnect_ISR
  [Called By]
  - >> OTG_FS_IRQHandler

  USBH_Open_Channel (Thumb, 80 bytes, Stack size 24 bytes, usbh_hcs.o(i.USBH_Open_Channel))
  [Stack]

  - Max Depth = 44
  - Call Chain = USBH_Open_Channel ⇒ USB_OTG_HC_Init
  [Calls]
  - >> USB_OTG_HC_Init
  [Called By]
  - >> USBH_Process
  - >> USBH_HID_InterfaceInit

  USBH_Process (Thumb, 372 bytes, Stack size 32 bytes, usbh_core.o(i.USBH_Process))
  [Stack]

  - Max Depth = 240
  - Call Chain = USBH_Process ⇒ USBH_HandleEnum ⇒ USBH_Get_CfgDesc ⇒ USBH_ParseCfgDesc
  [Calls]
  - >> USBH_HandleEnum
  - >> USB_OTG_BSP_mDelay
  - >> USBH_Open_Channel
  - >> USBH_DeAllocate_AllChannel
  - >> USBH_Alloc_Channel
  - >> HCD_ResetPort
  - >> HCD_IsDeviceConnected
  - >> HCD_GetCurrentSpeed
  - >> USBH_HandleControl
  - >> USBH_ErrorHandle
  - >> USBH_DeInit
  [Called By]
  - >> main

  USBH_SOF (Thumb, 4 bytes, Stack size 0 bytes, usbh_core.o(i.USBH_SOF))
  [Address Reference Count : 1]

  - usbh_core.o(.data)

  USBH_SetAddress (Thumb, 24 bytes, Stack size 8 bytes, usbh_stdreq.o(i.USBH_SetAddress))
  [Stack]

  - Max Depth = 20
  - Call Chain = USBH_SetAddress ⇒ USBH_CtlReq
  [Calls]
  - >> USBH_CtlReq
  [Called By]
  - >> USBH_HandleEnum

  USBH_SetCfg (Thumb, 24 bytes, Stack size 8 bytes, usbh_stdreq.o(i.USBH_SetCfg))
  [Stack]

  - Max Depth = 20
  - Call Chain = USBH_SetCfg ⇒ USBH_CtlReq
  [Calls]
  - >> USBH_CtlReq
  [Called By]
  - >> USBH_HandleEnum

  USBH_USR_Configuration_DescAvailable (Thumb, 34 bytes, Stack size 0 bytes, usbh_usr.o(i.USBH_USR_Configuration_DescAvailable))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBH_USR_Configuration_DescAvailable ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_DeInit (Thumb, 2 bytes, Stack size 0 bytes, usbh_usr.o(i.USBH_USR_DeInit))
  [Address Reference Count : 1]

  - usbh_usr.o(.data)

  USBH_USR_DeviceAddressAssigned (Thumb, 2 bytes, Stack size 0 bytes, usbh_usr.o(i.USBH_USR_DeviceAddressAssigned))
  [Address Reference Count : 1]

  - usbh_usr.o(.data)

  USBH_USR_DeviceAttached (Thumb, 14 bytes, Stack size 0 bytes, usbh_usr.o(i.USBH_USR_DeviceAttached))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBH_USR_DeviceAttached ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_DeviceDisconnected (Thumb, 80 bytes, Stack size 16 bytes, usbh_usr.o(i.USBH_USR_DeviceDisconnected))
  [Stack]

  - Max Depth = 84
  - Call Chain = USBH_USR_DeviceDisconnected ⇒ LCD_LOG_ClearTextZone ⇒ LCD_ClearLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetTextColor
  - >> LCD_SetBackColor
  - >> LCD_LOG_ClearTextZone
  - >> LCD_DrawRect
  - >> LCD_DisplayStringLine
  - >> __2printf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_DeviceNotSupported (Thumb, 14 bytes, Stack size 0 bytes, usbh_usr.o(i.USBH_USR_DeviceNotSupported))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBH_USR_DeviceNotSupported ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_DeviceSpeedDetected (Thumb, 46 bytes, Stack size 0 bytes, usbh_usr.o(i.USBH_USR_DeviceSpeedDetected))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBH_USR_DeviceSpeedDetected ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_Device_DescAvailable (Thumb, 52 bytes, Stack size 72 bytes, usbh_usr.o(i.USBH_USR_Device_DescAvailable))
  [Stack]

  - Max Depth = 96
  - Call Chain = USBH_USR_Device_DescAvailable ⇒ __2printf
  [Calls]
  - >> __2printf
  - >> __2sprintf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_EnumerationDone (Thumb, 50 bytes, Stack size 8 bytes, usbh_usr.o(i.USBH_USR_EnumerationDone))
  [Stack]

  - Max Depth = 64
  - Call Chain = USBH_USR_EnumerationDone ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetTextColor
  - >> LCD_DisplayStringLine
  - >> __2printf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_Init (Thumb, 154 bytes, Stack size 32 bytes, usbh_usr.o(i.USBH_USR_Init))
  [Stack]

  - Max Depth = 156
  - Call Chain = USBH_USR_Init ⇒ STM324xG_LCD_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit
  [Calls]
  - >> STM_EVAL_PBInit
  - >> STM_EVAL_LEDInit
  - >> STM324xG_LCD_Init
  - >> RCC_GetClocksFreq
  - >> LCD_LOG_SetHeader
  - >> LCD_LOG_SetFooter
  - >> LCD_LOG_Init
  - >> __2printf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_Manufacturer_String (Thumb, 32 bytes, Stack size 104 bytes, usbh_usr.o(i.USBH_USR_Manufacturer_String))
  [Stack]

  - Max Depth = 128
  - Call Chain = USBH_USR_Manufacturer_String ⇒ __2printf
  [Calls]
  - >> __2printf
  - >> __2sprintf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_OverCurrentDetected (Thumb, 30 bytes, Stack size 8 bytes, usbh_usr.o(i.USBH_USR_OverCurrentDetected))
  [Stack]

  - Max Depth = 32
  - Call Chain = USBH_USR_OverCurrentDetected ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_Product_String (Thumb, 32 bytes, Stack size 104 bytes, usbh_usr.o(i.USBH_USR_Product_String))
  [Stack]

  - Max Depth = 128
  - Call Chain = USBH_USR_Product_String ⇒ __2printf
  [Calls]
  - >> __2printf
  - >> __2sprintf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_ResetDevice (Thumb, 2 bytes, Stack size 0 bytes, usbh_usr.o(i.USBH_USR_ResetDevice))
  [Address Reference Count : 1]

  - usbh_usr.o(.data)

  USBH_USR_SerialNum_String (Thumb, 32 bytes, Stack size 104 bytes, usbh_usr.o(i.USBH_USR_SerialNum_String))
  [Stack]

  - Max Depth = 128
  - Call Chain = USBH_USR_SerialNum_String ⇒ __2printf
  [Calls]
  - >> __2printf
  - >> __2sprintf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_UnrecoveredError (Thumb, 30 bytes, Stack size 8 bytes, usbh_usr.o(i.USBH_USR_UnrecoveredError))
  [Stack]

  - Max Depth = 32
  - Call Chain = USBH_USR_UnrecoveredError ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USBH_USR_UserInput (Thumb, 18 bytes, Stack size 8 bytes, usbh_usr.o(i.USBH_USR_UserInput))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBH_USR_UserInput
  [Calls]
  - >> STM_EVAL_PBGetState
  [Address Reference Count : 1]
  - usbh_usr.o(.data)

  USB_OTG_BSP_ConfigVBUS (Thumb, 62 bytes, Stack size 16 bytes, usb_bsp.o(i.USB_OTG_BSP_ConfigVBUS))
  [Stack]

  - Max Depth = 60
  - Call Chain = USB_OTG_BSP_ConfigVBUS ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> RCC_AHB1PeriphClockCmd
  - >> GPIO_SetBits
  - >> GPIO_Init
  - >> USB_OTG_BSP_mDelay
  [Called By]
  - >> USBH_Init
  - >> USB_OTG_CoreInitHost

  USB_OTG_BSP_DriveVBUS (Thumb, 18 bytes, Stack size 0 bytes, usb_bsp.o(i.USB_OTG_BSP_DriveVBUS))
  [Calls]

  - >> GPIO_SetBits
  - >> GPIO_ResetBits
  [Called By]
  - >> USB_OTG_DriveVbus

  USB_OTG_BSP_EnableInterrupt (Thumb, 40 bytes, Stack size 8 bytes, usb_bsp.o(i.USB_OTG_BSP_EnableInterrupt))
  [Stack]

  - Max Depth = 24
  - Call Chain = USB_OTG_BSP_EnableInterrupt ⇒ NVIC_Init
  [Calls]
  - >> NVIC_PriorityGroupConfig
  - >> NVIC_Init
  [Called By]
  - >> USBH_Init

  USB_OTG_BSP_Init (Thumb, 190 bytes, Stack size 32 bytes, usb_bsp.o(i.USB_OTG_BSP_Init))
  [Stack]

  - Max Depth = 52
  - Call Chain = USB_OTG_BSP_Init ⇒ GPIO_Init
  [Calls]
  - >> RCC_APB2PeriphClockCmd
  - >> RCC_APB1PeriphClockCmd
  - >> RCC_AHB2PeriphClockCmd
  - >> RCC_AHB1PeriphClockCmd
  - >> NVIC_SetVectorTable
  - >> NVIC_PriorityGroupConfig
  - >> NVIC_Init
  - >> GPIO_PinAFConfig
  - >> GPIO_Init
  [Called By]
  - >> USBH_Init

  USB_OTG_BSP_TimerIRQ (Thumb, 50 bytes, Stack size 8 bytes, usb_bsp.o(i.USB_OTG_BSP_TimerIRQ))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_OTG_BSP_TimerIRQ
  [Calls]
  - >> TIM_GetITStatus
  - >> TIM_Cmd
  - >> TIM_ClearITPendingBit
  [Called By]
  - >> TIM2_IRQHandler

  USB_OTG_BSP_mDelay (Thumb, 6 bytes, Stack size 0 bytes, usb_bsp.o(i.USB_OTG_BSP_mDelay))
  [Stack]

  - Max Depth = 44
  - Call Chain = USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> BSP_Delay
  [Called By]
  - >> USBH_HandleEnum
  - >> USBH_Process
  - >> USB_OTG_BSP_ConfigVBUS
  - >> USB_OTG_SetCurrentMode
  - >> USB_OTG_DriveVbus
  - >> USB_OTG_CoreInit
  - >> USB_OTG_ResetPort

  USB_OTG_BSP_uDelay (Thumb, 6 bytes, Stack size 0 bytes, usb_bsp.o(i.USB_OTG_BSP_uDelay))
  [Stack]

  - Max Depth = 44
  - Call Chain = USB_OTG_BSP_uDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> BSP_Delay
  [Called By]
  - >> USB_OTG_FlushTxFifo
  - >> USB_OTG_FlushRxFifo
  - >> USB_OTG_CoreReset

  USB_OTG_CoreInit (Thumb, 128 bytes, Stack size 16 bytes, usb_core.o(i.USB_OTG_CoreInit))
  [Stack]

  - Max Depth = 84
  - Call Chain = USB_OTG_CoreInit ⇒ USB_OTG_CoreReset ⇒ USB_OTG_BSP_uDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_BSP_mDelay
  - >> USB_OTG_CoreReset
  [Called By]
  - >> HCD_Init

  USB_OTG_CoreInitHost (Thumb, 166 bytes, Stack size 24 bytes, usb_core.o(i.USB_OTG_CoreInitHost))
  [Stack]

  - Max Depth = 84
  - Call Chain = USB_OTG_CoreInitHost ⇒ USB_OTG_BSP_ConfigVBUS ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_BSP_ConfigVBUS
  - >> USB_OTG_FlushTxFifo
  - >> USB_OTG_FlushRxFifo
  - >> USB_OTG_EnableHostInt
  - >> USB_OTG_DriveVbus
  - >> USB_OTG_ResetPort
  - >> USB_OTG_InitFSLSPClkSel
  [Called By]
  - >> HCD_Init

  USB_OTG_DisableGlobalInt (Thumb, 16 bytes, Stack size 0 bytes, usb_core.o(i.USB_OTG_DisableGlobalInt))
  [Called By]

  - >> HCD_Init

  USB_OTG_DriveVbus (Thumb, 60 bytes, Stack size 16 bytes, usb_core.o(i.USB_OTG_DriveVbus))
  [Stack]

  - Max Depth = 60
  - Call Chain = USB_OTG_DriveVbus ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_BSP_mDelay
  - >> USB_OTG_BSP_DriveVBUS
  - >> USB_OTG_ReadHPRT0
  [Called By]
  - >> USB_OTG_CoreInitHost

  USB_OTG_EnableGlobalInt (Thumb, 16 bytes, Stack size 0 bytes, usb_core.o(i.USB_OTG_EnableGlobalInt))
  [Called By]

  - >> HCD_Init

  USB_OTG_EnableHostInt (Thumb, 66 bytes, Stack size 8 bytes, usb_core.o(i.USB_OTG_EnableHostInt))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_OTG_EnableHostInt
  [Called By]
  - >> USB_OTG_CoreInitHost

  USB_OTG_FlushRxFifo (Thumb, 52 bytes, Stack size 16 bytes, usb_core.o(i.USB_OTG_FlushRxFifo))
  [Stack]

  - Max Depth = 60
  - Call Chain = USB_OTG_FlushRxFifo ⇒ USB_OTG_BSP_uDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_BSP_uDelay
  [Called By]
  - >> USB_OTG_CoreInitHost

  USB_OTG_FlushTxFifo (Thumb, 60 bytes, Stack size 16 bytes, usb_core.o(i.USB_OTG_FlushTxFifo))
  [Stack]

  - Max Depth = 60
  - Call Chain = USB_OTG_FlushTxFifo ⇒ USB_OTG_BSP_uDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_BSP_uDelay
  [Called By]
  - >> USB_OTG_CoreInitHost

  USB_OTG_HC_DoPing (Thumb, 42 bytes, Stack size 8 bytes, usb_core.o(i.USB_OTG_HC_DoPing))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_OTG_HC_DoPing
  [Called By]
  - >> USB_OTG_USBH_handle_hc_n_Out_ISR

  USB_OTG_HC_Halt (Thumb, 60 bytes, Stack size 8 bytes, usb_core.o(i.USB_OTG_HC_Halt))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_OTG_HC_Halt
  [Called By]
  - >> USB_OTG_USBH_handle_hc_n_Out_ISR
  - >> USB_OTG_USBH_handle_hc_n_In_ISR
  - >> USBH_HID_InterfaceDeInit

  USB_OTG_HC_Init (Thumb, 238 bytes, Stack size 20 bytes, usb_core.o(i.USB_OTG_HC_Init))
  [Stack]

  - Max Depth = 20
  - Call Chain = USB_OTG_HC_Init
  [Called By]
  - >> USBH_Open_Channel
  - >> USBH_Modify_Channel

  USB_OTG_HC_StartXfer (Thumb, 258 bytes, Stack size 20 bytes, usb_core.o(i.USB_OTG_HC_StartXfer))
  [Stack]

  - Max Depth = 32
  - Call Chain = USB_OTG_HC_StartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_WritePacket
  - >> USB_OTG_IsEvenFrame
  [Called By]
  - >> HCD_SubmitRequest

  USB_OTG_InitFSLSPClkSel (Thumb, 12 bytes, Stack size 0 bytes, usb_core.o(i.USB_OTG_InitFSLSPClkSel))
  [Called By]

  - >> USB_OTG_CoreInitHost
  - >> USB_OTG_USBH_handle_port_ISR

  USB_OTG_IsEvenFrame (Thumb, 12 bytes, Stack size 0 bytes, usb_core.o(i.USB_OTG_IsEvenFrame))
  [Called By]

  - >> USB_OTG_HC_StartXfer
  - >> USBH_HID_Handle

  USB_OTG_IsHostMode (Thumb, 14 bytes, Stack size 0 bytes, usb_core.o(i.USB_OTG_IsHostMode))
  [Called By]

  - >> USBH_OTG_ISR_Handler

  USB_OTG_ReadCoreItr (Thumb, 10 bytes, Stack size 0 bytes, usb_core.o(i.USB_OTG_ReadCoreItr))
  [Called By]

  - >> USBH_OTG_ISR_Handler

  USB_OTG_ReadHPRT0 (Thumb, 12 bytes, Stack size 0 bytes, usb_core.o(i.USB_OTG_ReadHPRT0))
  [Called By]

  - >> USB_OTG_DriveVbus
  - >> USB_OTG_ResetPort

  USB_OTG_ReadHostAllChannels_intr (Thumb, 6 bytes, Stack size 0 bytes, usb_core.o(i.USB_OTG_ReadHostAllChannels_intr))
  [Called By]

  - >> USB_OTG_USBH_handle_hc_ISR

  USB_OTG_ReadPacket (Thumb, 32 bytes, Stack size 8 bytes, usb_core.o(i.USB_OTG_ReadPacket))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_OTG_ReadPacket
  [Called By]
  - >> USB_OTG_USBH_handle_rx_qlvl_ISR

  USB_OTG_ResetPort (Thumb, 42 bytes, Stack size 16 bytes, usb_core.o(i.USB_OTG_ResetPort))
  [Stack]

  - Max Depth = 60
  - Call Chain = USB_OTG_ResetPort ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_BSP_mDelay
  - >> USB_OTG_ReadHPRT0
  [Called By]
  - >> USB_OTG_CoreInitHost
  - >> USB_OTG_USBH_handle_port_ISR
  - >> HCD_ResetPort

  USB_OTG_SelectCore (Thumb, 188 bytes, Stack size 16 bytes, usb_core.o(i.USB_OTG_SelectCore))
  [Stack]

  - Max Depth = 16
  - Call Chain = USB_OTG_SelectCore
  [Called By]
  - >> HCD_Init

  USB_OTG_SetCurrentMode (Thumb, 42 bytes, Stack size 8 bytes, usb_core.o(i.USB_OTG_SetCurrentMode))
  [Stack]

  - Max Depth = 52
  - Call Chain = USB_OTG_SetCurrentMode ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_BSP_mDelay
  [Called By]
  - >> HCD_Init

  USB_OTG_WritePacket (Thumb, 40 bytes, Stack size 12 bytes, usb_core.o(i.USB_OTG_WritePacket))
  [Stack]

  - Max Depth = 12
  - Call Chain = USB_OTG_WritePacket
  [Called By]
  - >> USB_OTG_HC_StartXfer
  - >> USB_OTG_USBH_handle_ptxfempty_ISR
  - >> USB_OTG_USBH_handle_nptxfempty_ISR

  USR_KEYBRD_Init (Thumb, 70 bytes, Stack size 16 bytes, usbh_usr.o(i.USR_KEYBRD_Init))
  [Stack]

  - Max Depth = 72
  - Call Chain = USR_KEYBRD_Init ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetTextColor
  - >> LCD_DisplayStringLine
  - >> __2printf
  [Called By]
  - >> KEYBRD_Init

  USR_KEYBRD_ProcessData (Thumb, 94 bytes, Stack size 16 bytes, usbh_usr.o(i.USR_KEYBRD_ProcessData))
  [Stack]

  - Max Depth = 52
  - Call Chain = USR_KEYBRD_ProcessData ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DisplayChar
  [Called By]
  - >> KEYBRD_Decode

  USR_MOUSE_Init (Thumb, 114 bytes, Stack size 16 bytes, usbh_usr.o(i.USR_MOUSE_Init))
  [Stack]

  - Max Depth = 100
  - Call Chain = USR_MOUSE_Init ⇒ HID_MOUSE_ButtonReleased ⇒ LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetTextColor
  - >> LCD_SetBackColor
  - >> LCD_DrawRect
  - >> LCD_DisplayStringLine
  - >> LCD_DisplayChar
  - >> HID_MOUSE_ButtonReleased
  - >> __2printf
  [Called By]
  - >> MOUSE_Init

  USR_MOUSE_ProcessData (Thumb, 84 bytes, Stack size 24 bytes, usbh_usr.o(i.USR_MOUSE_ProcessData))
  [Stack]

  - Max Depth = 108
  - Call Chain = USR_MOUSE_ProcessData ⇒ HID_MOUSE_ButtonReleased ⇒ LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor
  [Calls]
  - >> HID_MOUSE_UpdatePosition
  - >> HID_MOUSE_ButtonReleased
  - >> HID_MOUSE_ButtonPressed
  [Called By]
  - >> MOUSE_Decode

  UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.UsageFault_Handler))
  [Calls]

  - >> UsageFault_Handler
  [Called By]
  - >> UsageFault_Handler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  __0printf$8 (Thumb, 22 bytes, Stack size 24 bytes, printf8.o(i.__0printf$8), UNUSED)
  [Calls]

  - >> _printf_core

  __1printf$8 (Thumb, 0 bytes, Stack size 24 bytes, printf8.o(i.__0printf$8), UNUSED)

  __2printf (Thumb, 0 bytes, Stack size 24 bytes, printf8.o(i.__0printf$8))
  [Stack]

  - Max Depth = 24
  - Call Chain = __2printf
  [Called By]
  - >> USR_MOUSE_Init
  - >> USR_KEYBRD_Init
  - >> USBH_USR_UnrecoveredError
  - >> USBH_USR_SerialNum_String
  - >> USBH_USR_Product_String
  - >> USBH_USR_OverCurrentDetected
  - >> USBH_USR_Manufacturer_String
  - >> USBH_USR_Init
  - >> USBH_USR_EnumerationDone
  - >> USBH_USR_Device_DescAvailable
  - >> USBH_USR_DeviceSpeedDetected
  - >> USBH_USR_DeviceNotSupported
  - >> USBH_USR_DeviceDisconnected
  - >> USBH_USR_DeviceAttached
  - >> USBH_USR_Configuration_DescAvailable

  __0sprintf$8 (Thumb, 34 bytes, Stack size 24 bytes, printf8.o(i.__0sprintf$8), UNUSED)
  [Calls]

  - >> _sputc
  - >> _printf_core

  __1sprintf$8 (Thumb, 0 bytes, Stack size 24 bytes, printf8.o(i.__0sprintf$8), UNUSED)

  __2sprintf (Thumb, 0 bytes, Stack size 24 bytes, printf8.o(i.__0sprintf$8))
  [Stack]

  - Max Depth = 24
  - Call Chain = __2sprintf
  [Called By]
  - >> USBH_USR_SerialNum_String
  - >> USBH_USR_Product_String
  - >> USBH_USR_Manufacturer_String
  - >> USBH_USR_Device_DescAvailable

  __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)

  delay_ms (Thumb, 28 bytes, Stack size 0 bytes, stm324xg_eval_lcd.o(i.delay_ms))
  [Called By]

  - >> STM324xG_LCD_Init

  fputc (Thumb, 222 bytes, Stack size 32 bytes, lcd_log.o(i.fputc))
  [Stack]

  - Max Depth = 120
  - Call Chain = fputc ⇒ LCD_LOG_UpdateDisplay ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_GetFont
  - >> LCD_LOG_UpdateDisplay
  [Address Reference Count : 1]
  - printf8.o(i.__0printf$8)

  main (Thumb, 72 bytes, Stack size 8 bytes, main.o(i.main))
  [Stack]

  - Max Depth = 248
  - Call Chain = main ⇒ USBH_Process ⇒ USBH_HandleEnum ⇒ USBH_Get_CfgDesc ⇒ USBH_ParseCfgDesc
  [Calls]
  - >> USBH_Process
  - >> USBH_Init
  - >> STM_EVAL_LEDToggle
  [Address Reference Count : 1]
  - entry8.o(.ARM.Collect$$$$00000009)

  ### Local Symbols

  BSP_Delay (Thumb, 32 bytes, Stack size 8 bytes, usb_bsp.o(i.BSP_Delay))
  [Stack]

  - Max Depth = 44
  - Call Chain = BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> TIM_Cmd
  - >> BSP_SetTime
  [Called By]
  - >> USB_OTG_BSP_uDelay
  - >> USB_OTG_BSP_mDelay

  BSP_SetTime (Thumb, 106 bytes, Stack size 24 bytes, usb_bsp.o(i.BSP_SetTime))
  [Stack]

  - Max Depth = 36
  - Call Chain = BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> TIM_TimeBaseInit
  - >> TIM_ITConfig
  - >> TIM_Cmd
  - >> TIM_ClearITPendingBit
  - >> TIM_ARRPreloadConfig
  [Called By]
  - >> BSP_Delay

  USBH_ParseCfgDesc (Thumb, 282 bytes, Stack size 72 bytes, usbh_stdreq.o(i.USBH_ParseCfgDesc))
  [Stack]

  - Max Depth = 72
  - Call Chain = USBH_ParseCfgDesc
  [Calls]
  - >> USBH_GetNextDesc
  - >> USBH_ParseInterfaceDesc
  [Called By]
  - >> USBH_Get_CfgDesc

  USBH_ParseInterfaceDesc (Thumb, 38 bytes, Stack size 0 bytes, usbh_stdreq.o(i.USBH_ParseInterfaceDesc))
  [Called By]

  - >> USBH_ParseCfgDesc

  USBH_HandleEnum (Thumb, 406 bytes, Stack size 96 bytes, usbh_core.o(i.USBH_HandleEnum))
  [Stack]

  - Max Depth = 208
  - Call Chain = USBH_HandleEnum ⇒ USBH_Get_CfgDesc ⇒ USBH_ParseCfgDesc
  [Calls]
  - >> USBH_SetCfg
  - >> USBH_SetAddress
  - >> USBH_Get_StringDesc
  - >> USBH_Get_DevDesc
  - >> USBH_Get_CfgDesc
  - >> USB_OTG_BSP_mDelay
  - >> USBH_Modify_Channel
  - >> HCD_ResetPort
  [Called By]
  - >> USBH_Process

  MOUSE_Decode (Thumb, 20 bytes, Stack size 0 bytes, usbh_hid_mouse.o(i.MOUSE_Decode))
  [Stack]

  - Max Depth = 108
  - Call Chain = MOUSE_Decode ⇒ USR_MOUSE_ProcessData ⇒ HID_MOUSE_ButtonReleased ⇒ LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor
  [Calls]
  - >> USR_MOUSE_ProcessData
  [Address Reference Count : 1]
  - usbh_hid_mouse.o(.data)

  MOUSE_Init (Thumb, 4 bytes, Stack size 0 bytes, usbh_hid_mouse.o(i.MOUSE_Init))
  [Stack]

  - Max Depth = 100
  - Call Chain = MOUSE_Init ⇒ USR_MOUSE_Init ⇒ HID_MOUSE_ButtonReleased ⇒ LCD_DrawFullRect ⇒ LCD_DrawLine ⇒ LCD_SetCursor
  [Calls]
  - >> USR_MOUSE_Init
  [Address Reference Count : 1]
  - usbh_hid_mouse.o(.data)

  USBH_HID_ClassRequest (Thumb, 222 bytes, Stack size 32 bytes, usbh_hid_core.o(i.USBH_HID_ClassRequest))
  [Stack]

  - Max Depth = 52
  - Call Chain = USBH_HID_ClassRequest ⇒ USBH_GetDescriptor ⇒ USBH_CtlReq
  [Calls]
  - >> USBH_CtlReq
  - >> USBH_GetDescriptor
  [Address Reference Count : 1]
  - usbh_hid_core.o(.data)

  USBH_HID_Handle (Thumb, 194 bytes, Stack size 32 bytes, usbh_hid_core.o(i.USBH_HID_Handle))
  [Stack]

  - Max Depth = 80
  - Call Chain = USBH_HID_Handle ⇒ USBH_InterruptReceiveData ⇒ HCD_SubmitRequest ⇒ USB_OTG_HC_StartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBH_ClrFeature
  - >> USB_OTG_IsEvenFrame
  - >> USBH_InterruptReceiveData
  - >> HCD_GetURB_State
  - >> HCD_GetCurrentFrame
  [Address Reference Count : 1]
  - usbh_hid_core.o(.data)

  USBH_HID_InterfaceDeInit (Thumb, 62 bytes, Stack size 16 bytes, usbh_hid_core.o(i.USBH_HID_InterfaceDeInit))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBH_HID_InterfaceDeInit ⇒ USB_OTG_HC_Halt
  [Calls]
  - >> USB_OTG_HC_Halt
  - >> USBH_Free_Channel
  [Address Reference Count : 1]
  - usbh_hid_core.o(.data)

  USBH_HID_InterfaceInit (Thumb, 216 bytes, Stack size 40 bytes, usbh_hid_core.o(i.USBH_HID_InterfaceInit))
  [Stack]

  - Max Depth = 84
  - Call Chain = USBH_HID_InterfaceInit ⇒ USBH_Open_Channel ⇒ USB_OTG_HC_Init
  [Calls]
  - >> USBH_Open_Channel
  - >> USBH_Alloc_Channel
  [Address Reference Count : 1]
  - usbh_hid_core.o(.data)

  KEYBRD_Decode (Thumb, 228 bytes, Stack size 32 bytes, usbh_hid_keybd.o(i.KEYBRD_Decode))
  [Stack]

  - Max Depth = 84
  - Call Chain = KEYBRD_Decode ⇒ USR_KEYBRD_ProcessData ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> USR_KEYBRD_ProcessData
  [Address Reference Count : 1]
  - usbh_hid_keybd.o(.data)

  KEYBRD_Init (Thumb, 4 bytes, Stack size 0 bytes, usbh_hid_keybd.o(i.KEYBRD_Init))
  [Stack]

  - Max Depth = 72
  - Call Chain = KEYBRD_Init ⇒ USR_KEYBRD_Init ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> USR_KEYBRD_Init
  [Address Reference Count : 1]
  - usbh_hid_keybd.o(.data)

  USB_OTG_USBH_handle_Disconnect_ISR (Thumb, 40 bytes, Stack size 16 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_Disconnect_ISR))
  [Stack]

  - Max Depth = 16
  - Call Chain = USB_OTG_USBH_handle_Disconnect_ISR
  [Called By]
  - >> USBH_OTG_ISR_Handler

  USB_OTG_USBH_handle_IncompletePeriodicXfer_ISR (Thumb, 70 bytes, Stack size 12 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_IncompletePeriodicXfer_ISR))
  [Stack]

  - Max Depth = 12
  - Call Chain = USB_OTG_USBH_handle_IncompletePeriodicXfer_ISR
  [Called By]
  - >> USBH_OTG_ISR_Handler

  USB_OTG_USBH_handle_hc_ISR (Thumb, 86 bytes, Stack size 24 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_hc_ISR))
  [Stack]

  - Max Depth = 72
  - Call Chain = USB_OTG_USBH_handle_hc_ISR ⇒ USB_OTG_USBH_handle_hc_n_In_ISR ⇒ USB_OTG_HC_Halt
  [Calls]
  - >> USB_OTG_ReadHostAllChannels_intr
  - >> USB_OTG_USBH_handle_hc_n_Out_ISR
  - >> USB_OTG_USBH_handle_hc_n_In_ISR
  [Called By]
  - >> USBH_OTG_ISR_Handler

  USB_OTG_USBH_handle_hc_n_In_ISR (Thumb, 1064 bytes, Stack size 40 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_hc_n_In_ISR))
  [Stack]

  - Max Depth = 48
  - Call Chain = USB_OTG_USBH_handle_hc_n_In_ISR ⇒ USB_OTG_HC_Halt
  [Calls]
  - >> USB_OTG_HC_Halt
  [Called By]
  - >> USB_OTG_USBH_handle_hc_ISR

  USB_OTG_USBH_handle_hc_n_Out_ISR (Thumb, 976 bytes, Stack size 32 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_hc_n_Out_ISR))
  [Stack]

  - Max Depth = 40
  - Call Chain = USB_OTG_USBH_handle_hc_n_Out_ISR ⇒ USB_OTG_HC_DoPing
  [Calls]
  - >> USB_OTG_HC_DoPing
  - >> USB_OTG_HC_Halt
  [Called By]
  - >> USB_OTG_USBH_handle_hc_ISR

  USB_OTG_USBH_handle_nptxfempty_ISR (Thumb, 302 bytes, Stack size 32 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_nptxfempty_ISR))
  [Stack]

  - Max Depth = 44
  - Call Chain = USB_OTG_USBH_handle_nptxfempty_ISR ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_WritePacket
  [Called By]
  - >> USBH_OTG_ISR_Handler

  USB_OTG_USBH_handle_port_ISR (Thumb, 282 bytes, Stack size 32 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_port_ISR))
  [Stack]

  - Max Depth = 92
  - Call Chain = USB_OTG_USBH_handle_port_ISR ⇒ USB_OTG_ResetPort ⇒ USB_OTG_BSP_mDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_ResetPort
  - >> USB_OTG_InitFSLSPClkSel
  [Called By]
  - >> USBH_OTG_ISR_Handler

  USB_OTG_USBH_handle_ptxfempty_ISR (Thumb, 302 bytes, Stack size 32 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_ptxfempty_ISR))
  [Stack]

  - Max Depth = 44
  - Call Chain = USB_OTG_USBH_handle_ptxfempty_ISR ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_WritePacket
  [Called By]
  - >> USBH_OTG_ISR_Handler

  USB_OTG_USBH_handle_rx_qlvl_ISR (Thumb, 318 bytes, Stack size 32 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_rx_qlvl_ISR))
  [Stack]

  - Max Depth = 40
  - Call Chain = USB_OTG_USBH_handle_rx_qlvl_ISR ⇒ USB_OTG_ReadPacket
  [Calls]
  - >> USB_OTG_ReadPacket
  [Called By]
  - >> USBH_OTG_ISR_Handler

  USB_OTG_USBH_handle_sof_ISR (Thumb, 38 bytes, Stack size 16 bytes, usb_hcd_int.o(i.USB_OTG_USBH_handle_sof_ISR))
  [Stack]

  - Max Depth = 16
  - Call Chain = USB_OTG_USBH_handle_sof_ISR
  [Called By]
  - >> USBH_OTG_ISR_Handler

  USB_OTG_CoreReset (Thumb, 84 bytes, Stack size 24 bytes, usb_core.o(i.USB_OTG_CoreReset))
  [Stack]

  - Max Depth = 68
  - Call Chain = USB_OTG_CoreReset ⇒ USB_OTG_BSP_uDelay ⇒ BSP_Delay ⇒ BSP_SetTime ⇒ TIM_TimeBaseInit
  [Calls]
  - >> USB_OTG_BSP_uDelay
  [Called By]
  - >> USB_OTG_CoreInit

  LCD_LOG_UpdateDisplay (Thumb, 150 bytes, Stack size 32 bytes, lcd_log.o(i.LCD_LOG_UpdateDisplay))
  [Stack]

  - Max Depth = 88
  - Call Chain = LCD_LOG_UpdateDisplay ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetTextColor
  - >> LCD_DisplayStringLine
  - >> LCD_GetFont
  [Called By]
  - >> fputc

  SetSysClock (Thumb, 140 bytes, Stack size 0 bytes, system_stm32f4xx.o(i.SetSysClock))
  [Called By]

  - >> SystemInit

  _printf_core (Thumb, 996 bytes, Stack size 104 bytes, printf8.o(i._printf_core), UNUSED)
  [Calls]

  - >> _printf_pre_padding
  - >> _printf_post_padding
  - >> __aeabi_uldivmod
  [Called By]
  - >> __0sprintf$8
  - >> __0printf$8

  _printf_post_padding (Thumb, 38 bytes, Stack size 24 bytes, printf8.o(i._printf_post_padding), UNUSED)
  [Called By]

  - >> _printf_core

  _printf_pre_padding (Thumb, 48 bytes, Stack size 24 bytes, printf8.o(i._printf_pre_padding), UNUSED)
  [Called By]

  - >> _printf_core

  _sputc (Thumb, 10 bytes, Stack size 0 bytes, printf8.o(i._sputc))
  [Called By]

  - >> __0sprintf$8
  [Address Reference Count : 1]
  - printf8.o(i.__0sprintf$8)

  ### Undefined Global Symbols