# Static Call Graph for image .\Obj\HID.axf

#<CALLGRAPH># ARM Linker, 5.03 [Build 69]: Last Updated: Fri May 31 18:09:13 2013

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

### Call chain for Maximum Stack Depth:

USBD_EndPoint0 ⇒ USBD_ReqSetInterface ⇒ USBD_ConfigEP ⇒ USBD_ResetEP

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- SVC_Handler ⇒ SVC_Handler
- PendSV_Handler ⇒ PendSV_Handler
- SysTick_Handler ⇒ SysTick_Handler
- ADC0_IRQHandler ⇒ ADC0_IRQHandler

  ### Function Pointers

  - ADC0_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - CMP0_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - DAC0_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - DMA0_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - DMA1_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - DMA2_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - DMA3_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - FTFA_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - HardFault_Handler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - I2C0_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - I2C1_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - LLW_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - LPTimer_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - LVD_LVW_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - MCG_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - NMI_Handler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - PIT_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - PORTA_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - PORTD_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - PendSV_Handler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - RTC_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - RTC_Seconds_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - Reserved20_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - Reserved39_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - Reserved45_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - Reset_Handler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - SPI0_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - SPI1_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - SVC_Handler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - SysTick_Handler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - SystemInit from system_mkl25z4.o(.text) referenced from startup_mkl25z4.o(.text)
  - TPM0_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - TPM1_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - TPM2_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - TSI0_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - UART0_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - UART1_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - UART2_IRQHandler from startup_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - USB0_IRQHandler from usbd_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - USBD_Configure_Event from usb_config.o(.text) referenced from usb_config.o(.constdata)
  - USBD_EndPoint0 from usbd_core.o(i.USBD_EndPoint0) referenced from usb_config.o(.constdata)
  - USBD_HID_EP_INT_Event from usbd_hid.o(i.USBD_HID_EP_INT_Event) referenced from usb_config.o(.constdata)
  - USBD_SOF_Event from usb_config.o(.text) referenced from usb_config.o(.constdata)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_mkl25z4.o(.text)
  - main from usbd_demo.o(.text) 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_mkl25z4.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_mkl25z4.o(.text))
  [Address Reference Count : 1]

  - startup_mkl25z4.o(RESET)

  NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mkl25z4.o(.text))
  [Calls]

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

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mkl25z4.o(.text))
  [Calls]

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

  SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mkl25z4.o(.text))
  [Calls]

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

  PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_mkl25z4.o(.text))
  [Calls]

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

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

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

  ADC0_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_mkl25z4.o(.text))
  [Calls]

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

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

  DefaultISR (Thumb, 0 bytes, Stack size 0 bytes, startup_mkl25z4.o(.text), UNUSED)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

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

  - startup_mkl25z4.o(RESET)

  SystemInit (Thumb, 122 bytes, Stack size 0 bytes, system_mkl25z4.o(.text))
  [Address Reference Count : 1]

  - startup_mkl25z4.o(.text)

  USBD_Configure_Event (Thumb, 8 bytes, Stack size 8 bytes, usb_config.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_Configure_Event
  [Calls]
  - >> USBD_HID_Configure_Event
  [Address Reference Count : 1]
  - usb_config.o(.constdata)

  USBD_ReqClrFeature_MSC (Thumb, 2 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_ReqSetClrFeature

  USBD_EndPoint0_Setup_MSC_ReqToIF (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Setup_ADC_ReqToIF (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Setup_ADC_ReqToEP (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Out_ADC_ReqToIF (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Out_ADC_ReqToEP (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Setup_CDC_ReqToIF (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Out_CDC_ReqToIF (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Setup_CLS_ReqToDEV (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Setup_CLS_ReqToIF (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Setup_CLS_ReqToEP (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Out_CLS_ReqToDEV (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Out_CLS_ReqToIF (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EndPoint0_Out_CLS_ReqToEP (Thumb, 4 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_SOF_Event (Thumb, 8 bytes, Stack size 8 bytes, usb_config.o(.text))
  [Stack]

  - Max Depth = 76
  - Call Chain = USBD_SOF_Event ⇒ USBD_HID_SOF_Event ⇒ USBD_HID_EP_INTIN_Event ⇒ USBD_WriteEP
  [Calls]
  - >> USBD_HID_SOF_Event
  [Address Reference Count : 1]
  - usb_config.o(.constdata)

  usbd_os_evt_set (Thumb, 2 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  usbd_class_init (Thumb, 8 bytes, Stack size 8 bytes, usb_config.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = usbd_class_init ⇒ usbd_hid_init ⇒ LED_Init ⇒ LED_Val
  [Calls]
  - >> usbd_hid_init
  [Called By]
  - >> usbd_init

  USBD_RTX_TaskInit (Thumb, 2 bytes, Stack size 0 bytes, usb_config.o(.text))
  [Called By]

  - >> usbd_init

  USBD_Reset (Thumb, 78 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USB0_IRQHandler

  USBD_Suspend (Thumb, 12 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USB0_IRQHandler

  USBD_Resume (Thumb, 12 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USB0_IRQHandler

  USB0_IRQHandler (Thumb, 278 bytes, Stack size 24 bytes, usbd_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = USB0_IRQHandler
  [Calls]
  - >> usbd_reset_core
  - >> USBD_Suspend
  - >> USBD_Resume
  - >> USBD_Reset
  [Address Reference Count : 1]
  - startup_mkl25z4.o(RESET)

  main (Thumb, 44 bytes, Stack size 8 bytes, usbd_demo.o(.text))
  [Stack]

  - Max Depth = 76
  - Call Chain = main ⇒ usbd_hid_get_report_trigger ⇒ USBD_HID_EP_INTIN_Event ⇒ USBD_WriteEP
  [Calls]
  - >> usbd_init
  - >> usbd_hid_get_report_trigger
  - >> usbd_connect
  - >> KBD_GetKeys
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  __aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
  [Called By]

  - >> usbd_hid_get_report_trigger

  __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

  USBD_HID_GetProtocol (Thumb, 14 bytes, Stack size 8 bytes, usbd_hid.o(i.USBD_HID_GetProtocol))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_HID_GetProtocol
  [Calls]
  - >> usbd_hid_get_protocol
  [Called By]
  - >> USBD_EndPoint0_Setup_HID_ReqToIF

  USBD_IntrEna (Thumb, 10 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USBD_Init

  USBD_Init (Thumb, 120 bytes, Stack size 4 bytes, usbd_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = USBD_Init
  [Calls]
  - >> USBD_IntrEna
  [Called By]
  - >> usbd_init

  USBD_Connect (Thumb, 38 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> usbd_connect

  USBD_WakeUpCfg (Thumb, 2 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USBD_ReqSetClrFeature

  USBD_SetAddress (Thumb, 16 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_Configure (Thumb, 2 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USBD_ReqSetConfiguration

  USBD_ResetEP (Thumb, 86 bytes, Stack size 20 bytes, usbd_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = USBD_ResetEP
  [Called By]
  - >> USBD_ReqSetInterface
  - >> USBD_ReqSetConfiguration
  - >> USBD_ClrStallEP
  - >> USBD_ConfigEP

  USBD_ConfigEP (Thumb, 22 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = USBD_ConfigEP ⇒ USBD_ResetEP
  [Calls]
  - >> USBD_ResetEP
  [Called By]
  - >> USBD_ReqSetInterface
  - >> USBD_ReqSetConfiguration

  USBD_DirCtrlEP (Thumb, 2 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USBD_EndPoint0

  USBD_EnableEP (Thumb, 32 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USBD_ReqSetInterface
  - >> USBD_ReqSetConfiguration

  USBD_DisableEP (Thumb, 32 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USBD_ReqSetInterface
  - >> USBD_ReqSetConfiguration

  USBD_SetStallEP (Thumb, 18 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Called By]

  - >> USBD_ReqSetClrFeature
  - >> USBD_EndPoint0

  USBD_ClrStallEP (Thumb, 18 bytes, Stack size 0 bytes, usbd_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = USBD_ClrStallEP ⇒ USBD_ResetEP
  [Calls]
  - >> USBD_ResetEP
  [Called By]
  - >> USBD_ReqSetClrFeature
  - >> USBD_EndPoint0

  USBD_ReadEP (Thumb, 162 bytes, Stack size 24 bytes, usbd_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBD_ReadEP
  [Called By]
  - >> USBD_HID_EP_INTOUT_Event
  - >> USBD_StatusOutStage
  - >> USBD_SetupStage
  - >> USBD_DataOutStage

  USBD_WriteEP (Thumb, 72 bytes, Stack size 20 bytes, usbd_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = USBD_WriteEP
  [Called By]
  - >> USBD_HID_EP_INTIN_Event
  - >> USBD_StatusInStage
  - >> USBD_DataInStage

  usbd_hid_init (Thumb, 12 bytes, Stack size 8 bytes, usbd_user_hid.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = usbd_hid_init ⇒ LED_Init ⇒ LED_Val
  [Calls]
  - >> LED_Init
  - >> KBD_Init
  [Called By]
  - >> usbd_class_init

  usbd_hid_get_report (Thumb, 52 bytes, Stack size 8 bytes, usbd_user_hid.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = usbd_hid_get_report
  [Calls]
  - >> KBD_GetKeys
  [Called By]
  - >> USBD_HID_GetReport
  - >> USBD_HID_EP_INTIN_Event

  usbd_hid_set_report (Thumb, 26 bytes, Stack size 8 bytes, usbd_user_hid.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = usbd_hid_set_report ⇒ LED_Val
  [Calls]
  - >> LED_Val
  [Called By]
  - >> USBD_HID_SetReport
  - >> USBD_HID_EP_INTOUT_Event

  KBD_Init (Thumb, 44 bytes, Stack size 0 bytes, kbd.o(.text))
  [Called By]

  - >> usbd_hid_init

  KBD_GetKeys (Thumb, 28 bytes, Stack size 0 bytes, kbd.o(.text))
  [Called By]

  - >> usbd_hid_get_report
  - >> main

  LED_Off (Thumb, 34 bytes, Stack size 0 bytes, led.o(.text))
  [Called By]

  - >> LED_Val

  LED_On (Thumb, 34 bytes, Stack size 0 bytes, led.o(.text))
  [Called By]

  - >> LED_Val

  LED_Val (Thumb, 36 bytes, Stack size 8 bytes, led.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = LED_Val
  [Calls]
  - >> LED_On
  - >> LED_Off
  [Called By]
  - >> LED_Init
  - >> usbd_hid_set_report

  LED_Init (Thumb, 32 bytes, Stack size 0 bytes, led.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = LED_Init ⇒ LED_Val
  [Calls]
  - >> LED_Val
  [Called By]
  - >> usbd_hid_init

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

  USBD_DataInStage (Thumb, 50 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_DataInStage))
  [Stack]

  - Max Depth = 28
  - Call Chain = USBD_DataInStage ⇒ USBD_WriteEP
  [Calls]
  - >> USBD_WriteEP
  [Called By]
  - >> USBD_EndPoint0_Setup_HID_ReqToIF
  - >> USBD_EndPoint0

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

  - Max Depth = 32
  - Call Chain = USBD_DataOutStage ⇒ USBD_ReadEP
  [Calls]
  - >> USBD_ReadEP
  [Called By]
  - >> USBD_EndPoint0

  USBD_EndPoint0 (Thumb, 612 bytes, Stack size 24 bytes, usbd_core.o(i.USBD_EndPoint0))
  [Stack]

  - Max Depth = 100
  - Call Chain = USBD_EndPoint0 ⇒ USBD_ReqSetInterface ⇒ USBD_ConfigEP ⇒ USBD_ResetEP
  [Calls]
  - >> USBD_EndPoint0_Setup_HID_ReqToIF
  - >> USBD_EndPoint0_Out_HID_ReqToIF
  - >> USBD_StatusOutStage
  - >> USBD_StatusInStage
  - >> USBD_SetupStage
  - >> USBD_ReqSetInterface
  - >> USBD_ReqSetConfiguration
  - >> USBD_ReqSetClrFeature
  - >> USBD_ReqGetStatus
  - >> USBD_ReqGetDescriptor
  - >> USBD_DataOutStage
  - >> USBD_DataInStage
  - >> USBD_ClrStallEP
  - >> USBD_SetStallEP
  - >> USBD_DirCtrlEP
  - >> USBD_SetAddress
  - >> usbd_os_evt_set
  - >> USBD_EndPoint0_Out_CLS_ReqToEP
  - >> USBD_EndPoint0_Out_CLS_ReqToIF
  - >> USBD_EndPoint0_Out_CLS_ReqToDEV
  - >> USBD_EndPoint0_Setup_CLS_ReqToEP
  - >> USBD_EndPoint0_Setup_CLS_ReqToIF
  - >> USBD_EndPoint0_Setup_CLS_ReqToDEV
  - >> USBD_EndPoint0_Out_CDC_ReqToIF
  - >> USBD_EndPoint0_Setup_CDC_ReqToIF
  - >> USBD_EndPoint0_Out_ADC_ReqToEP
  - >> USBD_EndPoint0_Out_ADC_ReqToIF
  - >> USBD_EndPoint0_Setup_ADC_ReqToEP
  - >> USBD_EndPoint0_Setup_ADC_ReqToIF
  - >> USBD_EndPoint0_Setup_MSC_ReqToIF
  - >> __ARM_common_switch8
  [Address Reference Count : 1]
  - usb_config.o(.constdata)

  USBD_EndPoint0_Out_HID_ReqToIF (Thumb, 40 bytes, Stack size 8 bytes, usbd_core_hid.o(i.USBD_EndPoint0_Out_HID_ReqToIF))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBD_EndPoint0_Out_HID_ReqToIF ⇒ USBD_HID_SetReport ⇒ usbd_hid_set_report ⇒ LED_Val
  [Calls]
  - >> USBD_HID_SetReport
  - >> USBD_StatusInStage
  [Called By]
  - >> USBD_EndPoint0

  USBD_EndPoint0_Setup_HID_ReqToIF (Thumb, 142 bytes, Stack size 24 bytes, usbd_core_hid.o(i.USBD_EndPoint0_Setup_HID_ReqToIF))
  [Stack]

  - Max Depth = 52
  - Call Chain = USBD_EndPoint0_Setup_HID_ReqToIF ⇒ USBD_StatusInStage ⇒ USBD_WriteEP
  [Calls]
  - >> USBD_HID_SetProtocol
  - >> USBD_HID_SetIdle
  - >> USBD_HID_GetReport
  - >> USBD_HID_GetProtocol
  - >> USBD_HID_GetIdle
  - >> USBD_StatusInStage
  - >> USBD_DataInStage
  - >> __ARM_common_switch8
  [Called By]
  - >> USBD_EndPoint0

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

  - >> USBD_Configure_Event

  USBD_HID_EP_INTIN_Event (Thumb, 290 bytes, Stack size 24 bytes, usbd_hid.o(i.USBD_HID_EP_INTIN_Event))
  [Stack]

  - Max Depth = 44
  - Call Chain = USBD_HID_EP_INTIN_Event ⇒ USBD_WriteEP
  [Calls]
  - >> usbd_hid_get_report
  - >> USBD_WriteEP
  [Called By]
  - >> usbd_hid_get_report_trigger
  - >> USBD_HID_SOF_Event
  - >> USBD_HID_EP_INT_Event

  USBD_HID_EP_INTOUT_Event (Thumb, 102 bytes, Stack size 24 bytes, usbd_hid.o(i.USBD_HID_EP_INTOUT_Event))
  [Stack]

  - Max Depth = 48
  - Call Chain = USBD_HID_EP_INTOUT_Event ⇒ USBD_ReadEP
  [Calls]
  - >> usbd_hid_set_report
  - >> USBD_ReadEP
  [Called By]
  - >> USBD_HID_EP_INT_Event

  USBD_HID_EP_INT_Event (Thumb, 26 bytes, Stack size 8 bytes, usbd_hid.o(i.USBD_HID_EP_INT_Event))
  [Stack]

  - Max Depth = 56
  - Call Chain = USBD_HID_EP_INT_Event ⇒ USBD_HID_EP_INTOUT_Event ⇒ USBD_ReadEP
  [Calls]
  - >> USBD_HID_EP_INTOUT_Event
  - >> USBD_HID_EP_INTIN_Event
  [Address Reference Count : 1]
  - usb_config.o(.constdata)

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

  - >> USBD_EndPoint0_Setup_HID_ReqToIF

  USBD_HID_GetReport (Thumb, 46 bytes, Stack size 8 bytes, usbd_hid.o(i.USBD_HID_GetReport))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBD_HID_GetReport ⇒ usbd_hid_get_report
  [Calls]
  - >> usbd_hid_get_report
  [Called By]
  - >> USBD_EndPoint0_Setup_HID_ReqToIF

  USBD_HID_SOF_Event (Thumb, 264 bytes, Stack size 24 bytes, usbd_hid.o(i.USBD_HID_SOF_Event))
  [Stack]

  - Max Depth = 68
  - Call Chain = USBD_HID_SOF_Event ⇒ USBD_HID_EP_INTIN_Event ⇒ USBD_WriteEP
  [Calls]
  - >> USBD_HID_EP_INTIN_Event
  [Called By]
  - >> USBD_SOF_Event

  USBD_HID_SetIdle (Thumb, 44 bytes, Stack size 8 bytes, usbd_hid.o(i.USBD_HID_SetIdle))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_HID_SetIdle
  [Called By]
  - >> USBD_EndPoint0_Setup_HID_ReqToIF

  USBD_HID_SetProtocol (Thumb, 14 bytes, Stack size 8 bytes, usbd_hid.o(i.USBD_HID_SetProtocol))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_HID_SetProtocol
  [Calls]
  - >> usbd_hid_set_protocol
  [Called By]
  - >> USBD_EndPoint0_Setup_HID_ReqToIF

  USBD_HID_SetReport (Thumb, 56 bytes, Stack size 16 bytes, usbd_hid.o(i.USBD_HID_SetReport))
  [Stack]

  - Max Depth = 32
  - Call Chain = USBD_HID_SetReport ⇒ usbd_hid_set_report ⇒ LED_Val
  [Calls]
  - >> usbd_hid_set_report
  [Called By]
  - >> USBD_EndPoint0_Out_HID_ReqToIF

  USBD_ReqGetDescriptor (Thumb, 302 bytes, Stack size 24 bytes, usbd_core.o(i.USBD_ReqGetDescriptor))
  [Stack]

  - Max Depth = 36
  - Call Chain = USBD_ReqGetDescriptor ⇒ USBD_ReqGetDescriptor_HID
  [Calls]
  - >> USBD_ReqGetDescriptor_HID
  - >> __ARM_common_switch8
  [Called By]
  - >> USBD_EndPoint0

  USBD_ReqGetDescriptor_HID (Thumb, 94 bytes, Stack size 12 bytes, usbd_core_hid.o(i.USBD_ReqGetDescriptor_HID))
  [Stack]

  - Max Depth = 12
  - Call Chain = USBD_ReqGetDescriptor_HID
  [Called By]
  - >> USBD_ReqGetDescriptor

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

  - Max Depth = 16
  - Call Chain = USBD_ReqGetStatus
  [Called By]
  - >> USBD_EndPoint0

  USBD_ReqSetClrFeature (Thumb, 158 bytes, Stack size 16 bytes, usbd_core.o(i.USBD_ReqSetClrFeature))
  [Stack]

  - Max Depth = 36
  - Call Chain = USBD_ReqSetClrFeature ⇒ USBD_ClrStallEP ⇒ USBD_ResetEP
  [Calls]
  - >> USBD_ClrStallEP
  - >> USBD_SetStallEP
  - >> USBD_WakeUpCfg
  - >> USBD_ReqClrFeature_MSC
  [Called By]
  - >> USBD_EndPoint0

  USBD_ReqSetConfiguration (Thumb, 360 bytes, Stack size 24 bytes, usbd_core.o(i.USBD_ReqSetConfiguration))
  [Stack]

  - Max Depth = 44
  - Call Chain = USBD_ReqSetConfiguration ⇒ USBD_ConfigEP ⇒ USBD_ResetEP
  [Calls]
  - >> USBD_DisableEP
  - >> USBD_EnableEP
  - >> USBD_ConfigEP
  - >> USBD_ResetEP
  - >> USBD_Configure
  [Called By]
  - >> USBD_EndPoint0

  USBD_ReqSetInterface (Thumb, 294 bytes, Stack size 56 bytes, usbd_core.o(i.USBD_ReqSetInterface))
  [Stack]

  - Max Depth = 76
  - Call Chain = USBD_ReqSetInterface ⇒ USBD_ConfigEP ⇒ USBD_ResetEP
  [Calls]
  - >> USBD_DisableEP
  - >> USBD_EnableEP
  - >> USBD_ConfigEP
  - >> USBD_ResetEP
  [Called By]
  - >> USBD_EndPoint0

  USBD_SetupStage (Thumb, 12 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_SetupStage))
  [Stack]

  - Max Depth = 32
  - Call Chain = USBD_SetupStage ⇒ USBD_ReadEP
  [Calls]
  - >> USBD_ReadEP
  [Called By]
  - >> USBD_EndPoint0

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

  - Max Depth = 28
  - Call Chain = USBD_StatusInStage ⇒ USBD_WriteEP
  [Calls]
  - >> USBD_WriteEP
  [Called By]
  - >> USBD_EndPoint0_Setup_HID_ReqToIF
  - >> USBD_EndPoint0_Out_HID_ReqToIF
  - >> USBD_EndPoint0

  USBD_StatusOutStage (Thumb, 12 bytes, Stack size 8 bytes, usbd_core.o(i.USBD_StatusOutStage))
  [Stack]

  - Max Depth = 32
  - Call Chain = USBD_StatusOutStage ⇒ USBD_ReadEP
  [Calls]
  - >> USBD_ReadEP
  [Called By]
  - >> USBD_EndPoint0

  __ARM_common_switch8 (Thumb, 26 bytes, Stack size 8 bytes, system_mkl25z4.o(i.__ARM_common_switch8))
  [Stack]

  - Max Depth = 8
  - Call Chain = __ARM_common_switch8
  [Called By]
  - >> USBD_EndPoint0_Setup_HID_ReqToIF
  - >> USBD_ReqGetDescriptor
  - >> USBD_EndPoint0

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

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

  - Max Depth = 8
  - Call Chain = usbd_connect
  [Calls]
  - >> USBD_Connect
  [Called By]
  - >> main

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

  - >> USBD_HID_GetProtocol

  usbd_hid_get_report_trigger (Thumb, 112 bytes, Stack size 24 bytes, usbd_hid.o(i.usbd_hid_get_report_trigger))
  [Stack]

  - Max Depth = 68
  - Call Chain = usbd_hid_get_report_trigger ⇒ USBD_HID_EP_INTIN_Event ⇒ USBD_WriteEP
  [Calls]
  - >> __aeabi_memcpy
  - >> USBD_HID_EP_INTIN_Event
  [Called By]
  - >> main

  usbd_hid_set_protocol (Thumb, 2 bytes, Stack size 0 bytes, usbd_hid.o(i.usbd_hid_set_protocol))
  [Called By]

  - >> USBD_HID_SetProtocol

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

  - Max Depth = 32
  - Call Chain = usbd_init ⇒ usbd_class_init ⇒ usbd_hid_init ⇒ LED_Init ⇒ LED_Val
  [Calls]
  - >> USBD_Init
  - >> USBD_RTX_TaskInit
  - >> usbd_class_init
  [Called By]
  - >> main

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

  - >> USB0_IRQHandler

  ### Local Symbols

  ### Undefined Global Symbols