# Static Call Graph for image ..\OBJ\USB.axf

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Dec 27 14:00:23 2025

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

### Call chain for Maximum Stack Depth:

USB_LP_CAN1_RX0_IRQHandler ⇒ USB_Istr ⇒ CTR_LP ⇒ Setup0_Process ⇒ Data_Setup0 ⇒ DataStageIn ⇒ UserToPMABufferCopy

### Mutually Recursive functions

- ADC1_2_IRQHandler ⇒ ADC1_2_IRQHandler

  ### Function Pointers

  - ADC1_2_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - ADC3_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - BusFault_Handler from w55mh32_it.o(i.BusFault_Handler) referenced from startup_w55mh32.o(RESET)
  - CAN1_RX1_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - CAN1_SCE_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA1_Channel1_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA1_Channel2_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA1_Channel3_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA1_Channel4_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA1_Channel5_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA1_Channel6_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA1_Channel7_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA2_Channel1_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA2_Channel2_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA2_Channel3_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DMA2_Channel4_5_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - DebugMon_Handler from w55mh32_it.o(i.DebugMon_Handler) referenced from startup_w55mh32.o(RESET)
  - EP1_IN_Callback from usb_endp.o(i.EP1_IN_Callback) referenced 2 times from usb_istr.o(.data)
  - EP2_IN_Callback from usb_endp.o(i.EP2_IN_Callback) referenced 2 times from usb_istr.o(.data)
  - EXTI0_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - EXTI15_10_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - EXTI1_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - EXTI2_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - EXTI3_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - EXTI4_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - EXTI9_5_IRQHandler from w55mh32_it.o(i.EXTI9_5_IRQHandler) referenced from startup_w55mh32.o(RESET)
  - FLASH_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - FSMC_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - HardFault_Handler from w55mh32_it.o(i.HardFault_Handler) referenced from startup_w55mh32.o(RESET)
  - I2C1_ER_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - I2C1_EV_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - I2C2_ER_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - I2C2_EV_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - Joystick_Data_Setup from usb_prop.o(i.Joystick_Data_Setup) referenced 2 times from usb_prop.o(.data)
  - Joystick_GetConfigDescriptor from usb_prop.o(i.Joystick_GetConfigDescriptor) referenced 2 times from usb_prop.o(.data)
  - Joystick_GetDeviceDescriptor from usb_prop.o(i.Joystick_GetDeviceDescriptor) referenced 2 times from usb_prop.o(.data)
  - Joystick_GetHIDDescriptor from usb_prop.o(i.Joystick_GetHIDDescriptor) referenced from usb_prop.o(i.Joystick_Data_Setup)
  - Joystick_GetProtocolValue from usb_prop.o(i.Joystick_GetProtocolValue) referenced from usb_prop.o(i.Joystick_Data_Setup)
  - Joystick_GetReportDescriptor from usb_prop.o(i.Joystick_GetReportDescriptor) referenced from usb_prop.o(i.Joystick_Data_Setup)
  - Joystick_GetStringDescriptor from usb_prop.o(i.Joystick_GetStringDescriptor) referenced 2 times from usb_prop.o(.data)
  - Joystick_Get_Interface_Setting from usb_prop.o(i.Joystick_Get_Interface_Setting) referenced 2 times from usb_prop.o(.data)
  - Joystick_NoData_Setup from usb_prop.o(i.Joystick_NoData_Setup) referenced 2 times from usb_prop.o(.data)
  - Joystick_Reset from usb_prop.o(i.Joystick_Reset) referenced 2 times from usb_prop.o(.data)
  - Joystick_SetConfiguration from usb_prop.o(i.Joystick_SetConfiguration) referenced 2 times from usb_prop.o(.data)
  - Joystick_SetDeviceAddress from usb_prop.o(i.Joystick_SetDeviceAddress) referenced 2 times from usb_prop.o(.data)
  - Joystick_SetReport from usb_prop.o(i.Joystick_SetReport) referenced from usb_prop.o(i.Joystick_Data_Setup)
  - Joystick_Status_In from usb_prop.o(i.Joystick_Status_In) referenced 2 times from usb_prop.o(.data)
  - Joystick_Status_Out from usb_prop.o(i.Joystick_Status_Out) referenced 2 times from usb_prop.o(.data)
  - Joystick_init from usb_prop.o(i.Joystick_init) referenced 2 times from usb_prop.o(.data)
  - Keyboard_GetHIDDescriptor from usb_prop.o(i.Keyboard_GetHIDDescriptor) referenced from usb_prop.o(i.Joystick_Data_Setup)
  - Keyboard_GetReportDescriptor from usb_prop.o(i.Keyboard_GetReportDescriptor) referenced from usb_prop.o(i.Joystick_Data_Setup)
  - MemManage_Handler from w55mh32_it.o(i.MemManage_Handler) referenced from startup_w55mh32.o(RESET)
  - NMI_Handler from w55mh32_it.o(i.NMI_Handler) referenced from startup_w55mh32.o(RESET)
  - NOP_Process from usb_core.o(i.NOP_Process) referenced 38 times from usb_istr.o(.data)
  - PVD_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - PendSV_Handler from w55mh32_it.o(i.PendSV_Handler) referenced from startup_w55mh32.o(RESET)
  - RCC_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - RNG_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - RTCAlarm_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - RTC_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - Reset_Handler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - SDIO_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - SENSOR_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - SPI1_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - SPI2_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - SPI3_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - SVC_Handler from w55mh32_it.o(i.SVC_Handler) referenced from startup_w55mh32.o(RESET)
  - SYMC_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - Standard_GetConfiguration from usb_core.o(i.Standard_GetConfiguration) referenced from usb_core.o(i.Data_Setup0)
  - Standard_GetInterface from usb_core.o(i.Standard_GetInterface) referenced from usb_core.o(i.Data_Setup0)
  - Standard_GetStatus from usb_core.o(i.Standard_GetStatus) referenced from usb_core.o(i.Data_Setup0)
  - SysTick_Handler from w55mh32_it.o(i.SysTick_Handler) referenced from startup_w55mh32.o(RESET)
  - SystemInit from system_w55mh32.o(i.SystemInit) referenced from startup_w55mh32.o(.text)
  - TAMPER_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM1_BRK_TIM9_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM1_CC_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM1_TRG_COM_TIM11_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM1_UP_TIM10_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM2_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM3_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM4_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM5_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM6_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM7_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM8_BRK_TIM12_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM8_CC_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM8_TRG_COM_TIM14_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - TIM8_UP_TIM13_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - UART4_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - UART5_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - USART1_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - USART2_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - USART3_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - USBWakeUp_IRQHandler from w55mh32_it.o(i.USBWakeUp_IRQHandler) referenced from startup_w55mh32.o(RESET)
  - USB_HP_CAN1_TX_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - USB_LP_CAN1_RX0_IRQHandler from w55mh32_it.o(i.USB_LP_CAN1_RX0_IRQHandler) referenced from startup_w55mh32.o(RESET)
  - UsageFault_Handler from w55mh32_it.o(i.UsageFault_Handler) referenced from startup_w55mh32.o(RESET)
  - WWDG_IRQHandler from startup_w55mh32.o(.text) referenced from startup_w55mh32.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_w55mh32.o(.text)
  - main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)

  ### Global Symbols

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

  - startup_w55mh32.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_lib_shutdown_fini (Thumb, 0 bytes, Stack size unknown bytes, entry12b.o(.ARM.Collect$$$$0000000E))

  __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000F))

  __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$00000011))

  BOOT_RAM (Thumb, 8 bytes, Stack size 0 bytes, startup_w55mh32.o(.text), UNUSED)

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

  - startup_w55mh32.o(RESET)

  ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_w55mh32.o(.text))
  [Calls]

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

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.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, 4 bytes, Stack size 0 bytes, w55mh32_it.o(i.BusFault_Handler))
  [Address Reference Count : 1]

  - startup_w55mh32.o(RESET)

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

  - >> Setup0_Process

  CTR_LP (Thumb, 682 bytes, Stack size 16 bytes, usb_int.o(i.CTR_LP))
  [Stack]

  - Max Depth = 124
  - Call Chain = CTR_LP ⇒ Setup0_Process ⇒ Data_Setup0 ⇒ DataStageIn ⇒ UserToPMABufferCopy
  [Calls]
  - >> Setup0_Process
  - >> Out0_Process
  - >> In0_Process
  [Called By]
  - >> USB_Istr

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

  - >> Standard_ClearFeature

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

  - >> Standard_ClearFeature

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

  - >> Joystick_Reset

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

  - startup_w55mh32.o(RESET)

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

  - usb_istr.o(.data)

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

  - usb_istr.o(.data)

  EXTI9_5_IRQHandler (Thumb, 66 bytes, Stack size 8 bytes, w55mh32_it.o(i.EXTI9_5_IRQHandler))
  [Stack]

  - Max Depth = 16
  - Call Chain = EXTI9_5_IRQHandler ⇒ Resume
  [Calls]
  - >> Resume
  - >> EXTI_GetITStatus
  - >> EXTI_ClearITPendingBit
  [Address Reference Count : 1]
  - startup_w55mh32.o(RESET)

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

  - >> USBWakeUp_IRQHandler
  - >> EXTI9_5_IRQHandler

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

  - >> EXTI9_5_IRQHandler

  GPIO_Init (Thumb, 278 bytes, Stack size 24 bytes, w55mh32_gpio.o(i.GPIO_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = GPIO_Init
  [Called By]
  - >> Set_System

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

  - >> DataStageOut

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

  - >> USB_SIL_Write
  - >> DataStageIn

  Get_SerialNum (Thumb, 42 bytes, Stack size 16 bytes, hw_config.o(i.Get_SerialNum))
  [Stack]

  - Max Depth = 28
  - Call Chain = Get_SerialNum ⇒ IntToUnicode
  [Calls]
  - >> IntToUnicode
  [Called By]
  - >> Joystick_init

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

  - startup_w55mh32.o(RESET)

  In0_Process (Thumb, 98 bytes, Stack size 8 bytes, usb_core.o(i.In0_Process))
  [Stack]

  - Max Depth = 60
  - Call Chain = In0_Process ⇒ DataStageIn ⇒ UserToPMABufferCopy
  [Calls]
  - >> SetDeviceAddress
  - >> Post0_Process
  - >> DataStageIn
  [Called By]
  - >> CTR_LP

  Joystick_Data_Setup (Thumb, 152 bytes, Stack size 16 bytes, usb_prop.o(i.Joystick_Data_Setup))
  [Stack]

  - Max Depth = 16
  - Call Chain = Joystick_Data_Setup
  [Address Reference Count : 1]
  - usb_prop.o(.data)

  Joystick_GetConfigDescriptor (Thumb, 14 bytes, Stack size 8 bytes, usb_prop.o(i.Joystick_GetConfigDescriptor))
  [Stack]

  - Max Depth = 16
  - Call Chain = Joystick_GetConfigDescriptor ⇒ Standard_GetDescriptorData
  [Calls]
  - >> Standard_GetDescriptorData
  [Address Reference Count : 1]
  - usb_prop.o(.data)

  Joystick_GetDeviceDescriptor (Thumb, 14 bytes, Stack size 8 bytes, usb_prop.o(i.Joystick_GetDeviceDescriptor))
  [Stack]

  - Max Depth = 16
  - Call Chain = Joystick_GetDeviceDescriptor ⇒ Standard_GetDescriptorData
  [Calls]
  - >> Standard_GetDescriptorData
  [Address Reference Count : 1]
  - usb_prop.o(.data)

  Joystick_GetHIDDescriptor (Thumb, 14 bytes, Stack size 8 bytes, usb_prop.o(i.Joystick_GetHIDDescriptor))
  [Stack]

  - Max Depth = 16
  - Call Chain = Joystick_GetHIDDescriptor ⇒ Standard_GetDescriptorData
  [Calls]
  - >> Standard_GetDescriptorData
  [Address Reference Count : 1]
  - usb_prop.o(i.Joystick_Data_Setup)

  Joystick_GetProtocolValue (Thumb, 20 bytes, Stack size 0 bytes, usb_prop.o(i.Joystick_GetProtocolValue))
  [Address Reference Count : 1]

  - usb_prop.o(i.Joystick_Data_Setup)

  Joystick_GetReportDescriptor (Thumb, 14 bytes, Stack size 8 bytes, usb_prop.o(i.Joystick_GetReportDescriptor))
  [Stack]

  - Max Depth = 16
  - Call Chain = Joystick_GetReportDescriptor ⇒ Standard_GetDescriptorData
  [Calls]
  - >> Standard_GetDescriptorData
  [Address Reference Count : 1]
  - usb_prop.o(i.Joystick_Data_Setup)

  Joystick_GetStringDescriptor (Thumb, 32 bytes, Stack size 16 bytes, usb_prop.o(i.Joystick_GetStringDescriptor))
  [Stack]

  - Max Depth = 24
  - Call Chain = Joystick_GetStringDescriptor ⇒ Standard_GetDescriptorData
  [Calls]
  - >> Standard_GetDescriptorData
  [Address Reference Count : 1]
  - usb_prop.o(.data)

  Joystick_Get_Interface_Setting (Thumb, 22 bytes, Stack size 0 bytes, usb_prop.o(i.Joystick_Get_Interface_Setting))
  [Address Reference Count : 1]

  - usb_prop.o(.data)

  Joystick_NoData_Setup (Thumb, 40 bytes, Stack size 4 bytes, usb_prop.o(i.Joystick_NoData_Setup))
  [Stack]

  - Max Depth = 4
  - Call Chain = Joystick_NoData_Setup
  [Calls]
  - >> Joystick_SetProtocol
  [Address Reference Count : 1]
  - usb_prop.o(.data)

  Joystick_Reset (Thumb, 200 bytes, Stack size 8 bytes, usb_prop.o(i.Joystick_Reset))
  [Stack]

  - Max Depth = 20
  - Call Chain = Joystick_Reset ⇒ SetEPRxStatus
  [Calls]
  - >> SetEPType
  - >> SetEPTxAddr
  - >> SetEPRxValid
  - >> SetEPRxStatus
  - >> SetEPRxAddr
  - >> SetBTABLE
  - >> Clear_Status_Out
  - >> SetEPTxStatus
  - >> SetEPTxCount
  - >> SetEPRxCount
  - >> SetDeviceAddress
  [Address Reference Count : 1]
  - usb_prop.o(.data)

  Joystick_SetConfiguration (Thumb, 14 bytes, Stack size 0 bytes, usb_prop.o(i.Joystick_SetConfiguration))
  [Address Reference Count : 1]

  - usb_prop.o(.data)

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

  - usb_prop.o(.data)

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

  - >> Joystick_NoData_Setup

  Joystick_SetReport (Thumb, 20 bytes, Stack size 0 bytes, usb_prop.o(i.Joystick_SetReport))
  [Address Reference Count : 1]

  - usb_prop.o(i.Joystick_Data_Setup)

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

  - usb_prop.o(.data)

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

  - usb_prop.o(.data)

  Joystick_init (Thumb, 30 bytes, Stack size 8 bytes, usb_prop.o(i.Joystick_init))
  [Stack]

  - Max Depth = 36
  - Call Chain = Joystick_init ⇒ Get_SerialNum ⇒ IntToUnicode
  [Calls]
  - >> Get_SerialNum
  - >> USB_SIL_Init
  - >> PowerOn
  [Address Reference Count : 1]
  - usb_prop.o(.data)

  Keyboard_GetHIDDescriptor (Thumb, 14 bytes, Stack size 8 bytes, usb_prop.o(i.Keyboard_GetHIDDescriptor))
  [Stack]

  - Max Depth = 16
  - Call Chain = Keyboard_GetHIDDescriptor ⇒ Standard_GetDescriptorData
  [Calls]
  - >> Standard_GetDescriptorData
  [Address Reference Count : 1]
  - usb_prop.o(i.Joystick_Data_Setup)

  Keyboard_GetReportDescriptor (Thumb, 14 bytes, Stack size 8 bytes, usb_prop.o(i.Keyboard_GetReportDescriptor))
  [Stack]

  - Max Depth = 16
  - Call Chain = Keyboard_GetReportDescriptor ⇒ Standard_GetDescriptorData
  [Calls]
  - >> Standard_GetDescriptorData
  [Address Reference Count : 1]
  - usb_prop.o(i.Joystick_Data_Setup)

  Keyboard_Send (Thumb, 158 bytes, Stack size 32 bytes, hw_config.o(i.Keyboard_Send))
  [Stack]

  - Max Depth = 76
  - Call Chain = Keyboard_Send ⇒ USB_SIL_Write ⇒ UserToPMABufferCopy
  [Calls]
  - >> USB_SIL_Write
  - >> SetEPTxValid
  [Called By]
  - >> main

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

  - startup_w55mh32.o(RESET)

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

  - startup_w55mh32.o(RESET)

  NOP_Process (Thumb, 2 bytes, Stack size 0 bytes, usb_core.o(i.NOP_Process))
  [Address Reference Count : 2]

  - usb_istr.o(.data)
  - usb_prop.o(.data)

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

  - Max Depth = 16
  - Call Chain = NVIC_Init
  [Called By]
  - >> USB_Interrupts_Config

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

  - >> USB_Interrupts_Config

  Out0_Process (Thumb, 70 bytes, Stack size 8 bytes, usb_core.o(i.Out0_Process))
  [Stack]

  - Max Depth = 52
  - Call Chain = Out0_Process ⇒ DataStageOut ⇒ PMAToUserBufferCopy
  [Calls]
  - >> Post0_Process
  - >> DataStageOut
  [Called By]
  - >> CTR_LP

  PMAToUserBufferCopy (Thumb, 34 bytes, Stack size 20 bytes, usb_mem.o(i.PMAToUserBufferCopy))
  [Stack]

  - Max Depth = 20
  - Call Chain = PMAToUserBufferCopy
  [Called By]
  - >> DataStageOut

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

  - startup_w55mh32.o(RESET)

  Post0_Process (Thumb, 54 bytes, Stack size 8 bytes, usb_core.o(i.Post0_Process))
  [Stack]

  - Max Depth = 16
  - Call Chain = Post0_Process ⇒ SetEPRxCount
  [Calls]
  - >> SetEPRxCount
  [Called By]
  - >> Setup0_Process
  - >> Out0_Process
  - >> In0_Process

  PowerOn (Thumb, 70 bytes, Stack size 8 bytes, usb_pwr.o(i.PowerOn))
  [Stack]

  - Max Depth = 8
  - Call Chain = PowerOn
  [Calls]
  - >> USB_Cable_Config
  - >> SetISTR
  [Called By]
  - >> Joystick_init

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

  - >> Set_USBClock
  - >> Set_System

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

  - >> Set_System

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

  - >> Set_USBClock

  Resume (Thumb, 194 bytes, Stack size 8 bytes, usb_pwr.o(i.Resume))
  [Stack]

  - Max Depth = 8
  - Call Chain = Resume
  [Calls]
  - >> Resume_Init
  [Called By]
  - >> USB_Istr
  - >> EXTI9_5_IRQHandler

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

  - >> Resume

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

  - startup_w55mh32.o(RESET)

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

  - >> Joystick_Reset

  SetDeviceAddress (Thumb, 68 bytes, Stack size 12 bytes, usb_core.o(i.SetDeviceAddress))
  [Stack]

  - Max Depth = 12
  - Call Chain = SetDeviceAddress
  [Called By]
  - >> In0_Process
  - >> Joystick_Reset

  SetEPRxAddr (Thumb, 26 bytes, Stack size 8 bytes, usb_regs.o(i.SetEPRxAddr))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetEPRxAddr
  [Called By]
  - >> Joystick_Reset

  SetEPRxCount (Thumb, 68 bytes, Stack size 8 bytes, usb_regs.o(i.SetEPRxCount))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetEPRxCount
  [Called By]
  - >> Standard_ClearFeature
  - >> Post0_Process
  - >> Joystick_Reset

  SetEPRxStatus (Thumb, 60 bytes, Stack size 12 bytes, usb_regs.o(i.SetEPRxStatus))
  [Stack]

  - Max Depth = 12
  - Call Chain = SetEPRxStatus
  [Called By]
  - >> Joystick_Reset

  SetEPRxValid (Thumb, 48 bytes, Stack size 8 bytes, usb_regs.o(i.SetEPRxValid))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetEPRxValid
  [Called By]
  - >> Joystick_Reset

  SetEPTxAddr (Thumb, 24 bytes, Stack size 8 bytes, usb_regs.o(i.SetEPTxAddr))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetEPTxAddr
  [Called By]
  - >> Joystick_Reset

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

  - >> USB_SIL_Write
  - >> DataStageOut
  - >> DataStageIn
  - >> Joystick_Reset

  SetEPTxStatus (Thumb, 60 bytes, Stack size 12 bytes, usb_regs.o(i.SetEPTxStatus))
  [Stack]

  - Max Depth = 12
  - Call Chain = SetEPTxStatus
  [Called By]
  - >> Standard_ClearFeature
  - >> Joystick_Reset

  SetEPTxValid (Thumb, 48 bytes, Stack size 8 bytes, usb_regs.o(i.SetEPTxValid))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetEPTxValid
  [Called By]
  - >> Keyboard_Send

  SetEPType (Thumb, 32 bytes, Stack size 8 bytes, usb_regs.o(i.SetEPType))
  [Stack]

  - Max Depth = 8
  - Call Chain = SetEPType
  [Called By]
  - >> Joystick_Reset

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

  - >> PowerOn

  Set_System (Thumb, 64 bytes, Stack size 16 bytes, hw_config.o(i.Set_System))
  [Stack]

  - Max Depth = 40
  - Call Chain = Set_System ⇒ GPIO_Init
  [Calls]
  - >> RCC_APB2PeriphClockCmd
  - >> RCC_APB1PeriphClockCmd
  - >> GPIO_Init
  [Called By]
  - >> main

  Set_USBClock (Thumb, 18 bytes, Stack size 8 bytes, hw_config.o(i.Set_USBClock))
  [Stack]

  - Max Depth = 8
  - Call Chain = Set_USBClock
  [Calls]
  - >> RCC_USBCLKConfig
  - >> RCC_APB1PeriphClockCmd
  [Called By]
  - >> main

  Setup0_Process (Thumb, 170 bytes, Stack size 16 bytes, usb_core.o(i.Setup0_Process))
  [Stack]

  - Max Depth = 108
  - Call Chain = Setup0_Process ⇒ Data_Setup0 ⇒ DataStageIn ⇒ UserToPMABufferCopy
  [Calls]
  - >> ByteSwap
  - >> Post0_Process
  - >> NoData_Setup0
  - >> Data_Setup0
  [Called By]
  - >> CTR_LP

  Standard_ClearFeature (Thumb, 342 bytes, Stack size 32 bytes, usb_core.o(i.Standard_ClearFeature))
  [Stack]

  - Max Depth = 44
  - Call Chain = Standard_ClearFeature ⇒ SetEPTxStatus
  [Calls]
  - >> SetEPTxStatus
  - >> SetEPRxCount
  - >> ClearDTOG_TX
  - >> ClearDTOG_RX
  [Called By]
  - >> NoData_Setup0

  Standard_GetConfiguration (Thumb, 34 bytes, Stack size 8 bytes, usb_core.o(i.Standard_GetConfiguration))
  [Stack]

  - Max Depth = 8
  - Call Chain = Standard_GetConfiguration
  [Address Reference Count : 1]
  - usb_core.o(i.Data_Setup0)

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

  - Max Depth = 8
  - Call Chain = Standard_GetDescriptorData
  [Called By]
  - >> Keyboard_GetReportDescriptor
  - >> Keyboard_GetHIDDescriptor
  - >> Joystick_GetStringDescriptor
  - >> Joystick_GetReportDescriptor
  - >> Joystick_GetHIDDescriptor
  - >> Joystick_GetDeviceDescriptor
  - >> Joystick_GetConfigDescriptor

  Standard_GetInterface (Thumb, 34 bytes, Stack size 8 bytes, usb_core.o(i.Standard_GetInterface))
  [Stack]

  - Max Depth = 8
  - Call Chain = Standard_GetInterface
  [Address Reference Count : 1]
  - usb_core.o(i.Data_Setup0)

  Standard_GetStatus (Thumb, 238 bytes, Stack size 8 bytes, usb_core.o(i.Standard_GetStatus))
  [Stack]

  - Max Depth = 8
  - Call Chain = Standard_GetStatus
  [Address Reference Count : 1]
  - usb_core.o(i.Data_Setup0)

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

  - Max Depth = 8
  - Call Chain = Standard_SetConfiguration
  [Called By]
  - >> NoData_Setup0

  Standard_SetDeviceFeature (Thumb, 30 bytes, Stack size 8 bytes, usb_core.o(i.Standard_SetDeviceFeature))
  [Stack]

  - Max Depth = 8
  - Call Chain = Standard_SetDeviceFeature
  [Called By]
  - >> NoData_Setup0

  Standard_SetEndPointFeature (Thumb, 192 bytes, Stack size 24 bytes, usb_core.o(i.Standard_SetEndPointFeature))
  [Stack]

  - Max Depth = 24
  - Call Chain = Standard_SetEndPointFeature
  [Called By]
  - >> NoData_Setup0

  Standard_SetInterface (Thumb, 96 bytes, Stack size 8 bytes, usb_core.o(i.Standard_SetInterface))
  [Stack]

  - Max Depth = 8
  - Call Chain = Standard_SetInterface
  [Called By]
  - >> NoData_Setup0

  Suspend (Thumb, 134 bytes, Stack size 8 bytes, usb_pwr.o(i.Suspend))
  [Stack]

  - Max Depth = 8
  - Call Chain = Suspend
  [Called By]
  - >> USB_Istr

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

  - startup_w55mh32.o(RESET)

  SystemInit (Thumb, 78 bytes, Stack size 8 bytes, system_w55mh32.o(i.SystemInit))
  [Stack]

  - Max Depth = 28
  - Call Chain = SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72
  [Calls]
  - >> SetSysClock
  [Address Reference Count : 1]
  - startup_w55mh32.o(.text)

  USBWakeUp_IRQHandler (Thumb, 12 bytes, Stack size 8 bytes, w55mh32_it.o(i.USBWakeUp_IRQHandler))
  [Stack]

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

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

  - >> PowerOn

  USB_Init (Thumb, 36 bytes, Stack size 8 bytes, usb_init.o(i.USB_Init))
  [Stack]

  - Max Depth = 8
  - Call Chain = USB_Init
  [Called By]
  - >> main

  USB_Interrupts_Config (Thumb, 58 bytes, Stack size 16 bytes, hw_config.o(i.USB_Interrupts_Config))
  [Stack]

  - Max Depth = 32
  - Call Chain = USB_Interrupts_Config ⇒ NVIC_Init
  [Calls]
  - >> NVIC_PriorityGroupConfig
  - >> NVIC_Init
  [Called By]
  - >> main

  USB_Istr (Thumb, 422 bytes, Stack size 40 bytes, usb_istr.o(i.USB_Istr))
  [Stack]

  - Max Depth = 164
  - Call Chain = USB_Istr ⇒ CTR_LP ⇒ Setup0_Process ⇒ Data_Setup0 ⇒ DataStageIn ⇒ UserToPMABufferCopy
  [Calls]
  - >> Resume
  - >> CTR_LP
  - >> Suspend
  [Called By]
  - >> USB_LP_CAN1_RX0_IRQHandler

  USB_LP_CAN1_RX0_IRQHandler (Thumb, 8 bytes, Stack size 8 bytes, w55mh32_it.o(i.USB_LP_CAN1_RX0_IRQHandler))
  [Stack]

  - Max Depth = 172
  - Call Chain = USB_LP_CAN1_RX0_IRQHandler ⇒ USB_Istr ⇒ CTR_LP ⇒ Setup0_Process ⇒ Data_Setup0 ⇒ DataStageIn ⇒ UserToPMABufferCopy
  [Calls]
  - >> USB_Istr
  [Address Reference Count : 1]
  - startup_w55mh32.o(RESET)

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

  - >> Joystick_init

  USB_SIL_Write (Thumb, 46 bytes, Stack size 24 bytes, usb_sil.o(i.USB_SIL_Write))
  [Stack]

  - Max Depth = 44
  - Call Chain = USB_SIL_Write ⇒ UserToPMABufferCopy
  [Calls]
  - >> UserToPMABufferCopy
  - >> SetEPTxCount
  - >> GetEPTxAddr
  [Called By]
  - >> Keyboard_Send

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

  - startup_w55mh32.o(RESET)

  UserToPMABufferCopy (Thumb, 52 bytes, Stack size 20 bytes, usb_mem.o(i.UserToPMABufferCopy))
  [Stack]

  - Max Depth = 20
  - Call Chain = UserToPMABufferCopy
  [Called By]
  - >> USB_SIL_Write
  - >> DataStageIn

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

  main (Thumb, 38 bytes, Stack size 0 bytes, main.o(i.main))
  [Stack]

  - Max Depth = 76
  - Call Chain = main ⇒ Keyboard_Send ⇒ USB_SIL_Write ⇒ UserToPMABufferCopy
  [Calls]
  - >> USB_Interrupts_Config
  - >> USB_Init
  - >> Set_USBClock
  - >> Set_System
  - >> Keyboard_Send
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  ### Local Symbols

  SetSysClock (Thumb, 8 bytes, Stack size 8 bytes, system_w55mh32.o(i.SetSysClock))
  [Stack]

  - Max Depth = 20
  - Call Chain = SetSysClock ⇒ SetSysClockTo72
  [Calls]
  - >> SetSysClockTo72
  [Called By]
  - >> SystemInit

  SetSysClockTo72 (Thumb, 214 bytes, Stack size 12 bytes, system_w55mh32.o(i.SetSysClockTo72))
  [Stack]

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

  DataStageIn (Thumb, 166 bytes, Stack size 32 bytes, usb_core.o(i.DataStageIn))
  [Stack]

  - Max Depth = 52
  - Call Chain = DataStageIn ⇒ UserToPMABufferCopy
  [Calls]
  - >> UserToPMABufferCopy
  - >> SetEPTxCount
  - >> GetEPTxAddr
  [Called By]
  - >> In0_Process
  - >> Data_Setup0

  DataStageOut (Thumb, 198 bytes, Stack size 24 bytes, usb_core.o(i.DataStageOut))
  [Stack]

  - Max Depth = 44
  - Call Chain = DataStageOut ⇒ PMAToUserBufferCopy
  [Calls]
  - >> SetEPTxCount
  - >> PMAToUserBufferCopy
  - >> GetEPRxAddr
  [Called By]
  - >> Out0_Process

  Data_Setup0 (Thumb, 628 bytes, Stack size 40 bytes, usb_core.o(i.Data_Setup0))
  [Stack]

  - Max Depth = 92
  - Call Chain = Data_Setup0 ⇒ DataStageIn ⇒ UserToPMABufferCopy
  [Calls]
  - >> DataStageIn
  [Called By]
  - >> Setup0_Process

  NoData_Setup0 (Thumb, 296 bytes, Stack size 16 bytes, usb_core.o(i.NoData_Setup0))
  [Stack]

  - Max Depth = 60
  - Call Chain = NoData_Setup0 ⇒ Standard_ClearFeature ⇒ SetEPTxStatus
  [Calls]
  - >> Standard_SetInterface
  - >> Standard_SetEndPointFeature
  - >> Standard_SetDeviceFeature
  - >> Standard_SetConfiguration
  - >> Standard_ClearFeature
  [Called By]
  - >> Setup0_Process

  IntToUnicode (Thumb, 62 bytes, Stack size 12 bytes, hw_config.o(i.IntToUnicode))
  [Stack]

  - Max Depth = 12
  - Call Chain = IntToUnicode
  [Called By]
  - >> Get_SerialNum

  ### Undefined Global Symbols