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

#<CALLGRAPH># ARM Linker, 4.1 [Build 644]: Last Updated: Fri Jan 13 14:48:27 2012

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

### Call chain for Maximum Stack Depth:

main ⇒ c_entry ⇒ debug_frmwrk_init ⇒ UART_Init ⇒ uart_set_divisors ⇒ __aeabi_uldivmod

### Mutually Recursive functions

- 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)
  - 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 clock-arch.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 startup_lpc17xx.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)
  - UARTGetChar from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - UARTPutChar from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - UARTPutDec from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - UARTPutDec16 from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - UARTPutDec32 from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - UARTPutHex from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - UARTPutHex16 from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - UARTPutHex32 from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - UARTPuts from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - UARTPuts_ from debug_frmwrk.o(.text) referenced from debug_frmwrk.o(.text)
  - 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)
  - _snputc from printf8.o(i._snputc) referenced from printf8.o(i.__0snprintf$8)
  - _sputc from printf8.o(i._sputc) referenced from printf8.o(i.__0sprintf$8)
  - file_stats from httpd-cgi.o(.text) referenced from httpd-cgi.o(.constdata)
  - fputc from fputc.o(i.fputc) referenced from printf8.o(i.__0printf$8)
  - generate_file_stats from httpd-cgi.o(.text) referenced from httpd-cgi.o(.text)
  - generate_net_stats from httpd-cgi.o(.text) referenced from httpd-cgi.o(.text)
  - generate_part_of_file from httpd.o(.text) referenced from httpd.o(.text)
  - generate_tcp_stats from httpd-cgi.o(.text) referenced from httpd-cgi.o(.text)
  - main from main.o(.text) referenced from entry7.o(.ARM.Collect$$$$00000007)
  - net_stats from httpd-cgi.o(.text) referenced from httpd-cgi.o(.constdata)
  - nullfunction from httpd-cgi.o(.text) referenced from httpd-cgi.o(.text)
  - tcp_stats from httpd-cgi.o(.text) referenced from httpd-cgi.o(.constdata)

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

  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)

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

  CLKPWR_SetPCLKDiv (Thumb, 106 bytes, Stack size 8 bytes, lpc17xx_clkpwr.o(.text), UNUSED)

  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]
  - >> uart_set_divisors

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

  - >> EMAC_DeInit
  - >> EMAC_Init
  - >> UART_DeInit
  - >> UART_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)

  timer_set (Thumb, 16 bytes, Stack size 16 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = timer_set
  [Calls]
  - >> clock_time
  [Called By]
  - >> c_entry

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

  - >> c_entry

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

  - >> clock_time

  timer_expired (Thumb, 26 bytes, Stack size 8 bytes, timer.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = timer_expired
  [Calls]
  - >> clock_time
  [Called By]
  - >> c_entry

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

  - >> uart_set_divisors
  - >> __aeabi_uldivmod

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

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

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

  __I$use$semihosting$fputc (Thumb, 0 bytes, Stack size unknown bytes, iusesemip.o(.text), UNUSED)

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

  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]
  - >> check_failed
  - >> CLKPWR_ConfigPPWR
  - >> uart_set_divisors
  [Called By]
  - >> debug_frmwrk_init

  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]
  - >> debug_frmwrk_init
  - >> UART_DeInit

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

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

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

  - >> debug_frmwrk_init

  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]
  - >> UARTPutChar

  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]
  - >> UARTGetChar

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

  - >> check_failed

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

  - >> check_failed

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

  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

  EMAC_UpdatePHYStatus (Thumb, 130 bytes, Stack size 16 bytes, lpc17xx_emac.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = EMAC_UpdatePHYStatus
  [Calls]
  - >> read_PHY
  [Called By]
  - >> EMAC_SetPHYMode

  EMAC_SetPHYMode (Thumb, 194 bytes, Stack size 24 bytes, lpc17xx_emac.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = EMAC_SetPHYMode ⇒ EMAC_UpdatePHYStatus
  [Calls]
  - >> EMAC_UpdatePHYStatus
  - >> read_PHY
  - >> write_PHY
  [Called By]
  - >> EMAC_Init

  EMAC_Init (Thumb, 430 bytes, Stack size 24 bytes, lpc17xx_emac.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = EMAC_Init ⇒ EMAC_SetPHYMode ⇒ EMAC_UpdatePHYStatus
  [Calls]
  - >> EMAC_SetPHYMode
  - >> setEmacAddr
  - >> read_PHY
  - >> write_PHY
  - >> tx_descr_init
  - >> rx_descr_init
  - >> CLKPWR_ConfigPPWR
  [Called By]
  - >> tapdev_init

  EMAC_DeInit (Thumb, 36 bytes, Stack size 8 bytes, lpc17xx_emac.o(.text), UNUSED)
  [Calls]

  - >> CLKPWR_ConfigPPWR

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

  - >> read_PHY

  EMAC_SetHashFilter (Thumb, 108 bytes, Stack size 24 bytes, lpc17xx_emac.o(.text), UNUSED)
  [Calls]

  - >> emac_CRCCalc

  EMAC_SetFilterMode (Thumb, 40 bytes, Stack size 0 bytes, lpc17xx_emac.o(.text), UNUSED)

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

  EMAC_WritePacketBuffer (Thumb, 80 bytes, Stack size 16 bytes, lpc17xx_emac.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = EMAC_WritePacketBuffer
  [Called By]
  - >> tapdev_send

  EMAC_ReadPacketBuffer (Thumb, 64 bytes, Stack size 12 bytes, lpc17xx_emac.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = EMAC_ReadPacketBuffer
  [Called By]
  - >> tapdev_read

  EMAC_IntCmd (Thumb, 40 bytes, Stack size 0 bytes, lpc17xx_emac.o(.text), UNUSED)

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

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

  - >> tapdev_read

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

  - >> tapdev_send

  EMAC_CheckReceiveDataStatus (Thumb, 28 bytes, Stack size 0 bytes, lpc17xx_emac.o(.text), UNUSED)

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

  - >> tapdev_read

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

  - >> tapdev_read

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

  - >> tapdev_send

  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]
  - >> LED_Init
  - >> tapdev_init
  - >> debug_frmwrk_init

  UARTPutChar (Thumb, 20 bytes, Stack size 16 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = UARTPutChar ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UART_Send
  [Called By]
  - >> UARTPutHex32
  - >> UARTPutHex16
  - >> UARTPutHex
  - >> UARTPutDec32
  - >> UARTPutDec16
  - >> UARTPutDec
  - >> UARTPuts
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  UARTGetChar (Thumb, 30 bytes, Stack size 16 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = UARTGetChar ⇒ UART_Receive ⇒ UART_ReceiveByte
  [Calls]
  - >> UART_Receive
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  UARTPuts (Thumb, 32 bytes, Stack size 16 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = UARTPuts ⇒ UARTPutChar ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UARTPutChar
  [Called By]
  - >> UARTPutHex32
  - >> UARTPutHex16
  - >> UARTPutHex
  - >> UARTPuts_
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  UARTPuts_ (Thumb, 24 bytes, Stack size 16 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = UARTPuts_ ⇒ UARTPuts ⇒ UARTPutChar ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UARTPuts
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  UARTPutDec (Thumb, 114 bytes, Stack size 24 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = UARTPutDec ⇒ UARTPutChar ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UARTPutChar
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  UARTPutDec16 (Thumb, 182 bytes, Stack size 32 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = UARTPutDec16 ⇒ UARTPutChar ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UARTPutChar
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  UARTPutDec32 (Thumb, 346 bytes, Stack size 56 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = UARTPutDec32 ⇒ UARTPutChar ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UARTPutChar
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  UARTPutHex (Thumb, 74 bytes, Stack size 24 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = UARTPutHex ⇒ UARTPuts ⇒ UARTPutChar ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UARTPuts
  - >> UARTPutChar
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  UARTPutHex16 (Thumb, 74 bytes, Stack size 24 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = UARTPutHex16 ⇒ UARTPuts ⇒ UARTPutChar ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UARTPuts
  - >> UARTPutChar
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  UARTPutHex32 (Thumb, 74 bytes, Stack size 24 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 128
  - Call Chain = UARTPutHex32 ⇒ UARTPuts ⇒ UARTPutChar ⇒ UART_Send ⇒ UART_SendByte
  [Calls]
  - >> UARTPuts
  - >> UARTPutChar
  [Address Reference Count : 1]
  - debug_frmwrk.o(.text)

  debug_frmwrk_init (Thumb, 234 bytes, Stack size 24 bytes, debug_frmwrk.o(.text))
  [Stack]

  - Max Depth = 200
  - Call Chain = debug_frmwrk_init ⇒ UART_Init ⇒ uart_set_divisors ⇒ __aeabi_uldivmod
  [Calls]
  - >> PINSEL_ConfigPin
  - >> UART_ConfigStructInit
  - >> UART_TxCmd
  - >> UART_Init
  [Called By]
  - >> c_entry

  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]
  - >> LED_Init
  - >> FIO_SetDir

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

  - Max Depth = 16
  - Call Chain = GPIO_SetValue
  [Calls]
  - >> GPIO_GetPointer
  [Called By]
  - >> LED_Init
  - >> 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), UNUSED)
  [Calls]

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

  SysTick_Handler (Thumb, 36 bytes, Stack size 0 bytes, clock-arch.o(.text))
  [Address Reference Count : 1]

  - startup_lpc17xx.o(RESET)

  clock_init (Thumb, 124 bytes, Stack size 12 bytes, clock-arch.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = clock_init
  [Called By]
  - >> c_entry

  clock_time (Thumb, 6 bytes, Stack size 0 bytes, clock-arch.o(.text))
  [Called By]

  - >> timer_restart
  - >> timer_set
  - >> timer_expired

  tapdev_init (Thumb, 288 bytes, Stack size 48 bytes, emac.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = tapdev_init ⇒ EMAC_Init ⇒ EMAC_SetPHYMode ⇒ EMAC_UpdatePHYStatus
  [Calls]
  - >> PINSEL_ConfigPin
  - >> EMAC_Init
  - >> __2sprintf
  [Called By]
  - >> c_entry

  tapdev_read (Thumb, 58 bytes, Stack size 24 bytes, emac.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = tapdev_read ⇒ EMAC_ReadPacketBuffer
  [Calls]
  - >> EMAC_UpdateRxConsumeIndex
  - >> EMAC_GetReceiveDataSize
  - >> EMAC_CheckReceiveIndex
  - >> EMAC_ReadPacketBuffer
  [Called By]
  - >> c_entry

  tapdev_send (Thumb, 56 bytes, Stack size 24 bytes, emac.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = tapdev_send ⇒ EMAC_WritePacketBuffer
  [Calls]
  - >> EMAC_UpdateTxProduceIndex
  - >> EMAC_CheckTransmitIndex
  - >> EMAC_WritePacketBuffer
  [Called By]
  - >> c_entry

  LED_Init (Thumb, 120 bytes, Stack size 16 bytes, main.o(.text))
  [Stack]

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

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

  - Max Depth = 8
  - Call Chain = uip_log
  [Called By]
  - >> uip_process

  c_entry (Thumb, 676 bytes, Stack size 32 bytes, main.o(.text))
  [Stack]

  - Max Depth = 232
  - Call Chain = c_entry ⇒ debug_frmwrk_init ⇒ UART_Init ⇒ uart_set_divisors ⇒ __aeabi_uldivmod
  [Calls]
  - >> uip_process
  - >> uip_init
  - >> uip_arp_timer
  - >> uip_arp_out
  - >> uip_arp_ipin
  - >> uip_arp_arpin
  - >> timer_set
  - >> timer_reset
  - >> timer_expired
  - >> httpd_init
  - >> htons
  - >> LED_Init
  - >> tapdev_send
  - >> tapdev_read
  - >> tapdev_init
  - >> clock_init
  - >> debug_frmwrk_init
  - >> __2sprintf
  [Called By]
  - >> main

  main (Thumb, 4 bytes, Stack size 0 bytes, main.o(.text))
  [Stack]

  - Max Depth = 232
  - Call Chain = main ⇒ c_entry ⇒ debug_frmwrk_init ⇒ 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, main.o(.text))
  [Called By]

  - >> UART_ABClearIntPending
  - >> UART_ABCmd
  - >> UART_FIFOConfig
  - >> UART_GetIntId
  - >> UART_GetLineStatus
  - >> UART_IntConfig
  - >> UART_ForceBreak
  - >> UART_ReceiveByte
  - >> UART_SendByte
  - >> UART_DeInit
  - >> UART_TxCmd
  - >> UART_Init

  uip_arp_init (Thumb, 52 bytes, Stack size 0 bytes, uip_arp.o(.text), UNUSED)

  uip_arp_timer (Thumb, 84 bytes, Stack size 0 bytes, uip_arp.o(.text))
  [Called By]

  - >> c_entry

  uip_arp_ipin (Thumb, 86 bytes, Stack size 8 bytes, uip_arp.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = uip_arp_ipin ⇒ uip_arp_update
  [Calls]
  - >> uip_arp_update
  [Called By]
  - >> c_entry

  uip_arp_arpin (Thumb, 222 bytes, Stack size 8 bytes, uip_arp.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = uip_arp_arpin ⇒ uip_arp_update
  [Calls]
  - >> uip_arp_update
  [Called By]
  - >> c_entry

  uip_arp_out (Thumb, 442 bytes, Stack size 8 bytes, uip_arp.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = uip_arp_out
  [Calls]
  - >> __aeabi_memset
  [Called By]
  - >> c_entry

  psock_send (Thumb, 126 bytes, Stack size 24 bytes, psock.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = psock_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> data_acked
  - >> send_data
  [Called By]
  - >> send_headers
  - >> send_part_of_file

  psock_generator_send (Thumb, 148 bytes, Stack size 24 bytes, psock.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = psock_generator_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> data_acked
  - >> send_data
  [Called By]
  - >> send_file
  - >> net_stats
  - >> tcp_stats
  - >> file_stats

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

  - >> handle_input
  - >> psock_readbuf
  - >> psock_readto

  psock_newdata (Thumb, 52 bytes, Stack size 0 bytes, psock.o(.text))
  [Called By]

  - >> psock_readbuf
  - >> psock_readto

  psock_readto (Thumb, 154 bytes, Stack size 16 bytes, psock.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = psock_readto ⇒ buf_bufto
  [Calls]
  - >> psock_newdata
  - >> psock_datalen
  - >> buf_bufto
  - >> buf_setup
  [Called By]
  - >> handle_input

  psock_readbuf (Thumb, 162 bytes, Stack size 16 bytes, psock.o(.text), UNUSED)
  [Calls]

  - >> psock_newdata
  - >> psock_datalen
  - >> buf_bufdata
  - >> buf_setup
  - >> __2printf

  psock_init (Thumb, 44 bytes, Stack size 16 bytes, psock.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = psock_init
  [Calls]
  - >> buf_setup
  [Called By]
  - >> httpd_appcall

  uip_setipid (Thumb, 6 bytes, Stack size 0 bytes, uip.o(.text), UNUSED)

  uip_add32 (Thumb, 116 bytes, Stack size 0 bytes, uip.o(.text))
  [Called By]

  - >> uip_add_rcv_nxt
  - >> uip_process

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

  - >> generate_tcp_stats
  - >> uip_connect
  - >> uip_ipchksum
  - >> uip_chksum
  - >> upper_layer_chksum
  - >> c_entry

  uip_chksum (Thumb, 26 bytes, Stack size 16 bytes, uip.o(.text), UNUSED)
  [Calls]

  - >> chksum
  - >> htons

  uip_ipchksum (Thumb, 32 bytes, Stack size 8 bytes, uip.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = uip_ipchksum ⇒ chksum
  [Calls]
  - >> chksum
  - >> htons
  [Called By]
  - >> uip_process

  uip_tcpchksum (Thumb, 10 bytes, Stack size 8 bytes, uip.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = uip_tcpchksum ⇒ upper_layer_chksum ⇒ chksum
  [Calls]
  - >> upper_layer_chksum
  [Called By]
  - >> uip_process

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

  - >> upper_layer_chksum

  uip_init (Thumb, 108 bytes, Stack size 0 bytes, uip.o(.text))
  [Called By]

  - >> c_entry

  uip_connect (Thumb, 286 bytes, Stack size 12 bytes, uip.o(.text), UNUSED)
  [Calls]

  - >> htons

  uip_unlisten (Thumb, 64 bytes, Stack size 0 bytes, uip.o(.text), UNUSED)

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

  - >> httpd_init

  uip_process (Thumb, 4342 bytes, Stack size 16 bytes, uip.o(.text))
  [Stack]

  - Max Depth = 136
  - Call Chain = uip_process ⇒ httpd_appcall ⇒ handle_connection ⇒ handle_output ⇒ handle_script ⇒ send_part_of_file ⇒ psock_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> httpd_appcall
  - >> uip_tcpchksum
  - >> uip_ipchksum
  - >> uip_add32
  - >> uip_add_rcv_nxt
  - >> uip_log
  [Called By]
  - >> c_entry

  uip_send (Thumb, 38 bytes, Stack size 16 bytes, uip.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = uip_send
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> send_data

  httpd_cgi (Thumb, 60 bytes, Stack size 16 bytes, httpd-cgi.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = httpd_cgi ⇒ strncmp
  [Calls]
  - >> strncmp
  - >> strlen
  [Called By]
  - >> handle_script

  httpd_fs_open (Thumb, 84 bytes, Stack size 24 bytes, httpd-fs.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = httpd_fs_open ⇒ httpd_fs_strcmp
  [Calls]
  - >> httpd_fs_strcmp
  [Called By]
  - >> handle_output
  - >> handle_script

  httpd_fs_init (Thumb, 32 bytes, Stack size 0 bytes, httpd-fs.o(.text), UNUSED)

  httpd_fs_count (Thumb, 56 bytes, Stack size 16 bytes, httpd-fs.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = httpd_fs_count ⇒ httpd_fs_strcmp
  [Calls]
  - >> httpd_fs_strcmp
  [Called By]
  - >> generate_file_stats

  httpd_appcall (Thumb, 160 bytes, Stack size 8 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = httpd_appcall ⇒ handle_connection ⇒ handle_output ⇒ handle_script ⇒ send_part_of_file ⇒ psock_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> handle_connection
  - >> psock_init
  [Called By]
  - >> uip_process

  httpd_init (Thumb, 12 bytes, Stack size 8 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = httpd_init
  [Calls]
  - >> uip_listen
  [Called By]
  - >> c_entry

  __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]
  - >> uart_set_divisors
  - >> _printf_core

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

  - >> uart_set_divisors
  - >> __aeabi_uldivmod

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

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

  - >> generate_part_of_file
  - >> uip_send
  - >> buf_bufdata

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

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

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

  - >> uip_arp_out
  - >> _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), UNUSED)

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

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

  - >> __aeabi_memset

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

  - >> handle_output
  - >> handle_script
  - >> next_scriptstate
  - >> file_stats

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

  - >> send_headers
  - >> httpd_cgi

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

  - >> handle_output

  strncmp (Thumb, 30 bytes, Stack size 12 bytes, strncmp.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strncmp
  [Called By]
  - >> handle_input
  - >> handle_output
  - >> send_headers
  - >> httpd_cgi

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

  - >> send_headers

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

  __0printf$8 (Thumb, 22 bytes, Stack size 24 bytes, printf8.o(i.__0printf$8), UNUSED)
  [Calls]

  - >> _printf_core

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

  __2printf (Thumb, 0 bytes, Stack size 24 bytes, printf8.o(i.__0printf$8), UNUSED)
  [Called By]

  - >> psock_readbuf

  __0snprintf$8 (Thumb, 36 bytes, Stack size 32 bytes, printf8.o(i.__0snprintf$8), UNUSED)
  [Calls]

  - >> _printf_core

  __1snprintf$8 (Thumb, 0 bytes, Stack size 32 bytes, printf8.o(i.__0snprintf$8), UNUSED)

  __2snprintf (Thumb, 0 bytes, Stack size 32 bytes, printf8.o(i.__0snprintf$8))
  [Stack]

  - Max Depth = 32
  - Call Chain = __2snprintf
  [Called By]
  - >> generate_net_stats
  - >> generate_tcp_stats
  - >> generate_file_stats

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

  - >> _sputc
  - >> _printf_core

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

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

  - Max Depth = 24
  - Call Chain = __2sprintf
  [Called By]
  - >> c_entry
  - >> tapdev_init

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

  fputc (Thumb, 18 bytes, Stack size 16 bytes, fputc.o(i.fputc))
  [Stack]

  - Max Depth = 16
  - Call Chain = fputc
  [Address Reference Count : 1]
  - printf8.o(i.__0printf$8)

  ### Local Symbols

  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]
  - >> CLKPWR_GetPCLK
  - >> __aeabi_llsr
  - >> __aeabi_llsl
  - >> __aeabi_uldivmod
  [Called By]
  - >> UART_Init

  rx_descr_init (Thumb, 96 bytes, Stack size 0 bytes, lpc17xx_emac.o(.text))
  [Called By]

  - >> EMAC_Init

  tx_descr_init (Thumb, 88 bytes, Stack size 0 bytes, lpc17xx_emac.o(.text))
  [Called By]

  - >> EMAC_Init

  write_PHY (Thumb, 62 bytes, Stack size 8 bytes, lpc17xx_emac.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = write_PHY
  [Called By]
  - >> EMAC_Init
  - >> EMAC_SetPHYMode

  read_PHY (Thumb, 74 bytes, Stack size 0 bytes, lpc17xx_emac.o(.text))
  [Called By]

  - >> EMAC_CheckPHYStatus
  - >> EMAC_Init
  - >> EMAC_SetPHYMode
  - >> EMAC_UpdatePHYStatus

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

  - >> EMAC_Init

  emac_CRCCalc (Thumb, 198 bytes, Stack size 28 bytes, lpc17xx_emac.o(.text), UNUSED)
  [Called By]

  - >> EMAC_SetHashFilter

  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

  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

  uip_arp_update (Thumb, 294 bytes, Stack size 8 bytes, uip_arp.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = uip_arp_update
  [Called By]
  - >> uip_arp_ipin
  - >> uip_arp_arpin

  buf_setup (Thumb, 6 bytes, Stack size 0 bytes, psock.o(.text))
  [Called By]

  - >> psock_init
  - >> psock_readbuf
  - >> psock_readto

  buf_bufdata (Thumb, 184 bytes, Stack size 24 bytes, psock.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memcpy
  [Called By]
  - >> psock_readbuf

  buf_bufto (Thumb, 116 bytes, Stack size 12 bytes, psock.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = buf_bufto
  [Called By]
  - >> psock_readto

  send_data (Thumb, 82 bytes, Stack size 8 bytes, psock.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = send_data ⇒ uip_send
  [Calls]
  - >> uip_send
  [Called By]
  - >> psock_generator_send
  - >> psock_send

  data_acked (Thumb, 88 bytes, Stack size 0 bytes, psock.o(.text))
  [Called By]

  - >> psock_generator_send
  - >> psock_send

  chksum (Thumb, 100 bytes, Stack size 20 bytes, uip.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = chksum
  [Called By]
  - >> uip_ipchksum
  - >> uip_chksum
  - >> upper_layer_chksum

  upper_layer_chksum (Thumb, 86 bytes, Stack size 16 bytes, uip.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = upper_layer_chksum ⇒ chksum
  [Calls]
  - >> chksum
  - >> htons
  [Called By]
  - >> uip_udpchksum
  - >> uip_tcpchksum

  uip_add_rcv_nxt (Thumb, 60 bytes, Stack size 8 bytes, uip.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = uip_add_rcv_nxt
  [Calls]
  - >> uip_add32
  [Called By]
  - >> uip_process

  nullfunction (Thumb, 32 bytes, Stack size 0 bytes, httpd-cgi.o(.text))
  [Address Reference Count : 1]

  - httpd-cgi.o(.text)

  generate_file_stats (Thumb, 34 bytes, Stack size 16 bytes, httpd-cgi.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = generate_file_stats ⇒ __2snprintf
  [Calls]
  - >> httpd_fs_count
  - >> __2snprintf
  [Address Reference Count : 1]
  - httpd-cgi.o(.text)

  file_stats (Thumb, 86 bytes, Stack size 24 bytes, httpd-cgi.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = file_stats ⇒ psock_generator_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> psock_generator_send
  - >> strchr
  [Address Reference Count : 1]
  - httpd-cgi.o(.constdata)

  generate_tcp_stats (Thumb, 184 bytes, Stack size 80 bytes, httpd-cgi.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = generate_tcp_stats ⇒ __2snprintf
  [Calls]
  - >> htons
  - >> __2snprintf
  [Address Reference Count : 1]
  - httpd-cgi.o(.text)

  tcp_stats (Thumb, 126 bytes, Stack size 16 bytes, httpd-cgi.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = tcp_stats ⇒ psock_generator_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> psock_generator_send
  [Address Reference Count : 1]
  - httpd-cgi.o(.constdata)

  generate_net_stats (Thumb, 36 bytes, Stack size 16 bytes, httpd-cgi.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = generate_net_stats ⇒ __2snprintf
  [Calls]
  - >> __2snprintf
  [Address Reference Count : 1]
  - httpd-cgi.o(.text)

  net_stats (Thumb, 100 bytes, Stack size 16 bytes, httpd-cgi.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = net_stats ⇒ psock_generator_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> psock_generator_send
  [Address Reference Count : 1]
  - httpd-cgi.o(.constdata)

  httpd_fs_strcmp (Thumb, 56 bytes, Stack size 8 bytes, httpd-fs.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = httpd_fs_strcmp
  [Called By]
  - >> httpd_fs_open
  - >> httpd_fs_count

  generate_part_of_file (Thumb, 74 bytes, Stack size 16 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = generate_part_of_file
  [Calls]
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - httpd.o(.text)

  send_file (Thumb, 112 bytes, Stack size 16 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = send_file ⇒ psock_generator_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> psock_generator_send
  [Called By]
  - >> handle_output
  - >> handle_script

  send_part_of_file (Thumb, 76 bytes, Stack size 16 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = send_part_of_file ⇒ psock_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> psock_send
  [Called By]
  - >> handle_script

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

  - Max Depth = 16
  - Call Chain = next_scriptstate
  [Calls]
  - >> strchr
  [Called By]
  - >> handle_script

  handle_script (Thumb, 426 bytes, Stack size 24 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = handle_script ⇒ send_part_of_file ⇒ psock_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> next_scriptstate
  - >> send_part_of_file
  - >> send_file
  - >> httpd_fs_open
  - >> httpd_cgi
  - >> strchr
  [Called By]
  - >> handle_output

  send_headers (Thumb, 518 bytes, Stack size 24 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = send_headers ⇒ psock_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> psock_send
  - >> strrchr
  - >> strncmp
  - >> strlen
  [Called By]
  - >> handle_output

  handle_output (Thumb, 278 bytes, Stack size 16 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = handle_output ⇒ handle_script ⇒ send_part_of_file ⇒ psock_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> send_headers
  - >> handle_script
  - >> send_file
  - >> httpd_fs_open
  - >> strncmp
  - >> strcpy
  - >> strchr
  [Called By]
  - >> handle_connection

  handle_input (Thumb, 298 bytes, Stack size 16 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 44
  - Call Chain = handle_input ⇒ psock_readto ⇒ buf_bufto
  [Calls]
  - >> psock_readto
  - >> psock_datalen
  - >> strncmp
  - >> strncpy
  [Called By]
  - >> handle_connection

  handle_connection (Thumb, 26 bytes, Stack size 8 bytes, httpd.o(.text))
  [Stack]

  - Max Depth = 112
  - Call Chain = handle_connection ⇒ handle_output ⇒ handle_script ⇒ send_part_of_file ⇒ psock_send ⇒ send_data ⇒ uip_send
  [Calls]
  - >> handle_input
  - >> handle_output
  [Called By]
  - >> httpd_appcall

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

  - >> _printf_pre_padding
  - >> _printf_post_padding
  - >> __aeabi_uldivmod
  [Called By]
  - >> __0sprintf$8
  - >> __0snprintf$8
  - >> __0printf$8

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

  - >> _printf_core

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

  - >> _printf_core

  _snputc (Thumb, 22 bytes, Stack size 0 bytes, printf8.o(i._snputc))
  [Address Reference Count : 1]

  - printf8.o(i.__0snprintf$8)

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

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

  ### Undefined Global Symbols