# Static Call Graph for image .\Flash\spi_sd_ffs.axf

#<CALLGRAPH># ARM Linker, 4.1 [Build 644]: Last Updated: Fri Apr 06 15:07:45 2012

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

### Call chain for Maximum Stack Depth:

En_ls ⇒ f_opendir ⇒ follow_path ⇒ dir_find ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)

### Mutually Recursive functions

- SD_SendCmd ⇒ SD_SendCmd
- NMI_Handler ⇒ NMI_Handler
- HardFault_Handler ⇒ HardFault_Handler
- MemManage_Handler ⇒ MemManage_Handler
- BusFault_Handler ⇒ BusFault_Handler
- UsageFault_Handler ⇒ UsageFault_Handler
- SVC_Handler ⇒ SVC_Handler
- DebugMon_Handler ⇒ DebugMon_Handler
- PendSV_Handler ⇒ PendSV_Handler
- ADC_IRQHandler ⇒ ADC_IRQHandler

  ### Function Pointers

  - ADC_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - BOD_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - BusFault_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - CANActivity_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - CAN_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - DMA_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - DebugMon_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - EINT0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - EINT1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - EINT2_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - EINT3_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - ENET_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - En_cd from spi_sd_ffs.o(.text) referenced from spi_sd_ffs.o(.data)
  - En_ls from spi_sd_ffs.o(.text) referenced from spi_sd_ffs.o(.data)
  - En_menu from spi_sd_ffs.o(.text) referenced 2 times from spi_sd_ffs.o(.data)
  - En_sf from spi_sd_ffs.o(.text) referenced from spi_sd_ffs.o(.data)
  - En_wd from spi_sd_ffs.o(.text) referenced from spi_sd_ffs.o(.data)
  - HardFault_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - I2C0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - I2C1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - I2C2_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - I2S_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - MCPWM_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - MemManage_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - NMI_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - PLL0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - PLL1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - PWM1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - PendSV_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - QEI_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - RIT_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - RTC_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - Reset_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SPI_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SSP0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SSP1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SVC_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SysTick_Handler from spi_sd_ffs.o(.text) referenced from startup_lpc17xx.o(RESET)
  - SystemInit from system_lpc17xx.o(.text) referenced from startup_lpc17xx.o(.text)
  - TIMER0_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - TIMER1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - TIMER2_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - TIMER3_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UART0_IRQHandler from spi_sd_ffs.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UART1_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UART2_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UART3_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - USBActivity_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - USB_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - UsageFault_Handler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - WDT_IRQHandler from startup_lpc17xx.o(.text) referenced from startup_lpc17xx.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_lpc17xx.o(.text)
  - _sputc from printf6.o(i._sputc) referenced from printf6.o(i.__0sprintf$6)
  - main from spi_sd_ffs.o(.text) referenced from entry7.o(.ARM.Collect$$$$00000007)

  ### Global Symbols

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

  - startup_lpc17xx.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_init (Thumb, 0 bytes, Stack size unknown bytes, entry7.o(.ARM.Collect$$$$00000007))

  CLKPWR_SetPCLKDiv (Thumb, 106 bytes, Stack size 8 bytes, lpc17xx_clkpwr.o(.text), UNUSED)
  [Called By]

  - >> TIM_Init
  - >> PWM_Init

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

  - >> CLKPWR_GetPCLK

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

  - Max Depth = 16
  - Call Chain = CLKPWR_GetPCLK
  [Calls]
  - >> CLKPWR_GetPCLKSEL
  [Called By]
  - >> Blink_Yellow_LED_PWM
  - >> Blink_Green_LED_PWM
  - >> getPClock
  - >> uart_set_divisors
  - >> PWM_Init

  CLKPWR_ConfigPPWR (Thumb, 50 bytes, Stack size 0 bytes, lpc17xx_clkpwr.o(.text))
  [Called By]

  - >> TIM_DeInit
  - >> TIM_Init
  - >> UART_DeInit
  - >> UART_Init
  - >> PWM_DeInit
  - >> PWM_Init

  CLKPWR_Sleep (Thumb, 12 bytes, Stack size 0 bytes, lpc17xx_clkpwr.o(.text), UNUSED)

  CLKPWR_DeepSleep (Thumb, 22 bytes, Stack size 0 bytes, lpc17xx_clkpwr.o(.text), UNUSED)

  CLKPWR_PowerDown (Thumb, 22 bytes, Stack size 0 bytes, lpc17xx_clkpwr.o(.text), UNUSED)

  CLKPWR_DeepPowerDown (Thumb, 22 bytes, Stack size 0 bytes, lpc17xx_clkpwr.o(.text), UNUSED)

  MenuProcessor (Thumb, 144 bytes, Stack size 24 bytes, menu.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = MenuProcessor ⇒ strcmp
  [Calls]
  - >> strcmp
  [Called By]
  - >> c_entry
  - >> UART0_IRQHandler

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

  SystemCoreClockUpdate (Thumb, 316 bytes, Stack size 0 bytes, system_lpc17xx.o(.text), UNUSED)

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

  - startup_lpc17xx.o(.text)

  GPIO_SetDir (Thumb, 44 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = GPIO_SetDir
  [Calls]
  - >> GPIO_GetPointer
  [Called By]
  - >> c_entry
  - >> FIO_SetDir

  GPIO_SetValue (Thumb, 20 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_GetPointer
  [Called By]
  - >> FIO_SetValue

  GPIO_ClearValue (Thumb, 20 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_GetPointer
  [Called By]
  - >> FIO_ClearValue

  GPIO_ReadValue (Thumb, 22 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = GPIO_ReadValue
  [Calls]
  - >> GPIO_GetPointer
  [Called By]
  - >> SD_GetCardConnectStatus
  - >> FIO_ReadValue

  GPIO_IntCmd (Thumb, 54 bytes, Stack size 0 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Called By]

  - >> FIO_IntCmd

  GPIO_GetIntStatus (Thumb, 86 bytes, Stack size 0 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Called By]

  - >> FIO_GetIntStatus

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

  - >> FIO_ClearInt

  FIO_SetDir (Thumb, 20 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_SetDir

  FIO_SetValue (Thumb, 16 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_SetValue

  FIO_ClearValue (Thumb, 16 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_ClearValue

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

  - >> GPIO_ReadValue

  FIO_IntCmd (Thumb, 20 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_IntCmd

  FIO_GetIntStatus (Thumb, 20 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_GetIntStatus

  FIO_ClearInt (Thumb, 16 bytes, Stack size 8 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_ClearInt

  FIO_SetMask (Thumb, 44 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_GetPointer

  FIO_HalfWordSetDir (Thumb, 70 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_HalfWordGetPointer

  FIO_HalfWordSetMask (Thumb, 70 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_HalfWordGetPointer

  FIO_HalfWordSetValue (Thumb, 32 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_HalfWordGetPointer

  FIO_HalfWordClearValue (Thumb, 32 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_HalfWordGetPointer

  FIO_HalfWordReadValue (Thumb, 30 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_HalfWordGetPointer

  FIO_ByteSetDir (Thumb, 54 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_ByteGetPointer

  FIO_ByteSetMask (Thumb, 70 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_ByteGetPointer

  FIO_ByteSetValue (Thumb, 34 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_ByteGetPointer

  FIO_ByteClearValue (Thumb, 96 bytes, Stack size 24 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_ByteGetPointer

  FIO_ByteReadValue (Thumb, 32 bytes, Stack size 16 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Calls]

  - >> FIO_ByteGetPointer

  PINSEL_ConfigTraceFunc (Thumb, 34 bytes, Stack size 0 bytes, lpc17xx_pinsel.o(.text), UNUSED)

  PINSEL_SetI2C0Pins (Thumb, 22 bytes, Stack size 0 bytes, lpc17xx_pinsel.o(.text), UNUSED)

  PINSEL_ConfigPin (Thumb, 54 bytes, Stack size 8 bytes, lpc17xx_pinsel.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = PINSEL_ConfigPin ⇒ set_ResistorMode
  [Calls]
  - >> set_OpenDrainMode
  - >> set_ResistorMode
  - >> set_PinFunc
  [Called By]
  - >> c_entry
  - >> Blink_Yellow_LED_TIMER
  - >> Init_Yellow_LED_PWM
  - >> Init_Green_LED_PWM

  PWM_GetIntStatus (Thumb, 90 bytes, Stack size 16 bytes, lpc17xx_pwm.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  PWM_ClearIntPending (Thumb, 78 bytes, Stack size 16 bytes, lpc17xx_pwm.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  PWM_ConfigStructInit (Thumb, 60 bytes, Stack size 24 bytes, lpc17xx_pwm.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  PWM_Init (Thumb, 278 bytes, Stack size 48 bytes, lpc17xx_pwm.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  - >> check_failed
  - >> CLKPWR_ConfigPPWR
  - >> CLKPWR_GetPCLK
  - >> CLKPWR_SetPCLKDiv
  [Called By]
  - >> Init_User_LED_PWM

  PWM_DeInit (Thumb, 38 bytes, Stack size 8 bytes, lpc17xx_pwm.o(.text), UNUSED)
  [Calls]

  - >> check_failed
  - >> CLKPWR_ConfigPPWR

  PWM_Cmd (Thumb, 62 bytes, Stack size 16 bytes, lpc17xx_pwm.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = PWM_Cmd
  [Calls]
  - >> check_failed
  [Called By]
  - >> Blink_Yellow_LED_PWM
  - >> Blink_Green_LED_PWM

  PWM_CounterCmd (Thumb, 66 bytes, Stack size 16 bytes, lpc17xx_pwm.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = PWM_CounterCmd
  [Calls]
  - >> check_failed
  [Called By]
  - >> Blink_Yellow_LED_PWM
  - >> Blink_Green_LED_PWM

  PWM_ResetCounter (Thumb, 40 bytes, Stack size 8 bytes, lpc17xx_pwm.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = PWM_ResetCounter
  [Calls]
  - >> check_failed
  [Called By]
  - >> Blink_Yellow_LED_PWM
  - >> Blink_Green_LED_PWM

  PWM_ConfigMatch (Thumb, 386 bytes, Stack size 16 bytes, lpc17xx_pwm.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = PWM_ConfigMatch
  [Calls]
  - >> check_failed
  [Called By]
  - >> Blink_Yellow_LED_PWM
  - >> Blink_Green_LED_PWM

  PWM_ConfigCapture (Thumb, 344 bytes, Stack size 16 bytes, lpc17xx_pwm.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  PWM_GetCaptureValue (Thumb, 66 bytes, Stack size 16 bytes, lpc17xx_pwm.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  PWM_MatchUpdate (Thumb, 168 bytes, Stack size 24 bytes, lpc17xx_pwm.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = PWM_MatchUpdate
  [Calls]
  - >> check_failed
  [Called By]
  - >> Blink_Yellow_LED_PWM
  - >> Blink_Green_LED_PWM

  PWM_MultiMatchUpdate (Thumb, 160 bytes, Stack size 24 bytes, lpc17xx_pwm.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  PWM_ChannelConfig (Thumb, 144 bytes, Stack size 16 bytes, lpc17xx_pwm.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  PWM_ChannelCmd (Thumb, 144 bytes, Stack size 16 bytes, lpc17xx_pwm.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = PWM_ChannelCmd
  [Calls]
  - >> check_failed
  [Called By]
  - >> Blink_Yellow_LED_PWM
  - >> Blink_Green_LED_PWM

  UART_Init (Thumb, 548 bytes, Stack size 16 bytes, lpc17xx_uart.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = UART_Init ⇒ uart_set_divisors ⇒ __aeabi_uldivmod
  [Calls]
  - >> uart_set_divisors
  - >> check_failed
  - >> CLKPWR_ConfigPPWR
  [Called By]
  - >> c_entry

  UART_TxCmd (Thumb, 136 bytes, Stack size 16 bytes, lpc17xx_uart.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = UART_TxCmd
  [Calls]
  - >> check_failed
  [Called By]
  - >> c_entry
  - >> UART_DeInit

  UART_DeInit (Thumb, 66 bytes, Stack size 8 bytes, lpc17xx_uart.o(.text), UNUSED)
  [Calls]

  - >> UART_TxCmd
  - >> check_failed
  - >> CLKPWR_ConfigPPWR

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

  - >> c_entry

  UART_SendByte (Thumb, 58 bytes, Stack size 16 bytes, lpc17xx_uart.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = UART_SendByte
  [Calls]
  - >> check_failed
  [Called By]
  - >> UART_Send

  UART_ReceiveByte (Thumb, 56 bytes, Stack size 8 bytes, lpc17xx_uart.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = UART_ReceiveByte
  [Calls]
  - >> check_failed
  [Called By]
  - >> UART_Receive

  UART_Send (Thumb, 198 bytes, Stack size 56 bytes, lpc17xx_uart.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UART_SendByte
  [Called By]
  - >> c_entry
  - >> En_menu
  - >> En_sf
  - >> En_wd
  - >> En_cd
  - >> En_ls
  - >> UART0_IRQHandler

  UART_Receive (Thumb, 154 bytes, Stack size 40 bytes, lpc17xx_uart.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = UART_Receive ⇒ UART_ReceiveByte
  [Calls]
  - >> UART_ReceiveByte
  [Called By]
  - >> UART0_IRQHandler

  UART_ForceBreak (Thumb, 68 bytes, Stack size 8 bytes, lpc17xx_uart.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  UART_IntConfig (Thumb, 298 bytes, Stack size 24 bytes, lpc17xx_uart.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = UART_IntConfig
  [Calls]
  - >> check_failed
  [Called By]
  - >> c_entry

  UART_GetLineStatus (Thumb, 56 bytes, Stack size 8 bytes, lpc17xx_uart.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  UART_GetIntId (Thumb, 52 bytes, Stack size 8 bytes, lpc17xx_uart.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  UART_CheckBusy (Thumb, 18 bytes, Stack size 0 bytes, lpc17xx_uart.o(.text), UNUSED)

  UART_FIFOConfig (Thumb, 272 bytes, Stack size 16 bytes, lpc17xx_uart.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = UART_FIFOConfig
  [Calls]
  - >> check_failed
  [Called By]
  - >> c_entry

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

  - >> c_entry

  UART_ABCmd (Thumb, 210 bytes, Stack size 24 bytes, lpc17xx_uart.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  UART_ABClearIntPending (Thumb, 70 bytes, Stack size 16 bytes, lpc17xx_uart.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  TIM_GetIntStatus (Thumb, 98 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  TIM_GetIntCaptureStatus (Thumb, 102 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  TIM_ClearIntPending (Thumb, 84 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  TIM_ClearIntCapturePending (Thumb, 88 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  TIM_ConfigStructInit (Thumb, 26 bytes, Stack size 0 bytes, lpc17xx_timer.o(.text), UNUSED)

  TIM_Init (Thumb, 282 bytes, Stack size 32 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> converPtrToTimeNum
  - >> converUSecToVal
  - >> check_failed
  - >> CLKPWR_ConfigPPWR
  - >> CLKPWR_SetPCLKDiv
  [Called By]
  - >> Blink_Yellow_LED_TIMER

  TIM_DeInit (Thumb, 114 bytes, Stack size 8 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed
  - >> CLKPWR_ConfigPPWR

  TIM_Cmd (Thumb, 66 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed
  [Called By]
  - >> Stop_Yellow_LED_Timer
  - >> Blink_Yellow_LED_TIMER

  TIM_ResetCounter (Thumb, 120 bytes, Stack size 8 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  TIM_ConfigMatch (Thumb, 292 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed
  [Called By]
  - >> Blink_Yellow_LED_TIMER

  TIM_UpdateMatchValue (Thumb, 86 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  TIM_ConfigCapture (Thumb, 154 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  TIM_GetCaptureValue (Thumb, 74 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> check_failed

  get_fat (Thumb, 252 bytes, Stack size 24 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 136
  - Call Chain = get_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> move_window
  [Called By]
  - >> f_truncate
  - >> f_getfree
  - >> f_lseek
  - >> f_read
  - >> dir_next
  - >> dir_sdi
  - >> create_chain
  - >> remove_chain

  put_fat (Thumb, 354 bytes, Stack size 32 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> move_window
  [Called By]
  - >> f_truncate
  - >> create_chain
  - >> remove_chain

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

  - >> f_rename
  - >> f_mkdir
  - >> f_lseek
  - >> f_write
  - >> f_read
  - >> dir_next
  - >> dir_sdi

  f_mount (Thumb, 42 bytes, Stack size 0 bytes, ff.o(.text))
  [Called By]

  - >> c_entry

  f_open (Thumb, 404 bytes, Stack size 80 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 328
  - Call Chain = f_open ⇒ follow_path ⇒ dir_find ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> get_fattime
  - >> chk_mounted
  - >> follow_path
  - >> dir_register
  - >> remove_chain
  - >> move_window
  [Called By]
  - >> En_sf

  f_read (Thumb, 538 bytes, Stack size 64 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 200
  - Call Chain = f_read ⇒ get_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> disk_write
  - >> disk_read
  - >> clust2sect
  - >> get_fat
  - >> validate
  - >> mem_cpy
  [Called By]
  - >> En_sf

  f_write (Thumb, 590 bytes, Stack size 64 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> disk_write
  - >> disk_read
  - >> clust2sect
  - >> validate
  - >> create_chain
  - >> mem_cpy

  f_sync (Thumb, 216 bytes, Stack size 24 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> get_fattime
  - >> disk_write
  - >> validate
  - >> sync
  - >> move_window
  [Called By]
  - >> f_close

  f_close (Thumb, 24 bytes, Stack size 16 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> f_sync

  f_lseek (Thumb, 484 bytes, Stack size 32 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> disk_write
  - >> disk_read
  - >> clust2sect
  - >> get_fat
  - >> validate
  - >> create_chain

  f_opendir (Thumb, 114 bytes, Stack size 40 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 288
  - Call Chain = f_opendir ⇒ follow_path ⇒ dir_find ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> chk_mounted
  - >> follow_path
  - >> dir_sdi
  [Called By]
  - >> En_cd
  - >> En_ls

  f_readdir (Thumb, 96 bytes, Stack size 32 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 248
  - Call Chain = f_readdir ⇒ dir_read ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> validate
  - >> get_fileinfo
  - >> dir_read
  - >> dir_next
  - >> dir_sdi
  [Called By]
  - >> En_ls

  f_stat (Thumb, 64 bytes, Stack size 64 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> chk_mounted
  - >> follow_path
  - >> get_fileinfo

  f_getfree (Thumb, 324 bytes, Stack size 56 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 232
  - Call Chain = f_getfree ⇒ chk_mounted ⇒ check_fs ⇒ disk_read ⇒ SD_ReadSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> get_fat
  - >> chk_mounted
  - >> move_window
  [Called By]
  - >> En_ls

  f_truncate (Thumb, 196 bytes, Stack size 16 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> put_fat
  - >> get_fat
  - >> validate
  - >> remove_chain

  f_unlink (Thumb, 202 bytes, Stack size 88 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> chk_mounted
  - >> follow_path
  - >> dir_remove
  - >> dir_read
  - >> dir_sdi
  - >> remove_chain
  - >> sync
  - >> mem_cpy

  f_mkdir (Thumb, 470 bytes, Stack size 80 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> get_fattime
  - >> clust2sect
  - >> chk_mounted
  - >> follow_path
  - >> dir_register
  - >> create_chain
  - >> remove_chain
  - >> sync
  - >> move_window
  - >> mem_set
  - >> mem_cpy

  f_chmod (Thumb, 106 bytes, Stack size 72 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> chk_mounted
  - >> follow_path
  - >> sync

  f_utime (Thumb, 100 bytes, Stack size 64 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> chk_mounted
  - >> follow_path
  - >> sync

  f_rename (Thumb, 322 bytes, Stack size 120 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> clust2sect
  - >> chk_mounted
  - >> follow_path
  - >> dir_remove
  - >> dir_register
  - >> sync
  - >> move_window
  - >> mem_cpy

  disk_initialize (Thumb, 42 bytes, Stack size 8 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = disk_initialize ⇒ SD_ReadCfg ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> SD_Init
  - >> SD_ReadCfg
  [Called By]
  - >> chk_mounted

  disk_ioctl (Thumb, 292 bytes, Stack size 32 bytes, mmc-lincoln.o(.text), UNUSED)
  [Calls]

  - >> LPC17xx_SPI_Release
  - >> LPC17xx_SPI_RecvByte
  - >> SD_SendCmd
  - >> SD_WaitForReady
  - >> SD_ReadDataBlock
  [Called By]
  - >> sync

  disk_read (Thumb, 58 bytes, Stack size 24 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = disk_read ⇒ SD_ReadSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> SD_ReadSector
  [Called By]
  - >> f_lseek
  - >> f_write
  - >> f_read
  - >> chk_mounted
  - >> check_fs
  - >> move_window

  disk_status (Thumb, 14 bytes, Stack size 0 bytes, mmc-lincoln.o(.text))
  [Called By]

  - >> validate
  - >> chk_mounted

  disk_timerproc (Thumb, 42 bytes, Stack size 0 bytes, mmc-lincoln.o(.text), UNUSED)

  disk_write (Thumb, 58 bytes, Stack size 24 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> SD_WriteSector
  [Called By]
  - >> f_lseek
  - >> f_sync
  - >> f_write
  - >> f_read
  - >> sync
  - >> move_window

  Init_User_LED_PWM (Thumb, 30 bytes, Stack size 16 bytes, blink_user_led.o(.text), UNUSED)
  [Calls]

  - >> PWM_Init

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

  - Max Depth = 44
  - Call Chain = Init_Green_LED_PWM ⇒ PINSEL_ConfigPin ⇒ set_ResistorMode
  [Calls]
  - >> PINSEL_ConfigPin
  [Called By]
  - >> c_entry

  Blink_Green_LED_PWM (Thumb, 154 bytes, Stack size 16 bytes, blink_user_led.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = Blink_Green_LED_PWM ⇒ PWM_MatchUpdate
  [Calls]
  - >> PWM_ChannelCmd
  - >> PWM_MatchUpdate
  - >> PWM_ConfigMatch
  - >> PWM_ResetCounter
  - >> PWM_CounterCmd
  - >> PWM_Cmd
  - >> CLKPWR_GetPCLK
  [Called By]
  - >> c_entry

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

  - >> PINSEL_ConfigPin

  Blink_Yellow_LED_PWM (Thumb, 154 bytes, Stack size 16 bytes, blink_user_led.o(.text), UNUSED)
  [Calls]

  - >> PWM_ChannelCmd
  - >> PWM_MatchUpdate
  - >> PWM_ConfigMatch
  - >> PWM_ResetCounter
  - >> PWM_CounterCmd
  - >> PWM_Cmd
  - >> CLKPWR_GetPCLK

  Blink_Yellow_LED_TIMER (Thumb, 154 bytes, Stack size 40 bytes, blink_user_led.o(.text), UNUSED)
  [Calls]

  - >> TIM_ConfigMatch
  - >> TIM_Cmd
  - >> TIM_Init
  - >> PINSEL_ConfigPin

  Stop_Yellow_LED_Timer (Thumb, 14 bytes, Stack size 8 bytes, blink_user_led.o(.text), UNUSED)
  [Calls]

  - >> TIM_Cmd

  rtc_init (Thumb, 52 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)

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

  - >> rtc_setTime

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

  - >> rtc_setTime

  rtc_CTCReset (Thumb, 14 bytes, Stack size 0 bytes, rtc.o(.text), UNUSED)

  rtc_setTime (Thumb, 70 bytes, Stack size 4 bytes, rtc.o(.text), UNUSED)
  [Calls]

  - >> rtc_stop
  - >> rtc_start

  rtc_getTime (Thumb, 62 bytes, Stack size 0 bytes, rtc.o(.text))
  [Called By]

  - >> get_fattime

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

  - >> LPC17xx_SPI_Init
  - >> SD_Init

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

  - >> LPC17xx_SPI_Release
  - >> LPC17xx_SPI_Init
  - >> SD_SendCmd

  LPC17xx_SPI_Init (Thumb, 170 bytes, Stack size 4 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = LPC17xx_SPI_Init
  [Calls]
  - >> LPC17xx_SPI_SetSpeed
  - >> LPC17xx_SPI_DeSelect
  [Called By]
  - >> SD_Init

  LPC17xx_SPI_DeInit (Thumb, 46 bytes, Stack size 0 bytes, spi.o(.text))
  [Called By]

  - >> SD_Init

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

  - >> SD_Init
  - >> SD_SendCmd

  LPC17xx_SPI_SendByte (Thumb, 12 bytes, Stack size 8 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = LPC17xx_SPI_SendByte
  [Calls]
  - >> LPC17xx_SPI_SendRecvByte
  [Called By]
  - >> SD_WirteDataBlock
  - >> SD_Init
  - >> SD_SendCmd
  - >> SD_WaitForReady

  LPC17xx_SPI_RecvByte (Thumb, 10 bytes, Stack size 8 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = LPC17xx_SPI_RecvByte
  [Calls]
  - >> LPC17xx_SPI_SendRecvByte
  [Called By]
  - >> LPC17xx_SPI_Release
  - >> SD_WirteDataBlock
  - >> SD_Init
  - >> SD_ReadCfg
  - >> SD_SendCmd
  - >> SD_WaitForReady
  - >> SD_ReadDataBlock
  - >> disk_ioctl

  LPC17xx_SPI_Release (Thumb, 12 bytes, Stack size 8 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = LPC17xx_SPI_Release ⇒ LPC17xx_SPI_RecvByte
  [Calls]
  - >> LPC17xx_SPI_RecvByte
  - >> LPC17xx_SPI_DeSelect
  [Called By]
  - >> SD_WriteSector
  - >> SD_ReadSector
  - >> SD_Init
  - >> SD_ReadCfg
  - >> disk_ioctl

  LPC17xx_SPI_RecvBlock_FIFO (Thumb, 136 bytes, Stack size 20 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = LPC17xx_SPI_RecvBlock_FIFO
  [Called By]
  - >> SD_ReadDataBlock

  LPC17xx_SPI_SendBlock_FIFO (Thumb, 122 bytes, Stack size 8 bytes, spi.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = LPC17xx_SPI_SendBlock_FIFO
  [Called By]
  - >> SD_WirteDataBlock

  SysTick_Handler (Thumb, 40 bytes, Stack size 0 bytes, spi_sd_ffs.o(.text))
  [Address Reference Count : 1]

  - startup_lpc17xx.o(RESET)

  UART0_IRQHandler (Thumb, 192 bytes, Stack size 16 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = UART0_IRQHandler ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> MenuProcessor
  - >> UART_Receive
  - >> UART_Send
  [Address Reference Count : 1]
  - startup_lpc17xx.o(RESET)

  get_fattime (Thumb, 60 bytes, Stack size 16 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = get_fattime
  [Calls]
  - >> rtc_getTime
  [Called By]
  - >> f_mkdir
  - >> f_sync
  - >> f_open

  SD_GetCardConnectStatus (Thumb, 42 bytes, Stack size 16 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = SD_GetCardConnectStatus ⇒ GPIO_ReadValue
  [Calls]
  - >> GPIO_ReadValue
  [Called By]
  - >> c_entry

  En_ls (Thumb, 394 bytes, Stack size 152 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 440
  - Call Chain = En_ls ⇒ f_opendir ⇒ follow_path ⇒ dir_find ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> f_getfree
  - >> f_readdir
  - >> f_opendir
  - >> UART_Send
  - >> __2sprintf
  [Address Reference Count : 1]
  - spi_sd_ffs.o(.data)

  En_cd (Thumb, 552 bytes, Stack size 104 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 392
  - Call Chain = En_cd ⇒ f_opendir ⇒ follow_path ⇒ dir_find ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> strcpy
  - >> strcmp
  - >> strlen
  - >> strncpy
  - >> strcat
  - >> f_opendir
  - >> UART_Send
  - >> __2sprintf
  [Address Reference Count : 1]
  - spi_sd_ffs.o(.data)

  En_wd (Thumb, 46 bytes, Stack size 88 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 160
  - Call Chain = En_wd ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UART_Send
  - >> __2sprintf
  [Address Reference Count : 1]
  - spi_sd_ffs.o(.data)

  En_sf (Thumb, 218 bytes, Stack size 32 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 360
  - Call Chain = En_sf ⇒ f_open ⇒ follow_path ⇒ dir_find ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> strcpy
  - >> strcmp
  - >> strlen
  - >> strcat
  - >> f_read
  - >> f_open
  - >> UART_Send
  [Address Reference Count : 1]
  - spi_sd_ffs.o(.data)

  En_menu (Thumb, 120 bytes, Stack size 96 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 168
  - Call Chain = En_menu ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UART_Send
  - >> __2sprintf
  [Address Reference Count : 1]
  - spi_sd_ffs.o(.data)

  c_entry (Thumb, 388 bytes, Stack size 32 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 208
  - Call Chain = c_entry ⇒ UART_Init ⇒ uart_set_divisors ⇒ __aeabi_uldivmod
  [Calls]
  - >> SD_GetCardConnectStatus
  - >> NVIC_SetPriority
  - >> MenuProcessor
  - >> Blink_Green_LED_PWM
  - >> Init_Green_LED_PWM
  - >> f_mount
  - >> UART_FIFOConfigStructInit
  - >> UART_FIFOConfig
  - >> UART_IntConfig
  - >> UART_Send
  - >> UART_ConfigStructInit
  - >> UART_TxCmd
  - >> UART_Init
  - >> PINSEL_ConfigPin
  - >> GPIO_SetDir
  [Called By]
  - >> main

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

  - Max Depth = 216
  - Call Chain = main ⇒ c_entry ⇒ UART_Init ⇒ uart_set_divisors ⇒ __aeabi_uldivmod
  [Calls]
  - >> c_entry
  [Address Reference Count : 1]
  - entry7.o(.ARM.Collect$$$$00000007)

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

  - >> TIM_GetCaptureValue
  - >> TIM_ConfigCapture
  - >> TIM_UpdateMatchValue
  - >> TIM_ConfigMatch
  - >> TIM_ResetCounter
  - >> TIM_Cmd
  - >> TIM_DeInit
  - >> TIM_Init
  - >> TIM_ClearIntCapturePending
  - >> TIM_ClearIntPending
  - >> TIM_GetIntCaptureStatus
  - >> TIM_GetIntStatus
  - >> UART_ABClearIntPending
  - >> UART_ABCmd
  - >> UART_FIFOConfig
  - >> UART_GetIntId
  - >> UART_GetLineStatus
  - >> UART_IntConfig
  - >> UART_ForceBreak
  - >> UART_ReceiveByte
  - >> UART_SendByte
  - >> UART_DeInit
  - >> UART_TxCmd
  - >> UART_Init
  - >> PWM_ChannelCmd
  - >> PWM_ChannelConfig
  - >> PWM_MultiMatchUpdate
  - >> PWM_MatchUpdate
  - >> PWM_GetCaptureValue
  - >> PWM_ConfigCapture
  - >> PWM_ConfigMatch
  - >> PWM_ResetCounter
  - >> PWM_CounterCmd
  - >> PWM_Cmd
  - >> PWM_DeInit
  - >> PWM_Init
  - >> PWM_ConfigStructInit
  - >> PWM_ClearIntPending
  - >> PWM_GetIntStatus

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

  - startup_lpc17xx.o(RESET)

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

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

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

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

  MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc17xx.o(.text))
  [Calls]

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

  BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc17xx.o(.text))
  [Calls]

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

  UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc17xx.o(.text))
  [Calls]

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

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

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

  DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, startup_lpc17xx.o(.text))
  [Calls]

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

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

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

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

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

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

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

  - startup_lpc17xx.o(RESET)

  __aeabi_uldivmod (Thumb, 100 bytes, Stack size 40 bytes, uldiv.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = __aeabi_uldivmod
  [Calls]
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  [Called By]
  - >> converUSecToVal
  - >> uart_set_divisors
  - >> PWM_Init

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

  - >> __aeabi_uldivmod
  - >> uart_set_divisors

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

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

  - >> __aeabi_uldivmod
  - >> uart_set_divisors

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

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

  - >> En_sf
  - >> En_cd

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

  - Max Depth = 8
  - Call Chain = strncpy
  [Called By]
  - >> En_cd

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

  - >> En_sf
  - >> En_cd

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

  - Max Depth = 8
  - Call Chain = strcmp
  [Called By]
  - >> En_sf
  - >> En_cd
  - >> MenuProcessor

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

  - >> En_sf
  - >> En_cd

  __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), UNUSED)
  [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)

  __0sprintf$6 (Thumb, 34 bytes, Stack size 24 bytes, printf6.o(i.__0sprintf$6), UNUSED)
  [Calls]

  - >> _sputc
  - >> _printf_core

  __1sprintf$6 (Thumb, 0 bytes, Stack size 24 bytes, printf6.o(i.__0sprintf$6), UNUSED)

  __2sprintf (Thumb, 0 bytes, Stack size 24 bytes, printf6.o(i.__0sprintf$6))
  [Stack]

  - Max Depth = 24
  - Call Chain = __2sprintf
  [Called By]
  - >> En_menu
  - >> En_wd
  - >> En_cd
  - >> En_ls

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

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

  ### Local Symbols

  GPIO_GetPointer (Thumb, 58 bytes, Stack size 0 bytes, lpc17xx_gpio.o(.text))
  [Called By]

  - >> FIO_SetMask
  - >> GPIO_ReadValue
  - >> GPIO_ClearValue
  - >> GPIO_SetValue
  - >> GPIO_SetDir

  FIO_HalfWordGetPointer (Thumb, 58 bytes, Stack size 0 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Called By]

  - >> FIO_HalfWordReadValue
  - >> FIO_HalfWordClearValue
  - >> FIO_HalfWordSetValue
  - >> FIO_HalfWordSetMask
  - >> FIO_HalfWordSetDir

  FIO_ByteGetPointer (Thumb, 58 bytes, Stack size 0 bytes, lpc17xx_gpio.o(.text), UNUSED)
  [Called By]

  - >> FIO_ByteReadValue
  - >> FIO_ByteClearValue
  - >> FIO_ByteSetValue
  - >> FIO_ByteSetMask
  - >> FIO_ByteSetDir

  set_PinFunc (Thumb, 82 bytes, Stack size 20 bytes, lpc17xx_pinsel.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = set_PinFunc
  [Called By]
  - >> PINSEL_ConfigPin

  set_ResistorMode (Thumb, 82 bytes, Stack size 20 bytes, lpc17xx_pinsel.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = set_ResistorMode
  [Called By]
  - >> PINSEL_ConfigPin

  set_OpenDrainMode (Thumb, 54 bytes, Stack size 12 bytes, lpc17xx_pinsel.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = set_OpenDrainMode
  [Called By]
  - >> PINSEL_ConfigPin

  uart_set_divisors (Thumb, 574 bytes, Stack size 120 bytes, lpc17xx_uart.o(.text))
  [Stack]

  - Max Depth = 160
  - Call Chain = uart_set_divisors ⇒ __aeabi_uldivmod
  [Calls]
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  - >> __aeabi_uldivmod
  - >> CLKPWR_GetPCLK
  [Called By]
  - >> UART_Init

  getPClock (Thumb, 66 bytes, Stack size 16 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> CLKPWR_GetPCLK
  [Called By]
  - >> converUSecToVal

  converUSecToVal (Thumb, 62 bytes, Stack size 32 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_uldivmod
  - >> getPClock
  [Called By]
  - >> TIM_Init

  converPtrToTimeNum (Thumb, 64 bytes, Stack size 0 bytes, lpc17xx_timer.o(.text), UNUSED)
  [Called By]

  - >> TIM_Init

  mem_cpy (Thumb, 36 bytes, Stack size 16 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = mem_cpy
  [Called By]
  - >> f_rename
  - >> f_mkdir
  - >> f_unlink
  - >> f_write
  - >> f_read
  - >> dir_register

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

  - Max Depth = 12
  - Call Chain = mem_set
  [Called By]
  - >> f_mkdir
  - >> create_name
  - >> dir_register
  - >> dir_next
  - >> sync

  mem_cmp (Thumb, 54 bytes, Stack size 20 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = mem_cmp
  [Called By]
  - >> dir_find

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

  - >> create_name

  move_window (Thumb, 134 bytes, Stack size 24 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> disk_write
  - >> disk_read
  [Called By]
  - >> f_rename
  - >> f_mkdir
  - >> f_getfree
  - >> f_sync
  - >> f_open
  - >> put_fat
  - >> get_fat
  - >> dir_remove
  - >> dir_register
  - >> dir_read
  - >> dir_find
  - >> dir_next
  - >> sync

  sync (Thumb, 244 bytes, Stack size 16 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> disk_write
  - >> disk_ioctl
  - >> move_window
  - >> mem_set
  [Called By]
  - >> f_rename
  - >> f_utime
  - >> f_chmod
  - >> f_mkdir
  - >> f_unlink
  - >> f_sync

  remove_chain (Thumb, 120 bytes, Stack size 24 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 168
  - Call Chain = remove_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> put_fat
  - >> get_fat
  [Called By]
  - >> f_mkdir
  - >> f_unlink
  - >> f_truncate
  - >> f_open

  create_chain (Thumb, 200 bytes, Stack size 24 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 168
  - Call Chain = create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> put_fat
  - >> get_fat
  [Called By]
  - >> f_mkdir
  - >> f_lseek
  - >> f_write
  - >> dir_next

  dir_sdi (Thumb, 174 bytes, Stack size 24 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 160
  - Call Chain = dir_sdi ⇒ get_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> clust2sect
  - >> get_fat
  [Called By]
  - >> f_unlink
  - >> f_readdir
  - >> f_opendir
  - >> follow_path
  - >> dir_remove
  - >> dir_register
  - >> dir_find

  dir_next (Thumb, 320 bytes, Stack size 24 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 192
  - Call Chain = dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> clust2sect
  - >> get_fat
  - >> create_chain
  - >> move_window
  - >> mem_set
  [Called By]
  - >> f_readdir
  - >> dir_register
  - >> dir_read
  - >> dir_find

  dir_find (Thumb, 104 bytes, Stack size 24 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 216
  - Call Chain = dir_find ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> dir_next
  - >> dir_sdi
  - >> move_window
  - >> mem_cmp
  [Called By]
  - >> follow_path

  dir_read (Thumb, 100 bytes, Stack size 24 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 216
  - Call Chain = dir_read ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> dir_next
  - >> move_window
  [Called By]
  - >> f_unlink
  - >> f_readdir

  dir_register (Thumb, 124 bytes, Stack size 24 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 216
  - Call Chain = dir_register ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> dir_next
  - >> dir_sdi
  - >> move_window
  - >> mem_set
  - >> mem_cpy
  [Called By]
  - >> f_rename
  - >> f_mkdir
  - >> f_open

  dir_remove (Thumb, 54 bytes, Stack size 16 bytes, ff.o(.text), UNUSED)
  [Calls]

  - >> dir_sdi
  - >> move_window
  [Called By]
  - >> f_rename
  - >> f_unlink

  create_name (Thumb, 376 bytes, Stack size 48 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = create_name ⇒ mem_set
  [Calls]
  - >> chk_chr
  - >> mem_set
  [Called By]
  - >> follow_path

  get_fileinfo (Thumb, 192 bytes, Stack size 20 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = get_fileinfo
  [Called By]
  - >> f_stat
  - >> f_readdir

  follow_path (Thumb, 172 bytes, Stack size 32 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 248
  - Call Chain = follow_path ⇒ dir_find ⇒ dir_next ⇒ create_chain ⇒ put_fat ⇒ move_window ⇒ disk_write ⇒ SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> create_name
  - >> dir_find
  - >> dir_sdi
  [Called By]
  - >> f_rename
  - >> f_utime
  - >> f_chmod
  - >> f_mkdir
  - >> f_unlink
  - >> f_stat
  - >> f_opendir
  - >> f_open

  check_fs (Thumb, 142 bytes, Stack size 16 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = check_fs ⇒ disk_read ⇒ SD_ReadSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> disk_read
  [Called By]
  - >> chk_mounted

  chk_mounted (Thumb, 976 bytes, Stack size 72 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = chk_mounted ⇒ check_fs ⇒ disk_read ⇒ SD_ReadSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> disk_status
  - >> disk_read
  - >> disk_initialize
  - >> check_fs
  [Called By]
  - >> f_rename
  - >> f_utime
  - >> f_chmod
  - >> f_mkdir
  - >> f_unlink
  - >> f_getfree
  - >> f_stat
  - >> f_opendir
  - >> f_open

  validate (Thumb, 44 bytes, Stack size 16 bytes, ff.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = validate
  [Calls]
  - >> disk_status
  [Called By]
  - >> f_truncate
  - >> f_readdir
  - >> f_lseek
  - >> f_sync
  - >> f_write
  - >> f_read

  SD_ReadDataBlock (Thumb, 66 bytes, Stack size 24 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = SD_ReadDataBlock ⇒ LPC17xx_SPI_RecvBlock_FIFO
  [Calls]
  - >> LPC17xx_SPI_RecvByte
  - >> LPC17xx_SPI_RecvBlock_FIFO
  [Called By]
  - >> SD_ReadSector
  - >> SD_ReadCfg
  - >> disk_ioctl

  SD_WaitForReady (Thumb, 50 bytes, Stack size 16 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = SD_WaitForReady ⇒ LPC17xx_SPI_SendByte
  [Calls]
  - >> LPC17xx_SPI_SendByte
  - >> LPC17xx_SPI_RecvByte
  [Called By]
  - >> SD_WirteDataBlock
  - >> SD_Init
  - >> SD_SendCmd
  - >> disk_ioctl

  SD_SendCmd (Thumb, 178 bytes, Stack size 24 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 48 + In Cycle
  - Call Chain = SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> LPC17xx_SPI_SendByte
  - >> LPC17xx_SPI_Select
  - >> LPC17xx_SPI_RecvByte
  - >> LPC17xx_SPI_DeSelect
  - >> SD_SendCmd
  - >> SD_WaitForReady
  [Called By]
  - >> SD_WriteSector
  - >> SD_ReadSector
  - >> SD_Init
  - >> SD_ReadCfg
  - >> SD_SendCmd
  - >> disk_ioctl

  SD_ReadCfg (Thumb, 482 bytes, Stack size 40 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = SD_ReadCfg ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> LPC17xx_SPI_Release
  - >> LPC17xx_SPI_RecvByte
  - >> SD_SendCmd
  - >> SD_ReadDataBlock
  [Called By]
  - >> disk_initialize

  SD_Init (Thumb, 356 bytes, Stack size 32 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = SD_Init ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> LPC17xx_SPI_SetSpeed
  - >> LPC17xx_SPI_SendByte
  - >> LPC17xx_SPI_Select
  - >> LPC17xx_SPI_Release
  - >> LPC17xx_SPI_RecvByte
  - >> LPC17xx_SPI_Init
  - >> LPC17xx_SPI_DeInit
  - >> SD_SendCmd
  - >> SD_WaitForReady
  [Called By]
  - >> disk_initialize

  SD_ReadSector (Thumb, 122 bytes, Stack size 16 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = SD_ReadSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> LPC17xx_SPI_Release
  - >> SD_SendCmd
  - >> SD_ReadDataBlock
  [Called By]
  - >> disk_read

  SD_WirteDataBlock (Thumb, 68 bytes, Stack size 16 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = SD_WirteDataBlock ⇒ SD_WaitForReady ⇒ LPC17xx_SPI_SendByte
  [Calls]
  - >> LPC17xx_SPI_SendByte
  - >> LPC17xx_SPI_SendBlock_FIFO
  - >> LPC17xx_SPI_RecvByte
  - >> SD_WaitForReady
  [Called By]
  - >> SD_WriteSector

  SD_WriteSector (Thumb, 146 bytes, Stack size 16 bytes, mmc-lincoln.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = SD_WriteSector ⇒ SD_SendCmd ⇒ SD_SendCmd (Cycle)
  [Calls]
  - >> LPC17xx_SPI_Release
  - >> SD_WirteDataBlock
  - >> SD_SendCmd
  [Called By]
  - >> disk_write

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

  - >> LPC17xx_SPI_SendByte
  - >> LPC17xx_SPI_RecvByte

  NVIC_SetPriority (Thumb, 42 bytes, Stack size 8 bytes, spi_sd_ffs.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = NVIC_SetPriority
  [Called By]
  - >> c_entry

  _printf_core (Thumb, 818 bytes, Stack size 104 bytes, printf6.o(i._printf_core), UNUSED)
  [Calls]

  - >> __aeabi_uidivmod
  - >> _printf_pre_padding
  - >> _printf_post_padding
  [Called By]
  - >> __0sprintf$6

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

  - >> _printf_core

  _printf_pre_padding (Thumb, 46 bytes, Stack size 24 bytes, printf6.o(i._printf_pre_padding), UNUSED)
  [Called By]

  - >> _printf_core

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

  - >> __0sprintf$6
  [Address Reference Count : 1]
  - printf6.o(i.__0sprintf$6)

  ### Undefined Global Symbols