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

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

#<CALLGRAPH># ARM Linker, 5050169: Last Updated: Fri Mar 11 09:55:36 2016

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

### Call chain for Maximum Stack Depth:

USBD_USR_Init ⇒ STM324xG_LCD_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit

### Mutually Recursive functions

- 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)
  - EP0_RxReady from usbd_dfu_core.o(i.EP0_RxReady) referenced 2 times from usbd_dfu_core.o(.data)
  - EP0_TxSent from usbd_dfu_core.o(i.EP0_TxSent) referenced 2 times from usbd_dfu_core.o(.data)
  - 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 startup_stm32f4xx.o(.text) 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)
  - FLASH_If_CheckAdd from usbd_flash_if.o(i.FLASH_If_CheckAdd) referenced 2 times from usbd_flash_if.o(.data)
  - FLASH_If_DeInit from usbd_flash_if.o(i.FLASH_If_DeInit) referenced 2 times from usbd_flash_if.o(.data)
  - FLASH_If_Erase from usbd_flash_if.o(i.FLASH_If_Erase) referenced 2 times from usbd_flash_if.o(.data)
  - FLASH_If_Init from usbd_flash_if.o(i.FLASH_If_Init) referenced 2 times from usbd_flash_if.o(.data)
  - FLASH_If_Read from usbd_flash_if.o(i.FLASH_If_Read) referenced 2 times from usbd_flash_if.o(.data)
  - FLASH_If_Write from usbd_flash_if.o(i.FLASH_If_Write) referenced 2 times from usbd_flash_if.o(.data)
  - 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)
  - 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 stm32fxxx_it.o(i.OTG_FS_WKUP_IRQHandler) 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)
  - OTP_If_CheckAdd from usbd_otp_if.o(i.OTP_If_CheckAdd) referenced 2 times from usbd_otp_if.o(.data)
  - OTP_If_Read from usbd_otp_if.o(i.OTP_If_Read) referenced 2 times from usbd_otp_if.o(.data)
  - OTP_If_Write from usbd_otp_if.o(i.OTP_If_Write) referenced 2 times from usbd_otp_if.o(.data)
  - 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 stm32fxxx_it.o(i.SysTick_Handler) 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 startup_stm32f4xx.o(.text) 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)
  - USBD_DFU_GetCfgDesc from usbd_dfu_core.o(i.USBD_DFU_GetCfgDesc) referenced 2 times from usbd_dfu_core.o(.data)
  - USBD_DFU_GetUsrStringDesc from usbd_dfu_core.o(i.USBD_DFU_GetUsrStringDesc) referenced 2 times from usbd_dfu_core.o(.data)
  - USBD_DataInStage from usbd_core.o(i.USBD_DataInStage) referenced 2 times from usbd_core.o(.data)
  - USBD_DataOutStage from usbd_core.o(i.USBD_DataOutStage) referenced 2 times from usbd_core.o(.data)
  - USBD_DevConnected from usbd_core.o(i.USBD_DevConnected) referenced 2 times from usbd_core.o(.data)
  - USBD_DevDisconnected from usbd_core.o(i.USBD_DevDisconnected) referenced 2 times from usbd_core.o(.data)
  - USBD_IsoINIncomplete from usbd_core.o(i.USBD_IsoINIncomplete) referenced 2 times from usbd_core.o(.data)
  - USBD_IsoOUTIncomplete from usbd_core.o(i.USBD_IsoOUTIncomplete) referenced 2 times from usbd_core.o(.data)
  - USBD_Reset from usbd_core.o(i.USBD_Reset) referenced 2 times from usbd_core.o(.data)
  - USBD_Resume from usbd_core.o(i.USBD_Resume) referenced 2 times from usbd_core.o(.data)
  - USBD_SOF from usbd_core.o(i.USBD_SOF) referenced 2 times from usbd_core.o(.data)
  - USBD_SetupStage from usbd_core.o(i.USBD_SetupStage) referenced 2 times from usbd_core.o(.data)
  - USBD_Suspend from usbd_core.o(i.USBD_Suspend) referenced 2 times from usbd_core.o(.data)
  - USBD_USR_ConfigStrDescriptor from usbd_desc.o(i.USBD_USR_ConfigStrDescriptor) referenced 2 times from usbd_desc.o(.data)
  - USBD_USR_DeviceConfigured from usbd_usr.o(i.USBD_USR_DeviceConfigured) referenced 2 times from usbd_usr.o(.data)
  - USBD_USR_DeviceConnected from usbd_usr.o(i.USBD_USR_DeviceConnected) referenced 2 times from usbd_usr.o(.data)
  - USBD_USR_DeviceDescriptor from usbd_desc.o(i.USBD_USR_DeviceDescriptor) referenced 2 times from usbd_desc.o(.data)
  - USBD_USR_DeviceDisconnected from usbd_usr.o(i.USBD_USR_DeviceDisconnected) referenced 2 times from usbd_usr.o(.data)
  - USBD_USR_DeviceReset from usbd_usr.o(i.USBD_USR_DeviceReset) referenced 2 times from usbd_usr.o(.data)
  - USBD_USR_DeviceResumed from usbd_usr.o(i.USBD_USR_DeviceResumed) referenced 2 times from usbd_usr.o(.data)
  - USBD_USR_DeviceSuspended from usbd_usr.o(i.USBD_USR_DeviceSuspended) referenced 2 times from usbd_usr.o(.data)
  - USBD_USR_Init from usbd_usr.o(i.USBD_USR_Init) referenced 2 times from usbd_usr.o(.data)
  - USBD_USR_InterfaceStrDescriptor from usbd_desc.o(i.USBD_USR_InterfaceStrDescriptor) referenced 2 times from usbd_desc.o(.data)
  - USBD_USR_LangIDStrDescriptor from usbd_desc.o(i.USBD_USR_LangIDStrDescriptor) referenced 2 times from usbd_desc.o(.data)
  - USBD_USR_ManufacturerStrDescriptor from usbd_desc.o(i.USBD_USR_ManufacturerStrDescriptor) referenced 2 times from usbd_desc.o(.data)
  - USBD_USR_ProductStrDescriptor from usbd_desc.o(i.USBD_USR_ProductStrDescriptor) referenced 2 times from usbd_desc.o(.data)
  - USBD_USR_SerialStrDescriptor from usbd_desc.o(i.USBD_USR_SerialStrDescriptor) referenced 2 times from usbd_desc.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)
  - fputc from lcd_log.o(i.fputc) referenced from printfb.o(i.__0printf$bare)
  - main from app.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
  - usbd_dfu_DeInit from usbd_dfu_core.o(i.usbd_dfu_DeInit) referenced 2 times from usbd_dfu_core.o(.data)
  - usbd_dfu_Init from usbd_dfu_core.o(i.usbd_dfu_Init) referenced 2 times from usbd_dfu_core.o(.data)
  - usbd_dfu_Setup from usbd_dfu_core.o(i.usbd_dfu_Setup) referenced 2 times from usbd_dfu_core.o(.data)

  ### 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_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_stm32f4xx.o(.text))
  [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)

  EXTI1_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_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)

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

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

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

  DCD_DevConnect (Thumb, 16 bytes, Stack size 0 bytes, usb_dcd.o(i.DCD_DevConnect))
  [Calls]

  - >> USB_OTG_BSP_mDelay
  [Called By]
  - >> DFU_Req_DETACH

  DCD_DevDisconnect (Thumb, 16 bytes, Stack size 0 bytes, usb_dcd.o(i.DCD_DevDisconnect))
  [Calls]

  - >> USB_OTG_BSP_mDelay
  [Called By]
  - >> DFU_Req_DETACH
  - >> DFU_LeaveDFUMode

  DCD_EP_ClrStall (Thumb, 56 bytes, Stack size 8 bytes, usb_dcd.o(i.DCD_EP_ClrStall))
  [Stack]

  - Max Depth = 16
  - Call Chain = DCD_EP_ClrStall ⇒ USB_OTG_EPClearStall
  [Calls]
  - >> USB_OTG_EPClearStall
  [Called By]
  - >> USBD_StdEPReq

  DCD_EP_Open (Thumb, 60 bytes, Stack size 16 bytes, usb_dcd.o(i.DCD_EP_Open))
  [Stack]

  - Max Depth = 36
  - Call Chain = DCD_EP_Open ⇒ USB_OTG_EPActivate
  [Calls]
  - >> USB_OTG_EPActivate
  [Called By]
  - >> USBD_Reset

  DCD_EP_PrepareRx (Thumb, 68 bytes, Stack size 8 bytes, usb_dcd.o(i.DCD_EP_PrepareRx))
  [Stack]

  - Max Depth = 40
  - Call Chain = DCD_EP_PrepareRx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_EPStartXfer
  - >> USB_OTG_EP0StartXfer
  [Called By]
  - >> USBD_CtlPrepareRx
  - >> USBD_CtlReceiveStatus
  - >> USBD_CtlContinueRx

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

  - >> USBD_StdDevReq

  DCD_EP_Stall (Thumb, 56 bytes, Stack size 8 bytes, usb_dcd.o(i.DCD_EP_Stall))
  [Stack]

  - Max Depth = 8
  - Call Chain = DCD_EP_Stall
  [Calls]
  - >> USB_OTG_EPSetStall
  [Called By]
  - >> USBD_SetupStage
  - >> USBD_StdEPReq
  - >> USBD_CtlError

  DCD_EP_Tx (Thumb, 62 bytes, Stack size 16 bytes, usb_dcd.o(i.DCD_EP_Tx))
  [Stack]

  - Max Depth = 48
  - Call Chain = DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_EPStartXfer
  - >> USB_OTG_EP0StartXfer
  [Called By]
  - >> USBD_CtlContinueSendData
  - >> USBD_CtlSendStatus
  - >> USBD_CtlSendData

  DCD_Init (Thumb, 148 bytes, Stack size 16 bytes, usb_dcd.o(i.DCD_Init))
  [Stack]

  - Max Depth = 56
  - Call Chain = DCD_Init ⇒ USB_OTG_CoreInitDev ⇒ USB_OTG_FlushTxFifo
  [Calls]
  - >> USB_OTG_SetCurrentMode
  - >> USB_OTG_SelectCore
  - >> USB_OTG_EnableGlobalInt
  - >> USB_OTG_DisableGlobalInt
  - >> USB_OTG_CoreInitDev
  - >> USB_OTG_CoreInit
  [Called By]
  - >> USBD_Init

  DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32fxxx_it.o(i.DebugMon_Handler))
  [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]

  - >> OTG_FS_WKUP_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

  FLASH_EraseSector (Thumb, 104 bytes, Stack size 16 bytes, stm32f4xx_flash.o(i.FLASH_EraseSector))
  [Stack]

  - Max Depth = 24
  - Call Chain = FLASH_EraseSector ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> FLASH_WaitForLastOperation
  [Called By]
  - >> FLASH_If_Erase

  FLASH_GetStatus (Thumb, 46 bytes, Stack size 0 bytes, stm32f4xx_flash.o(i.FLASH_GetStatus))
  [Called By]

  - >> FLASH_WaitForLastOperation

  FLASH_If_CheckAdd (Thumb, 18 bytes, Stack size 0 bytes, usbd_flash_if.o(i.FLASH_If_CheckAdd))
  [Address Reference Count : 1]

  - usbd_flash_if.o(.data)

  FLASH_If_DeInit (Thumb, 10 bytes, Stack size 8 bytes, usbd_flash_if.o(i.FLASH_If_DeInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = FLASH_If_DeInit
  [Calls]
  - >> FLASH_Lock
  [Address Reference Count : 1]
  - usbd_flash_if.o(.data)

  FLASH_If_Erase (Thumb, 156 bytes, Stack size 8 bytes, usbd_flash_if.o(i.FLASH_If_Erase))
  [Stack]

  - Max Depth = 32
  - Call Chain = FLASH_If_Erase ⇒ FLASH_EraseSector ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> FLASH_EraseSector
  [Address Reference Count : 1]
  - usbd_flash_if.o(.data)

  FLASH_If_Init (Thumb, 10 bytes, Stack size 8 bytes, usbd_flash_if.o(i.FLASH_If_Init))
  [Stack]

  - Max Depth = 8
  - Call Chain = FLASH_If_Init
  [Calls]
  - >> FLASH_Unlock
  [Address Reference Count : 1]
  - usbd_flash_if.o(.data)

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

  - usbd_flash_if.o(.data)

  FLASH_If_Write (Thumb, 64 bytes, Stack size 24 bytes, usbd_flash_if.o(i.FLASH_If_Write))
  [Stack]

  - Max Depth = 48
  - Call Chain = FLASH_If_Write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> FLASH_ProgramWord
  [Address Reference Count : 1]
  - usbd_flash_if.o(.data)

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

  - >> FLASH_If_DeInit

  FLASH_ProgramWord (Thumb, 56 bytes, Stack size 16 bytes, stm32f4xx_flash.o(i.FLASH_ProgramWord))
  [Stack]

  - Max Depth = 24
  - Call Chain = FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> FLASH_WaitForLastOperation
  [Called By]
  - >> OTP_If_Write
  - >> FLASH_If_Write

  FLASH_Unlock (Thumb, 22 bytes, Stack size 0 bytes, stm32f4xx_flash.o(i.FLASH_Unlock))
  [Called By]

  - >> FLASH_If_Init

  FLASH_WaitForLastOperation (Thumb, 30 bytes, Stack size 8 bytes, stm32f4xx_flash.o(i.FLASH_WaitForLastOperation))
  [Stack]

  - Max Depth = 8
  - Call Chain = FLASH_WaitForLastOperation
  [Calls]
  - >> FLASH_GetStatus
  [Called By]
  - >> FLASH_ProgramWord
  - >> FLASH_EraseSector

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

  - >> LCD_FSMCConfig

  FSMC_NORSRAMInit (Thumb, 200 bytes, Stack size 8 bytes, stm32f4xx_fsmc.o(i.FSMC_NORSRAMInit))
  [Stack]

  - Max Depth = 8
  - 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_LEDInit
  - >> USB_OTG_BSP_Init
  - >> STM_EVAL_PBInit
  - >> 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

  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_CtrlLinesConfig (Thumb, 308 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
  - >> 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
  - >> USBD_USR_Init
  - >> SysTick_Handler
  - >> LCD_LOG_UpdateDisplay

  LCD_DrawChar (Thumb, 128 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_FSMCConfig (Thumb, 78 bytes, Stack size 96 bytes, stm324xg_eval_lcd.o(i.LCD_FSMCConfig))
  [Stack]

  - Max Depth = 104
  - 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
  - >> fputc
  - >> LCD_LOG_UpdateDisplay

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

  - >> LCD_LOG_Init

  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]
  - >> USBD_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_DisplayStringLine
  - >> LCD_SetBackColor
  - >> LCD_GetFont
  [Called By]
  - >> USBD_USR_Init
  - >> USBD_USR_DeviceReset

  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_DisplayStringLine
  - >> LCD_SetFont
  - >> LCD_SetBackColor
  - >> LCD_GetFont
  - >> LCD_ClearLine
  - >> LCD_Clear
  [Called By]
  - >> USBD_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, 12 bytes, Stack size 8 bytes, stm324xg_eval_lcd.o(i.LCD_SetBackColor))
  [Stack]

  - Max Depth = 8
  - Call Chain = LCD_SetBackColor
  [Called By]
  - >> LCD_LOG_SetHeader
  - >> LCD_LOG_SetFooter

  LCD_SetCursor (Thumb, 58 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_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, 12 bytes, Stack size 8 bytes, stm324xg_eval_lcd.o(i.LCD_SetTextColor))
  [Stack]

  - Max Depth = 8
  - Call Chain = LCD_SetTextColor
  [Called By]
  - >> LCD_LOG_SetHeader
  - >> USBD_USR_Init
  - >> SysTick_Handler
  - >> 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

  MAL_DeInit (Thumb, 28 bytes, Stack size 16 bytes, usbd_dfu_mal.o(i.MAL_DeInit))
  [Stack]

  - Max Depth = 16
  - Call Chain = MAL_DeInit
  [Called By]
  - >> usbd_dfu_DeInit
  - >> DFU_LeaveDFUMode

  MAL_Erase (Thumb, 44 bytes, Stack size 8 bytes, usbd_dfu_mal.o(i.MAL_Erase))
  [Stack]

  - Max Depth = 24
  - Call Chain = MAL_Erase ⇒ MAL_CheckAdd
  [Calls]
  - >> MAL_CheckAdd
  [Called By]
  - >> EP0_TxSent

  MAL_GetStatus (Thumb, 80 bytes, Stack size 16 bytes, usbd_dfu_mal.o(i.MAL_GetStatus))
  [Stack]

  - Max Depth = 32
  - Call Chain = MAL_GetStatus ⇒ MAL_CheckAdd
  [Calls]
  - >> MAL_CheckAdd
  [Called By]
  - >> DFU_Req_GETSTATUS

  MAL_Init (Thumb, 28 bytes, Stack size 16 bytes, usbd_dfu_mal.o(i.MAL_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = MAL_Init
  [Called By]
  - >> usbd_dfu_Init

  MAL_Read (Thumb, 38 bytes, Stack size 16 bytes, usbd_dfu_mal.o(i.MAL_Read))
  [Stack]

  - Max Depth = 32
  - Call Chain = MAL_Read ⇒ MAL_CheckAdd
  [Calls]
  - >> MAL_CheckAdd
  [Called By]
  - >> DFU_Req_UPLOAD

  MAL_Write (Thumb, 48 bytes, Stack size 16 bytes, usbd_dfu_mal.o(i.MAL_Write))
  [Stack]

  - Max Depth = 32
  - Call Chain = MAL_Write ⇒ MAL_CheckAdd
  [Calls]
  - >> MAL_CheckAdd
  [Called By]
  - >> EP0_TxSent

  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, 96 bytes, Stack size 12 bytes, misc.o(i.NVIC_Init))
  [Stack]

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

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

  - >> USB_OTG_BSP_EnableInterrupt

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

  - Max Depth = 100
  - Call Chain = OTG_FS_IRQHandler ⇒ USBD_OTG_ISR_Handler ⇒ DCD_HandleInEP_ISR ⇒ DCD_WriteEmptyTxFifo ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_OTG_ISR_Handler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  OTG_FS_WKUP_IRQHandler (Thumb, 40 bytes, Stack size 8 bytes, stm32fxxx_it.o(i.OTG_FS_WKUP_IRQHandler))
  [Stack]

  - Max Depth = 28
  - Call Chain = OTG_FS_WKUP_IRQHandler ⇒ SystemInit ⇒ SetSysClock
  [Calls]
  - >> USB_OTG_UngateClock
  - >> SystemInit
  - >> EXTI_ClearITPendingBit
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  OTP_If_CheckAdd (Thumb, 18 bytes, Stack size 0 bytes, usbd_otp_if.o(i.OTP_If_CheckAdd))
  [Address Reference Count : 1]

  - usbd_otp_if.o(.data)

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

  - usbd_otp_if.o(.data)

  OTP_If_Write (Thumb, 64 bytes, Stack size 24 bytes, usbd_otp_if.o(i.OTP_If_Write))
  [Stack]

  - Max Depth = 48
  - Call Chain = OTP_If_Write ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation
  [Calls]
  - >> FLASH_ProgramWord
  [Address Reference Count : 1]
  - usbd_otp_if.o(.data)

  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_LEDInit
  - >> USB_OTG_BSP_Init
  - >> STM_EVAL_PBInit
  - >> 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_APB2PeriphClockCmd (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_APB2PeriphClockCmd))
  [Called By]

  - >> USB_OTG_BSP_Init
  - >> STM_EVAL_PBInit

  STM324xG_LCD_Init (Thumb, 1164 bytes, Stack size 32 bytes, stm324xg_eval_lcd.o(i.STM324xG_LCD_Init))
  [Stack]

  - Max Depth = 136
  - Call Chain = STM324xG_LCD_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit
  [Calls]
  - >> delay_ms
  - >> LCD_WriteReg
  - >> LCD_ReadReg
  - >> LCD_FSMCConfig
  - >> LCD_CtrlLinesConfig
  [Called By]
  - >> USBD_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]
  - >> USBD_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]
  - >> main

  STM_EVAL_PBInit (Thumb, 156 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]
  - >> main

  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, 42 bytes, Stack size 8 bytes, stm32f4xx_syscfg.o(i.SYSCFG_EXTILineConfig))
  [Stack]

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

  SysTick_Handler (Thumb, 38 bytes, Stack size 8 bytes, stm32fxxx_it.o(i.SysTick_Handler))
  [Stack]

  - Max Depth = 64
  - Call Chain = SysTick_Handler ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetTextColor
  - >> LCD_DisplayStringLine
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

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

  - Max Depth = 20
  - Call Chain = SystemInit ⇒ SetSysClock
  [Calls]
  - >> SetSysClock
  [Called By]
  - >> OTG_FS_WKUP_IRQHandler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(.text)

  USBD_ClrCfg (Thumb, 14 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_ClrCfg))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_ClrCfg
  [Called By]
  - >> USBD_SetConfig

  USBD_CtlContinueRx (Thumb, 18 bytes, Stack size 8 bytes, usbd_ioreq.o(i.USBD_CtlContinueRx))
  [Stack]

  - Max Depth = 48
  - Call Chain = USBD_CtlContinueRx ⇒ DCD_EP_PrepareRx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> DCD_EP_PrepareRx
  [Called By]
  - >> USBD_DataOutStage

  USBD_CtlContinueSendData (Thumb, 18 bytes, Stack size 8 bytes, usbd_ioreq.o(i.USBD_CtlContinueSendData))
  [Stack]

  - Max Depth = 56
  - Call Chain = USBD_CtlContinueSendData ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> DCD_EP_Tx
  [Called By]
  - >> USBD_DataInStage

  USBD_CtlError (Thumb, 28 bytes, Stack size 8 bytes, usbd_req.o(i.USBD_CtlError))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBD_CtlError ⇒ DCD_EP_Stall
  [Calls]
  - >> USB_OTG_EP0_OutStart
  - >> DCD_EP_Stall
  [Called By]
  - >> usbd_dfu_Setup
  - >> EP0_TxSent
  - >> DFU_Req_UPLOAD
  - >> DFU_Req_DNLOAD
  - >> USBD_StdItfReq
  - >> USBD_StdEPReq
  - >> USBD_StdDevReq
  - >> USBD_SetConfig
  - >> USBD_GetDescriptor

  USBD_CtlPrepareRx (Thumb, 32 bytes, Stack size 8 bytes, usbd_ioreq.o(i.USBD_CtlPrepareRx))
  [Stack]

  - Max Depth = 48
  - Call Chain = USBD_CtlPrepareRx ⇒ DCD_EP_PrepareRx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> DCD_EP_PrepareRx
  [Called By]
  - >> DFU_Req_DNLOAD

  USBD_CtlReceiveStatus (Thumb, 34 bytes, Stack size 16 bytes, usbd_ioreq.o(i.USBD_CtlReceiveStatus))
  [Stack]

  - Max Depth = 56
  - Call Chain = USBD_CtlReceiveStatus ⇒ DCD_EP_PrepareRx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_EP0_OutStart
  - >> DCD_EP_PrepareRx
  [Called By]
  - >> USBD_DataInStage

  USBD_CtlSendData (Thumb, 32 bytes, Stack size 8 bytes, usbd_ioreq.o(i.USBD_CtlSendData))
  [Stack]

  - Max Depth = 56
  - Call Chain = USBD_CtlSendData ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> DCD_EP_Tx
  [Called By]
  - >> usbd_dfu_Setup
  - >> DFU_Req_UPLOAD
  - >> DFU_Req_GETSTATUS
  - >> USBD_StdEPReq
  - >> USBD_StdDevReq
  - >> USBD_GetDescriptor

  USBD_CtlSendStatus (Thumb, 34 bytes, Stack size 16 bytes, usbd_ioreq.o(i.USBD_CtlSendStatus))
  [Stack]

  - Max Depth = 64
  - Call Chain = USBD_CtlSendStatus ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_EP0_OutStart
  - >> DCD_EP_Tx
  [Called By]
  - >> USBD_DataOutStage
  - >> USBD_StdItfReq
  - >> USBD_StdEPReq
  - >> USBD_StdDevReq
  - >> USBD_SetFeature
  - >> USBD_SetConfig

  USBD_GetString (Thumb, 70 bytes, Stack size 16 bytes, usbd_req.o(i.USBD_GetString))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBD_GetString
  [Called By]
  - >> USBD_USR_SerialStrDescriptor
  - >> USBD_USR_ProductStrDescriptor
  - >> USBD_USR_ManufacturerStrDescriptor
  - >> USBD_USR_InterfaceStrDescriptor
  - >> USBD_USR_ConfigStrDescriptor
  - >> USBD_DFU_GetUsrStringDesc

  USBD_Init (Thumb, 52 bytes, Stack size 24 bytes, usbd_core.o(i.USBD_Init))
  [Stack]

  - Max Depth = 80
  - Call Chain = USBD_Init ⇒ DCD_Init ⇒ USB_OTG_CoreInitDev ⇒ USB_OTG_FlushTxFifo
  [Calls]
  - >> USB_OTG_BSP_Init
  - >> USB_OTG_BSP_EnableInterrupt
  - >> DCD_Init
  [Called By]
  - >> main

  USBD_OTG_ISR_Handler (Thumb, 370 bytes, Stack size 32 bytes, usb_dcd_int.o(i.USBD_OTG_ISR_Handler))
  [Stack]

  - Max Depth = 100
  - Call Chain = USBD_OTG_ISR_Handler ⇒ DCD_HandleInEP_ISR ⇒ DCD_WriteEmptyTxFifo ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_ReadCoreItr
  - >> USB_OTG_IsDeviceMode
  - >> USB_OTG_GetDeviceSpeed
  - >> USB_OTG_EP0Activate
  - >> DCD_HandleUsbReset_ISR
  - >> DCD_HandleUSBSuspend_ISR
  - >> DCD_HandleRxStatusQueueLevel_ISR
  - >> DCD_HandleOutEP_ISR
  - >> DCD_HandleInEP_ISR
  [Called By]
  - >> OTG_FS_IRQHandler

  USBD_ParseSetupRequest (Thumb, 68 bytes, Stack size 0 bytes, usbd_req.o(i.USBD_ParseSetupRequest))
  [Called By]

  - >> USBD_SetupStage

  USBD_SetCfg (Thumb, 26 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_SetCfg))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_SetCfg
  [Called By]
  - >> USBD_SetConfig

  USBD_StdDevReq (Thumb, 236 bytes, Stack size 24 bytes, usbd_req.o(i.USBD_StdDevReq))
  [Stack]

  - Max Depth = 104
  - Call Chain = USBD_StdDevReq ⇒ USBD_SetConfig ⇒ USBD_CtlSendStatus ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_CtlSendStatus
  - >> USBD_CtlSendData
  - >> USBD_CtlError
  - >> USBD_SetFeature
  - >> USBD_SetConfig
  - >> USBD_GetDescriptor
  - >> DCD_EP_SetAddress
  [Called By]
  - >> USBD_SetupStage

  USBD_StdEPReq (Thumb, 208 bytes, Stack size 16 bytes, usbd_req.o(i.USBD_StdEPReq))
  [Stack]

  - Max Depth = 80
  - Call Chain = USBD_StdEPReq ⇒ USBD_CtlSendStatus ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_CtlSendStatus
  - >> USBD_CtlSendData
  - >> USBD_CtlError
  - >> DCD_EP_Stall
  - >> DCD_EP_ClrStall
  [Called By]
  - >> USBD_SetupStage

  USBD_StdItfReq (Thumb, 54 bytes, Stack size 16 bytes, usbd_req.o(i.USBD_StdItfReq))
  [Stack]

  - Max Depth = 80
  - Call Chain = USBD_StdItfReq ⇒ USBD_CtlSendStatus ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_CtlSendStatus
  - >> USBD_CtlError
  [Called By]
  - >> USBD_SetupStage

  USBD_USR_ConfigStrDescriptor (Thumb, 16 bytes, Stack size 8 bytes, usbd_desc.o(i.USBD_USR_ConfigStrDescriptor))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBD_USR_ConfigStrDescriptor ⇒ USBD_GetString
  [Calls]
  - >> USBD_GetString
  [Address Reference Count : 1]
  - usbd_desc.o(.data)

  USBD_USR_DeviceConfigured (Thumb, 42 bytes, Stack size 8 bytes, usbd_usr.o(i.USBD_USR_DeviceConfigured))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_USR_DeviceConfigured
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - usbd_usr.o(.data)

  USBD_USR_DeviceConnected (Thumb, 14 bytes, Stack size 0 bytes, usbd_usr.o(i.USBD_USR_DeviceConnected))
  [Calls]

  - >> __2printf
  [Address Reference Count : 1]
  - usbd_usr.o(.data)

  USBD_USR_DeviceDescriptor (Thumb, 8 bytes, Stack size 0 bytes, usbd_desc.o(i.USBD_USR_DeviceDescriptor))
  [Address Reference Count : 1]

  - usbd_desc.o(.data)

  USBD_USR_DeviceDisconnected (Thumb, 14 bytes, Stack size 0 bytes, usbd_usr.o(i.USBD_USR_DeviceDisconnected))
  [Calls]

  - >> __2printf
  [Address Reference Count : 1]
  - usbd_usr.o(.data)

  USBD_USR_DeviceReset (Thumb, 20 bytes, Stack size 0 bytes, usbd_usr.o(i.USBD_USR_DeviceReset))
  [Stack]

  - Max Depth = 112
  - Call Chain = USBD_USR_DeviceReset ⇒ LCD_LOG_SetFooter ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_LOG_SetFooter
  [Address Reference Count : 1]
  - usbd_usr.o(.data)

  USBD_USR_DeviceResumed (Thumb, 14 bytes, Stack size 0 bytes, usbd_usr.o(i.USBD_USR_DeviceResumed))
  [Calls]

  - >> __2printf
  [Address Reference Count : 1]
  - usbd_usr.o(.data)

  USBD_USR_DeviceSuspended (Thumb, 14 bytes, Stack size 0 bytes, usbd_usr.o(i.USBD_USR_DeviceSuspended))
  [Calls]

  - >> __2printf
  [Address Reference Count : 1]
  - usbd_usr.o(.data)

  USBD_USR_Init (Thumb, 86 bytes, Stack size 8 bytes, usbd_usr.o(i.USBD_USR_Init))
  [Stack]

  - Max Depth = 144
  - Call Chain = USBD_USR_Init ⇒ STM324xG_LCD_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit
  [Calls]
  - >> STM_EVAL_LEDInit
  - >> STM324xG_LCD_Init
  - >> LCD_LOG_SetHeader
  - >> LCD_LOG_SetFooter
  - >> LCD_LOG_Init
  - >> LCD_SetTextColor
  - >> LCD_DisplayStringLine
  - >> __2printf
  [Address Reference Count : 1]
  - usbd_usr.o(.data)

  USBD_USR_InterfaceStrDescriptor (Thumb, 16 bytes, Stack size 8 bytes, usbd_desc.o(i.USBD_USR_InterfaceStrDescriptor))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBD_USR_InterfaceStrDescriptor ⇒ USBD_GetString
  [Calls]
  - >> USBD_GetString
  [Address Reference Count : 1]
  - usbd_desc.o(.data)

  USBD_USR_LangIDStrDescriptor (Thumb, 8 bytes, Stack size 0 bytes, usbd_desc.o(i.USBD_USR_LangIDStrDescriptor))
  [Address Reference Count : 1]

  - usbd_desc.o(.data)

  USBD_USR_ManufacturerStrDescriptor (Thumb, 16 bytes, Stack size 8 bytes, usbd_desc.o(i.USBD_USR_ManufacturerStrDescriptor))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBD_USR_ManufacturerStrDescriptor ⇒ USBD_GetString
  [Calls]
  - >> USBD_GetString
  [Address Reference Count : 1]
  - usbd_desc.o(.data)

  USBD_USR_ProductStrDescriptor (Thumb, 24 bytes, Stack size 8 bytes, usbd_desc.o(i.USBD_USR_ProductStrDescriptor))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBD_USR_ProductStrDescriptor ⇒ USBD_GetString
  [Calls]
  - >> USBD_GetString
  [Address Reference Count : 1]
  - usbd_desc.o(.data)

  USBD_USR_SerialStrDescriptor (Thumb, 24 bytes, Stack size 8 bytes, usbd_desc.o(i.USBD_USR_SerialStrDescriptor))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBD_USR_SerialStrDescriptor ⇒ USBD_GetString
  [Calls]
  - >> USBD_GetString
  [Address Reference Count : 1]
  - usbd_desc.o(.data)

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

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

  USB_OTG_BSP_Init (Thumb, 164 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_AHB2PeriphClockCmd
  - >> RCC_AHB1PeriphClockCmd
  - >> GPIO_PinAFConfig
  - >> GPIO_Init
  [Called By]
  - >> USBD_Init

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

  - >> DFU_Req_DETACH
  - >> DCD_DevDisconnect
  - >> DCD_DevConnect
  - >> USB_OTG_SetCurrentMode
  - >> USB_OTG_CoreInit

  USB_OTG_BSP_uDelay (Thumb, 22 bytes, Stack size 0 bytes, usb_bsp.o(i.USB_OTG_BSP_uDelay))
  [Called By]

  - >> USB_OTG_CoreReset
  - >> USB_OTG_FlushTxFifo
  - >> USB_OTG_FlushRxFifo

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

  - Max Depth = 40
  - Call Chain = USB_OTG_CoreInit ⇒ USB_OTG_CoreReset
  [Calls]
  - >> USB_OTG_CoreReset
  - >> USB_OTG_BSP_mDelay
  [Called By]
  - >> DCD_Init

  USB_OTG_CoreInitDev (Thumb, 290 bytes, Stack size 24 bytes, usb_core.o(i.USB_OTG_CoreInitDev))
  [Stack]

  - Max Depth = 40
  - Call Chain = USB_OTG_CoreInitDev ⇒ USB_OTG_FlushTxFifo
  [Calls]
  - >> USB_OTG_FlushTxFifo
  - >> USB_OTG_InitDevSpeed
  - >> USB_OTG_FlushRxFifo
  - >> USB_OTG_EnableDevInt
  [Called By]
  - >> DCD_Init

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

  - >> DCD_Init

  USB_OTG_EP0Activate (Thumb, 58 bytes, Stack size 8 bytes, usb_core.o(i.USB_OTG_EP0Activate))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_OTG_EP0Activate
  [Called By]
  - >> USBD_OTG_ISR_Handler

  USB_OTG_EP0StartXfer (Thumb, 182 bytes, Stack size 20 bytes, usb_core.o(i.USB_OTG_EP0StartXfer))
  [Stack]

  - Max Depth = 20
  - Call Chain = USB_OTG_EP0StartXfer
  [Called By]
  - >> DCD_EP_Tx
  - >> DCD_EP_PrepareRx

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

  - >> DCD_HandleUsbReset_ISR
  - >> DCD_HandleOutEP_ISR
  - >> DCD_HandleInEP_ISR
  - >> USBD_CtlReceiveStatus
  - >> USBD_CtlSendStatus
  - >> USBD_CtlError

  USB_OTG_EPActivate (Thumb, 82 bytes, Stack size 20 bytes, usb_core.o(i.USB_OTG_EPActivate))
  [Stack]

  - Max Depth = 20
  - Call Chain = USB_OTG_EPActivate
  [Called By]
  - >> DCD_EP_Open

  USB_OTG_EPClearStall (Thumb, 50 bytes, Stack size 8 bytes, usb_core.o(i.USB_OTG_EPClearStall))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_OTG_EPClearStall
  [Called By]
  - >> DCD_EP_ClrStall

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

  - >> DCD_EP_Stall

  USB_OTG_EPStartXfer (Thumb, 288 bytes, Stack size 20 bytes, usb_core.o(i.USB_OTG_EPStartXfer))
  [Stack]

  - Max Depth = 32
  - Call Chain = USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_WritePacket
  [Called By]
  - >> DCD_EP_Tx
  - >> DCD_EP_PrepareRx

  USB_OTG_EnableDevInt (Thumb, 74 bytes, Stack size 12 bytes, usb_core.o(i.USB_OTG_EnableDevInt))
  [Stack]

  - Max Depth = 12
  - Call Chain = USB_OTG_EnableDevInt
  [Called By]
  - >> USB_OTG_CoreInitDev

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

  - >> DCD_Init

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

  - Max Depth = 16
  - Call Chain = USB_OTG_FlushRxFifo
  [Calls]
  - >> USB_OTG_BSP_uDelay
  [Called By]
  - >> USB_OTG_CoreInitDev

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

  - Max Depth = 16
  - Call Chain = USB_OTG_FlushTxFifo
  [Calls]
  - >> USB_OTG_BSP_uDelay
  [Called By]
  - >> DCD_HandleUsbReset_ISR
  - >> USB_OTG_CoreInitDev

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

  - >> USBD_OTG_ISR_Handler

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

  - >> USB_OTG_CoreInitDev

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

  - >> USBD_OTG_ISR_Handler

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

  - >> USBD_OTG_ISR_Handler

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

  - >> DCD_HandleInEP_ISR

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

  - >> DCD_HandleOutEP_ISR

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

  - >> DCD_HandleOutEP_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]
  - >> DCD_HandleRxStatusQueueLevel_ISR

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

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

  - Max Depth = 8
  - Call Chain = USB_OTG_SetCurrentMode
  [Calls]
  - >> USB_OTG_BSP_mDelay
  [Called By]
  - >> DCD_Init

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

  - >> OTG_FS_WKUP_IRQHandler

  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]
  - >> DCD_WriteEmptyTxFifo
  - >> USB_OTG_EPStartXfer

  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$bare (Thumb, 8 bytes, Stack size 0 bytes, printfb.o(i.__0printf$bare), UNUSED)
  [Calls]

  - >> _printf_core

  __1printf$bare (Thumb, 0 bytes, Stack size 0 bytes, printfb.o(i.__0printf$bare), UNUSED)

  __2printf (Thumb, 0 bytes, Stack size 0 bytes, printfb.o(i.__0printf$bare))
  [Called By]

  - >> USBD_USR_Init
  - >> USBD_USR_DeviceSuspended
  - >> USBD_USR_DeviceResumed
  - >> USBD_USR_DeviceDisconnected
  - >> USBD_USR_DeviceConnected
  - >> USBD_USR_DeviceConfigured

  __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, 244 bytes, Stack size 40 bytes, lcd_log.o(i.fputc))
  [Stack]

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

  main (Thumb, 154 bytes, Stack size 16 bytes, app.o(i.main))
  [Stack]

  - Max Depth = 96
  - Call Chain = main ⇒ USBD_Init ⇒ DCD_Init ⇒ USB_OTG_CoreInitDev ⇒ USB_OTG_FlushTxFifo
  [Calls]
  - >> USBD_Init
  - >> STM_EVAL_PBInit
  - >> STM_EVAL_PBGetState
  - >> STM_EVAL_LEDToggle
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  ### Local Symbols

  DCD_HandleInEP_ISR (Thumb, 198 bytes, Stack size 24 bytes, usb_dcd_int.o(i.DCD_HandleInEP_ISR))
  [Stack]

  - Max Depth = 68
  - Call Chain = DCD_HandleInEP_ISR ⇒ DCD_WriteEmptyTxFifo ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_ReadDevAllInEPItr
  - >> USB_OTG_EP0_OutStart
  - >> DCD_WriteEmptyTxFifo
  [Called By]
  - >> USBD_OTG_ISR_Handler

  DCD_HandleOutEP_ISR (Thumb, 166 bytes, Stack size 24 bytes, usb_dcd_int.o(i.DCD_HandleOutEP_ISR))
  [Stack]

  - Max Depth = 24
  - Call Chain = DCD_HandleOutEP_ISR
  [Calls]
  - >> USB_OTG_ReadDevOutEP_itr
  - >> USB_OTG_ReadDevAllOutEp_itr
  - >> USB_OTG_EP0_OutStart
  [Called By]
  - >> USBD_OTG_ISR_Handler

  DCD_HandleRxStatusQueueLevel_ISR (Thumb, 124 bytes, Stack size 16 bytes, usb_dcd_int.o(i.DCD_HandleRxStatusQueueLevel_ISR))
  [Stack]

  - Max Depth = 24
  - Call Chain = DCD_HandleRxStatusQueueLevel_ISR ⇒ USB_OTG_ReadPacket
  [Calls]
  - >> USB_OTG_ReadPacket
  [Called By]
  - >> USBD_OTG_ISR_Handler

  DCD_HandleUSBSuspend_ISR (Thumb, 102 bytes, Stack size 16 bytes, usb_dcd_int.o(i.DCD_HandleUSBSuspend_ISR))
  [Stack]

  - Max Depth = 16
  - Call Chain = DCD_HandleUSBSuspend_ISR
  [Called By]
  - >> USBD_OTG_ISR_Handler

  DCD_HandleUsbReset_ISR (Thumb, 128 bytes, Stack size 16 bytes, usb_dcd_int.o(i.DCD_HandleUsbReset_ISR))
  [Stack]

  - Max Depth = 32
  - Call Chain = DCD_HandleUsbReset_ISR ⇒ USB_OTG_FlushTxFifo
  [Calls]
  - >> USB_OTG_FlushTxFifo
  - >> USB_OTG_EP0_OutStart
  [Called By]
  - >> USBD_OTG_ISR_Handler

  DCD_WriteEmptyTxFifo (Thumb, 126 bytes, Stack size 32 bytes, usb_dcd_int.o(i.DCD_WriteEmptyTxFifo))
  [Stack]

  - Max Depth = 44
  - Call Chain = DCD_WriteEmptyTxFifo ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USB_OTG_WritePacket
  [Called By]
  - >> DCD_HandleInEP_ISR

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

  - Max Depth = 24
  - Call Chain = USB_OTG_CoreReset
  [Calls]
  - >> USB_OTG_BSP_uDelay
  [Called By]
  - >> USB_OTG_CoreInit

  USBD_GetDescriptor (Thumb, 224 bytes, Stack size 16 bytes, usbd_req.o(i.USBD_GetDescriptor))
  [Stack]

  - Max Depth = 72
  - Call Chain = USBD_GetDescriptor ⇒ USBD_CtlSendData ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_CtlSendData
  - >> USBD_CtlError
  [Called By]
  - >> USBD_StdDevReq

  USBD_SetConfig (Thumb, 112 bytes, Stack size 16 bytes, usbd_req.o(i.USBD_SetConfig))
  [Stack]

  - Max Depth = 80
  - Call Chain = USBD_SetConfig ⇒ USBD_CtlSendStatus ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_SetCfg
  - >> USBD_CtlSendStatus
  - >> USBD_ClrCfg
  - >> USBD_CtlError
  [Called By]
  - >> USBD_StdDevReq

  USBD_SetFeature (Thumb, 118 bytes, Stack size 8 bytes, usbd_req.o(i.USBD_SetFeature))
  [Stack]

  - Max Depth = 72
  - Call Chain = USBD_SetFeature ⇒ USBD_CtlSendStatus ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_CtlSendStatus
  [Called By]
  - >> USBD_StdDevReq

  USBD_DataInStage (Thumb, 172 bytes, Stack size 16 bytes, usbd_core.o(i.USBD_DataInStage))
  [Stack]

  - Max Depth = 72
  - Call Chain = USBD_DataInStage ⇒ USBD_CtlReceiveStatus ⇒ DCD_EP_PrepareRx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_CtlReceiveStatus
  - >> USBD_CtlContinueSendData
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_DataOutStage (Thumb, 120 bytes, Stack size 16 bytes, usbd_core.o(i.USBD_DataOutStage))
  [Stack]

  - Max Depth = 80
  - Call Chain = USBD_DataOutStage ⇒ USBD_CtlSendStatus ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_CtlContinueRx
  - >> USBD_CtlSendStatus
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_DevConnected (Thumb, 22 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_DevConnected))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_DevConnected
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_DevDisconnected (Thumb, 32 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_DevDisconnected))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_DevDisconnected
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_IsoINIncomplete (Thumb, 14 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_IsoINIncomplete))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_IsoINIncomplete
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_IsoOUTIncomplete (Thumb, 14 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_IsoOUTIncomplete))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_IsoOUTIncomplete
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_Reset (Thumb, 46 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_Reset))
  [Stack]

  - Max Depth = 44
  - Call Chain = USBD_Reset ⇒ DCD_EP_Open ⇒ USB_OTG_EPActivate
  [Calls]
  - >> DCD_EP_Open
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_Resume (Thumb, 22 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_Resume))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_Resume
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_SOF (Thumb, 16 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_SOF))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_SOF
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_SetupStage (Thumb, 72 bytes, Stack size 16 bytes, usbd_core.o(i.USBD_SetupStage))
  [Stack]

  - Max Depth = 120
  - Call Chain = USBD_SetupStage ⇒ USBD_StdDevReq ⇒ USBD_SetConfig ⇒ USBD_CtlSendStatus ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_StdItfReq
  - >> USBD_StdEPReq
  - >> USBD_StdDevReq
  - >> USBD_ParseSetupRequest
  - >> DCD_EP_Stall
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  USBD_Suspend (Thumb, 28 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_Suspend))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_Suspend
  [Address Reference Count : 1]
  - usbd_core.o(.data)

  MAL_CheckAdd (Thumb, 34 bytes, Stack size 16 bytes, usbd_dfu_mal.o(i.MAL_CheckAdd))
  [Stack]

  - Max Depth = 16
  - Call Chain = MAL_CheckAdd
  [Called By]
  - >> MAL_Write
  - >> MAL_Read
  - >> MAL_GetStatus
  - >> MAL_Erase

  DFU_LeaveDFUMode (Thumb, 80 bytes, Stack size 8 bytes, usbd_dfu_core.o(i.DFU_LeaveDFUMode))
  [Stack]

  - Max Depth = 24
  - Call Chain = DFU_LeaveDFUMode ⇒ MAL_DeInit
  [Calls]
  - >> MAL_DeInit
  - >> DCD_DevDisconnect
  [Called By]
  - >> EP0_TxSent

  DFU_Req_ABORT (Thumb, 52 bytes, Stack size 0 bytes, usbd_dfu_core.o(i.DFU_Req_ABORT))
  [Called By]

  - >> usbd_dfu_Setup

  DFU_Req_CLRSTATUS (Thumb, 42 bytes, Stack size 0 bytes, usbd_dfu_core.o(i.DFU_Req_CLRSTATUS))
  [Called By]

  - >> usbd_dfu_Setup

  DFU_Req_DETACH (Thumb, 90 bytes, Stack size 16 bytes, usbd_dfu_core.o(i.DFU_Req_DETACH))
  [Stack]

  - Max Depth = 16
  - Call Chain = DFU_Req_DETACH
  [Calls]
  - >> USB_OTG_BSP_mDelay
  - >> DCD_DevDisconnect
  - >> DCD_DevConnect
  [Called By]
  - >> usbd_dfu_Setup

  DFU_Req_DNLOAD (Thumb, 78 bytes, Stack size 8 bytes, usbd_dfu_core.o(i.DFU_Req_DNLOAD))
  [Stack]

  - Max Depth = 56
  - Call Chain = DFU_Req_DNLOAD ⇒ USBD_CtlPrepareRx ⇒ DCD_EP_PrepareRx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> USBD_CtlPrepareRx
  - >> USBD_CtlError
  [Called By]
  - >> usbd_dfu_Setup

  DFU_Req_GETSTATUS (Thumb, 132 bytes, Stack size 8 bytes, usbd_dfu_core.o(i.DFU_Req_GETSTATUS))
  [Stack]

  - Max Depth = 64
  - Call Chain = DFU_Req_GETSTATUS ⇒ USBD_CtlSendData ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> MAL_GetStatus
  - >> USBD_CtlSendData
  [Called By]
  - >> usbd_dfu_Setup

  DFU_Req_UPLOAD (Thumb, 164 bytes, Stack size 16 bytes, usbd_dfu_core.o(i.DFU_Req_UPLOAD))
  [Stack]

  - Max Depth = 72
  - Call Chain = DFU_Req_UPLOAD ⇒ USBD_CtlSendData ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> MAL_Read
  - >> USBD_CtlSendData
  - >> USBD_CtlError
  [Called By]
  - >> usbd_dfu_Setup

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

  - usbd_dfu_core.o(.data)

  EP0_TxSent (Thumb, 162 bytes, Stack size 24 bytes, usbd_dfu_core.o(i.EP0_TxSent))
  [Stack]

  - Max Depth = 56
  - Call Chain = EP0_TxSent ⇒ MAL_Write ⇒ MAL_CheckAdd
  [Calls]
  - >> DFU_LeaveDFUMode
  - >> MAL_Write
  - >> MAL_Erase
  - >> USBD_CtlError
  [Address Reference Count : 1]
  - usbd_dfu_core.o(.data)

  USBD_DFU_GetCfgDesc (Thumb, 8 bytes, Stack size 0 bytes, usbd_dfu_core.o(i.USBD_DFU_GetCfgDesc))
  [Address Reference Count : 1]

  - usbd_dfu_core.o(.data)

  USBD_DFU_GetUsrStringDesc (Thumb, 30 bytes, Stack size 8 bytes, usbd_dfu_core.o(i.USBD_DFU_GetUsrStringDesc))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBD_DFU_GetUsrStringDesc ⇒ USBD_GetString
  [Calls]
  - >> USBD_GetString
  [Address Reference Count : 1]
  - usbd_dfu_core.o(.data)

  usbd_dfu_DeInit (Thumb, 30 bytes, Stack size 8 bytes, usbd_dfu_core.o(i.usbd_dfu_DeInit))
  [Stack]

  - Max Depth = 24
  - Call Chain = usbd_dfu_DeInit ⇒ MAL_DeInit
  [Calls]
  - >> MAL_DeInit
  [Address Reference Count : 1]
  - usbd_dfu_core.o(.data)

  usbd_dfu_Init (Thumb, 24 bytes, Stack size 8 bytes, usbd_dfu_core.o(i.usbd_dfu_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = usbd_dfu_Init ⇒ MAL_Init
  [Calls]
  - >> MAL_Init
  [Address Reference Count : 1]
  - usbd_dfu_core.o(.data)

  usbd_dfu_Setup (Thumb, 160 bytes, Stack size 16 bytes, usbd_dfu_core.o(i.usbd_dfu_Setup))
  [Stack]

  - Max Depth = 88
  - Call Chain = usbd_dfu_Setup ⇒ DFU_Req_UPLOAD ⇒ USBD_CtlSendData ⇒ DCD_EP_Tx ⇒ USB_OTG_EPStartXfer ⇒ USB_OTG_WritePacket
  [Calls]
  - >> DFU_Req_UPLOAD
  - >> DFU_Req_GETSTATUS
  - >> DFU_Req_DNLOAD
  - >> DFU_Req_DETACH
  - >> DFU_Req_CLRSTATUS
  - >> DFU_Req_ABORT
  - >> USBD_CtlSendData
  - >> USBD_CtlError
  [Address Reference Count : 1]
  - usbd_dfu_core.o(.data)

  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, 162 bytes, Stack size 12 bytes, system_stm32f4xx.o(i.SetSysClock))
  [Stack]

  - Max Depth = 12
  - Call Chain = SetSysClock
  [Called By]
  - >> SystemInit

  _printf_core (Thumb, 34 bytes, Stack size 24 bytes, printfb.o(i._printf_core), UNUSED)
  [Called By]

  - >> __0printf$bare

  ### Undefined Global Symbols