Static Call Graph - [.\obj\USBD_MassStorage.axf]

# Static Call Graph for image .\obj\USBD_MassStorage.axf

#<CALLGRAPH># ARM Linker, 5060422: Last Updated: Sun May 06 20:08:06 2018

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

### Call chain for Maximum Stack Depth:

main ⇒ MSC_ProcessCmd ⇒ MSC_Write ⇒ MSC_AckCmd ⇒ MSC_ReadTrig ⇒ MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock

### Mutually Recursive functions

- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- SVC_Handler ⇒ SVC_Handler
- PendSV_Handler ⇒ PendSV_Handler
- SysTick_Handler ⇒ SysTick_Handler
- ADC_IRQHandler ⇒ ADC_IRQHandler

  ### Function Pointers

  - ADC_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - APU_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - EXINT_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - GPAB_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - HardFault_Handler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - MSC_ClassRequest from massstorage.o(i.MSC_ClassRequest) referenced from main.o(i.main)
  - NMI_Handler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - PWM0_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - PWRWU_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - PendSV_Handler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - RTC_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - Reset_Handler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - SPI0_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - SPI1_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - SVC_Handler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - SysTick_Handler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - TMR0_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - TMR1_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - TMR2_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - TMRF_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - USBD_IRQHandler from massstorage.o(i.USBD_IRQHandler) referenced from startup_n572.o(RESET)
  - WDT_IRQHandler from startup_n572.o(.text) referenced from startup_n572.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_n572.o(.text)
  - fputc from retarget.o(i.fputc) referenced from printf5.o(i.__0printf$5)
  - main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)

  ### Global Symbols

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

  - startup_n572.o(.text)

  _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

  _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Calls]

  - >> __scatterload

  __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
  [Called By]

  - >> __scatterload

  _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

  _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))

  _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

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

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

  SH_DoCommand (Thumb, 18 bytes, Stack size 0 bytes, retarget.o(.emb_text))
  [Called By]

  - >> SendChar

  Reset_Handler (Thumb, 4 bytes, Stack size 0 bytes, startup_n572.o(.text))

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

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

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

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

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

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

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

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

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

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

  ADC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_n572.o(.text))
  [Calls]

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

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

  - startup_n572.o(RESET)

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

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

  - Max Depth = 12
  - Call Chain = __aeabi_uidivmod
  [Called By]
  - >> SystemCoreClockUpdate

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

  - >> _memset$wrapper
  - >> __aeabi_memclr

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

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

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

  - >> __aeabi_memset

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

  - >> MSC_RequestSense
  - >> MSC_ReadFormatCapacity
  - >> MSC_ReadCapacity

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

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

  - >> __aeabi_memset

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

  - >> get_be32

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

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

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

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

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

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

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

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

  - >> __aeabi_uldivmod

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

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

  - >> __aeabi_uldivmod

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

  CLK_EnableModuleClock (Thumb, 36 bytes, Stack size 8 bytes, clk.o(i.CLK_EnableModuleClock))
  [Stack]

  - Max Depth = 16
  - Call Chain = CLK_EnableModuleClock ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> SYS_Init

  CLK_EnableXtalRC (Thumb, 22 bytes, Stack size 8 bytes, clk.o(i.CLK_EnableXtalRC))
  [Stack]

  - Max Depth = 16
  - Call Chain = CLK_EnableXtalRC ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> SYS_Init

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

  - >> SystemCoreClockUpdate

  CLK_SetHCLK (Thumb, 42 bytes, Stack size 16 bytes, clk.o(i.CLK_SetHCLK))
  [Stack]

  - Max Depth = 36
  - Call Chain = CLK_SetHCLK ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  - >> SystemCoreClockUpdate
  [Called By]
  - >> SYS_Init

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

  - >> SYS_Init

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

  - >> SYS_Init

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

  - >> SYS_Init

  DataFlashRead (Thumb, 66 bytes, Stack size 24 bytes, dataflashprog.o(i.DataFlashRead))
  [Stack]

  - Max Depth = 72
  - Call Chain = DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> FMC_Close
  - >> FMC_ReadPage
  - >> SYS_UnlockReg
  - >> SYS_LockReg
  - >> FMC_Open
  [Called By]
  - >> MSC_ReadMedia
  - >> DataFlashWrite

  DataFlashWrite (Thumb, 232 bytes, Stack size 40 bytes, dataflashprog.o(i.DataFlashWrite))
  [Stack]

  - Max Depth = 112
  - Call Chain = DataFlashWrite ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> FMC_Erase
  - >> FMC_Close
  - >> FMC_ProgramPage
  - >> DataFlashRead
  - >> SYS_UnlockReg
  - >> SYS_LockReg
  - >> FMC_Open
  [Called By]
  - >> MSC_Write

  EP2_Handler (Thumb, 14 bytes, Stack size 8 bytes, massstorage.o(i.EP2_Handler))
  [Stack]

  - Max Depth = 128
  - Call Chain = EP2_Handler ⇒ MSC_AckCmd ⇒ MSC_ReadTrig ⇒ MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> MSC_AckCmd
  [Called By]
  - >> USBD_IRQHandler

  FMC_Close (Thumb, 22 bytes, Stack size 8 bytes, fmc.o(i.FMC_Close))
  [Stack]

  - Max Depth = 16
  - Call Chain = FMC_Close ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> DataFlashWrite
  - >> DataFlashRead

  FMC_Erase (Thumb, 60 bytes, Stack size 16 bytes, fmc.o(i.FMC_Erase))
  [Stack]

  - Max Depth = 24
  - Call Chain = FMC_Erase ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> DataFlashWrite

  FMC_Open (Thumb, 22 bytes, Stack size 8 bytes, fmc.o(i.FMC_Open))
  [Stack]

  - Max Depth = 16
  - Call Chain = FMC_Open ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> DataFlashWrite
  - >> DataFlashRead
  - >> main

  FMC_ProgramPage (Thumb, 28 bytes, Stack size 16 bytes, dataflashprog.o(i.FMC_ProgramPage))
  [Stack]

  - Max Depth = 40
  - Call Chain = FMC_ProgramPage ⇒ FMC_Write ⇒ SYS_Unlock
  [Calls]
  - >> FMC_Write
  [Called By]
  - >> DataFlashWrite

  FMC_Read (Thumb, 36 bytes, Stack size 16 bytes, fmc.o(i.FMC_Read))
  [Stack]

  - Max Depth = 24
  - Call Chain = FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> FMC_ReadPage

  FMC_ReadPage (Thumb, 28 bytes, Stack size 24 bytes, dataflashprog.o(i.FMC_ReadPage))
  [Stack]

  - Max Depth = 48
  - Call Chain = FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> FMC_Read
  [Called By]
  - >> DataFlashRead

  FMC_Write (Thumb, 42 bytes, Stack size 16 bytes, fmc.o(i.FMC_Write))
  [Stack]

  - Max Depth = 24
  - Call Chain = FMC_Write ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> FMC_ProgramPage

  MSC_AckCmd (Thumb, 178 bytes, Stack size 16 bytes, massstorage.o(i.MSC_AckCmd))
  [Stack]

  - Max Depth = 120
  - Call Chain = MSC_AckCmd ⇒ MSC_ReadTrig ⇒ MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> MSC_ReadTrig
  - >> MSC_Read
  - >> USBD_MemCopy
  [Called By]
  - >> MSC_Write
  - >> EP2_Handler
  - >> MSC_ProcessCmd

  MSC_ClassRequest (Thumb, 82 bytes, Stack size 16 bytes, massstorage.o(i.MSC_ClassRequest))
  [Stack]

  - Max Depth = 24
  - Call Chain = MSC_ClassRequest ⇒ USBD_GetSetupPacket
  [Calls]
  - >> USBD_PrepareCtrlOut
  - >> USBD_GetSetupPacket
  - >> USBD_SetStall
  [Address Reference Count : 1]
  - main.o(i.main)

  MSC_Init (Thumb, 66 bytes, Stack size 0 bytes, massstorage.o(i.MSC_Init))
  [Called By]

  - >> main

  MSC_ModeSense10 (Thumb, 304 bytes, Stack size 20 bytes, massstorage.o(i.MSC_ModeSense10))
  [Stack]

  - Max Depth = 20
  - Call Chain = MSC_ModeSense10
  [Called By]
  - >> MSC_ProcessCmd

  MSC_ProcessCmd (Thumb, 532 bytes, Stack size 24 bytes, massstorage.o(i.MSC_ProcessCmd))
  [Stack]

  - Max Depth = 168
  - Call Chain = MSC_ProcessCmd ⇒ MSC_Write ⇒ MSC_AckCmd ⇒ MSC_ReadTrig ⇒ MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> MSC_Write
  - >> MSC_RequestSense
  - >> MSC_ReadMedia
  - >> MSC_ReadFormatCapacity
  - >> MSC_ReadCapacity
  - >> MSC_Read
  - >> MSC_ModeSense10
  - >> MSC_AckCmd
  - >> get_be32
  - >> USBD_MemCopy
  [Called By]
  - >> main

  MSC_Read (Thumb, 156 bytes, Stack size 24 bytes, massstorage.o(i.MSC_Read))
  [Stack]

  - Max Depth = 104
  - Call Chain = MSC_Read ⇒ MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> MSC_ReadMedia
  - >> USBD_MemCopy
  [Called By]
  - >> MSC_AckCmd
  - >> MSC_ProcessCmd

  MSC_ReadCapacity (Thumb, 50 bytes, Stack size 8 bytes, massstorage.o(i.MSC_ReadCapacity))
  [Stack]

  - Max Depth = 8
  - Call Chain = MSC_ReadCapacity
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> MSC_ProcessCmd

  MSC_ReadFormatCapacity (Thumb, 52 bytes, Stack size 16 bytes, massstorage.o(i.MSC_ReadFormatCapacity))
  [Stack]

  - Max Depth = 16
  - Call Chain = MSC_ReadFormatCapacity
  [Calls]
  - >> __aeabi_memclr4
  [Called By]
  - >> MSC_ProcessCmd

  MSC_ReadMedia (Thumb, 8 bytes, Stack size 8 bytes, massstorage.o(i.MSC_ReadMedia))
  [Stack]

  - Max Depth = 80
  - Call Chain = MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> DataFlashRead
  [Called By]
  - >> MSC_ReadTrig
  - >> MSC_Read
  - >> MSC_ProcessCmd

  MSC_ReadTrig (Thumb, 150 bytes, Stack size 24 bytes, massstorage.o(i.MSC_ReadTrig))
  [Stack]

  - Max Depth = 104
  - Call Chain = MSC_ReadTrig ⇒ MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> MSC_ReadMedia
  - >> USBD_MemCopy
  [Called By]
  - >> MSC_AckCmd

  MSC_RequestSense (Thumb, 86 bytes, Stack size 32 bytes, massstorage.o(i.MSC_RequestSense))
  [Stack]

  - Max Depth = 32
  - Call Chain = MSC_RequestSense
  [Calls]
  - >> USBD_MemCopy
  - >> __aeabi_memclr4
  [Called By]
  - >> MSC_ProcessCmd

  MSC_Write (Thumb, 172 bytes, Stack size 24 bytes, massstorage.o(i.MSC_Write))
  [Stack]

  - Max Depth = 144
  - Call Chain = MSC_Write ⇒ MSC_AckCmd ⇒ MSC_ReadTrig ⇒ MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> MSC_AckCmd
  - >> get_be32
  - >> USBD_MemCopy
  - >> DataFlashWrite
  [Called By]
  - >> MSC_ProcessCmd

  SYS_Init (Thumb, 74 bytes, Stack size 8 bytes, main.o(i.SYS_Init))
  [Stack]

  - Max Depth = 44
  - Call Chain = SYS_Init ⇒ CLK_SetHCLK ⇒ SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> SYS_UnlockReg
  - >> SYS_SetRamWaitSate
  - >> SYS_SetCpuWaiState
  - >> SYS_ResetModule
  - >> SYS_LockReg
  - >> CLK_SetPLL2Mode
  - >> CLK_SetPLL2
  - >> CLK_SetPLL1Mode
  - >> CLK_SetHCLK
  - >> CLK_EnableXtalRC
  - >> CLK_EnableModuleClock
  - >> SystemCoreClockUpdate
  [Called By]
  - >> main

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

  - >> FMC_Write
  - >> FMC_Read
  - >> FMC_Erase
  - >> FMC_Close
  - >> SYS_SetRamWaitSate
  - >> SYS_SetCpuWaiState
  - >> SYS_ResetModule
  - >> FMC_Open
  - >> CLK_SetHCLK
  - >> CLK_EnableXtalRC
  - >> CLK_EnableModuleClock

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

  - >> DataFlashWrite
  - >> DataFlashRead
  - >> SYS_Init

  SYS_ResetModule (Thumb, 38 bytes, Stack size 8 bytes, sys.o(i.SYS_ResetModule))
  [Stack]

  - Max Depth = 16
  - Call Chain = SYS_ResetModule ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> SYS_Init

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

  - Max Depth = 16
  - Call Chain = SYS_SetCpuWaiState ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> SYS_Init

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

  - Max Depth = 16
  - Call Chain = SYS_SetRamWaitSate ⇒ SYS_Unlock
  [Calls]
  - >> SYS_Unlock
  - >> SYS_Lock
  [Called By]
  - >> SYS_Init

  SYS_Unlock (Thumb, 38 bytes, Stack size 8 bytes, sys.o(i.SYS_Unlock))
  [Stack]

  - Max Depth = 8
  - Call Chain = SYS_Unlock
  [Called By]
  - >> FMC_Write
  - >> FMC_Read
  - >> FMC_Erase
  - >> FMC_Close
  - >> SYS_SetRamWaitSate
  - >> SYS_SetCpuWaiState
  - >> SYS_ResetModule
  - >> FMC_Open
  - >> CLK_SetHCLK
  - >> CLK_EnableXtalRC
  - >> CLK_EnableModuleClock

  SYS_UnlockReg (Thumb, 26 bytes, Stack size 8 bytes, sys.o(i.SYS_UnlockReg))
  [Stack]

  - Max Depth = 8
  - Call Chain = SYS_UnlockReg
  [Called By]
  - >> DataFlashWrite
  - >> DataFlashRead
  - >> main
  - >> SYS_Init

  SendChar (Thumb, 62 bytes, Stack size 16 bytes, retarget.o(i.SendChar))
  [Stack]

  - Max Depth = 16
  - Call Chain = SendChar
  [Calls]
  - >> SH_DoCommand
  [Called By]
  - >> fputc

  SystemCoreClockUpdate (Thumb, 70 bytes, Stack size 8 bytes, system_n572.o(i.SystemCoreClockUpdate))
  [Stack]

  - Max Depth = 20
  - Call Chain = SystemCoreClockUpdate ⇒ __aeabi_uidivmod
  [Calls]
  - >> CLK_GetPLL2ClockFreq
  - >> __ARM_common_switch8
  - >> __aeabi_uidivmod
  [Called By]
  - >> CLK_SetHCLK
  - >> SYS_Init

  USBD_CtrlIn (Thumb, 116 bytes, Stack size 16 bytes, usbd.o(i.USBD_CtrlIn))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBD_CtrlIn
  [Calls]
  - >> USBD_MemCopy
  [Called By]
  - >> USBD_IRQHandler

  USBD_CtrlOut (Thumb, 56 bytes, Stack size 16 bytes, usbd.o(i.USBD_CtrlOut))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBD_CtrlOut
  [Calls]
  - >> USBD_MemCopy
  [Called By]
  - >> USBD_IRQHandler

  USBD_GetDescriptor (Thumb, 154 bytes, Stack size 8 bytes, usbd.o(i.USBD_GetDescriptor))
  [Stack]

  - Max Depth = 24
  - Call Chain = USBD_GetDescriptor ⇒ USBD_PrepareCtrlIn
  [Calls]
  - >> USBD_SetStall
  - >> USBD_PrepareCtrlOut
  - >> USBD_PrepareCtrlIn
  [Called By]
  - >> USBD_StandardRequest

  USBD_GetSetupPacket (Thumb, 12 bytes, Stack size 8 bytes, usbd.o(i.USBD_GetSetupPacket))
  [Stack]

  - Max Depth = 8
  - Call Chain = USBD_GetSetupPacket
  [Calls]
  - >> USBD_MemCopy
  [Called By]
  - >> MSC_ClassRequest

  USBD_IRQHandler (Thumb, 200 bytes, Stack size 24 bytes, massstorage.o(i.USBD_IRQHandler))
  [Stack]

  - Max Depth = 152
  - Call Chain = USBD_IRQHandler ⇒ EP2_Handler ⇒ MSC_AckCmd ⇒ MSC_ReadTrig ⇒ MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> USBD_SwReset
  - >> USBD_ProcessSetupPacket
  - >> USBD_CtrlOut
  - >> USBD_CtrlIn
  - >> EP2_Handler
  [Address Reference Count : 1]
  - startup_n572.o(RESET)

  USBD_Open (Thumb, 36 bytes, Stack size 0 bytes, usbd.o(i.USBD_Open))
  [Called By]

  - >> main

  USBD_PrepareCtrlIn (Thumb, 86 bytes, Stack size 16 bytes, usbd.o(i.USBD_PrepareCtrlIn))
  [Stack]

  - Max Depth = 16
  - Call Chain = USBD_PrepareCtrlIn
  [Calls]
  - >> USBD_MemCopy
  [Called By]
  - >> USBD_GetDescriptor

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

  - >> MSC_ClassRequest
  - >> USBD_StandardRequest
  - >> USBD_GetDescriptor

  USBD_ProcessSetupPacket (Thumb, 64 bytes, Stack size 8 bytes, usbd.o(i.USBD_ProcessSetupPacket))
  [Stack]

  - Max Depth = 56
  - Call Chain = USBD_ProcessSetupPacket ⇒ USBD_StandardRequest ⇒ USBD_GetDescriptor ⇒ USBD_PrepareCtrlIn
  [Calls]
  - >> USBD_SetStall
  - >> USBD_MemCopy
  - >> USBD_StandardRequest
  [Called By]
  - >> USBD_IRQHandler

  USBD_StandardRequest (Thumb, 312 bytes, Stack size 24 bytes, usbd.o(i.USBD_StandardRequest))
  [Stack]

  - Max Depth = 48
  - Call Chain = USBD_StandardRequest ⇒ USBD_GetDescriptor ⇒ USBD_PrepareCtrlIn
  [Calls]
  - >> USBD_SetStall
  - >> USBD_PrepareCtrlOut
  - >> USBD_GetDescriptor
  [Called By]
  - >> USBD_ProcessSetupPacket

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

  - >> main

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

  - >> USBD_IRQHandler

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

  - >> _printf_core

  __1printf$5 (Thumb, 0 bytes, Stack size 24 bytes, printf5.o(i.__0printf$5), UNUSED)

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

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

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

  - Max Depth = 8
  - Call Chain = __ARM_common_switch8
  [Called By]
  - >> SystemCoreClockUpdate

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

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

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

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

  - Max Depth = 24
  - Call Chain = fputc ⇒ SendChar
  [Calls]
  - >> SendChar
  [Address Reference Count : 1]
  - printf5.o(i.__0printf$5)

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

  - Max Depth = 168
  - Call Chain = main ⇒ MSC_ProcessCmd ⇒ MSC_Write ⇒ MSC_AckCmd ⇒ MSC_ReadTrig ⇒ MSC_ReadMedia ⇒ DataFlashRead ⇒ FMC_ReadPage ⇒ FMC_Read ⇒ SYS_Unlock
  [Calls]
  - >> USBD_Start
  - >> USBD_Open
  - >> SYS_UnlockReg
  - >> MSC_ProcessCmd
  - >> MSC_Init
  - >> FMC_Open
  - >> SYS_Init
  - >> __2printf
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  ### Local Symbols

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

  - >> MSC_Write
  - >> MSC_RequestSense
  - >> MSC_ReadTrig
  - >> MSC_Read
  - >> MSC_AckCmd
  - >> MSC_ProcessCmd

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

  - >> MSC_ClassRequest

  get_be32 (Thumb, 20 bytes, Stack size 8 bytes, massstorage.o(i.get_be32))
  [Stack]

  - Max Depth = 8
  - Call Chain = get_be32
  [Calls]
  - >> __aeabi_uread4
  [Called By]
  - >> MSC_Write
  - >> MSC_ProcessCmd

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

  - >> USBD_ProcessSetupPacket
  - >> USBD_GetSetupPacket
  - >> USBD_CtrlOut
  - >> USBD_CtrlIn
  - >> USBD_PrepareCtrlIn

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

  - >> USBD_ProcessSetupPacket
  - >> USBD_StandardRequest
  - >> USBD_GetDescriptor

  _printf_core (Thumb, 688 bytes, Stack size 96 bytes, printf5.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  [Called By]
  - >> __0printf$5

  ### Undefined Global Symbols