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

#<CALLGRAPH># ARM Linker, 5.03 [Build 69]: Last Updated: Fri May 31 22:22:16 2013

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

### Call chain for Maximum Stack Depth:

main ⇒ usbh_engine ⇒ USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- SVC_Handler ⇒ SVC_Handler
- PendSV_Handler ⇒ PendSV_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 measure.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 usbh_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - USBH0_HID0_Callback from usbh_hid.o(i.USBH0_HID0_Callback) referenced from usbh_hid.o(i.USBH_HID_Init)
  - USBH0_HID1_Callback from usbh_hid.o(i.USBH0_HID1_Callback) referenced from usbh_hid.o(i.USBH_HID_Init)
  - USBH0_HID2_Callback from usbh_hid.o(i.USBH0_HID2_Callback) referenced from usbh_hid.o(i.USBH_HID_Init)
  - USBH0_HID3_Callback from usbh_hid.o(i.USBH0_HID3_Callback) referenced from usbh_hid.o(i.USBH_HID_Init)
  - USBH1_HID0_Callback from usbh_hid.o(i.USBH1_HID0_Callback) referenced from usbh_hid.o(i.USBH_HID_Init)
  - USBH1_HID1_Callback from usbh_hid.o(i.USBH1_HID1_Callback) referenced from usbh_hid.o(i.USBH_HID_Init)
  - USBH1_HID2_Callback from usbh_hid.o(i.USBH1_HID2_Callback) referenced from usbh_hid.o(i.USBH_HID_Init)
  - USBH1_HID3_Callback from usbh_hid.o(i.USBH1_HID3_Callback) referenced from usbh_hid.o(i.USBH_HID_Init)
  - USBH_Delay_ms from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_EP_Add from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_EP_Config from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_EP_Remove from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_Get_Capabilities from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_Get_Connect from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_Get_Speed from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_HID_Config from usbh_hid.o(i.USBH_HID_Config) referenced from usbh_hid.o(.data)
  - USBH_HID_GetLastError from usbh_hid.o(i.USBH_HID_GetLastError) referenced from usbh_hid.o(.data)
  - USBH_HID_Init from usbh_hid.o(i.USBH_HID_Init) referenced from usbh_hid.o(.data)
  - USBH_HID_UnConfig from usbh_hid.o(i.USBH_HID_UnConfig) referenced from usbh_hid.o(.data)
  - USBH_HID_UnInit from usbh_hid.o(i.USBH_HID_UnInit) referenced from usbh_hid.o(.data)
  - USBH_Init from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_Pins_Config from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_Port_Power from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_Port_Reset from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_URB_Cancel from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_URB_Submit from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_mkl25z4.o(.text)
  - _sbackspace from _sgetc.o(.text) referenced from __0sscanf.o(.text)
  - _scanf_char_input from scanf_char.o(.text) referenced from scanf_char.o(.text)
  - _sgetc from _sgetc.o(.text) referenced from __0sscanf.o(.text)
  - fputc from retarget.o(.text) referenced from printfa.o(i.__0printf)
  - isspace from isspace_c.o(.text) referenced from scanf_char.o(.text)
  - main from measure.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)

  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))
  [Called By]

  - >> main
  [Address Reference Count : 1]
  - startup_mkl25z4.o(.text)

  SystemCoreClockUpdate (Thumb, 220 bytes, Stack size 8 bytes, system_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  - >> __ARM_common_switch8
  [Called By]
  - >> USBH_Delay_ms
  - >> main

  sendchar (Thumb, 24 bytes, Stack size 8 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = sendchar
  [Calls]
  - >> SER_PutChar
  [Called By]
  - >> getline
  - >> fputc

  getkey (Thumb, 12 bytes, Stack size 8 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = getkey ⇒ usbh_hid_kbd_getkey ⇒ memcmp
  [Calls]
  - >> usbh_hid_kbd_getkey
  [Called By]
  - >> getline

  fputc (Thumb, 2 bytes, Stack size 0 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = fputc ⇒ sendchar
  [Calls]
  - >> sendchar
  [Address Reference Count : 1]
  - printfa.o(i.__0printf)

  ADC_GetConversion (Thumb, 16 bytes, Stack size 8 bytes, measure.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = ADC_GetConversion
  [Calls]
  - >> ADC_StartCnv
  - >> ADC_GetVal
  [Called By]
  - >> SysTick_Handler

  SysTick_Handler (Thumb, 174 bytes, Stack size 16 bytes, measure.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = SysTick_Handler ⇒ ADC_GetConversion
  [Calls]
  - >> ADC_GetConversion
  - >> save_current_measurements
  [Address Reference Count : 1]
  - startup_mkl25z4.o(RESET)

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

  - >> ADC_GetConversion

  ADC_GetVal (Thumb, 22 bytes, Stack size 0 bytes, adc.o(.text))
  [Called By]

  - >> ADC_GetConversion

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

  - >> main

  memcmp (Thumb, 26 bytes, Stack size 12 bytes, memcmp.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = memcmp
  [Called By]
  - >> usbh_hid_kbd_getkey

  __I$use$fp (Thumb, 0 bytes, Stack size unknown bytes, iusefp.o(.text), UNUSED)

  __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)

  main (Thumb, 526 bytes, Stack size 32 bytes, measure.o(.text))
  [Stack]

  - Max Depth = 300
  - Call Chain = main ⇒ usbh_engine ⇒ USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_memcpy
  - >> toupper
  - >> __aeabi_uidivmod
  - >> usbh_init
  - >> usbh_hid_status
  - >> usbh_hid_data_out
  - >> usbh_engine
  - >> set_time
  - >> set_interval
  - >> measure_display
  - >> getline
  - >> SER_Init
  - >> ADC_Init
  - >> clear_records
  - >> read_index
  - >> SysTick_Config
  - >> SystemCoreClockUpdate
  - >> SystemInit
  - >> __c89printf
  - >> __2printf
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  measure_display (Thumb, 60 bytes, Stack size 16 bytes, mcommand.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = measure_display ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_ui2d
  - >> __aeabi_dmul
  - >> __ARM_scalbn
  - >> __2printf
  [Called By]
  - >> main

  set_time (Thumb, 94 bytes, Stack size 32 bytes, mcommand.o(.text))
  [Stack]

  - Max Depth = 240
  - Call Chain = set_time ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_int
  [Calls]
  - >> __0sscanf
  - >> __c89printf
  [Called By]
  - >> main

  set_interval (Thumb, 154 bytes, Stack size 32 bytes, mcommand.o(.text))
  [Stack]

  - Max Depth = 240
  - Call Chain = set_interval ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_int
  [Calls]
  - >> __0sscanf
  - >> __c89printf
  [Called By]
  - >> main

  getline (Thumb, 128 bytes, Stack size 24 bytes, getline.o(.text))
  [Stack]

  - Max Depth = 68
  - Call Chain = getline ⇒ getkey ⇒ usbh_hid_kbd_getkey ⇒ memcmp
  [Calls]
  - >> getkey
  - >> sendchar
  [Called By]
  - >> main

  USBH_Get_Capabilities (Thumb, 18 bytes, Stack size 0 bytes, usbh_mkl25z4.o(.text))
  [Address Reference Count : 1]

  - usbh_mkl25z4.o(.data)

  USBH_Init (Thumb, 202 bytes, Stack size 24 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 68
  - Call Chain = USBH_Init ⇒ USBH_Delay_ms ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> usbh_mem_init
  - >> USBH_Delay_ms
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  USB0_IRQHandler (Thumb, 1290 bytes, Stack size 40 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 100
  - Call Chain = USB0_IRQHandler ⇒ USBH_MK_TransferEnqueue ⇒ USBH_MK_GetEPIndexFromHandle ⇒ __aeabi_uidivmod
  [Calls]
  - >> USBH_URB_Cancel
  - >> USBH_MK_TransferEnqueue
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  [Address Reference Count : 1]
  - startup_mkl25z4.o(RESET)

  SER_Init (Thumb, 68 bytes, Stack size 0 bytes, serial.o(.text))
  [Called By]

  - >> main

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

  - >> sendchar

  ADC_Init (Thumb, 40 bytes, Stack size 0 bytes, adc.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = ADC_Init ⇒ ADC_Calib
  [Calls]
  - >> ADC_Calib
  [Called By]
  - >> main

  __aeabi_uidiv (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

  __aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = __aeabi_uidivmod
  [Called By]
  - >> usbh_transfer
  - >> USBH_MK_GetEPIndexFromHandle
  - >> USBH_Delay_ms
  - >> main
  - >> SystemCoreClockUpdate
  - >> _printf_core

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

  - >> usbh_hid_data_in_callback
  - >> USBH_HID_Config
  - >> USBH_HID_ReportOut
  - >> USBH_EP_Add
  - >> main
  - >> save_current_measurements

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

  __aeabi_memset (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text))
  [Called By]

  - >> _memset$wrapper
  - >> __aeabi_memclr

  __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
  [Calls]

  - >> __aeabi_memset
  [Called By]
  - >> USBH_EP_Remove

  __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
  [Called By]

  - >> USBH_HID_UnConfig
  - >> USBH_HID_Config
  - >> USBH_HID_Send_Data
  - >> usbh_mem_init_lib
  - >> USBH_Send_Setup
  - >> USBH_Send_Data
  - >> USBH_Rece_Data

  __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

  _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memset

  __aeabi_uread4 (Thumb, 20 bytes, Stack size 0 bytes, uread4.o(.text))
  [Called By]

  - >> USBH_HID_UnConfig
  - >> USBH_HID_ReportOut
  - >> usbh_transfer
  - >> USBH_EnumerateDevice
  - >> USBH_EP0_Setup
  - >> USBH_EP0_SetMaxPacketSize
  - >> USBH_EP0_SetAddress
  - >> USB0_IRQHandler
  - >> USBH_EP_Remove

  __rt_uread4 (Thumb, 0 bytes, Stack size 0 bytes, uread4.o(.text), UNUSED)

  _uread4 (Thumb, 0 bytes, Stack size 0 bytes, uread4.o(.text), UNUSED)

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

  - >> USBH_HID_Config
  - >> USBH_EP0_Setup
  - >> USB0_IRQHandler
  - >> USBH_URB_Submit

  __rt_uwrite4 (Thumb, 0 bytes, Stack size 0 bytes, uwrite4.o(.text), UNUSED)

  _uwrite4 (Thumb, 0 bytes, Stack size 0 bytes, uwrite4.o(.text), UNUSED)

  __0sscanf (Thumb, 50 bytes, Stack size 72 bytes, __0sscanf.o(.text))
  [Stack]

  - Max Depth = 208
  - Call Chain = __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_int
  [Calls]
  - >> __vfscanf_char
  [Called By]
  - >> set_time
  - >> set_interval
  - >> read_index

  _scanf_int (Thumb, 330 bytes, Stack size 48 bytes, _scanf_int.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = _scanf_int
  [Calls]
  - >> _chval
  [Called By]
  - >> __vfscanf

  __aeabi_dmul (Thumb, 202 bytes, Stack size 72 bytes, dmul.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> measure_display
  - >> _fp_digits

  __ARM_scalbn (Thumb, 44 bytes, Stack size 16 bytes, dscalb.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = __ARM_scalbn
  [Called By]
  - >> measure_display

  scalbn (Thumb, 0 bytes, Stack size 16 bytes, dscalb.o(.text), UNUSED)

  __aeabi_ui2d (Thumb, 24 bytes, Stack size 16 bytes, dfltui.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = __aeabi_ui2d ⇒ _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> _double_epilogue
  [Called By]
  - >> measure_display

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

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

  _chval (Thumb, 30 bytes, Stack size 0 bytes, _chval.o(.text))
  [Called By]

  - >> _scanf_int

  __vfscanf_char (Thumb, 24 bytes, Stack size 8 bytes, scanf_char.o(.text))
  [Stack]

  - Max Depth = 136
  - Call Chain = __vfscanf_char ⇒ __vfscanf ⇒ _scanf_int
  [Calls]
  - >> __vfscanf
  [Called By]
  - >> __0sscanf

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

  - __0sscanf.o(.text)

  _sbackspace (Thumb, 36 bytes, Stack size 0 bytes, _sgetc.o(.text))
  [Address Reference Count : 1]

  - __0sscanf.o(.text)

  _double_round (Thumb, 26 bytes, Stack size 8 bytes, depilogue.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _double_round
  [Called By]
  - >> _double_epilogue
  - >> __aeabi_ddiv
  - >> __aeabi_dadd

  _double_epilogue (Thumb, 166 bytes, Stack size 48 bytes, depilogue.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _double_epilogue ⇒ __aeabi_llsr
  [Calls]
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  - >> __ARM_clz
  - >> _double_round
  [Called By]
  - >> __aeabi_ui2d
  - >> __aeabi_dmul
  - >> __aeabi_dadd

  __aeabi_dadd (Thumb, 326 bytes, Stack size 48 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_lasr
  - >> __aeabi_llsl
  - >> _double_round
  - >> _double_epilogue
  [Called By]
  - >> __aeabi_drsub
  - >> __aeabi_dsub
  - >> _fp_digits

  __aeabi_dsub (Thumb, 12 bytes, Stack size 8 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dadd

  __aeabi_drsub (Thumb, 12 bytes, Stack size 8 bytes, dadd.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_dadd

  __aeabi_ddiv (Thumb, 234 bytes, Stack size 40 bytes, ddiv.o(.text), UNUSED)
  [Calls]

  - >> _double_round
  [Called By]
  - >> _fp_digits

  __aeabi_d2ulz (Thumb, 54 bytes, Stack size 8 bytes, dfixul.o(.text), UNUSED)
  [Calls]

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

  __aeabi_cdrcmple (Thumb, 38 bytes, Stack size 0 bytes, cdrcmple.o(.text), UNUSED)
  [Called By]

  - >> _fp_digits

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

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

  __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

  __aeabi_llsl (Thumb, 32 bytes, Stack size 8 bytes, llshl.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_llsl
  [Called By]
  - >> __aeabi_uldivmod
  - >> _double_epilogue
  - >> __aeabi_dadd
  - >> __aeabi_d2ulz

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

  __aeabi_llsr (Thumb, 34 bytes, Stack size 8 bytes, llushr.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_llsr
  [Called By]
  - >> __aeabi_uldivmod
  - >> _double_epilogue
  - >> __aeabi_d2ulz

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

  __aeabi_lasr (Thumb, 38 bytes, Stack size 8 bytes, llsshr.o(.text), UNUSED)
  [Called By]

  - >> __aeabi_dadd

  _ll_sshift_r (Thumb, 0 bytes, Stack size 8 bytes, llsshr.o(.text), UNUSED)

  isspace (Thumb, 14 bytes, Stack size 8 bytes, isspace_c.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = isspace
  [Calls]
  - >> __ctype_lookup
  [Address Reference Count : 1]
  - scanf_char.o(.text)

  __vfscanf (Thumb, 806 bytes, Stack size 80 bytes, _scanf.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = __vfscanf ⇒ _scanf_int
  [Calls]
  - >> _scanf_string (Weak Reference)
  - >> _scanf_real (Weak Reference)
  - >> _scanf_longlong (Weak Reference)
  - >> _scanf_int
  [Called By]
  - >> __vfscanf_char

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

  - >> isspace

  USBH0_HID0_Callback (Thumb, 12 bytes, Stack size 8 bytes, usbh_hid.o(i.USBH0_HID0_Callback))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH0_HID0_Callback ⇒ USBH_HID_Callback ⇒ usbh_hid_data_in_callback
  [Calls]
  - >> USBH_HID_Callback
  [Address Reference Count : 1]
  - usbh_hid.o(i.USBH_HID_Init)

  USBH0_HID1_Callback (Thumb, 12 bytes, Stack size 8 bytes, usbh_hid.o(i.USBH0_HID1_Callback))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH0_HID1_Callback ⇒ USBH_HID_Callback ⇒ usbh_hid_data_in_callback
  [Calls]
  - >> USBH_HID_Callback
  [Address Reference Count : 1]
  - usbh_hid.o(i.USBH_HID_Init)

  USBH0_HID2_Callback (Thumb, 12 bytes, Stack size 8 bytes, usbh_hid.o(i.USBH0_HID2_Callback))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH0_HID2_Callback ⇒ USBH_HID_Callback ⇒ usbh_hid_data_in_callback
  [Calls]
  - >> USBH_HID_Callback
  [Address Reference Count : 1]
  - usbh_hid.o(i.USBH_HID_Init)

  USBH0_HID3_Callback (Thumb, 12 bytes, Stack size 8 bytes, usbh_hid.o(i.USBH0_HID3_Callback))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH0_HID3_Callback ⇒ USBH_HID_Callback ⇒ usbh_hid_data_in_callback
  [Calls]
  - >> USBH_HID_Callback
  [Address Reference Count : 1]
  - usbh_hid.o(i.USBH_HID_Init)

  USBH1_HID0_Callback (Thumb, 12 bytes, Stack size 8 bytes, usbh_hid.o(i.USBH1_HID0_Callback))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH1_HID0_Callback ⇒ USBH_HID_Callback ⇒ usbh_hid_data_in_callback
  [Calls]
  - >> USBH_HID_Callback
  [Address Reference Count : 1]
  - usbh_hid.o(i.USBH_HID_Init)

  USBH1_HID1_Callback (Thumb, 12 bytes, Stack size 8 bytes, usbh_hid.o(i.USBH1_HID1_Callback))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH1_HID1_Callback ⇒ USBH_HID_Callback ⇒ usbh_hid_data_in_callback
  [Calls]
  - >> USBH_HID_Callback
  [Address Reference Count : 1]
  - usbh_hid.o(i.USBH_HID_Init)

  USBH1_HID2_Callback (Thumb, 12 bytes, Stack size 8 bytes, usbh_hid.o(i.USBH1_HID2_Callback))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH1_HID2_Callback ⇒ USBH_HID_Callback ⇒ usbh_hid_data_in_callback
  [Calls]
  - >> USBH_HID_Callback
  [Address Reference Count : 1]
  - usbh_hid.o(i.USBH_HID_Init)

  USBH1_HID3_Callback (Thumb, 12 bytes, Stack size 8 bytes, usbh_hid.o(i.USBH1_HID3_Callback))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH1_HID3_Callback ⇒ USBH_HID_Callback ⇒ usbh_hid_data_in_callback
  [Calls]
  - >> USBH_HID_Callback
  [Address Reference Count : 1]
  - usbh_hid.o(i.USBH_HID_Init)

  USBH_EnumerateDevice (Thumb, 522 bytes, Stack size 56 bytes, usbh_core.o(i.USBH_EnumerateDevice))
  [Stack]

  - Max Depth = 228
  - Call Chain = USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_SetConfiguration
  - >> USBH_SetAddress
  - >> USBH_GetDescriptor
  - >> USBH_SetLastError
  - >> USBH_GetClassDriverIdx
  - >> USBH_EP0_SetMaxPacketSize
  - >> USBH_EP0_SetAddress
  - >> __aeabi_uread4
  [Called By]
  - >> usbh_engine

  USBH_GetDescriptor (Thumb, 132 bytes, Stack size 40 bytes, usbh_core.o(i.USBH_GetDescriptor))
  [Stack]

  - Max Depth = 172
  - Call Chain = USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_Send_Setup
  - >> USBH_Send_Data
  - >> USBH_Rece_Data
  [Called By]
  - >> USBH_HID_Init
  - >> USBH_EnumerateDevice

  USBH_HID_Callback (Thumb, 74 bytes, Stack size 16 bytes, usbh_hid.o(i.USBH_HID_Callback))
  [Stack]

  - Max Depth = 32
  - Call Chain = USBH_HID_Callback ⇒ usbh_hid_data_in_callback
  [Calls]
  - >> usbh_hid_data_in_callback
  - >> USBH_HID_SetLastError
  - >> USBH_HID_ReceOnIntIn
  [Called By]
  - >> USBH1_HID3_Callback
  - >> USBH1_HID2_Callback
  - >> USBH1_HID1_Callback
  - >> USBH1_HID0_Callback
  - >> USBH0_HID3_Callback
  - >> USBH0_HID2_Callback
  - >> USBH0_HID1_Callback
  - >> USBH0_HID0_Callback

  USBH_HID_Config (Thumb, 338 bytes, Stack size 72 bytes, usbh_hid.o(i.USBH_HID_Config))
  [Stack]

  - Max Depth = 72
  - Call Chain = USBH_HID_Config
  [Calls]
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy
  - >> USBH_HID_SetLastError
  - >> __aeabi_uwrite4
  [Address Reference Count : 1]
  - usbh_hid.o(.data)

  USBH_HID_Init (Thumb, 280 bytes, Stack size 40 bytes, usbh_hid.o(i.USBH_HID_Init))
  [Stack]

  - Max Depth = 212
  - Call Chain = USBH_HID_Init ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> usbh_hid_parse_report_desc
  - >> USBH_HID_SetLastError
  - >> USBH_HID_SetIdle
  - >> USBH_HID_ReceOnIntIn
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_GetDescriptor
  [Address Reference Count : 1]
  - usbh_hid.o(.data)

  USBH_HID_UnConfig (Thumb, 178 bytes, Stack size 32 bytes, usbh_hid.o(i.USBH_HID_UnConfig))
  [Stack]

  - Max Depth = 48
  - Call Chain = USBH_HID_UnConfig ⇒ usbh_mem_free ⇒ usbh_mem_free_lib
  [Calls]
  - >> __aeabi_memclr4
  - >> USBH_HID_SetLastError
  - >> usbh_mem_free
  - >> __aeabi_uread4
  [Address Reference Count : 1]
  - usbh_hid.o(.data)

  USBH_HID_UnInit (Thumb, 40 bytes, Stack size 8 bytes, usbh_hid.o(i.USBH_HID_UnInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBH_HID_UnInit
  [Calls]
  - >> USBH_HID_SetLastError
  [Address Reference Count : 1]
  - usbh_hid.o(.data)

  USBH_MK_GetEPIndexFromHandle (Thumb, 16 bytes, Stack size 8 bytes, usbh_mkl25z4.o(i.USBH_MK_GetEPIndexFromHandle))
  [Stack]

  - Max Depth = 20
  - Call Chain = USBH_MK_GetEPIndexFromHandle ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> USBH_URB_Submit
  - >> USBH_EP_Remove
  - >> USBH_URB_Cancel
  - >> USBH_MK_TransferEnqueue

  USBH_Rece_Data (Thumb, 208 bytes, Stack size 80 bytes, usbh_core.o(i.USBH_Rece_Data))
  [Stack]

  - Max Depth = 132
  - Call Chain = USBH_Rece_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_memclr4
  - >> usbh_transfer
  - >> USBH_SetLastError
  [Called By]
  - >> USBH_HID_SetReport
  - >> USBH_HID_SetIdle
  - >> USBH_SetConfiguration
  - >> USBH_SetAddress
  - >> USBH_GetDescriptor

  USBH_Send_Data (Thumb, 208 bytes, Stack size 80 bytes, usbh_core.o(i.USBH_Send_Data))
  [Stack]

  - Max Depth = 132
  - Call Chain = USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_memclr4
  - >> usbh_transfer
  - >> USBH_SetLastError
  [Called By]
  - >> USBH_HID_SetReport
  - >> USBH_GetDescriptor

  USBH_Send_Setup (Thumb, 114 bytes, Stack size 64 bytes, usbh_core.o(i.USBH_Send_Setup))
  [Stack]

  - Max Depth = 116
  - Call Chain = USBH_Send_Setup ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_memclr4
  - >> usbh_transfer
  - >> USBH_SetLastError
  [Called By]
  - >> USBH_HID_SetReport
  - >> USBH_HID_SetIdle
  - >> USBH_SetConfiguration
  - >> USBH_SetAddress
  - >> USBH_GetDescriptor

  USBH_SetAddress (Thumb, 78 bytes, Stack size 16 bytes, usbh_core.o(i.USBH_SetAddress))
  [Stack]

  - Max Depth = 148
  - Call Chain = USBH_SetAddress ⇒ USBH_Rece_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_Send_Setup
  - >> USBH_Rece_Data
  [Called By]
  - >> USBH_EnumerateDevice

  USBH_SetConfiguration (Thumb, 78 bytes, Stack size 16 bytes, usbh_core.o(i.USBH_SetConfiguration))
  [Stack]

  - Max Depth = 148
  - Call Chain = USBH_SetConfiguration ⇒ USBH_Rece_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_Send_Setup
  - >> USBH_Rece_Data
  [Called By]
  - >> USBH_EnumerateDevice

  USBH_UninitDevices (Thumb, 508 bytes, Stack size 32 bytes, usbh_core.o(i.USBH_UninitDevices))
  [Stack]

  - Max Depth = 40
  - Call Chain = USBH_UninitDevices ⇒ USBH_GetClassDriverIdx
  [Calls]
  - >> USBH_GetClassDriverIdx
  [Called By]
  - >> usbh_engine

  __0printf (Thumb, 24 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)
  [Calls]

  - >> _printf_core

  __1printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

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

  - Max Depth = 24
  - Call Chain = __2printf
  [Called By]
  - >> measure_display
  - >> main

  __c89printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf))
  [Stack]

  - Max Depth = 24
  - Call Chain = __c89printf
  [Called By]
  - >> set_time
  - >> set_interval
  - >> main
  - >> read_index

  printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED)

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

  - >> _double_epilogue

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

  __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)

  __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

  usbh_engine (Thumb, 320 bytes, Stack size 40 bytes, usbh_core.o(i.usbh_engine))
  [Stack]

  - Max Depth = 268
  - Call Chain = usbh_engine ⇒ USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> USBH_UninitDevices
  - >> USBH_EnumerateDevice
  - >> USBH_SetLastError
  - >> USBH_GetLastError
  [Called By]
  - >> main

  usbh_hid_data_in_callback (Thumb, 56 bytes, Stack size 16 bytes, usbh_hid.o(i.usbh_hid_data_in_callback))
  [Stack]

  - Max Depth = 16
  - Call Chain = usbh_hid_data_in_callback
  [Calls]
  - >> __aeabi_memcpy
  - >> USBH_HID_SetLastError
  [Called By]
  - >> USBH_HID_Callback

  usbh_hid_data_out (Thumb, 48 bytes, Stack size 8 bytes, usbh_hid.o(i.usbh_hid_data_out))
  [Stack]

  - Max Depth = 212
  - Call Chain = usbh_hid_data_out ⇒ USBH_HID_ReportOut ⇒ USBH_HID_SetReport ⇒ USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> USBH_HID_SetLastError
  - >> USBH_HID_ReportOut
  [Called By]
  - >> main

  usbh_hid_kbd_getkey (Thumb, 194 bytes, Stack size 24 bytes, usbh_hid.o(i.usbh_hid_kbd_getkey))
  [Stack]

  - Max Depth = 36
  - Call Chain = usbh_hid_kbd_getkey ⇒ memcmp
  [Calls]
  - >> memcmp
  - >> USBH_HID_SetLastError
  [Called By]
  - >> getkey

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

  - >> USBH_HID_Init

  usbh_hid_status (Thumb, 66 bytes, Stack size 8 bytes, usbh_hid.o(i.usbh_hid_status))
  [Stack]

  - Max Depth = 8
  - Call Chain = usbh_hid_status
  [Calls]
  - >> USBH_HID_SetLastError
  [Called By]
  - >> main

  usbh_init (Thumb, 94 bytes, Stack size 16 bytes, usbh_core.o(i.usbh_init))
  [Stack]

  - Max Depth = 32
  - Call Chain = usbh_init ⇒ USBH_EP0_Setup
  [Calls]
  - >> USBH_SetLastError
  - >> USBH_EP0_Setup
  [Called By]
  - >> main

  usbh_mem_alloc (Thumb, 34 bytes, Stack size 16 bytes, usbh_core.o(i.usbh_mem_alloc))
  [Stack]

  - Max Depth = 24
  - Call Chain = usbh_mem_alloc ⇒ usbh_mem_alloc_lib
  [Calls]
  - >> usbh_mem_alloc_lib
  - >> USBH_SetLastError
  [Called By]
  - >> USBH_HID_Init
  - >> USBH_HID_SetReport
  - >> USBH_HID_SetIdle
  - >> USBH_HID_ReportOut
  - >> USBH_SetConfiguration
  - >> USBH_SetAddress
  - >> USBH_GetDescriptor
  - >> USBH_EnumerateDevice

  usbh_mem_alloc_lib (Thumb, 64 bytes, Stack size 8 bytes, usbh_mem.o(i.usbh_mem_alloc_lib))
  [Stack]

  - Max Depth = 8
  - Call Chain = usbh_mem_alloc_lib
  [Called By]
  - >> usbh_mem_alloc

  usbh_mem_free (Thumb, 28 bytes, Stack size 8 bytes, usbh_core.o(i.usbh_mem_free))
  [Stack]

  - Max Depth = 16
  - Call Chain = usbh_mem_free ⇒ usbh_mem_free_lib
  [Calls]
  - >> usbh_mem_free_lib
  - >> USBH_SetLastError
  [Called By]
  - >> USBH_HID_UnConfig
  - >> USBH_HID_Init
  - >> USBH_HID_SetReport
  - >> USBH_HID_SetIdle
  - >> USBH_HID_ReportOut
  - >> USBH_SetConfiguration
  - >> USBH_SetAddress
  - >> USBH_GetDescriptor
  - >> USBH_EnumerateDevice

  usbh_mem_free_lib (Thumb, 56 bytes, Stack size 8 bytes, usbh_mem.o(i.usbh_mem_free_lib))
  [Stack]

  - Max Depth = 8
  - Call Chain = usbh_mem_free_lib
  [Called By]
  - >> usbh_mem_free

  usbh_mem_init (Thumb, 28 bytes, Stack size 8 bytes, usbh_core.o(i.usbh_mem_init))
  [Stack]

  - Max Depth = 24
  - Call Chain = usbh_mem_init ⇒ usbh_mem_init_lib
  [Calls]
  - >> usbh_mem_init_lib
  - >> USBH_SetLastError
  [Called By]
  - >> USBH_Init

  usbh_mem_init_lib (Thumb, 54 bytes, Stack size 16 bytes, usbh_mem.o(i.usbh_mem_init_lib))
  [Stack]

  - Max Depth = 16
  - Call Chain = usbh_mem_init_lib
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> usbh_mem_init

  usbh_transfer (Thumb, 194 bytes, Stack size 40 bytes, usbh_core.o(i.usbh_transfer))
  [Stack]

  - Max Depth = 52
  - Call Chain = usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  - >> USBH_SetLastError
  - >> __aeabi_uread4
  [Called By]
  - >> USBH_HID_Send_Data
  - >> USBH_Send_Setup
  - >> USBH_Send_Data
  - >> USBH_Rece_Data

  ### Local Symbols

  SysTick_Config (Thumb, 42 bytes, Stack size 8 bytes, measure.o(.text))
  [Stack]

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

  read_index (Thumb, 94 bytes, Stack size 16 bytes, measure.o(.text))
  [Stack]

  - Max Depth = 224
  - Call Chain = read_index ⇒ __0sscanf ⇒ __vfscanf_char ⇒ __vfscanf ⇒ _scanf_int
  [Calls]
  - >> __0sscanf
  - >> __c89printf
  [Called By]
  - >> main

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

  - >> main

  save_current_measurements (Thumb, 56 bytes, Stack size 8 bytes, measure.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = save_current_measurements
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> SysTick_Handler

  USBH_MK_TransferEnqueue (Thumb, 298 bytes, Stack size 40 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = USBH_MK_TransferEnqueue ⇒ USBH_MK_GetEPIndexFromHandle ⇒ __aeabi_uidivmod
  [Calls]
  - >> USBH_MK_GetEPIndexFromHandle
  [Called By]
  - >> USB0_IRQHandler

  USBH_Delay_ms (Thumb, 90 bytes, Stack size 24 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = USBH_Delay_ms ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_uidivmod
  - >> SystemCoreClockUpdate
  [Called By]
  - >> USBH_Init
  - >> USBH_Get_Connect
  - >> USBH_Port_Reset
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  USBH_Pins_Config (Thumb, 54 bytes, Stack size 0 bytes, usbh_mkl25z4.o(.text))
  [Address Reference Count : 1]

  - usbh_mkl25z4.o(.data)

  USBH_Port_Power (Thumb, 20 bytes, Stack size 0 bytes, usbh_mkl25z4.o(.text))
  [Address Reference Count : 1]

  - usbh_mkl25z4.o(.data)

  USBH_Port_Reset (Thumb, 84 bytes, Stack size 8 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = USBH_Port_Reset ⇒ USBH_Delay_ms ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> USBH_Delay_ms
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  USBH_Get_Connect (Thumb, 106 bytes, Stack size 16 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = USBH_Get_Connect ⇒ USBH_Delay_ms ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> USBH_Delay_ms
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  USBH_Get_Speed (Thumb, 6 bytes, Stack size 0 bytes, usbh_mkl25z4.o(.text))
  [Address Reference Count : 1]

  - usbh_mkl25z4.o(.data)

  USBH_EP_Add (Thumb, 46 bytes, Stack size 16 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBH_EP_Add
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> USBH_EP_Config
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  USBH_EP_Config (Thumb, 32 bytes, Stack size 16 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = USBH_EP_Config ⇒ USBH_EP_Add
  [Calls]
  - >> USBH_EP_Add
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  USBH_URB_Cancel (Thumb, 98 bytes, Stack size 16 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = USBH_URB_Cancel ⇒ USBH_MK_GetEPIndexFromHandle ⇒ __aeabi_uidivmod
  [Calls]
  - >> USBH_MK_GetEPIndexFromHandle
  [Called By]
  - >> USB0_IRQHandler
  - >> USBH_EP_Remove
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  USBH_EP_Remove (Thumb, 56 bytes, Stack size 16 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 52
  - Call Chain = USBH_EP_Remove ⇒ USBH_URB_Cancel ⇒ USBH_MK_GetEPIndexFromHandle ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_memclr
  - >> USBH_MK_GetEPIndexFromHandle
  - >> USBH_URB_Cancel
  - >> __aeabi_uread4
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  USBH_URB_Submit (Thumb, 116 bytes, Stack size 16 bytes, usbh_mkl25z4.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = USBH_URB_Submit ⇒ USBH_MK_GetEPIndexFromHandle ⇒ __aeabi_uidivmod
  [Calls]
  - >> USBH_MK_GetEPIndexFromHandle
  - >> __aeabi_uwrite4
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  ADC_Calib (Thumb, 138 bytes, Stack size 20 bytes, adc.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = ADC_Calib
  [Called By]
  - >> ADC_Init

  USBH_EP0_SetAddress (Thumb, 78 bytes, Stack size 24 bytes, usbh_core.o(i.USBH_EP0_SetAddress))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBH_EP0_SetAddress
  [Calls]
  - >> USBH_SetLastError
  - >> __aeabi_uread4
  [Called By]
  - >> USBH_EnumerateDevice

  USBH_EP0_SetMaxPacketSize (Thumb, 82 bytes, Stack size 16 bytes, usbh_core.o(i.USBH_EP0_SetMaxPacketSize))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBH_EP0_SetMaxPacketSize
  [Calls]
  - >> USBH_SetLastError
  - >> __aeabi_uread4
  [Called By]
  - >> USBH_EnumerateDevice

  USBH_EP0_Setup (Thumb, 116 bytes, Stack size 16 bytes, usbh_core.o(i.USBH_EP0_Setup))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBH_EP0_Setup
  [Calls]
  - >> USBH_SetLastError
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  [Called By]
  - >> usbh_init

  USBH_GetClassDriverIdx (Thumb, 36 bytes, Stack size 8 bytes, usbh_core.o(i.USBH_GetClassDriverIdx))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBH_GetClassDriverIdx
  [Called By]
  - >> USBH_UninitDevices
  - >> USBH_EnumerateDevice

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

  - >> usbh_engine

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

  - >> usbh_transfer
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_Send_Setup
  - >> USBH_Send_Data
  - >> USBH_Rece_Data
  - >> USBH_EnumerateDevice
  - >> USBH_EP0_Setup
  - >> USBH_EP0_SetMaxPacketSize
  - >> USBH_EP0_SetAddress
  - >> usbh_mem_init
  - >> usbh_init
  - >> usbh_engine

  USBH_HID_GetLastError (Thumb, 40 bytes, Stack size 0 bytes, usbh_hid.o(i.USBH_HID_GetLastError))
  [Address Reference Count : 1]

  - usbh_hid.o(.data)

  USBH_HID_ReceOnIntIn (Thumb, 110 bytes, Stack size 16 bytes, usbh_hid.o(i.USBH_HID_ReceOnIntIn))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBH_HID_ReceOnIntIn
  [Calls]
  - >> USBH_HID_SetLastError
  [Called By]
  - >> USBH_HID_Init
  - >> USBH_HID_Callback

  USBH_HID_ReportOut (Thumb, 126 bytes, Stack size 32 bytes, usbh_hid.o(i.USBH_HID_ReportOut))
  [Stack]

  - Max Depth = 204
  - Call Chain = USBH_HID_ReportOut ⇒ USBH_HID_SetReport ⇒ USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_memcpy
  - >> USBH_HID_SetReport
  - >> USBH_HID_SetLastError
  - >> USBH_HID_Send_Data
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> __aeabi_uread4
  [Called By]
  - >> usbh_hid_data_out

  USBH_HID_Send_Data (Thumb, 182 bytes, Stack size 80 bytes, usbh_hid.o(i.USBH_HID_Send_Data))
  [Stack]

  - Max Depth = 132
  - Call Chain = USBH_HID_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> __aeabi_memclr4
  - >> USBH_HID_SetLastError
  - >> usbh_transfer
  [Called By]
  - >> USBH_HID_ReportOut

  USBH_HID_SetIdle (Thumb, 104 bytes, Stack size 24 bytes, usbh_hid.o(i.USBH_HID_SetIdle))
  [Stack]

  - Max Depth = 156
  - Call Chain = USBH_HID_SetIdle ⇒ USBH_Rece_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_Send_Setup
  - >> USBH_Rece_Data
  [Called By]
  - >> USBH_HID_Init

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

  - >> usbh_hid_data_in_callback
  - >> USBH_HID_UnInit
  - >> USBH_HID_UnConfig
  - >> USBH_HID_Init
  - >> USBH_HID_Config
  - >> USBH_HID_Callback
  - >> USBH_HID_Send_Data
  - >> USBH_HID_ReportOut
  - >> USBH_HID_ReceOnIntIn
  - >> usbh_hid_status
  - >> usbh_hid_data_out
  - >> usbh_hid_kbd_getkey

  USBH_HID_SetReport (Thumb, 128 bytes, Stack size 40 bytes, usbh_hid.o(i.USBH_HID_SetReport))
  [Stack]

  - Max Depth = 172
  - Call Chain = USBH_HID_SetReport ⇒ USBH_Send_Data ⇒ usbh_transfer ⇒ __aeabi_uidivmod
  [Calls]
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_Send_Setup
  - >> USBH_Send_Data
  - >> USBH_Rece_Data
  [Called By]
  - >> USBH_HID_ReportOut

  _fp_digits (Thumb, 314 bytes, Stack size 56 bytes, printfa.o(i._fp_digits), UNUSED)
  [Calls]

  - >> __aeabi_dmul
  - >> __aeabi_uldivmod
  - >> __aeabi_ddiv
  - >> __aeabi_dadd
  - >> __aeabi_d2ulz
  - >> __aeabi_cdrcmple
  [Called By]
  - >> _printf_core

  _printf_core (Thumb, 1766 bytes, Stack size 128 bytes, printfa.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod
  - >> __aeabi_uldivmod
  - >> _printf_pre_padding
  - >> _printf_post_padding
  - >> _fp_digits
  [Called By]
  - >> __0printf

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

  - >> _printf_core

  _printf_pre_padding (Thumb, 44 bytes, Stack size 40 bytes, printfa.o(i._printf_pre_padding), UNUSED)
  [Called By]

  - >> _printf_core

  _scanf_char_input (Thumb, 12 bytes, Stack size 0 bytes, scanf_char.o(.text))
  [Address Reference Count : 1]

  - scanf_char.o(.text)

  ### Undefined Global Symbols

  _scanf_longlong (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __vfscanf

  _scanf_real (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __vfscanf

  _scanf_string (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> __vfscanf