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

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

### Maximum Stack Usage = 1016 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

### Call chain for Maximum Stack Depth:

cmd_copy ⇒ fopen ⇒ freopen ⇒ _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat

### Functions with no stack information

- __user_initial_stackheap

### 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
- _sys_exit ⇒ _sys_exit

  ### 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)
  - DeviceCtrl from fs_usbh_msc.o(.text) referenced from fs_usbh_msc.o(.constdata)
  - 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)
  - Init from fs_usbh_msc.o(.text) referenced from fs_usbh_msc.o(.constdata)
  - 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)
  - ReadInfo from fs_usbh_msc.o(.text) referenced from fs_usbh_msc.o(.constdata)
  - ReadSector from fs_usbh_msc.o(.text) referenced from fs_usbh_msc.o(.constdata)
  - 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 usbh_mkl25z4.o(.text) referenced from startup_mkl25z4.o(RESET)
  - 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_Init from usbh_mkl25z4.o(.text) referenced from usbh_mkl25z4.o(.data)
  - USBH_MSC_Config from usbh_msc.o(i.USBH_MSC_Config) referenced from usbh_msc.o(.data)
  - USBH_MSC_GetLastError from usbh_msc.o(i.USBH_MSC_GetLastError) referenced from usbh_msc.o(.data)
  - USBH_MSC_Init from usbh_msc.o(i.USBH_MSC_Init) referenced from usbh_msc.o(.data)
  - USBH_MSC_UnConfig from usbh_msc.o(i.USBH_MSC_UnConfig) referenced from usbh_msc.o(.data)
  - USBH_MSC_UnInit from usbh_msc.o(i.USBH_MSC_UnInit) referenced from usbh_msc.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)
  - UnInit from fs_usbh_msc.o(.text) referenced from fs_usbh_msc.o(.constdata)
  - WriteSector from fs_usbh_msc.o(.text) referenced from fs_usbh_msc.o(.constdata)
  - __main from __main.o(!!!main) referenced from startup_mkl25z4.o(.text)
  - _get_lc_ctype from lc_ctype_c.o(locale$$code) referenced from rt_ctype_table.o(.text)
  - _printf_input_char from _printf_char_common.o(.text) referenced from _printf_char_common.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)
  - _sputc from _sputc.o(.text) referenced from __2sprintf.o(.text)
  - cmd_capture from msd_file.o(.text) referenced from msd_file.o(.constdata)
  - cmd_copy from msd_file.o(.text) referenced from msd_file.o(.constdata)
  - cmd_delete from msd_file.o(.text) referenced from msd_file.o(.constdata)
  - cmd_dir from msd_file.o(.text) referenced from msd_file.o(.constdata)
  - cmd_fill from msd_file.o(.text) referenced from msd_file.o(.constdata)
  - cmd_format from msd_file.o(.text) referenced from msd_file.o(.constdata)
  - cmd_help from msd_file.o(.text) referenced 2 times from msd_file.o(.constdata)
  - cmd_rename from msd_file.o(.text) referenced from msd_file.o(.constdata)
  - cmd_type from msd_file.o(.text) referenced from msd_file.o(.constdata)
  - fputc from fputc.o(i.fputc) referenced from _printf_char_file.o(.text)
  - isspace from isspace.o(.text) referenced from scanf_char.o(.text)

  ### Global Symbols

  __main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
  [Calls]

  - >> __rt_entry
  - >> __scatterload

  __scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
  [Called By]

  - >> __main

  __scatterload_rt2 (Thumb, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
  [Calls]

  - >> __rt_entry

  __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
  [Calls]

  - >> __scatterload_copy
  [Called By]
  - >> __scatterload_copy

  __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

  _printf_percent (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000))
  [Called By]

  - >> __printf

  _printf_n (Thumb, 0 bytes, Stack size unknown bytes, _printf_n.o(.ARM.Collect$$_printf_percent$$00000001))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_n ⇒ _printf_p ⇒ _printf_d ⇒ _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_p
  - >> _printf_charcount

  _printf_p (Thumb, 0 bytes, Stack size unknown bytes, _printf_p.o(.ARM.Collect$$_printf_percent$$00000002))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_p ⇒ _printf_d ⇒ _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_d
  - >> _printf_hex_ptr
  [Called By]
  - >> _printf_n

  _printf_d (Thumb, 0 bytes, Stack size unknown bytes, _printf_d.o(.ARM.Collect$$_printf_percent$$00000009))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_d ⇒ _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_s
  - >> _printf_int_dec
  [Called By]
  - >> _printf_p

  _printf_s (Thumb, 0 bytes, Stack size unknown bytes, _printf_s.o(.ARM.Collect$$_printf_percent$$00000014))
  [Stack]

  - Max Depth = 40 + Unknown Stack Size
  - Call Chain = _printf_s ⇒ _printf_string ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_percent_end
  - >> _printf_string
  [Called By]
  - >> _printf_d

  _printf_percent_end (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017))
  [Called By]

  - >> _printf_s

  __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
  [Called By]

  - >> __rt_entry_li

  __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000001))

  __rt_lib_init_heap_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000003))
  [Stack]

  - Max Depth = 64 + Unknown Stack Size
  - Call Chain = __rt_lib_init_heap_2 ⇒ _init_alloc ⇒ __rt_SIGRTMEM ⇒ __rt_SIGRTMEM_inner ⇒ __default_signal_display ⇒ _ttywrch ⇒ sendchar
  [Calls]
  - >> _init_alloc

  __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000008))

  __rt_lib_init_lc_common (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000D))
  [Calls]

  - >> __rt_locale

  __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

  __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))

  __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000F))

  __rt_lib_init_lc_ctype_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = __rt_lib_init_lc_ctype_2 ⇒ _get_lc_ctype ⇒ strcmp
  [Calls]
  - >> _get_lc_ctype

  __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))

  __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))

  __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))

  __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))

  __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))

  __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))

  __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))

  __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))

  __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))

  __rt_lib_init_stdio_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000022))
  [Stack]

  - Max Depth = 440 + Unknown Stack Size
  - Call Chain = __rt_lib_init_stdio_2 ⇒ _initio ⇒ freopen ⇒ _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> _initio

  __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))

  __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002A))

  __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))

  __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))

  __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000031))

  __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))

  __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
  [Called By]

  - >> __rt_exit_ls

  __rt_lib_shutdown_stdio_2 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
  [Stack]

  - Max Depth = 240 + Unknown Stack Size
  - Call Chain = __rt_lib_shutdown_stdio_2 ⇒ _terminateio ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> _terminateio

  __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))

  __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

  __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))

  __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))

  __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000003))

  __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B))

  __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, rtentry.o(.ARM.Collect$$rtentry$$00000000))
  [Called By]

  - >> __main
  - >> __scatterload_rt2

  __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000002))

  __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, rtentry4.o(.ARM.Collect$$rtentry$$00000004))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap
  [Calls]
  - >> __user_setup_stackheap

  __rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
  [Calls]

  - >> __rt_lib_init

  __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000009))

  __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
  [Stack]

  - Max Depth = 264 + Unknown Stack Size
  - Call Chain = __rt_entry_main ⇒ main ⇒ usbh_engine ⇒ USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> main
  - >> exit

  __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

  __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
  [Called By]

  - >> exit

  __rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
  [Calls]

  - >> __rt_lib_shutdown

  __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

  __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
  [Calls]

  - >> _sys_exit

  __aeabi_memcpy4 (Thumb, 56 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text))
  [Called By]

  - >> __aeabi_memcpy
  - >> write_last_entry
  - >> write_dot_entries
  - >> read_last_entry

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text), UNUSED)

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

  - startup_mkl25z4.o(RESET)

  _maybe_terminate_alloc (Thumb, 0 bytes, Stack size 0 bytes, maybetermalloc1.o(.emb_text), UNUSED)

  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)

  __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_mkl25z4.o(.text))
  [Called By]

  - >> __user_setup_stackheap

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

  - startup_mkl25z4.o(.text)

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

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

  __semihosting$guard (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  toupper (Thumb, 30 bytes, Stack size 8 bytes, toupper.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = toupper ⇒ __rt_ctype_table
  [Calls]
  - >> __rt_ctype_table
  [Called By]
  - >> main

  __2printf (Thumb, 22 bytes, Stack size 24 bytes, __2printf.o(.text))
  [Stack]

  - Max Depth = 136 + Unknown Stack Size
  - Call Chain = __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _printf_char_file
  [Called By]
  - >> main
  - >> init_msd
  - >> cmd_help
  - >> cmd_format
  - >> cmd_dir
  - >> cmd_delete
  - >> cmd_copy
  - >> cmd_rename
  - >> cmd_type
  - >> cmd_fill
  - >> cmd_capture

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

  - Max Depth = 40
  - Call Chain = putc ⇒ fputc ⇒ __flsbuf_byte
  [Calls]
  - >> fputc
  [Called By]
  - >> cmd_type

  __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_escrow (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_expand (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __use_no_heap (Thumb, 2 bytes, Stack size 0 bytes, hguard.o(.text), UNUSED)

  __heap$guard (Thumb, 2 bytes, Stack size 0 bytes, hguard.o(.text), UNUSED)

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

  - >> fs_cfg_drv

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

  - >> frename

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

  - >> __sys_open

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

  - >> fdelete
  - >> __sys_open

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

  - >> ffree

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

  - >> fformat

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

  - >> ffind

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

  - >> __sys_close

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

  - >> __sys_read

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

  - >> __sys_write

  efs_ensure (Thumb, 4 bytes, Stack size 0 bytes, file_config.o(.text), UNUSED)
  [Called By]

  - >> __sys_ensure

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

  - >> __sys_seek

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

  - >> ffind
  - >> __sys_open
  - >> __sys_flen

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

  - >> frename
  - >> fdelete
  - >> __sys_open

  efs_analyse (Thumb, 4 bytes, Stack size 0 bytes, file_config.o(.text), UNUSED)

  efs_check (Thumb, 4 bytes, Stack size 0 bytes, file_config.o(.text), UNUSED)

  efs_defrag (Thumb, 4 bytes, Stack size 0 bytes, file_config.o(.text), UNUSED)

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

  - >> fat_format
  - >> init_drv

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

  - >> fat_format

  fsj_set_space (Thumb, 4 bytes, Stack size 0 bytes, file_config.o(.text), UNUSED)

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

  - >> cache_fat
  - >> write_sector

  fsj_init (Thumb, 4 bytes, Stack size 0 bytes, file_config.o(.text), UNUSED)

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

  - >> fs_cfg_drv

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

  - >> init_elink_path

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

  - >> fat_init
  - >> fat_format

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

  - >> create_entry
  - >> search_for_name

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

  - >> fat_find_dir
  - >> fat_rename

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

  - >> delete_entries
  - >> create_entry
  - >> alloc_name
  - >> fat_rename
  - >> fat_write
  - >> search_for_name

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

  - >> create_entry
  - >> search_for_name

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

  - >> create_entry
  - >> search_for_name

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

  - >> delete_entries

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

  - >> find_fn_elink

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

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

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

  - Max Depth = 8
  - Call Chain = getkey
  [Calls]
  - >> SER_GetChar
  [Called By]
  - >> getline
  - >> cmd_format

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

  - Max Depth = 8
  - Call Chain = _ttywrch ⇒ sendchar
  [Calls]
  - >> sendchar
  [Called By]
  - >> __default_signal_display

  _sys_open (Thumb, 66 bytes, Stack size 16 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 400
  - Call Chain = _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> __sys_open
  - >> strcmp
  [Called By]
  - >> freopen

  _sys_close (Thumb, 20 bytes, Stack size 8 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 152
  - Call Chain = _sys_close ⇒ __sys_close ⇒ fat_wclose ⇒ fat_seek ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> __sys_close
  [Called By]
  - >> _fclose_internal

  _sys_write (Thumb, 56 bytes, Stack size 16 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = _sys_write ⇒ __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> __sys_write
  - >> sendchar
  [Called By]
  - >> _writebuf

  _sys_read (Thumb, 54 bytes, Stack size 16 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = _sys_read ⇒ __sys_read ⇒ fat_read ⇒ read_cache ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> __sys_read
  - >> SER_GetChar
  [Called By]
  - >> _readbuf

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

  - >> _fseek
  - >> __flsbuf

  _sys_seek (Thumb, 22 bytes, Stack size 8 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = _sys_seek ⇒ __sys_seek ⇒ fat_seek ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> __sys_seek
  [Called By]
  - >> _writebuf
  - >> __filbuf

  _sys_ensure (Thumb, 22 bytes, Stack size 8 bytes, retarget.o(.text), UNUSED)
  [Calls]

  - >> __sys_ensure

  _sys_flen (Thumb, 20 bytes, Stack size 8 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _sys_flen ⇒ __sys_flen
  [Calls]
  - >> __sys_flen
  [Called By]
  - >> _fseek
  - >> __flsbuf

  _sys_tmpnam (Thumb, 4 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)

  _sys_command_string (Thumb, 2 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)

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

  - >> _sys_exit
  [Called By]
  - >> _sys_exit
  - >> __rt_exit_exit
  - >> __sig_exit

  main (Thumb, 238 bytes, Stack size 8 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 264 + Unknown Stack Size
  - Call Chain = main ⇒ usbh_engine ⇒ USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_msc_status
  - >> usbh_engine
  - >> getline
  - >> SER_Init
  - >> init_msd
  - >> get_entry
  - >> strcmp
  - >> fflush
  - >> __2printf
  - >> toupper
  [Called By]
  - >> __rt_entry_main

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

  - Max Depth = 32
  - Call Chain = getline ⇒ getkey
  [Calls]
  - >> getkey
  - >> sendchar
  [Called By]
  - >> main
  - >> cmd_capture

  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

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

  - >> _sys_read
  - >> getkey

  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, 198 bytes, Stack size 24 bytes, usbh_mkl25z4.o(.text))
  [Stack]

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

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

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

  __aeabi_uldivmod (Thumb, 258 bytes, Stack size 32 bytes, lludiv.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __aeabi_uldivmod
  [Called By]
  - >> fat_format
  - >> dot_format

  _ll_udiv (Thumb, 0 bytes, Stack size 32 bytes, lludiv.o(.text), UNUSED)

  __2fprintf (Thumb, 22 bytes, Stack size 24 bytes, __2fprintf.o(.text))
  [Stack]

  - Max Depth = 136 + Unknown Stack Size
  - Call Chain = __2fprintf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _printf_char_file
  [Called By]
  - >> cmd_fill

  __2sprintf (Thumb, 40 bytes, Stack size 32 bytes, __2sprintf.o(.text))
  [Stack]

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _sputc
  - >> _printf_char_common
  [Called By]
  - >> dot_format

  _printf_pre_padding (Thumb, 44 bytes, Stack size 16 bytes, _printf_pad.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _printf_pre_padding
  [Called By]
  - >> _printf_int_common
  - >> _printf_str

  _printf_post_padding (Thumb, 34 bytes, Stack size 16 bytes, _printf_pad.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _printf_post_padding
  [Called By]
  - >> _printf_int_common
  - >> _printf_str

  _printf_str (Thumb, 82 bytes, Stack size 16 bytes, _printf_str.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_cs_common

  _printf_int_dec (Thumb, 90 bytes, Stack size 32 bytes, _printf_dec.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> __rt_udiv10
  - >> _printf_int_common
  - >> _printf_truncate_unsigned (Weak Reference)
  - >> _printf_truncate_signed (Weak Reference)
  [Called By]
  - >> _printf_d

  _printf_charcount (Thumb, 40 bytes, Stack size 0 bytes, _printf_charcount.o(.text))
  [Called By]

  - >> _printf_n

  _printf_hex_ptr (Thumb, 78 bytes, Stack size 16 bytes, _printf_hex_ptr.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = _printf_hex_ptr ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  [Called By]
  - >> _printf_p

  _printf_longlong_hex (Thumb, 0 bytes, Stack size 16 bytes, _printf_hex_ptr.o(.text), UNUSED)

  __printf (Thumb, 386 bytes, Stack size 32 bytes, __printf_flags_ss_wp.o(.text))
  [Stack]

  - Max Depth = 32 + Unknown Stack Size
  - Call Chain = __printf
  [Calls]
  - >> _printf_percent
  - >> _is_digit
  [Called By]
  - >> _printf_char_common

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

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

  _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

  _do_fflush (Thumb, 54 bytes, Stack size 16 bytes, fflush.o(.text))
  [Stack]

  - Max Depth = 208
  - Call Chain = _do_fflush ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> _fflush
  - >> _fseek
  [Called By]
  - >> fflush
  - >> _flushlinebuffered

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

  - Max Depth = 224
  - Call Chain = fflush ⇒ _do_fflush ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> _do_fflush
  [Called By]
  - >> main
  - >> cmd_fill

  fputs (Thumb, 34 bytes, Stack size 16 bytes, fputs.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = fputs ⇒ fputc ⇒ __flsbuf_byte
  [Calls]
  - >> fputc
  [Called By]
  - >> cmd_capture

  freopen (Thumb, 148 bytes, Stack size 32 bytes, fopen.o(.text))
  [Stack]

  - Max Depth = 432
  - Call Chain = freopen ⇒ _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> _sys_open
  - >> _fseek
  - >> _fclose_internal
  [Called By]
  - >> _initio
  - >> fopen

  fopen (Thumb, 76 bytes, Stack size 24 bytes, fopen.o(.text))
  [Stack]

  - Max Depth = 456
  - Call Chain = fopen ⇒ freopen ⇒ _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> malloc
  - >> __aeabi_memclr4
  - >> freopen
  [Called By]
  - >> cmd_copy
  - >> cmd_type
  - >> cmd_fill
  - >> cmd_capture

  _fclose_internal (Thumb, 72 bytes, Stack size 32 bytes, fclose.o(.text))
  [Stack]

  - Max Depth = 224
  - Call Chain = _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> _sys_close
  - >> _fflush
  - >> free
  - >> __aeabi_memclr4
  [Called By]
  - >> _terminateio
  - >> freopen

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

  - Max Depth = 32
  - Call Chain = fclose
  [Called By]
  - >> cmd_copy
  - >> cmd_type
  - >> cmd_fill
  - >> cmd_capture

  strcpy (Thumb, 70 bytes, Stack size 16 bytes, strcpy.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = strcpy
  [Called By]
  - >> init_msd
  - >> cmd_format

  strlen (Thumb, 62 bytes, Stack size 12 bytes, strlen.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strlen
  [Called By]
  - >> fat_crc32
  - >> create_lfn_entry
  - >> alloc_name
  - >> frename
  - >> ffind
  - >> cmd_dir
  - >> cmd_delete
  - >> cmd_rename
  - >> search_for_name

  strcat (Thumb, 24 bytes, Stack size 0 bytes, strcat.o(.text))
  [Called By]

  - >> frename
  - >> cmd_format

  __aeabi_memcpy (Thumb, 130 bytes, Stack size 24 bytes, rt_memcpy.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy4
  [Called By]
  - >> USBH_MSC_Config
  - >> USBH_MSC_Write10
  - >> USBH_MSC_Read10
  - >> fat_write
  - >> fat_read
  - >> USBH_EP_Add
  - >> frename
  - >> write_cache
  - >> write_br
  - >> read_sector
  - >> read_cache
  - >> fwrite
  - >> fread

  __rt_memcpy (Thumb, 0 bytes, Stack size 24 bytes, rt_memcpy.o(.text), UNUSED)

  __aeabi_memset (Thumb, 18 bytes, Stack size 8 bytes, aeabi_memset.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_memset
  [Calls]
  - >> _memset
  [Called By]
  - >> fat_format

  _memset_w (Thumb, 26 bytes, Stack size 0 bytes, rt_memclr.o(.text))
  [Called By]

  - >> __rt_memclr_w
  - >> _memset

  _memset (Thumb, 30 bytes, Stack size 0 bytes, rt_memclr.o(.text))
  [Calls]

  - >> _memset_w
  [Called By]
  - >> __aeabi_memclr
  - >> __aeabi_memset

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

  - >> _memset
  [Called By]
  - >> clear_clus
  - >> fat_format
  - >> USBH_EP_Remove
  - >> write_mbr
  - >> write_label
  - >> write_fsinfo
  - >> write_dot_entries
  - >> write_br

  __rt_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

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

  - >> USBH_MSC_UnConfig
  - >> USBH_MSC_Config
  - >> USBH_MSC_Send_Data
  - >> USBH_MSC_Rece_Data
  - >> usbh_mem_init_lib
  - >> USBH_Send_Setup
  - >> USBH_Send_Data
  - >> USBH_Rece_Data
  - >> fat_init
  - >> fs_find_iob
  - >> fformat
  - >> _initio
  - >> _fclose_internal
  - >> fopen

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

  __rt_memclr_w (Thumb, 4 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
  [Calls]

  - >> _memset_w

  strcmp (Thumb, 132 bytes, Stack size 16 bytes, strcmp.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = strcmp
  [Called By]
  - >> chk_dir_empty
  - >> ffind
  - >> main
  - >> cmd_format
  - >> cmd_copy
  - >> cmd_rename
  - >> cmd_capture
  - >> _sys_open
  - >> _get_lc_ctype

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

  - >> USBH_MSC_UnConfig
  - >> USBH_MSC_Write10
  - >> USBH_MSC_TestUnitReady
  - >> USBH_MSC_RequestSense
  - >> USBH_MSC_ReadCapacity
  - >> USBH_MSC_Read10
  - >> USBH_MSC_Inquiry
  - >> usbh_transfer
  - >> USBH_EnumerateDevice
  - >> USBH_EP0_Setup
  - >> USBH_EP0_SetMaxPacketSize
  - >> USBH_EP0_SetAddress
  - >> USB0_IRQHandler
  - >> USBH_EP_Remove
  - >> usbh_uninit

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

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

  - >> USBH_MSC_Config
  - >> USBH_MSC_Write10
  - >> USBH_MSC_TestUnitReady
  - >> USBH_MSC_RequestSense
  - >> USBH_MSC_ReadCapacity
  - >> USBH_MSC_Read10
  - >> USBH_MSC_Inquiry
  - >> USBH_EP0_Setup
  - >> USB0_IRQHandler
  - >> USBH_URB_Submit

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

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

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

  - >> create_lfn_entry
  - >> alloc_name
  - >> USBH_MSC_Write10
  - >> USBH_MSC_Read10
  - >> usbh_transfer
  - >> fat_init
  - >> fat_format
  - >> fat_seek
  - >> USBH_MK_GetEPIndexFromHandle
  - >> USBH_Delay_ms
  - >> SystemCoreClockUpdate
  - >> fread

  __aeabi_idiv (Thumb, 0 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)

  __aeabi_idivmod (Thumb, 326 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_idivmod
  [Called By]
  - >> fat_init
  - >> get_nt_name

  __rt_ctype_table (Thumb, 16 bytes, Stack size 8 bytes, rt_ctype_table.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __rt_ctype_table
  [Calls]
  - >> __rt_locale
  [Called By]
  - >> toupper
  - >> isspace

  malloc (Thumb, 98 bytes, Stack size 16 bytes, h1_alloc.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = malloc ⇒ __Heap_Full ⇒ __Heap_ProvideMemory ⇒ free
  [Calls]
  - >> __Heap_Full
  - >> __rt_heap_descriptor
  [Called By]
  - >> __filbuf
  - >> fopen
  - >> __flsbuf

  free (Thumb, 76 bytes, Stack size 16 bytes, h1_free.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = free
  [Calls]
  - >> __rt_heap_descriptor
  [Called By]
  - >> _terminateio
  - >> _fclose_internal
  - >> __Heap_ProvideMemory

  _printf_int_common (Thumb, 176 bytes, Stack size 40 bytes, _printf_intcommon.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_hex_ptr
  - >> _printf_int_dec

  _printf_char_common (Thumb, 32 bytes, Stack size 64 bytes, _printf_char_common.o(.text))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_char_common ⇒ __printf
  [Calls]
  - >> __printf
  [Called By]
  - >> _printf_char_file
  - >> __2sprintf

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

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

  _printf_cs_common (Thumb, 22 bytes, Stack size 8 bytes, _printf_char.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_mbtowc (Weak Reference)
  - >> _printf_str
  [Called By]
  - >> _printf_string
  - >> _printf_char

  _printf_char (Thumb, 16 bytes, Stack size 0 bytes, _printf_char.o(.text), UNUSED)
  [Calls]

  - >> _printf_cs_common

  _printf_string (Thumb, 8 bytes, Stack size 0 bytes, _printf_char.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_string ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_cs_common
  [Called By]
  - >> _printf_s

  _printf_char_file (Thumb, 34 bytes, Stack size 16 bytes, _printf_char_file.o(.text))
  [Stack]

  - Max Depth = 112 + Unknown Stack Size
  - Call Chain = _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _printf_char_common
  - >> ferror
  [Called By]
  - >> __2fprintf
  - >> __2printf

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

  - >> _scanf_int

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

  - Max Depth = 144
  - 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)

  _readbuf (Thumb, 56 bytes, Stack size 16 bytes, filbuf.o(.text))
  [Stack]

  - Max Depth = 160
  - Call Chain = _readbuf ⇒ _sys_read ⇒ __sys_read ⇒ fat_read ⇒ read_cache ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> _sys_read
  - >> _seterr
  [Called By]
  - >> __filbuf
  - >> fread

  _seteof (Thumb, 40 bytes, Stack size 0 bytes, filbuf.o(.text))
  [Called By]

  - >> __filbuf
  - >> fread

  __filbuf (Thumb, 486 bytes, Stack size 32 bytes, filbuf.o(.text), UNUSED)
  [Calls]

  - >> _sys_seek
  - >> _deferredlazyseek
  - >> _fflush
  - >> _seterr
  - >> _seteof
  - >> _readbuf
  - >> malloc
  - >> _flushlinebuffered

  __filbuf_byte (Thumb, 0 bytes, Stack size 32 bytes, filbuf.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __filbuf_byte
  [Called By]
  - >> fgetc
  - >> fread

  __filbuf_wide (Thumb, 0 bytes, Stack size 32 bytes, filbuf.o(.text), UNUSED)

  _fseek (Thumb, 240 bytes, Stack size 24 bytes, fseek.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _fseek ⇒ _sys_flen ⇒ __sys_flen
  [Calls]
  - >> _sys_flen
  - >> _sys_istty
  - >> _seterr
  - >> _ftell_internal
  [Called By]
  - >> freopen
  - >> _do_fflush

  fseek (Thumb, 0 bytes, Stack size 24 bytes, fseek.o(.text), UNUSED)

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

  - >> _writebuf
  - >> _fseek
  - >> __filbuf
  - >> _readbuf
  - >> __flsbuf

  _writebuf (Thumb, 76 bytes, Stack size 32 bytes, stdio.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = _writebuf ⇒ _sys_write ⇒ __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> _sys_seek
  - >> _sys_write
  - >> _seterr
  [Called By]
  - >> _fflush
  - >> fwrite
  - >> __flsbuf

  _fflush (Thumb, 76 bytes, Stack size 16 bytes, stdio.o(.text))
  [Stack]

  - Max Depth = 192
  - Call Chain = _fflush ⇒ _writebuf ⇒ _sys_write ⇒ __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> _writebuf
  [Called By]
  - >> _deferredlazyseek
  - >> __filbuf
  - >> _fclose_internal
  - >> _do_fflush

  _deferredlazyseek (Thumb, 60 bytes, Stack size 8 bytes, stdio.o(.text), UNUSED)
  [Calls]

  - >> _fflush
  [Called By]
  - >> __filbuf
  - >> __flsbuf

  _initio (Thumb, 216 bytes, Stack size 8 bytes, initio.o(.text))
  [Stack]

  - Max Depth = 440
  - Call Chain = _initio ⇒ freopen ⇒ _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> __aeabi_memclr4
  - >> freopen
  - >> __rt_SIGRTRED
  - >> setvbuf
  [Called By]
  - >> __rt_lib_init_stdio_2

  _terminateio (Thumb, 56 bytes, Stack size 16 bytes, initio.o(.text))
  [Stack]

  - Max Depth = 240
  - Call Chain = _terminateio ⇒ _fclose_internal ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> free
  - >> _fclose_internal
  [Called By]
  - >> __rt_lib_shutdown_stdio_2

  __rt_udiv10 (Thumb, 40 bytes, Stack size 0 bytes, rtudiv10.o(.text))
  [Called By]

  - >> _printf_int_dec

  __rt_heap_descriptor (Thumb, 8 bytes, Stack size 0 bytes, rt_heap_descriptor_intlibspace.o(.text))
  [Called By]

  - >> _init_alloc
  - >> free
  - >> malloc

  __rt_locale (Thumb, 8 bytes, Stack size 0 bytes, rt_locale_intlibspace.o(.text))
  [Called By]

  - >> __rt_ctype_table
  - >> __rt_lib_init_lc_common

  _terminate_user_alloc (Thumb, 2 bytes, Stack size 0 bytes, init_alloc.o(.text), UNUSED)

  _init_user_alloc (Thumb, 2 bytes, Stack size 0 bytes, init_alloc.o(.text), UNUSED)

  __Heap_Full (Thumb, 32 bytes, Stack size 16 bytes, init_alloc.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __Heap_Full ⇒ __Heap_ProvideMemory ⇒ free
  [Calls]
  - >> __Heap_ProvideMemory
  [Called By]
  - >> malloc

  __Heap_Broken (Thumb, 10 bytes, Stack size 8 bytes, init_alloc.o(.text), UNUSED)
  [Calls]

  - >> __rt_SIGRTMEM

  _init_alloc (Thumb, 90 bytes, Stack size 24 bytes, init_alloc.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = _init_alloc ⇒ __rt_SIGRTMEM ⇒ __rt_SIGRTMEM_inner ⇒ __default_signal_display ⇒ _ttywrch ⇒ sendchar
  [Calls]
  - >> __Heap_Initialize
  - >> __rt_heap_descriptor
  - >> __rt_SIGRTMEM
  - >> __Heap_ProvideMemory
  [Called By]
  - >> __rt_lib_init_heap_2

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

  - >> _init_alloc

  __Heap_DescSize (Thumb, 4 bytes, Stack size 0 bytes, h1_init.o(.text), UNUSED)

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

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

  __vfscanf (Thumb, 892 bytes, Stack size 88 bytes, _scanf.o(.text))
  [Stack]

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

  ferror (Thumb, 8 bytes, Stack size 0 bytes, ferror.o(.text))
  [Called By]

  - >> _printf_char_file

  __flsbuf (Thumb, 486 bytes, Stack size 24 bytes, flsbuf.o(.text), UNUSED)
  [Calls]

  - >> _sys_flen
  - >> _sys_istty
  - >> _deferredlazyseek
  - >> _writebuf
  - >> _seterr
  - >> malloc

  __flsbuf_byte (Thumb, 0 bytes, Stack size 24 bytes, flsbuf.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __flsbuf_byte
  [Called By]
  - >> fputc
  - >> fwrite

  __flsbuf_wide (Thumb, 0 bytes, Stack size 24 bytes, flsbuf.o(.text), UNUSED)

  _ftell_internal (Thumb, 66 bytes, Stack size 8 bytes, ftell.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _ftell_internal
  [Calls]
  - >> __aeabi_errno_addr
  [Called By]
  - >> _fseek

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

  setvbuf (Thumb, 72 bytes, Stack size 16 bytes, setvbuf.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = setvbuf
  [Called By]
  - >> _initio

  fread (Thumb, 302 bytes, Stack size 48 bytes, freadfast.o(.text))
  [Stack]

  - Max Depth = 208
  - Call Chain = fread ⇒ _readbuf ⇒ _sys_read ⇒ __sys_read ⇒ fat_read ⇒ read_cache ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> __filbuf_byte
  - >> _seteof
  - >> _readbuf
  - >> __aeabi_uidivmod
  - >> __aeabi_memcpy
  [Called By]
  - >> cmd_copy

  _flushlinebuffered (Thumb, 46 bytes, Stack size 16 bytes, flushlinebuffered.o(.text), UNUSED)
  [Calls]

  - >> _do_fflush
  [Called By]
  - >> __filbuf

  __rt_SIGRTRED (Thumb, 12 bytes, Stack size 8 bytes, defsig_rtred_outer.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __rt_SIGRTRED ⇒ __rt_SIGRTRED_inner ⇒ __default_signal_display ⇒ _ttywrch ⇒ sendchar
  [Calls]
  - >> __rt_SIGRTRED_inner
  - >> __sig_exit
  [Called By]
  - >> _initio

  __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

  __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

  __user_setup_stackheap (Thumb, 62 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __user_setup_stackheap
  [Calls]
  - >> __user_initial_stackheap
  - >> __user_perproc_libspace
  [Called By]
  - >> __rt_entry_sh

  __aeabi_errno_addr (Thumb, 8 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text))
  [Called By]

  - >> _ftell_internal

  __errno$intlibspace (Thumb, 0 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text), UNUSED)

  __rt_errno_addr$intlibspace (Thumb, 0 bytes, Stack size 0 bytes, rt_errno_addr_intlibspace.o(.text), UNUSED)

  __Heap_ProvideMemory (Thumb, 52 bytes, Stack size 8 bytes, h1_extend.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __Heap_ProvideMemory ⇒ free
  [Calls]
  - >> free
  [Called By]
  - >> _init_alloc
  - >> __Heap_Full

  fwrite (Thumb, 200 bytes, Stack size 48 bytes, fwritefast.o(.text))
  [Stack]

  - Max Depth = 224
  - Call Chain = fwrite ⇒ _writebuf ⇒ _sys_write ⇒ __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> _writebuf
  - >> __aeabi_memcpy
  - >> __flsbuf_byte
  [Called By]
  - >> cmd_copy

  exit (Thumb, 12 bytes, Stack size 0 bytes, exit.o(.text))
  [Calls]

  - >> __rt_exit
  - >> _call_atexit_fns (Weak Reference)
  [Called By]
  - >> __rt_entry_main

  __sig_exit (Thumb, 12 bytes, Stack size 8 bytes, defsig_exit.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __sig_exit
  [Calls]
  - >> _sys_exit
  [Called By]
  - >> __rt_SIGRTMEM
  - >> __rt_SIGRTRED

  __rt_SIGRTRED_inner (Thumb, 14 bytes, Stack size 8 bytes, defsig_rtred_inner.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __rt_SIGRTRED_inner ⇒ __default_signal_display ⇒ _ttywrch ⇒ sendchar
  [Calls]
  - >> __default_signal_display
  [Called By]
  - >> __rt_SIGRTRED

  __rt_SIGRTMEM (Thumb, 12 bytes, Stack size 8 bytes, defsig_rtmem_outer.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __rt_SIGRTMEM ⇒ __rt_SIGRTMEM_inner ⇒ __default_signal_display ⇒ _ttywrch ⇒ sendchar
  [Calls]
  - >> __rt_SIGRTMEM_inner
  - >> __sig_exit
  [Called By]
  - >> _init_alloc
  - >> __Heap_Broken

  __default_signal_display (Thumb, 52 bytes, Stack size 16 bytes, defsig_general.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __default_signal_display ⇒ _ttywrch ⇒ sendchar
  [Calls]
  - >> _ttywrch
  [Called By]
  - >> __rt_SIGRTMEM_inner
  - >> __rt_SIGRTRED_inner

  __rt_SIGRTMEM_inner (Thumb, 22 bytes, Stack size 8 bytes, defsig_rtmem_inner.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = __rt_SIGRTMEM_inner ⇒ __default_signal_display ⇒ _ttywrch ⇒ sendchar
  [Calls]
  - >> __default_signal_display
  [Called By]
  - >> __rt_SIGRTMEM

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

  - Max Depth = 216
  - Call Chain = USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer
  [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 = 160
  - Call Chain = USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_Send_Setup
  - >> USBH_Send_Data
  - >> USBH_Rece_Data
  [Called By]
  - >> USBH_EnumerateDevice

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

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

  USBH_MSC_Config (Thumb, 320 bytes, Stack size 64 bytes, usbh_msc.o(i.USBH_MSC_Config))
  [Stack]

  - Max Depth = 88
  - Call Chain = USBH_MSC_Config ⇒ __aeabi_memcpy
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> __aeabi_uwrite4
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - usbh_msc.o(.data)

  USBH_MSC_Init (Thumb, 294 bytes, Stack size 40 bytes, usbh_msc.o(i.USBH_MSC_Init))
  [Stack]

  - Max Depth = 288
  - Call Chain = USBH_MSC_Init ⇒ USBH_MSC_RequestSense ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_TestUnitReady
  - >> USBH_MSC_SetLastError
  - >> USBH_MSC_RequestSense
  - >> USBH_MSC_ReadCapacity
  - >> USBH_MSC_Inquiry
  - >> USBH_MSC_GetMaxLUN
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  [Address Reference Count : 1]
  - usbh_msc.o(.data)

  USBH_MSC_UnConfig (Thumb, 152 bytes, Stack size 32 bytes, usbh_msc.o(i.USBH_MSC_UnConfig))
  [Stack]

  - Max Depth = 32
  - Call Chain = USBH_MSC_UnConfig
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> __aeabi_uread4
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - usbh_msc.o(.data)

  USBH_MSC_UnInit (Thumb, 40 bytes, Stack size 8 bytes, usbh_msc.o(i.USBH_MSC_UnInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBH_MSC_UnInit
  [Calls]
  - >> USBH_MSC_SetLastError
  [Address Reference Count : 1]
  - usbh_msc.o(.data)

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

  - Max Depth = 120
  - Call Chain = USBH_Rece_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_transfer
  - >> USBH_SetLastError
  - >> __aeabi_memclr4
  [Called By]
  - >> USBH_MSC_GetMaxLUN
  - >> 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 = 120
  - Call Chain = USBH_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_transfer
  - >> USBH_SetLastError
  - >> __aeabi_memclr4
  [Called By]
  - >> USBH_MSC_GetMaxLUN
  - >> USBH_GetDescriptor

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

  - Max Depth = 104
  - Call Chain = USBH_Send_Setup ⇒ usbh_transfer
  [Calls]
  - >> usbh_transfer
  - >> USBH_SetLastError
  - >> __aeabi_memclr4
  [Called By]
  - >> USBH_MSC_GetMaxLUN
  - >> USBH_SetConfiguration
  - >> USBH_SetAddress
  - >> USBH_GetDescriptor

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

  - Max Depth = 136
  - Call Chain = USBH_SetAddress ⇒ USBH_Rece_Data ⇒ usbh_transfer
  [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 = 136
  - Call Chain = USBH_SetConfiguration ⇒ USBH_Rece_Data ⇒ usbh_transfer
  [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

  __ARM_common_ll_muluu (Thumb, 48 bytes, Stack size 24 bytes, fs_fat.o(i.__ARM_common_ll_muluu))
  [Stack]

  - Max Depth = 24
  - Call Chain = __ARM_common_ll_muluu
  [Called By]
  - >> fat_free

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

  __sys_close (Thumb, 76 bytes, Stack size 16 bytes, fs_sys.o(i.__sys_close))
  [Stack]

  - Max Depth = 144
  - Call Chain = __sys_close ⇒ fat_wclose ⇒ fat_seek ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fat_wclose
  - >> efs_wclose
  [Called By]
  - >> _sys_close

  __sys_ensure (Thumb, 62 bytes, Stack size 8 bytes, fs_sys.o(i.__sys_ensure), UNUSED)
  [Calls]

  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> efs_ensure
  [Called By]
  - >> _sys_ensure

  __sys_flen (Thumb, 54 bytes, Stack size 8 bytes, fs_sys.o(i.__sys_flen))
  [Stack]

  - Max Depth = 8
  - Call Chain = __sys_flen
  [Calls]
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> efs_fsize
  [Called By]
  - >> _sys_flen

  __sys_open (Thumb, 426 bytes, Stack size 32 bytes, fs_sys.o(i.__sys_open))
  [Stack]

  - Max Depth = 384
  - Call Chain = __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fs_map_drive
  - >> fs_find_iob
  - >> fs_dir
  - >> fat_path_valid
  - >> fat_find
  - >> fat_delete
  - >> fat_create
  - >> efs_find
  - >> efs_fsize
  - >> efs_delete
  - >> efs_create
  [Called By]
  - >> _sys_open

  __sys_read (Thumb, 88 bytes, Stack size 24 bytes, fs_sys.o(i.__sys_read))
  [Stack]

  - Max Depth = 128
  - Call Chain = __sys_read ⇒ fat_read ⇒ read_cache ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fat_read
  - >> efs_read
  [Called By]
  - >> _sys_read

  __sys_seek (Thumb, 60 bytes, Stack size 16 bytes, fs_sys.o(i.__sys_seek))
  [Stack]

  - Max Depth = 104
  - Call Chain = __sys_seek ⇒ fat_seek ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fat_seek
  - >> efs_seek
  [Called By]
  - >> _sys_seek

  __sys_write (Thumb, 78 bytes, Stack size 24 bytes, fs_sys.o(i.__sys_write))
  [Stack]

  - Max Depth = 128
  - Call Chain = __sys_write ⇒ fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fat_write
  - >> efs_write
  [Called By]
  - >> _sys_write

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

  - >> __printf

  fat_create (Thumb, 96 bytes, Stack size 16 bytes, fs_fat.o(i.fat_create))
  [Stack]

  - Max Depth = 352
  - Call Chain = fat_create ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> fat_find_dir
  - >> create_entry
  - >> alloc_name
  - >> fs_chk_media
  - >> set_root_clus
  - >> init_elink_path
  [Called By]
  - >> __sys_open

  fat_delete (Thumb, 180 bytes, Stack size 16 bytes, fs_fat.o(i.fat_delete))
  [Stack]

  - Max Depth = 352
  - Call Chain = fat_delete ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> find_name
  - >> find_fn_elink
  - >> fat_find_dir
  - >> delete_entries
  - >> chk_dir_empty
  - >> fs_chk_media
  - >> write_fsinfo
  - >> write_cache
  - >> unlink_clus_chain
  - >> set_root_clus
  - >> init_elink_path
  - >> get_elink_dat
  [Called By]
  - >> fdelete
  - >> __sys_open

  fat_ffind (Thumb, 78 bytes, Stack size 16 bytes, fs_fat.o(i.fat_ffind))
  [Stack]

  - Max Depth = 352
  - Call Chain = fat_ffind ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> fat_find_dir
  - >> fs_chk_media
  - >> set_root_clus
  - >> init_elink_path
  - >> get_next_info
  [Called By]
  - >> ffind

  fat_find (Thumb, 122 bytes, Stack size 16 bytes, fs_fat.o(i.fat_find))
  [Stack]

  - Max Depth = 352
  - Call Chain = fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> find_name
  - >> find_fn_elink
  - >> fat_find_dir
  - >> fs_chk_media
  - >> set_root_clus
  - >> init_elink_path
  - >> get_elink_dat
  [Called By]
  - >> frename
  - >> fdelete
  - >> __sys_open

  fat_format (Thumb, 902 bytes, Stack size 40 bytes, fs_fat.o(i.fat_format))
  [Stack]

  - Max Depth = 112
  - Call Chain = fat_format ⇒ write_label ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> elink_flush
  - >> fat_jour_prep
  - >> fat_jour_init
  - >> __aeabi_uidivmod
  - >> __aeabi_memclr
  - >> __aeabi_memset
  - >> __aeabi_uldivmod
  - >> fs_find_drv
  - >> fs_chk_media
  - >> write_mbr
  - >> write_label
  - >> write_fsinfo
  - >> write_cache
  - >> write_br
  - >> set_u32
  - >> get_param
  [Called By]
  - >> fformat

  fat_free (Thumb, 52 bytes, Stack size 8 bytes, fs_fat.o(i.fat_free))
  [Stack]

  - Max Depth = 56
  - Call Chain = fat_free ⇒ count_free_clus ⇒ cache_fat
  [Calls]
  - >> count_free_clus
  - >> fs_chk_media
  - >> __ARM_common_ll_muluu
  [Called By]
  - >> ffree

  fat_init (Thumb, 362 bytes, Stack size 40 bytes, fs_fat.o(i.fat_init))
  [Stack]

  - Max Depth = 96
  - Call Chain = fat_init ⇒ write_fsinfo ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> count_free_clus
  - >> elink_flush
  - >> __aeabi_idivmod
  - >> __aeabi_uidivmod
  - >> __aeabi_memclr4
  - >> fs_find_drv
  - >> write_fsinfo
  - >> read_sector
  - >> get_u32
  - >> get_u16
  - >> get_fsinfo
  - >> get_bootrec
  [Called By]
  - >> init_drv

  fat_path_valid (Thumb, 82 bytes, Stack size 32 bytes, fs_fat.o(i.fat_path_valid))
  [Stack]

  - Max Depth = 48
  - Call Chain = fat_path_valid ⇒ get_dir_name
  [Calls]
  - >> val_ch
  - >> get_dir_name
  [Called By]
  - >> __sys_open

  fat_read (Thumb, 184 bytes, Stack size 40 bytes, fs_fat.o(i.fat_read))
  [Stack]

  - Max Depth = 104
  - Call Chain = fat_read ⇒ read_cache ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> clus_to_sect
  - >> __aeabi_memcpy
  - >> fs_chk_media
  - >> set_next_clus
  - >> read_cache
  [Called By]
  - >> __sys_read

  fat_rename (Thumb, 332 bytes, Stack size 56 bytes, fs_fat.o(i.fat_rename))
  [Stack]

  - Max Depth = 392
  - Call Chain = fat_rename ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> find_name
  - >> find_fn_elink
  - >> fat_find_dir
  - >> delete_entries
  - >> create_entry
  - >> check_name
  - >> alloc_name
  - >> elink_set
  - >> elink_cmd
  - >> fs_chk_media
  - >> set_root_clus
  - >> read_last_entry
  - >> init_elink_path
  - >> get_elink_dat
  [Called By]
  - >> frename

  fat_seek (Thumb, 188 bytes, Stack size 40 bytes, fs_fat.o(i.fat_seek))
  [Stack]

  - Max Depth = 88
  - Call Chain = fat_seek ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> __aeabi_uidivmod
  - >> fs_chk_media
  - >> set_next_clus
  - >> is_EOC
  [Called By]
  - >> fat_wclose
  - >> __sys_seek

  fat_wclose (Thumb, 212 bytes, Stack size 40 bytes, fs_fat.o(i.fat_wclose))
  [Stack]

  - Max Depth = 128
  - Call Chain = fat_wclose ⇒ fat_seek ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> cache_fat
  - >> fat_seek
  - >> fs_chk_media
  - >> write_last_entry
  - >> write_fsinfo
  - >> write_fat_link
  - >> write_cache
  - >> set_u32
  - >> set_u16
  - >> read_last_entry
  - >> get_time
  - >> get_date
  - >> get_EOC
  [Called By]
  - >> __sys_close

  fat_write (Thumb, 300 bytes, Stack size 48 bytes, fs_fat.o(i.fat_write))
  [Stack]

  - Max Depth = 104
  - Call Chain = fat_write ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> clus_to_sect
  - >> elink_set
  - >> __aeabi_memcpy
  - >> fs_chk_media
  - >> write_fat_link
  - >> write_cache
  - >> set_next_clus
  - >> read_sector
  - >> get_free_clus
  [Called By]
  - >> __sys_write

  fdelete (Thumb, 132 bytes, Stack size 16 bytes, fs_mapi.o(i.fdelete))
  [Stack]

  - Max Depth = 368
  - Call Chain = fdelete ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> fs_lock
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fs_map_drive
  - >> fs_find_iob
  - >> fs_dir
  - >> fat_find
  - >> fat_delete
  - >> efs_find
  - >> efs_delete
  [Called By]
  - >> cmd_delete

  ffind (Thumb, 428 bytes, Stack size 40 bytes, fs_mapi.o(i.ffind))
  [Stack]

  - Max Depth = 392
  - Call Chain = ffind ⇒ fat_ffind ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> fs_strpos
  - >> fat_ffind
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fs_map_drive
  - >> fs_find_iob
  - >> efs_fsize
  - >> efs_ffind
  - >> strcmp
  - >> strlen
  [Called By]
  - >> cmd_dir

  fformat (Thumb, 114 bytes, Stack size 24 bytes, fs_mapi.o(i.fformat))
  [Stack]

  - Max Depth = 136
  - Call Chain = fformat ⇒ fat_format ⇒ write_label ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> fat_format
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fs_map_drive
  - >> fs_find_iob
  - >> efs_format
  - >> __aeabi_memclr4
  [Called By]
  - >> cmd_format

  ffree (Thumb, 74 bytes, Stack size 16 bytes, fs_mapi.o(i.ffree))
  [Stack]

  - Max Depth = 72
  - Call Chain = ffree ⇒ fat_free ⇒ count_free_clus ⇒ cache_fat
  [Calls]
  - >> fat_free
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fs_map_drive
  - >> fs_find_iob
  - >> efs_free
  [Called By]
  - >> cmd_dir

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

  - Max Depth = 40
  - Call Chain = fgetc ⇒ __filbuf_byte
  [Calls]
  - >> __filbuf_byte
  [Called By]
  - >> cmd_type

  finit (Thumb, 112 bytes, Stack size 56 bytes, fs_mapi.o(i.finit))
  [Stack]

  - Max Depth = 176
  - Call Chain = finit ⇒ init_drv ⇒ fat_init ⇒ write_fsinfo ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> fs_cfg_drv
  - >> init_drv
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fs_map_drive
  [Called By]
  - >> init_msd

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

  - Max Depth = 32
  - Call Chain = fputc ⇒ __flsbuf_byte
  [Calls]
  - >> __flsbuf_byte
  [Called By]
  - >> putc
  - >> fputs
  [Address Reference Count : 1]
  - _printf_char_file.o(.text)

  frename (Thumb, 248 bytes, Stack size 288 bytes, fs_mapi.o(i.frename))
  [Stack]

  - Max Depth = 680
  - Call Chain = frename ⇒ fat_rename ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> fs_lock
  - >> fat_rename
  - >> _mutex_release (Weak Reference)
  - >> _mutex_acquire (Weak Reference)
  - >> fs_map_drive
  - >> fs_find_iob
  - >> fat_find
  - >> efs_find
  - >> efs_rename
  - >> __aeabi_memcpy
  - >> strcat
  - >> strlen
  [Called By]
  - >> cmd_rename

  fs_cfg_drv (Thumb, 88 bytes, Stack size 16 bytes, fs_mapi.o(i.fs_cfg_drv))
  [Stack]

  - Max Depth = 16
  - Call Chain = fs_cfg_drv
  [Calls]
  - >> elink_init
  - >> fs_config
  [Called By]
  - >> finit

  fs_chk_media (Thumb, 46 bytes, Stack size 8 bytes, fs_lib.o(i.fs_chk_media))
  [Stack]

  - Max Depth = 8
  - Call Chain = fs_chk_media
  [Called By]
  - >> fat_rename
  - >> fat_free
  - >> fat_format
  - >> fat_ffind
  - >> fat_write
  - >> fat_wclose
  - >> fat_seek
  - >> fat_read
  - >> fat_find
  - >> fat_delete
  - >> fat_create

  fs_dir (Thumb, 40 bytes, Stack size 0 bytes, fs_lib.o(i.fs_dir))
  [Called By]

  - >> fdelete
  - >> __sys_open

  fs_find_drv (Thumb, 36 bytes, Stack size 8 bytes, fs_lib.o(i.fs_find_drv))
  [Stack]

  - Max Depth = 8
  - Call Chain = fs_find_drv
  [Called By]
  - >> fat_init
  - >> fat_format
  - >> init_elink_path

  fs_find_iob (Thumb, 50 bytes, Stack size 16 bytes, fs_lib.o(i.fs_find_iob))
  [Stack]

  - Max Depth = 16
  - Call Chain = fs_find_iob
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> frename
  - >> ffree
  - >> fformat
  - >> ffind
  - >> fdelete
  - >> __sys_open

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

  - >> get_date

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

  - >> get_time

  fs_lock (Thumb, 74 bytes, Stack size 12 bytes, fs_lib.o(i.fs_lock))
  [Stack]

  - Max Depth = 12
  - Call Chain = fs_lock
  [Called By]
  - >> frename
  - >> fdelete

  fs_map_drive (Thumb, 116 bytes, Stack size 20 bytes, fs_lib.o(i.fs_map_drive))
  [Stack]

  - Max Depth = 20
  - Call Chain = fs_map_drive
  [Called By]
  - >> frename
  - >> finit
  - >> ffree
  - >> fformat
  - >> ffind
  - >> fdelete
  - >> __sys_open

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

  - >> ffind

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

  - Max Depth = 256
  - Call Chain = usbh_engine ⇒ USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_UninitDevices
  - >> USBH_EnumerateDevice
  - >> USBH_SetLastError
  - >> USBH_GetLastError
  [Called By]
  - >> DeviceCtrl
  - >> Init
  - >> 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]
  - >> Init

  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_MSC_Init
  - >> USBH_MSC_Write10
  - >> USBH_MSC_TestUnitReady
  - >> USBH_MSC_RequestSense
  - >> USBH_MSC_ReadCapacity
  - >> USBH_MSC_Read10
  - >> USBH_MSC_Inquiry
  - >> USBH_MSC_GetMaxLUN
  - >> USBH_SetConfiguration
  - >> USBH_SetAddress
  - >> USBH_GetDescriptor
  - >> USBH_EnumerateDevice
  - >> usbh_msc_read_config

  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_MSC_Init
  - >> USBH_MSC_Write10
  - >> USBH_MSC_TestUnitReady
  - >> USBH_MSC_RequestSense
  - >> USBH_MSC_ReadCapacity
  - >> USBH_MSC_Read10
  - >> USBH_MSC_Inquiry
  - >> USBH_MSC_GetMaxLUN
  - >> USBH_SetConfiguration
  - >> USBH_SetAddress
  - >> USBH_GetDescriptor
  - >> USBH_EnumerateDevice
  - >> usbh_msc_read_config

  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_msc_read (Thumb, 56 bytes, Stack size 48 bytes, usbh_msc.o(i.usbh_msc_read))
  [Stack]

  - Max Depth = 320
  - Call Chain = usbh_msc_read ⇒ USBH_MSC_Read10 ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_Read10
  [Called By]
  - >> ReadSector

  usbh_msc_read_config (Thumb, 132 bytes, Stack size 48 bytes, usbh_msc.o(i.usbh_msc_read_config))
  [Stack]

  - Max Depth = 296
  - Call Chain = usbh_msc_read_config ⇒ USBH_MSC_ReadCapacity ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> USBH_MSC_ReadCapacity
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  [Called By]
  - >> ReadInfo

  usbh_msc_status (Thumb, 66 bytes, Stack size 8 bytes, usbh_msc.o(i.usbh_msc_status))
  [Stack]

  - Max Depth = 8
  - Call Chain = usbh_msc_status
  [Calls]
  - >> USBH_MSC_SetLastError
  [Called By]
  - >> DeviceCtrl
  - >> Init
  - >> main

  usbh_msc_write (Thumb, 56 bytes, Stack size 48 bytes, usbh_msc.o(i.usbh_msc_write))
  [Stack]

  - Max Depth = 320
  - Call Chain = usbh_msc_write ⇒ USBH_MSC_Write10 ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_Write10
  [Called By]
  - >> WriteSector

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

  - Max Depth = 40
  - Call Chain = usbh_transfer
  [Calls]
  - >> USBH_SetLastError
  - >> __aeabi_uidivmod
  - >> __aeabi_uread4
  [Called By]
  - >> USBH_MSC_Send_Data
  - >> USBH_MSC_Rece_Data
  - >> USBH_Send_Setup
  - >> USBH_Send_Data
  - >> USBH_Rece_Data

  usbh_uninit (Thumb, 96 bytes, Stack size 16 bytes, usbh_core.o(i.usbh_uninit))
  [Stack]

  - Max Depth = 16
  - Call Chain = usbh_uninit
  [Calls]
  - >> USBH_SetLastError
  - >> __aeabi_uread4
  [Called By]
  - >> UnInit

  _get_lc_ctype (Thumb, 44 bytes, Stack size 8 bytes, lc_ctype_c.o(locale$$code))
  [Stack]

  - Max Depth = 24
  - Call Chain = _get_lc_ctype ⇒ strcmp
  [Calls]
  - >> strcmp
  [Called By]
  - >> __rt_lib_init_lc_ctype_2
  [Address Reference Count : 1]
  - rt_ctype_table.o(.text)

  ### Local Symbols

  get_entry (Thumb, 118 bytes, Stack size 16 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = get_entry
  [Called By]
  - >> main
  - >> cmd_format
  - >> cmd_dir
  - >> cmd_delete
  - >> cmd_copy
  - >> cmd_rename
  - >> cmd_type
  - >> cmd_fill
  - >> cmd_capture

  dot_format (Thumb, 230 bytes, Stack size 24 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = dot_format ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> __2sprintf
  - >> __aeabi_uldivmod
  [Called By]
  - >> cmd_dir
  - >> cmd_copy

  cmd_capture (Thumb, 166 bytes, Stack size 16 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 472 + Unknown Stack Size
  - Call Chain = cmd_capture ⇒ fopen ⇒ freopen ⇒ _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> getline
  - >> get_entry
  - >> strcmp
  - >> fclose
  - >> fopen
  - >> fputs
  - >> __2printf
  [Address Reference Count : 1]
  - msd_file.o(.constdata)

  cmd_fill (Thumb, 120 bytes, Stack size 24 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 480 + Unknown Stack Size
  - Call Chain = cmd_fill ⇒ fopen ⇒ freopen ⇒ _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> get_entry
  - >> fclose
  - >> fopen
  - >> fflush
  - >> __0sscanf
  - >> __2fprintf
  - >> __2printf
  [Address Reference Count : 1]
  - msd_file.o(.constdata)

  cmd_type (Thumb, 72 bytes, Stack size 16 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 472 + Unknown Stack Size
  - Call Chain = cmd_type ⇒ fopen ⇒ freopen ⇒ _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> get_entry
  - >> fclose
  - >> fopen
  - >> putc
  - >> fgetc
  - >> __2printf
  [Address Reference Count : 1]
  - msd_file.o(.constdata)

  cmd_rename (Thumb, 118 bytes, Stack size 24 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 704 + Unknown Stack Size
  - Call Chain = cmd_rename ⇒ frename ⇒ fat_rename ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> frename
  - >> get_entry
  - >> strcmp
  - >> strlen
  - >> __2printf
  [Address Reference Count : 1]
  - msd_file.o(.constdata)

  cmd_copy (Thumb, 912 bytes, Stack size 560 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 1016 + Unknown Stack Size
  - Call Chain = cmd_copy ⇒ fopen ⇒ freopen ⇒ _sys_open ⇒ __sys_open ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> dot_format
  - >> get_entry
  - >> strcmp
  - >> fclose
  - >> fopen
  - >> __2printf
  - >> fwrite
  - >> fread
  [Address Reference Count : 1]
  - msd_file.o(.constdata)

  cmd_delete (Thumb, 82 bytes, Stack size 16 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 384 + Unknown Stack Size
  - Call Chain = cmd_delete ⇒ fdelete ⇒ fat_find ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> fdelete
  - >> get_entry
  - >> strlen
  - >> __2printf
  [Address Reference Count : 1]
  - msd_file.o(.constdata)

  cmd_dir (Thumb, 388 bytes, Stack size 352 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 744 + Unknown Stack Size
  - Call Chain = cmd_dir ⇒ ffind ⇒ fat_ffind ⇒ fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> ffree
  - >> ffind
  - >> dot_format
  - >> get_entry
  - >> strlen
  - >> __2printf
  [Address Reference Count : 1]
  - msd_file.o(.constdata)

  cmd_format (Thumb, 118 bytes, Stack size 40 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 176 + Unknown Stack Size
  - Call Chain = cmd_format ⇒ fformat ⇒ fat_format ⇒ write_label ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> fformat
  - >> get_entry
  - >> getkey
  - >> strcmp
  - >> strcat
  - >> strcpy
  - >> __2printf
  [Called By]
  - >> init_msd
  [Address Reference Count : 1]
  - msd_file.o(.constdata)

  cmd_help (Thumb, 10 bytes, Stack size 8 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 144 + Unknown Stack Size
  - Call Chain = cmd_help ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - msd_file.o(.constdata)

  init_msd (Thumb, 44 bytes, Stack size 8 bytes, msd_file.o(.text))
  [Stack]

  - Max Depth = 184 + Unknown Stack Size
  - Call Chain = init_msd ⇒ finit ⇒ init_drv ⇒ fat_init ⇒ write_fsinfo ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> finit
  - >> cmd_format
  - >> strcpy
  - >> __2printf
  [Called By]
  - >> main

  Init (Thumb, 70 bytes, Stack size 24 bytes, fs_usbh_msc.o(.text))
  [Stack]

  - Max Depth = 280
  - Call Chain = Init ⇒ usbh_engine ⇒ USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_init
  - >> usbh_msc_status
  - >> usbh_engine
  [Address Reference Count : 1]
  - fs_usbh_msc.o(.constdata)

  UnInit (Thumb, 22 bytes, Stack size 8 bytes, fs_usbh_msc.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = UnInit ⇒ usbh_uninit
  [Calls]
  - >> usbh_uninit
  [Address Reference Count : 1]
  - fs_usbh_msc.o(.constdata)

  ReadSector (Thumb, 20 bytes, Stack size 8 bytes, fs_usbh_msc.o(.text))
  [Stack]

  - Max Depth = 328
  - Call Chain = ReadSector ⇒ usbh_msc_read ⇒ USBH_MSC_Read10 ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_msc_read
  [Address Reference Count : 1]
  - fs_usbh_msc.o(.constdata)

  WriteSector (Thumb, 20 bytes, Stack size 8 bytes, fs_usbh_msc.o(.text))
  [Stack]

  - Max Depth = 328
  - Call Chain = WriteSector ⇒ usbh_msc_write ⇒ USBH_MSC_Write10 ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_msc_write
  [Address Reference Count : 1]
  - fs_usbh_msc.o(.constdata)

  ReadInfo (Thumb, 30 bytes, Stack size 16 bytes, fs_usbh_msc.o(.text))
  [Stack]

  - Max Depth = 312
  - Call Chain = ReadInfo ⇒ usbh_msc_read_config ⇒ USBH_MSC_ReadCapacity ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_msc_read_config
  [Address Reference Count : 1]
  - fs_usbh_msc.o(.constdata)

  DeviceCtrl (Thumb, 40 bytes, Stack size 8 bytes, fs_usbh_msc.o(.text))
  [Stack]

  - Max Depth = 264
  - Call Chain = DeviceCtrl ⇒ usbh_engine ⇒ USBH_EnumerateDevice ⇒ USBH_GetDescriptor ⇒ USBH_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_msc_status
  - >> usbh_engine
  [Address Reference Count : 1]
  - fs_usbh_msc.o(.constdata)

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

  - Max Depth = 48
  - Call Chain = USBH_MK_TransferEnqueue ⇒ USBH_MK_GetEPIndexFromHandle
  [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 = 40
  - Call Chain = USBH_Delay_ms ⇒ SystemCoreClockUpdate ⇒ __ARM_common_switch8
  [Calls]
  - >> SystemCoreClockUpdate
  - >> __aeabi_uidivmod
  [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, 82 bytes, Stack size 8 bytes, usbh_mkl25z4.o(.text))
  [Stack]

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

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

  - Max Depth = 56
  - Call Chain = USBH_Get_Connect ⇒ USBH_Delay_ms ⇒ SystemCoreClockUpdate ⇒ __ARM_common_switch8
  [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 = 40
  - Call Chain = USBH_EP_Add ⇒ __aeabi_memcpy
  [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 = 56
  - Call Chain = USBH_EP_Config ⇒ USBH_EP_Add ⇒ __aeabi_memcpy
  [Calls]
  - >> USBH_EP_Add
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

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

  - Max Depth = 24
  - Call Chain = USBH_URB_Cancel ⇒ USBH_MK_GetEPIndexFromHandle
  [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 = 40
  - Call Chain = USBH_EP_Remove ⇒ USBH_URB_Cancel ⇒ USBH_MK_GetEPIndexFromHandle
  [Calls]
  - >> USBH_MK_GetEPIndexFromHandle
  - >> USBH_URB_Cancel
  - >> __aeabi_uread4
  - >> __aeabi_memclr
  [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 = 24
  - Call Chain = USBH_URB_Submit ⇒ USBH_MK_GetEPIndexFromHandle
  [Calls]
  - >> USBH_MK_GetEPIndexFromHandle
  - >> __aeabi_uwrite4
  [Address Reference Count : 1]
  - usbh_mkl25z4.o(.data)

  init_drv (Thumb, 220 bytes, Stack size 24 bytes, fs_mapi.o(i.init_drv))
  [Stack]

  - Max Depth = 120
  - Call Chain = init_drv ⇒ fat_init ⇒ write_fsinfo ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> fat_init
  - >> fat_jour_init
  [Called By]
  - >> finit

  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_uninit
  - >> usbh_init
  - >> usbh_engine

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

  - usbh_msc.o(.data)

  USBH_MSC_GetMaxLUN (Thumb, 114 bytes, Stack size 24 bytes, usbh_msc.o(i.USBH_MSC_GetMaxLUN))
  [Stack]

  - Max Depth = 144
  - Call Chain = USBH_MSC_GetMaxLUN ⇒ USBH_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> USBH_Send_Setup
  - >> USBH_Send_Data
  - >> USBH_Rece_Data
  [Called By]
  - >> USBH_MSC_Init

  USBH_MSC_Inquiry (Thumb, 306 bytes, Stack size 48 bytes, usbh_msc.o(i.USBH_MSC_Inquiry))
  [Stack]

  - Max Depth = 248
  - Call Chain = USBH_MSC_Inquiry ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> USBH_MSC_Send_Data
  - >> USBH_MSC_Rece_Data
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  [Called By]
  - >> USBH_MSC_Init

  USBH_MSC_Read10 (Thumb, 434 bytes, Stack size 72 bytes, usbh_msc.o(i.USBH_MSC_Read10))
  [Stack]

  - Max Depth = 272
  - Call Chain = USBH_MSC_Read10 ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> USBH_MSC_Send_Data
  - >> USBH_MSC_Rece_Data
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> __aeabi_uidivmod
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  - >> __aeabi_memcpy
  [Called By]
  - >> usbh_msc_read

  USBH_MSC_ReadCapacity (Thumb, 314 bytes, Stack size 48 bytes, usbh_msc.o(i.USBH_MSC_ReadCapacity))
  [Stack]

  - Max Depth = 248
  - Call Chain = USBH_MSC_ReadCapacity ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> USBH_MSC_Send_Data
  - >> USBH_MSC_Rece_Data
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  [Called By]
  - >> USBH_MSC_Init
  - >> usbh_msc_read_config

  USBH_MSC_Rece_Data (Thumb, 222 bytes, Stack size 112 bytes, usbh_msc.o(i.USBH_MSC_Rece_Data))
  [Stack]

  - Max Depth = 152
  - Call Chain = USBH_MSC_Rece_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> usbh_transfer
  - >> __aeabi_memclr4
  [Called By]
  - >> USBH_MSC_Write10
  - >> USBH_MSC_TestUnitReady
  - >> USBH_MSC_RequestSense
  - >> USBH_MSC_ReadCapacity
  - >> USBH_MSC_Read10
  - >> USBH_MSC_Inquiry

  USBH_MSC_RequestSense (Thumb, 306 bytes, Stack size 48 bytes, usbh_msc.o(i.USBH_MSC_RequestSense))
  [Stack]

  - Max Depth = 248
  - Call Chain = USBH_MSC_RequestSense ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> USBH_MSC_Send_Data
  - >> USBH_MSC_Rece_Data
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  [Called By]
  - >> USBH_MSC_Init

  USBH_MSC_Send_Data (Thumb, 372 bytes, Stack size 160 bytes, usbh_msc.o(i.USBH_MSC_Send_Data))
  [Stack]

  - Max Depth = 200
  - Call Chain = USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> usbh_transfer
  - >> __aeabi_memclr4
  [Called By]
  - >> USBH_MSC_Write10
  - >> USBH_MSC_TestUnitReady
  - >> USBH_MSC_RequestSense
  - >> USBH_MSC_ReadCapacity
  - >> USBH_MSC_Read10
  - >> USBH_MSC_Inquiry

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

  - >> USBH_MSC_UnInit
  - >> USBH_MSC_UnConfig
  - >> USBH_MSC_Init
  - >> USBH_MSC_Config
  - >> USBH_MSC_Write10
  - >> USBH_MSC_TestUnitReady
  - >> USBH_MSC_Send_Data
  - >> USBH_MSC_RequestSense
  - >> USBH_MSC_Rece_Data
  - >> USBH_MSC_ReadCapacity
  - >> USBH_MSC_Read10
  - >> USBH_MSC_Inquiry
  - >> usbh_msc_read_config
  - >> usbh_msc_status

  USBH_MSC_TestUnitReady (Thumb, 282 bytes, Stack size 40 bytes, usbh_msc.o(i.USBH_MSC_TestUnitReady))
  [Stack]

  - Max Depth = 240
  - Call Chain = USBH_MSC_TestUnitReady ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> USBH_MSC_Send_Data
  - >> USBH_MSC_Rece_Data
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  [Called By]
  - >> USBH_MSC_Init

  USBH_MSC_Write10 (Thumb, 432 bytes, Stack size 72 bytes, usbh_msc.o(i.USBH_MSC_Write10))
  [Stack]

  - Max Depth = 272
  - Call Chain = USBH_MSC_Write10 ⇒ USBH_MSC_Send_Data ⇒ usbh_transfer
  [Calls]
  - >> USBH_MSC_SetLastError
  - >> USBH_MSC_Send_Data
  - >> USBH_MSC_Rece_Data
  - >> usbh_mem_free
  - >> usbh_mem_alloc
  - >> __aeabi_uidivmod
  - >> __aeabi_uwrite4
  - >> __aeabi_uread4
  - >> __aeabi_memcpy
  [Called By]
  - >> usbh_msc_write

  alloc_name (Thumb, 226 bytes, Stack size 32 bytes, fs_fat.o(i.alloc_name))
  [Stack]

  - Max Depth = 112
  - Call Chain = alloc_name ⇒ alloc_new_clus ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> frec_pos_set
  - >> frec_pos_comp
  - >> clear_clus
  - >> check_lfn
  - >> alloc_new_clus
  - >> elink_set
  - >> __aeabi_uidivmod
  - >> strlen
  - >> frec_read
  [Called By]
  - >> fat_find_dir
  - >> fat_rename
  - >> fat_create

  alloc_new_clus (Thumb, 72 bytes, Stack size 24 bytes, fs_fat.o(i.alloc_new_clus))
  [Stack]

  - Max Depth = 80
  - Call Chain = alloc_new_clus ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> cache_fat
  - >> write_fat_link
  - >> get_free_clus
  - >> get_EOC
  [Called By]
  - >> create_sfn_entry
  - >> alloc_name

  cache_fat (Thumb, 148 bytes, Stack size 24 bytes, fs_fat.o(i.cache_fat))
  [Stack]

  - Max Depth = 24
  - Call Chain = cache_fat
  [Calls]
  - >> fsj_write
  [Called By]
  - >> count_free_clus
  - >> alloc_new_clus
  - >> fat_wclose
  - >> write_fat_link
  - >> unlink_clus_chain
  - >> set_next_clus
  - >> get_free_clus

  check_lfn (Thumb, 112 bytes, Stack size 24 bytes, fs_fat.o(i.check_lfn))
  [Stack]

  - Max Depth = 24
  - Call Chain = check_lfn
  [Calls]
  - >> val_ch
  [Called By]
  - >> create_entry
  - >> alloc_name

  check_name (Thumb, 10 bytes, Stack size 8 bytes, fs_fat.o(i.check_name))
  [Stack]

  - Max Depth = 224
  - Call Chain = check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> search_for_name
  [Called By]
  - >> create_entry
  - >> fat_rename

  chk_dir_empty (Thumb, 98 bytes, Stack size 24 bytes, fs_fat.o(i.chk_dir_empty))
  [Stack]

  - Max Depth = 88
  - Call Chain = chk_dir_empty ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> frec_pos_set
  - >> strcmp
  - >> frec_read
  [Called By]
  - >> fat_delete

  clear_clus (Thumb, 60 bytes, Stack size 16 bytes, fs_fat.o(i.clear_clus))
  [Stack]

  - Max Depth = 64
  - Call Chain = clear_clus ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> clus_to_sect
  - >> __aeabi_memclr
  - >> write_cache
  [Called By]
  - >> create_sfn_entry
  - >> alloc_name

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

  - >> delete_entries
  - >> create_sfn_entry
  - >> create_lfn_entry
  - >> clear_clus
  - >> fat_write
  - >> fat_read
  - >> write_last_entry
  - >> write_dot_entries
  - >> read_last_entry
  - >> frec_read

  count_free_clus (Thumb, 278 bytes, Stack size 24 bytes, fs_fat.o(i.count_free_clus))
  [Stack]

  - Max Depth = 48
  - Call Chain = count_free_clus ⇒ cache_fat
  [Calls]
  - >> cache_fat
  - >> get_u16
  - >> get_fat_sect
  [Called By]
  - >> fat_init
  - >> fat_free

  create_entry (Thumb, 252 bytes, Stack size 80 bytes, fs_fat.o(i.create_entry))
  [Stack]

  - Max Depth = 304
  - Call Chain = create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> find_fn_elink
  - >> cvt_fatname
  - >> create_sfn_entry
  - >> create_lfn_entry
  - >> check_name
  - >> check_lfn
  - >> elink_insert
  - >> elink_prop
  - >> elink_set
  - >> elink_alloc
  - >> short_ent_hash
  - >> name_hash
  - >> lfn_calc_chksum
  - >> get_nt_name
  [Called By]
  - >> fat_find_dir
  - >> fat_rename
  - >> fat_create

  create_lfn_entry (Thumb, 248 bytes, Stack size 48 bytes, fs_fat.o(i.create_lfn_entry))
  [Stack]

  - Max Depth = 112
  - Call Chain = create_lfn_entry ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> frec_pos_set
  - >> clus_to_sect
  - >> __aeabi_uidivmod
  - >> strlen
  - >> write_sector
  - >> frec_read
  [Called By]
  - >> create_entry

  create_sfn_entry (Thumb, 272 bytes, Stack size 56 bytes, fs_fat.o(i.create_sfn_entry))
  [Stack]

  - Max Depth = 136
  - Call Chain = create_sfn_entry ⇒ alloc_new_clus ⇒ write_fat_link ⇒ cache_fat
  [Calls]
  - >> clus_to_sect
  - >> clear_clus
  - >> alloc_new_clus
  - >> write_sector
  - >> set_u16
  - >> restore_entry
  - >> read_sector
  - >> get_time
  - >> get_date
  [Called By]
  - >> create_entry

  cvt_fatname (Thumb, 164 bytes, Stack size 24 bytes, fs_fat.o(i.cvt_fatname))
  [Stack]

  - Max Depth = 32
  - Call Chain = cvt_fatname ⇒ val_char
  [Calls]
  - >> val_char
  [Called By]
  - >> create_entry
  - >> search_for_name

  delete_entries (Thumb, 168 bytes, Stack size 24 bytes, fs_fat.o(i.delete_entries))
  [Stack]

  - Max Depth = 88
  - Call Chain = delete_entries ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> frec_pos_set
  - >> clus_to_sect
  - >> elink_delete
  - >> elink_set
  - >> write_sector
  - >> frec_read
  [Called By]
  - >> fat_rename
  - >> fat_delete

  fat_crc32 (Thumb, 50 bytes, Stack size 16 bytes, fs_fat.o(i.fat_crc32))
  [Stack]

  - Max Depth = 28
  - Call Chain = fat_crc32 ⇒ strlen
  [Calls]
  - >> strlen
  [Called By]
  - >> short_ent_hash
  - >> search_for_name
  - >> name_hash

  fat_find_dir (Thumb, 150 bytes, Stack size 32 bytes, fs_fat.o(i.fat_find_dir))
  [Stack]

  - Max Depth = 336
  - Call Chain = fat_find_dir ⇒ create_entry ⇒ check_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> find_name
  - >> find_fn_elink
  - >> create_entry
  - >> alloc_name
  - >> elink_cmd
  - >> write_dot_entries
  - >> get_elink_dat
  - >> get_dir_name
  [Called By]
  - >> fat_rename
  - >> fat_ffind
  - >> fat_find
  - >> fat_delete
  - >> fat_create

  find_fn_elink (Thumb, 36 bytes, Stack size 16 bytes, fs_fat.o(i.find_fn_elink))
  [Stack]

  - Max Depth = 52
  - Call Chain = find_fn_elink ⇒ name_hash ⇒ fat_crc32 ⇒ strlen
  [Calls]
  - >> elink_scan
  - >> name_hash
  [Called By]
  - >> fat_find_dir
  - >> create_entry
  - >> fat_rename
  - >> fat_find
  - >> fat_delete

  find_name (Thumb, 10 bytes, Stack size 8 bytes, fs_fat.o(i.find_name))
  [Stack]

  - Max Depth = 224
  - Call Chain = find_name ⇒ search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> search_for_name
  [Called By]
  - >> fat_find_dir
  - >> fat_rename
  - >> fat_find
  - >> fat_delete

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

  - >> alloc_name
  - >> search_for_name

  frec_pos_set (Thumb, 96 bytes, Stack size 16 bytes, fs_fat.o(i.frec_pos_set))
  [Stack]

  - Max Depth = 64
  - Call Chain = frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> set_next_clus
  - >> is_EOC
  [Called By]
  - >> delete_entries
  - >> create_lfn_entry
  - >> chk_dir_empty
  - >> alloc_name
  - >> search_for_name
  - >> get_next_info

  frec_read (Thumb, 52 bytes, Stack size 16 bytes, fs_fat.o(i.frec_read))
  [Stack]

  - Max Depth = 56
  - Call Chain = frec_read ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> clus_to_sect
  - >> read_sector
  [Called By]
  - >> delete_entries
  - >> create_lfn_entry
  - >> chk_dir_empty
  - >> alloc_name
  - >> search_for_name
  - >> get_next_info
  - >> get_elink_dat

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

  - >> alloc_new_clus
  - >> fat_wclose

  get_bootrec (Thumb, 182 bytes, Stack size 16 bytes, fs_fat.o(i.get_bootrec))
  [Stack]

  - Max Depth = 56
  - Call Chain = get_bootrec ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> read_sector
  - >> get_u32
  - >> get_u16
  [Called By]
  - >> fat_init

  get_date (Thumb, 46 bytes, Stack size 8 bytes, fs_fat.o(i.get_date))
  [Stack]

  - Max Depth = 8
  - Call Chain = get_date
  [Calls]
  - >> fs_get_date
  [Called By]
  - >> create_sfn_entry
  - >> fat_wclose
  - >> write_label
  - >> write_dot_entries
  - >> restore_entry

  get_dir_name (Thumb, 46 bytes, Stack size 16 bytes, fs_fat.o(i.get_dir_name))
  [Stack]

  - Max Depth = 16
  - Call Chain = get_dir_name
  [Called By]
  - >> fat_find_dir
  - >> fat_path_valid

  get_elink_dat (Thumb, 102 bytes, Stack size 24 bytes, fs_fat.o(i.get_elink_dat))
  [Stack]

  - Max Depth = 80
  - Call Chain = get_elink_dat ⇒ frec_read ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> get_u32
  - >> get_u16
  - >> frec_read
  [Called By]
  - >> fat_find_dir
  - >> fat_rename
  - >> fat_find
  - >> fat_delete

  get_fat_sect (Thumb, 50 bytes, Stack size 0 bytes, fs_fat.o(i.get_fat_sect))
  [Called By]

  - >> count_free_clus
  - >> write_fat_link
  - >> unlink_clus_chain
  - >> set_next_clus
  - >> get_free_clus

  get_free_clus (Thumb, 210 bytes, Stack size 24 bytes, fs_fat.o(i.get_free_clus))
  [Stack]

  - Max Depth = 48
  - Call Chain = get_free_clus ⇒ cache_fat
  [Calls]
  - >> cache_fat
  - >> get_u32
  - >> get_u16
  - >> get_fat_sect
  [Called By]
  - >> alloc_new_clus
  - >> fat_write

  get_fsinfo (Thumb, 114 bytes, Stack size 8 bytes, fs_fat.o(i.get_fsinfo))
  [Stack]

  - Max Depth = 48
  - Call Chain = get_fsinfo ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> read_sector
  - >> get_u32
  [Called By]
  - >> fat_init

  get_next_info (Thumb, 394 bytes, Stack size 72 bytes, fs_fat.o(i.get_next_info))
  [Stack]

  - Max Depth = 136
  - Call Chain = get_next_info ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> frec_pos_set
  - >> lfn_calc_chksum
  - >> get_u32
  - >> get_u16
  - >> frec_read
  [Called By]
  - >> fat_ffind

  get_nt_name (Thumb, 388 bytes, Stack size 56 bytes, fs_fat.o(i.get_nt_name))
  [Stack]

  - Max Depth = 64
  - Call Chain = get_nt_name ⇒ __ARM_common_switch8
  [Calls]
  - >> __ARM_common_switch8
  - >> __aeabi_idivmod
  - >> val_char
  [Called By]
  - >> create_entry

  get_param (Thumb, 48 bytes, Stack size 8 bytes, fs_fat.o(i.get_param))
  [Stack]

  - Max Depth = 8
  - Call Chain = get_param
  [Called By]
  - >> fat_format

  get_time (Thumb, 46 bytes, Stack size 8 bytes, fs_fat.o(i.get_time))
  [Stack]

  - Max Depth = 8
  - Call Chain = get_time
  [Calls]
  - >> fs_get_time
  [Called By]
  - >> create_sfn_entry
  - >> fat_wclose
  - >> write_label
  - >> write_dot_entries
  - >> restore_entry

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

  - >> count_free_clus
  - >> fat_init
  - >> write_fat_link
  - >> unlink_clus_chain
  - >> set_next_clus
  - >> search_for_name
  - >> restore_entry
  - >> get_next_info
  - >> get_free_clus
  - >> get_elink_dat
  - >> get_bootrec

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

  - >> fat_init
  - >> write_fat_link
  - >> unlink_clus_chain
  - >> set_next_clus
  - >> search_for_name
  - >> get_next_info
  - >> get_fsinfo
  - >> get_free_clus
  - >> get_elink_dat
  - >> get_bootrec

  init_elink_path (Thumb, 22 bytes, Stack size 8 bytes, fs_fat.o(i.init_elink_path))
  [Stack]

  - Max Depth = 16
  - Call Chain = init_elink_path ⇒ fs_find_drv
  [Calls]
  - >> elink_init_path
  - >> fs_find_drv
  [Called By]
  - >> fat_rename
  - >> fat_ffind
  - >> fat_find
  - >> fat_delete
  - >> fat_create

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

  - >> frec_pos_set
  - >> fat_seek
  - >> unlink_clus_chain

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

  - >> create_entry
  - >> search_for_name
  - >> get_next_info

  name_hash (Thumb, 12 bytes, Stack size 8 bytes, fs_fat.o(i.name_hash))
  [Stack]

  - Max Depth = 36
  - Call Chain = name_hash ⇒ fat_crc32 ⇒ strlen
  [Calls]
  - >> fat_crc32
  [Called By]
  - >> find_fn_elink
  - >> create_entry

  read_cache (Thumb, 122 bytes, Stack size 24 bytes, fs_fat.o(i.read_cache))
  [Stack]

  - Max Depth = 64
  - Call Chain = read_cache ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy
  - >> read_sector
  [Called By]
  - >> fat_read

  read_last_entry (Thumb, 52 bytes, Stack size 16 bytes, fs_fat.o(i.read_last_entry))
  [Stack]

  - Max Depth = 56
  - Call Chain = read_last_entry ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> clus_to_sect
  - >> __aeabi_memcpy4
  - >> read_sector
  [Called By]
  - >> fat_rename
  - >> fat_wclose

  read_sector (Thumb, 82 bytes, Stack size 16 bytes, fs_fat.o(i.read_sector))
  [Stack]

  - Max Depth = 40
  - Call Chain = read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> create_sfn_entry
  - >> fat_init
  - >> fat_write
  - >> write_last_entry
  - >> read_last_entry
  - >> read_cache
  - >> get_fsinfo
  - >> get_bootrec
  - >> frec_read

  restore_entry (Thumb, 104 bytes, Stack size 24 bytes, fs_fat.o(i.restore_entry))
  [Stack]

  - Max Depth = 32
  - Call Chain = restore_entry ⇒ get_time
  [Calls]
  - >> set_u16
  - >> get_u16
  - >> get_time
  - >> get_date
  [Called By]
  - >> create_sfn_entry

  search_for_name (Thumb, 690 bytes, Stack size 152 bytes, fs_fat.o(i.search_for_name))
  [Stack]

  - Max Depth = 216
  - Call Chain = search_for_name ⇒ frec_pos_set ⇒ set_next_clus ⇒ cache_fat
  [Calls]
  - >> frec_pos_set
  - >> frec_pos_comp
  - >> fat_crc32
  - >> cvt_fatname
  - >> elink_insert
  - >> elink_prop
  - >> elink_set
  - >> elink_alloc
  - >> strlen
  - >> short_ent_hash
  - >> lfn_calc_chksum
  - >> get_u32
  - >> get_u16
  - >> frec_read
  [Called By]
  - >> find_name
  - >> check_name

  set_next_clus (Thumb, 146 bytes, Stack size 24 bytes, fs_fat.o(i.set_next_clus))
  [Stack]

  - Max Depth = 48
  - Call Chain = set_next_clus ⇒ cache_fat
  [Calls]
  - >> cache_fat
  - >> get_u32
  - >> get_u16
  - >> get_fat_sect
  [Called By]
  - >> frec_pos_set
  - >> fat_write
  - >> fat_seek
  - >> fat_read

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

  - >> fat_rename
  - >> fat_ffind
  - >> fat_find
  - >> fat_delete
  - >> fat_create

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

  - >> create_sfn_entry
  - >> fat_wclose
  - >> write_mbr
  - >> write_label
  - >> write_fsinfo
  - >> write_fat_link
  - >> write_dot_entries
  - >> write_br
  - >> unlink_clus_chain
  - >> restore_entry

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

  - >> fat_format
  - >> fat_wclose
  - >> write_mbr
  - >> write_fsinfo
  - >> write_fat_link
  - >> write_br

  short_ent_hash (Thumb, 82 bytes, Stack size 24 bytes, fs_fat.o(i.short_ent_hash))
  [Stack]

  - Max Depth = 52
  - Call Chain = short_ent_hash ⇒ fat_crc32 ⇒ strlen
  [Calls]
  - >> fat_crc32
  [Called By]
  - >> create_entry
  - >> search_for_name

  unlink_clus_chain (Thumb, 318 bytes, Stack size 40 bytes, fs_fat.o(i.unlink_clus_chain))
  [Stack]

  - Max Depth = 64
  - Call Chain = unlink_clus_chain ⇒ cache_fat
  [Calls]
  - >> cache_fat
  - >> set_u16
  - >> is_EOC
  - >> get_u32
  - >> get_u16
  - >> get_fat_sect
  [Called By]
  - >> fat_delete

  val_ch (Thumb, 96 bytes, Stack size 0 bytes, fs_fat.o(i.val_ch))
  [Called By]

  - >> check_lfn
  - >> fat_path_valid
  - >> val_char

  val_char (Thumb, 20 bytes, Stack size 8 bytes, fs_fat.o(i.val_char))
  [Stack]

  - Max Depth = 8
  - Call Chain = val_char
  [Calls]
  - >> val_ch
  [Called By]
  - >> cvt_fatname
  - >> get_nt_name

  write_br (Thumb, 360 bytes, Stack size 24 bytes, fs_fat.o(i.write_br))
  [Stack]

  - Max Depth = 72
  - Call Chain = write_br ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memclr
  - >> __aeabi_memcpy
  - >> write_cache
  - >> set_u32
  - >> set_u16
  [Called By]
  - >> fat_format

  write_cache (Thumb, 174 bytes, Stack size 24 bytes, fs_fat.o(i.write_cache))
  [Stack]

  - Max Depth = 48
  - Call Chain = write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy
  - >> write_sector
  [Called By]
  - >> clear_clus
  - >> fat_format
  - >> fat_write
  - >> fat_wclose
  - >> fat_delete
  - >> write_label
  - >> write_fsinfo
  - >> write_br

  write_dot_entries (Thumb, 258 bytes, Stack size 24 bytes, fs_fat.o(i.write_dot_entries))
  [Stack]

  - Max Depth = 40
  - Call Chain = write_dot_entries ⇒ write_sector
  [Calls]
  - >> clus_to_sect
  - >> __aeabi_memclr
  - >> __aeabi_memcpy4
  - >> write_sector
  - >> set_u16
  - >> get_time
  - >> get_date
  [Called By]
  - >> fat_find_dir

  write_fat_link (Thumb, 244 bytes, Stack size 32 bytes, fs_fat.o(i.write_fat_link))
  [Stack]

  - Max Depth = 56
  - Call Chain = write_fat_link ⇒ cache_fat
  [Calls]
  - >> cache_fat
  - >> set_u32
  - >> set_u16
  - >> get_u32
  - >> get_u16
  - >> get_fat_sect
  [Called By]
  - >> alloc_new_clus
  - >> fat_write
  - >> fat_wclose

  write_fsinfo (Thumb, 92 bytes, Stack size 8 bytes, fs_fat.o(i.write_fsinfo))
  [Stack]

  - Max Depth = 56
  - Call Chain = write_fsinfo ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memclr
  - >> write_cache
  - >> set_u32
  - >> set_u16
  [Called By]
  - >> fat_init
  - >> fat_format
  - >> fat_wclose
  - >> fat_delete

  write_label (Thumb, 128 bytes, Stack size 24 bytes, fs_fat.o(i.write_label))
  [Stack]

  - Max Depth = 72
  - Call Chain = write_label ⇒ write_cache ⇒ __aeabi_memcpy
  [Calls]
  - >> __aeabi_memclr
  - >> write_cache
  - >> set_u16
  - >> get_time
  - >> get_date
  [Called By]
  - >> fat_format

  write_last_entry (Thumb, 68 bytes, Stack size 24 bytes, fs_fat.o(i.write_last_entry))
  [Stack]

  - Max Depth = 64
  - Call Chain = write_last_entry ⇒ read_sector ⇒ __aeabi_memcpy
  [Calls]
  - >> clus_to_sect
  - >> __aeabi_memcpy4
  - >> write_sector
  - >> read_sector
  [Called By]
  - >> fat_wclose

  write_mbr (Thumb, 186 bytes, Stack size 16 bytes, fs_fat.o(i.write_mbr))
  [Stack]

  - Max Depth = 32
  - Call Chain = write_mbr ⇒ write_sector
  [Calls]
  - >> __aeabi_memclr
  - >> write_sector
  - >> set_u32
  - >> set_u16
  [Called By]
  - >> fat_format

  write_sector (Thumb, 50 bytes, Stack size 16 bytes, fs_fat.o(i.write_sector))
  [Stack]

  - Max Depth = 16
  - Call Chain = write_sector
  [Calls]
  - >> fsj_write
  [Called By]
  - >> delete_entries
  - >> create_sfn_entry
  - >> create_lfn_entry
  - >> write_mbr
  - >> write_last_entry
  - >> write_dot_entries
  - >> write_cache

  _printf_input_char (Thumb, 10 bytes, Stack size 0 bytes, _printf_char_common.o(.text))
  [Address Reference Count : 1]

  - _printf_char_common.o(.text)

  _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

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

  - >> exit

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

  - >> frename
  - >> finit
  - >> ffree
  - >> fformat
  - >> ffind
  - >> fdelete
  - >> __sys_write
  - >> __sys_seek
  - >> __sys_read
  - >> __sys_open
  - >> __sys_flen
  - >> __sys_ensure
  - >> __sys_close

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

  - >> frename
  - >> finit
  - >> ffree
  - >> fformat
  - >> ffind
  - >> fdelete
  - >> __sys_write
  - >> __sys_seek
  - >> __sys_read
  - >> __sys_open
  - >> __sys_flen
  - >> __sys_ensure
  - >> __sys_close

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

  - >> _printf_cs_common

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

  - >> _printf_int_dec

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

  - >> _printf_int_dec

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

  - >> __vfscanf

  _scanf_mbtowc (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

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

  - >> __vfscanf

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

  - >> __vfscanf