Static Call Graph - [.\Objects\ucosii.axf]

# Static Call Graph for image .\Objects\ucosii.axf

#<CALLGRAPH># ARM Linker, 5060061: Last Updated: Wed Sep 28 15:41:47 2016

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

### Call chain for Maximum Stack Depth:

main_Server_task ⇒ tcp_echoserver_init ⇒ tcp_new ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes

### Functions with no stack information

- OS_CPU_SR_Save
- OS_CPU_SR_Restore
- OSStartHighRdy
- OSCtxSw
- OSIntCtxSw
- PendSV_Handler

### Mutually Recursive functions

- ADC1_2_IRQHandler ⇒ ADC1_2_IRQHandler

  ### Function Pointers

  - ADC1_2_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - BusFault_Handler from stm32f10x_it.o(i.BusFault_Handler) referenced from startup_stm32f10x_cl.o(RESET)
  - CAN1_RX0_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - CAN1_RX1_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - CAN1_SCE_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - CAN1_TX_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - CAN2_RX0_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - CAN2_RX1_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - CAN2_SCE_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - CAN2_TX_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA1_Channel1_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA1_Channel2_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA1_Channel3_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA1_Channel4_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA1_Channel5_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA1_Channel6_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA1_Channel7_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA2_Channel1_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA2_Channel2_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA2_Channel3_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA2_Channel4_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DMA2_Channel5_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - DebugMon_Handler from stm32f10x_it.o(i.DebugMon_Handler) referenced from startup_stm32f10x_cl.o(RESET)
  - ETH_IRQHandler from stm32f10x_it.o(i.ETH_IRQHandler) referenced from startup_stm32f10x_cl.o(RESET)
  - ETH_WKUP_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - EXTI0_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - EXTI15_10_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - EXTI1_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - EXTI2_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - EXTI3_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - EXTI4_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - EXTI9_5_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - FLASH_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - HardFault_Handler from stm32f10x_it.o(i.HardFault_Handler) referenced from startup_stm32f10x_cl.o(RESET)
  - I2C1_ER_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - I2C1_EV_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - I2C2_ER_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - I2C2_EV_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - MemManage_Handler from stm32f10x_it.o(i.MemManage_Handler) referenced from startup_stm32f10x_cl.o(RESET)
  - NMI_Handler from stm32f10x_it.o(i.NMI_Handler) referenced from startup_stm32f10x_cl.o(RESET)
  - OSTaskSwHook from os_cpu_c.o(i.OSTaskSwHook) referenced from os_cpu_a.o(.text)
  - OS_TaskIdle from os_core.o(i.OS_TaskIdle) referenced from os_core.o(i.OS_InitTaskIdle)
  - OS_TaskStat from os_core.o(i.OS_TaskStat) referenced from os_core.o(i.OS_InitTaskStat)
  - OTG_FS_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - OTG_FS_WKUP_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - PVD_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - PendSV_Handler from os_cpu_a.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - RCC_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - RTCAlarm_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - RTC_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - Reset_Handler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - SPI1_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - SPI2_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - SPI3_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - SVC_Handler from stm32f10x_it.o(i.SVC_Handler) referenced from startup_stm32f10x_cl.o(RESET)
  - SysTick_Handler from delay.o(i.SysTick_Handler) referenced from startup_stm32f10x_cl.o(RESET)
  - SystemInit from system_stm32f10x.o(i.SystemInit) referenced from startup_stm32f10x_cl.o(.text)
  - TAMPER_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM1_BRK_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM1_TRG_COM_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM1_UP_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM2_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM3_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM4_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM5_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM6_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - TIM7_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - UART4_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - UART5_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - USART1_IRQHandler from usart1.o(i.USART1_IRQHandler) referenced from startup_stm32f10x_cl.o(RESET)
  - USART2_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - USART3_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - UsageFault_Handler from stm32f10x_it.o(i.UsageFault_Handler) referenced from startup_stm32f10x_cl.o(RESET)
  - WWDG_IRQHandler from startup_stm32f10x_cl.o(.text) referenced from startup_stm32f10x_cl.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f10x_cl.o(.text)
  - etharp_output from etharp.o(i.etharp_output) referenced from ethernetif.o(i.ethernetif_init)
  - ethernet_input from etharp.o(i.ethernet_input) referenced from netconf.o(i.LwIP_Init)
  - ethernetif_init from ethernetif.o(i.ethernetif_init) referenced from netconf.o(i.LwIP_Init)
  - fputc from printf.o(i.fputc) referenced from printf3.o(i.__0printf$3)
  - low_level_output from ethernetif.o(i.low_level_output) referenced from ethernetif.o(i.ethernetif_init)
  - main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
  - main_Client_task from main_cilent.o(i.main_Client_task) referenced from main.o(i.start_task)
  - main_Server_task from main_server.o(i.main_Server_task) referenced from main.o(i.start_task)
  - start_task from main.o(i.start_task) referenced from main.o(i.main)
  - tcp_accept_null from tcp.o(i.tcp_accept_null) referenced from tcp.o(i.tcp_listen_with_backlog)
  - tcp_client_error from tcpclient.o(i.tcp_client_error) referenced from tcpclient.o(i.tcp_echoclient_connected)
  - tcp_client_sent from tcpclient.o(i.tcp_client_sent) referenced from tcpclient.o(i.tcp_echoclient_connected)
  - tcp_echoclient_connected from tcpclient.o(i.tcp_echoclient_connected) referenced from tcpclient.o(i.tcp_echoclient_connect)
  - tcp_echoclient_poll from tcpclient.o(i.tcp_echoclient_poll) referenced from tcpclient.o(i.tcp_echoclient_connected)
  - tcp_echoclient_recv from tcpclient.o(i.tcp_echoclient_recv) referenced from tcpclient.o(i.tcp_echoclient_connected)
  - tcp_echoserver_accept from tcpserver.o(i.tcp_echoserver_accept) referenced from tcpserver.o(i.tcp_echoserver_init)
  - tcp_echoserver_error from tcpserver.o(i.tcp_echoserver_error) referenced from tcpserver.o(i.tcp_echoserver_accept)
  - tcp_echoserver_poll from tcpserver.o(i.tcp_echoserver_poll) referenced from tcpserver.o(i.tcp_echoserver_accept)
  - tcp_echoserver_recv from tcpserver.o(i.tcp_echoserver_recv) referenced from tcpserver.o(i.tcp_echoserver_accept)
  - tcp_echoserver_sent from tcpserver.o(i.tcp_echoserver_sent) referenced from tcpserver.o(i.tcp_echoserver_recv)
  - tcp_recv_null from tcp.o(i.tcp_recv_null) referenced from tcp.o(i.tcp_alloc)

  ### Global Symbols

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

  - startup_stm32f10x_cl.o(.text)

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

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

  - >> __scatterload

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

  - >> __scatterload

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

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

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

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

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

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

  - >> OSTaskSuspend
  - >> OSTaskCreate
  - >> OSStatInit
  - >> start_task
  - >> OSTaskStkChk
  - >> OSTaskNameSet
  - >> OSTaskCreateExt
  - >> OS_TaskStat
  - >> OS_TaskIdle
  - >> OS_TCBInit
  - >> OS_Sched
  - >> OSTimeTick
  - >> OSTimeDly
  - >> OSIntExit

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

  - >> OSTaskSuspend
  - >> OSTaskCreate
  - >> OSStatInit
  - >> start_task
  - >> OSTaskStkChk
  - >> OSTaskNameSet
  - >> OSTaskCreateExt
  - >> OS_TaskStat
  - >> OS_TaskIdle
  - >> OS_TCBInit
  - >> OS_Sched
  - >> OSTimeTick
  - >> OSTimeDly
  - >> OSIntExit

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

  - >> OSStart

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

  - >> OS_Sched

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

  - >> OSIntExit

  PendSV_Handler (Thumb, 0 bytes, Stack size unknown bytes, os_cpu_a.o(.text))
  [Address Reference Count : 1]

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

  ADC1_2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_cl.o(.text))
  [Calls]

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

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - startup_stm32f10x_cl.o(RESET)

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

  - >> low_level_output
  - >> low_level_input
  - >> ip_reass_free_complete_datagram
  - >> ip_reass_enqueue_new_datagram
  - >> ip_reass
  - >> ip_frag
  - >> icmp_send_response
  - >> tcp_enqueue
  - >> pbuf_copy_partial
  - >> pbuf_copy

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

  - >> _memset$wrapper
  - >> __aeabi_memclr

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

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

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

  - >> __aeabi_memset

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

  - >> main_Server_task
  - >> main_Client_task
  - >> ip_reass_enqueue_new_datagram
  - >> tcp_alloc

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

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

  - >> __aeabi_memset

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

  __decompress (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)

  __decompress1 (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)

  BusFault_Handler (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_it.o(i.BusFault_Handler))
  [Stack]

  - Max Depth = 24
  - Call Chain = BusFault_Handler ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - startup_stm32f10x_cl.o(RESET)

  DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(i.DebugMon_Handler))
  [Address Reference Count : 1]

  - startup_stm32f10x_cl.o(RESET)

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

  - >> ETH_IRQHandler

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

  - >> Ethernet_Configuration

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

  - >> ETH_Start

  ETH_DMARxDescChainInit (Thumb, 76 bytes, Stack size 12 bytes, stm32_eth.o(i.ETH_DMARxDescChainInit))
  [Stack]

  - Max Depth = 12
  - Call Chain = ETH_DMARxDescChainInit
  [Called By]
  - >> low_level_init

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

  - >> low_level_init

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

  - >> ETH_Start

  ETH_DMATxDescChainInit (Thumb, 70 bytes, Stack size 12 bytes, stm32_eth.o(i.ETH_DMATxDescChainInit))
  [Stack]

  - Max Depth = 12
  - Call Chain = ETH_DMATxDescChainInit
  [Called By]
  - >> low_level_init

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

  - >> low_level_init

  ETH_DeInit (Thumb, 22 bytes, Stack size 8 bytes, stm32_eth.o(i.ETH_DeInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = ETH_DeInit
  [Calls]
  - >> RCC_AHBPeriphResetCmd
  [Called By]
  - >> Ethernet_Configuration

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

  - >> ETH_Start

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

  - >> low_level_output

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

  - >> ETH_GetRxPktSize

  ETH_GetRxPktSize (Thumb, 66 bytes, Stack size 4 bytes, stm32_eth.o(i.ETH_GetRxPktSize))
  [Stack]

  - Max Depth = 4
  - Call Chain = ETH_GetRxPktSize
  [Calls]
  - >> ETH_GetDMARxDescFrameLength
  [Called By]
  - >> ETH_IRQHandler

  ETH_GetSoftwareResetStatus (Thumb, 20 bytes, Stack size 0 bytes, stm32_eth.o(i.ETH_GetSoftwareResetStatus))
  [Called By]

  - >> Ethernet_Configuration

  ETH_IRQHandler (Thumb, 40 bytes, Stack size 8 bytes, stm32f10x_it.o(i.ETH_IRQHandler))
  [Stack]

  - Max Depth = 180 + Unknown Stack Size
  - Call Chain = ETH_IRQHandler ⇒ LwIP_Pkt_Handle ⇒ ethernetif_input ⇒ low_level_input ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> LwIP_Pkt_Handle
  - >> OSIntExit
  - >> OSIntEnter
  - >> ETH_GetRxPktSize
  - >> ETH_DMAClearITPendingBit
  [Address Reference Count : 1]
  - startup_stm32f10x_cl.o(RESET)

  ETH_Init (Thumb, 576 bytes, Stack size 56 bytes, stm32_eth.o(i.ETH_Init))
  [Stack]

  - Max Depth = 80
  - Call Chain = ETH_Init ⇒ RCC_GetClocksFreq
  [Calls]
  - >> ETH_Delay
  - >> RCC_GetClocksFreq
  - >> ETH_WritePHYRegister
  - >> ETH_ReadPHYRegister
  [Called By]
  - >> Ethernet_Configuration

  ETH_MACAddressConfig (Thumb, 46 bytes, Stack size 8 bytes, stm32_eth.o(i.ETH_MACAddressConfig))
  [Stack]

  - Max Depth = 8
  - Call Chain = ETH_MACAddressConfig
  [Called By]
  - >> Set_MAC_Address

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

  - >> ETH_Start

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

  - >> ETH_Start

  ETH_ReadPHYRegister (Thumb, 98 bytes, Stack size 12 bytes, stm32_eth.o(i.ETH_ReadPHYRegister))
  [Stack]

  - Max Depth = 12
  - Call Chain = ETH_ReadPHYRegister
  [Called By]
  - >> ETH_Init

  ETH_RxPkt_ChainMode (Thumb, 148 bytes, Stack size 20 bytes, ethernetif.o(i.ETH_RxPkt_ChainMode))
  [Stack]

  - Max Depth = 20
  - Call Chain = ETH_RxPkt_ChainMode
  [Called By]
  - >> low_level_input

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

  - >> Ethernet_Configuration

  ETH_Start (Thumb, 32 bytes, Stack size 4 bytes, stm32_eth.o(i.ETH_Start))
  [Stack]

  - Max Depth = 4
  - Call Chain = ETH_Start
  [Calls]
  - >> ETH_MACTransmissionCmd
  - >> ETH_MACReceptionCmd
  - >> ETH_FlushTransmitFIFO
  - >> ETH_DMATransmissionCmd
  - >> ETH_DMAReceptionCmd
  [Called By]
  - >> low_level_init

  ETH_StructInit (Thumb, 164 bytes, Stack size 0 bytes, stm32_eth.o(i.ETH_StructInit))
  [Called By]

  - >> Ethernet_Configuration

  ETH_TxPkt_ChainMode (Thumb, 94 bytes, Stack size 0 bytes, ethernetif.o(i.ETH_TxPkt_ChainMode))
  [Called By]

  - >> low_level_output

  ETH_WritePHYRegister (Thumb, 96 bytes, Stack size 16 bytes, stm32_eth.o(i.ETH_WritePHYRegister))
  [Stack]

  - Max Depth = 16
  - Call Chain = ETH_WritePHYRegister
  [Called By]
  - >> ETH_Init

  Ethernet_Configuration (Thumb, 170 bytes, Stack size 200 bytes, stm32f107.o(i.Ethernet_Configuration))
  [Stack]

  - Max Depth = 280
  - Call Chain = Ethernet_Configuration ⇒ ETH_Init ⇒ RCC_GetClocksFreq
  [Calls]
  - >> RCC_PLL3Config
  - >> RCC_PLL3Cmd
  - >> RCC_MCOConfig
  - >> RCC_GetFlagStatus
  - >> GPIO_ETH_MediaInterfaceConfig
  - >> ETH_StructInit
  - >> ETH_SoftwareReset
  - >> ETH_Init
  - >> ETH_GetSoftwareResetStatus
  - >> ETH_DeInit
  - >> ETH_DMAITConfig
  [Called By]
  - >> System_Setup

  GPIO_Configuration (Thumb, 164 bytes, Stack size 8 bytes, stm32f107.o(i.GPIO_Configuration))
  [Stack]

  - Max Depth = 32
  - Call Chain = GPIO_Configuration ⇒ GPIO_Init
  [Calls]
  - >> GPIO_Init
  [Called By]
  - >> System_Setup

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

  - >> Ethernet_Configuration

  GPIO_Init (Thumb, 278 bytes, Stack size 24 bytes, stm32f10x_gpio.o(i.GPIO_Init))
  [Stack]

  - Max Depth = 24
  - Call Chain = GPIO_Init
  [Called By]
  - >> usart1_Configuration
  - >> GPIO_Configuration

  GPIO_PinRemapConfig (Thumb, 138 bytes, Stack size 20 bytes, stm32f10x_gpio.o(i.GPIO_PinRemapConfig))
  [Stack]

  - Max Depth = 20
  - Call Chain = GPIO_PinRemapConfig
  [Called By]
  - >> usart1_Configuration

  HardFault_Handler (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_it.o(i.HardFault_Handler))
  [Stack]

  - Max Depth = 24
  - Call Chain = HardFault_Handler ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - startup_stm32f10x_cl.o(RESET)

  LwIP_Init (Thumb, 94 bytes, Stack size 40 bytes, netconf.o(i.LwIP_Init))
  [Stack]

  - Max Depth = 532
  - Call Chain = LwIP_Init ⇒ netif_add ⇒ netif_set_addr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> netif_set_up
  - >> netif_set_default
  - >> netif_add
  - >> memp_init
  - >> mem_init
  - >> htonl
  - >> Set_MAC_Address
  [Called By]
  - >> start_task

  LwIP_Pkt_Handle (Thumb, 10 bytes, Stack size 8 bytes, netconf.o(i.LwIP_Pkt_Handle))
  [Stack]

  - Max Depth = 172
  - Call Chain = LwIP_Pkt_Handle ⇒ ethernetif_input ⇒ low_level_input ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> ethernetif_input
  [Called By]
  - >> ETH_IRQHandler

  MemManage_Handler (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_it.o(i.MemManage_Handler))
  [Stack]

  - Max Depth = 24
  - Call Chain = MemManage_Handler ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - startup_stm32f10x_cl.o(RESET)

  NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(i.NMI_Handler))
  [Address Reference Count : 1]

  - startup_stm32f10x_cl.o(RESET)

  NVIC_Configuration (Thumb, 52 bytes, Stack size 8 bytes, stm32f107.o(i.NVIC_Configuration))
  [Stack]

  - Max Depth = 24
  - Call Chain = NVIC_Configuration ⇒ NVIC_Init
  [Calls]
  - >> NVIC_SetVectorTable
  - >> NVIC_PriorityGroupConfig
  - >> NVIC_Init
  [Called By]
  - >> System_Setup

  NVIC_Init (Thumb, 100 bytes, Stack size 16 bytes, misc.o(i.NVIC_Init))
  [Stack]

  - Max Depth = 16
  - Call Chain = NVIC_Init
  [Called By]
  - >> usart1_Configuration
  - >> NVIC_Configuration

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

  - >> NVIC_Configuration

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

  - >> NVIC_Configuration

  OSInit (Thumb, 44 bytes, Stack size 8 bytes, os_core.o(i.OSInit))
  [Stack]

  - Max Depth = 136 + Unknown Stack Size
  - Call Chain = OSInit ⇒ OS_InitTaskStat ⇒ OSTaskCreateExt ⇒ OS_TCBInit
  [Calls]
  - >> OS_QInit
  - >> OS_FlagInit
  - >> OSInitHookEnd
  - >> OSInitHookBegin
  - >> OS_InitTaskStat
  - >> OS_InitTaskIdle
  - >> OS_InitTCBList
  - >> OS_InitRdyList
  - >> OS_InitMisc
  - >> OS_InitEventList
  [Called By]
  - >> main

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

  - >> OSInit

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

  - >> OSInit

  OSIntEnter (Thumb, 28 bytes, Stack size 0 bytes, os_core.o(i.OSIntEnter))
  [Called By]

  - >> ETH_IRQHandler
  - >> SysTick_Handler

  OSIntExit (Thumb, 112 bytes, Stack size 8 bytes, os_core.o(i.OSIntExit))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = OSIntExit
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSIntCtxSw
  - >> OS_SchedNew
  [Called By]
  - >> ETH_IRQHandler
  - >> SysTick_Handler

  OSStart (Thumb, 48 bytes, Stack size 8 bytes, os_core.o(i.OSStart))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = OSStart
  [Calls]
  - >> OSStartHighRdy
  - >> OS_SchedNew
  [Called By]
  - >> main

  OSStatInit (Thumb, 62 bytes, Stack size 8 bytes, os_core.o(i.OSStatInit))
  [Stack]

  - Max Depth = 32 + Unknown Stack Size
  - Call Chain = OSStatInit ⇒ OSTimeDly ⇒ OS_Sched
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSTimeDly
  [Called By]
  - >> start_task

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

  - >> OS_TCBInit

  OSTaskCreate (Thumb, 148 bytes, Stack size 48 bytes, os_task.o(i.OSTaskCreate))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = OSTaskCreate ⇒ OS_TCBInit
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSTaskStkInit
  - >> OS_TCBInit
  - >> OS_Sched
  [Called By]
  - >> start_task
  - >> main

  OSTaskCreateExt (Thumb, 170 bytes, Stack size 56 bytes, os_task.o(i.OSTaskCreateExt))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = OSTaskCreateExt ⇒ OS_TCBInit
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSTaskStkInit
  - >> OS_TaskStkClr
  - >> OS_TCBInit
  - >> OS_Sched
  [Called By]
  - >> OS_InitTaskStat
  - >> OS_InitTaskIdle

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

  - >> OS_TCBInit

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

  - >> OS_TaskIdle

  OSTaskNameSet (Thumb, 98 bytes, Stack size 24 bytes, os_task.o(i.OSTaskNameSet))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = OSTaskNameSet
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  [Called By]
  - >> OS_InitTaskStat
  - >> OS_InitTaskIdle

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

  - >> OS_TaskStat

  OSTaskStkChk (Thumb, 132 bytes, Stack size 32 bytes, os_task.o(i.OSTaskStkChk))
  [Stack]

  - Max Depth = 32 + Unknown Stack Size
  - Call Chain = OSTaskStkChk
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  [Called By]
  - >> OS_TaskStatStkChk

  OSTaskStkInit (Thumb, 154 bytes, Stack size 16 bytes, os_cpu_c.o(i.OSTaskStkInit))
  [Stack]

  - Max Depth = 16
  - Call Chain = OSTaskStkInit
  [Called By]
  - >> OSTaskCreate
  - >> OSTaskCreateExt

  OSTaskSuspend (Thumb, 152 bytes, Stack size 24 bytes, os_task.o(i.OSTaskSuspend))
  [Stack]

  - Max Depth = 32 + Unknown Stack Size
  - Call Chain = OSTaskSuspend ⇒ OS_Sched
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OS_Sched
  [Called By]
  - >> start_task
  - >> OS_TaskStat

  OSTaskSwHook (Thumb, 2 bytes, Stack size 0 bytes, os_cpu_c.o(i.OSTaskSwHook))
  [Address Reference Count : 1]

  - os_cpu_a.o(.text)

  OSTimeDly (Thumb, 100 bytes, Stack size 16 bytes, os_time.o(i.OSTimeDly))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = OSTimeDly ⇒ OS_Sched
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OS_Sched
  [Called By]
  - >> delay_ms
  - >> OSStatInit
  - >> OS_TaskStat

  OSTimeTick (Thumb, 210 bytes, Stack size 16 bytes, os_core.o(i.OSTimeTick))
  [Stack]

  - Max Depth = 16 + Unknown Stack Size
  - Call Chain = OSTimeTick
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSTimeTickHook
  [Called By]
  - >> SysTick_Handler

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

  - >> OSTimeTick

  OS_FlagInit (Thumb, 74 bytes, Stack size 24 bytes, os_flag.o(i.OS_FlagInit))
  [Stack]

  - Max Depth = 24
  - Call Chain = OS_FlagInit
  [Calls]
  - >> OS_MemClr
  [Called By]
  - >> OSInit

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

  - >> OS_QInit
  - >> OS_FlagInit
  - >> OS_InitTCBList
  - >> OS_InitEventList

  OS_QInit (Thumb, 72 bytes, Stack size 24 bytes, os_q.o(i.OS_QInit))
  [Stack]

  - Max Depth = 24
  - Call Chain = OS_QInit
  [Calls]
  - >> OS_MemClr
  [Called By]
  - >> OSInit

  OS_Sched (Thumb, 88 bytes, Stack size 8 bytes, os_core.o(i.OS_Sched))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = OS_Sched
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSCtxSw
  - >> OS_SchedNew
  [Called By]
  - >> OSTaskSuspend
  - >> OSTaskCreate
  - >> OSTaskCreateExt
  - >> OSTimeDly

  OS_TCBInit (Thumb, 278 bytes, Stack size 40 bytes, os_core.o(i.OS_TCBInit))
  [Stack]

  - Max Depth = 40 + Unknown Stack Size
  - Call Chain = OS_TCBInit
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSTaskCreateHook
  - >> OSTCBInitHook
  [Called By]
  - >> OSTaskCreate
  - >> OSTaskCreateExt

  OS_TaskIdle (Thumb, 34 bytes, Stack size 0 bytes, os_core.o(i.OS_TaskIdle))
  [Calls]

  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSTaskIdleHook
  [Address Reference Count : 1]
  - os_core.o(i.OS_InitTaskIdle)

  OS_TaskStat (Thumb, 116 bytes, Stack size 0 bytes, os_core.o(i.OS_TaskStat))
  [Stack]

  - Max Depth = 56 + Unknown Stack Size
  - Call Chain = OS_TaskStat ⇒ OS_TaskStatStkChk ⇒ OSTaskStkChk
  [Calls]
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSTaskSuspend
  - >> OSTaskStatHook
  - >> OS_TaskStatStkChk
  - >> OSTimeDly
  [Address Reference Count : 1]
  - os_core.o(i.OS_InitTaskStat)

  OS_TaskStatStkChk (Thumb, 54 bytes, Stack size 24 bytes, os_core.o(i.OS_TaskStatStkChk))
  [Stack]

  - Max Depth = 56 + Unknown Stack Size
  - Call Chain = OS_TaskStatStkChk ⇒ OSTaskStkChk
  [Calls]
  - >> OSTaskStkChk
  [Called By]
  - >> OS_TaskStat

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

  - >> OSTaskCreateExt

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

  - >> System_Setup

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

  - >> ETH_DeInit

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

  - >> System_Setup

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

  - >> usart1_Configuration
  - >> System_Setup

  RCC_GetClocksFreq (Thumb, 374 bytes, Stack size 24 bytes, stm32f10x_rcc.o(i.RCC_GetClocksFreq))
  [Stack]

  - Max Depth = 24
  - Call Chain = RCC_GetClocksFreq
  [Called By]
  - >> System_Setup
  - >> USART_Init
  - >> ETH_Init

  RCC_GetFlagStatus (Thumb, 56 bytes, Stack size 8 bytes, stm32f10x_rcc.o(i.RCC_GetFlagStatus))
  [Stack]

  - Max Depth = 8
  - Call Chain = RCC_GetFlagStatus
  [Called By]
  - >> Ethernet_Configuration

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

  - >> Ethernet_Configuration

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

  - >> Ethernet_Configuration

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

  - >> Ethernet_Configuration

  SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(i.SVC_Handler))
  [Address Reference Count : 1]

  - startup_stm32f10x_cl.o(RESET)

  Set_MAC_Address (Thumb, 40 bytes, Stack size 8 bytes, ethernetif.o(i.Set_MAC_Address))
  [Stack]

  - Max Depth = 16
  - Call Chain = Set_MAC_Address ⇒ ETH_MACAddressConfig
  [Calls]
  - >> ETH_MACAddressConfig
  [Called By]
  - >> LwIP_Init

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

  - >> delay_init

  SysTick_Handler (Thumb, 16 bytes, Stack size 8 bytes, delay.o(i.SysTick_Handler))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = SysTick_Handler ⇒ OSTimeTick
  [Calls]
  - >> OSTimeTick
  - >> OSIntExit
  - >> OSIntEnter
  [Address Reference Count : 1]
  - startup_stm32f10x_cl.o(RESET)

  SystemInit (Thumb, 92 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SystemInit))
  [Stack]

  - Max Depth = 28
  - Call Chain = SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72
  [Calls]
  - >> SetSysClock
  [Address Reference Count : 1]
  - startup_stm32f10x_cl.o(.text)

  System_Setup (Thumb, 118 bytes, Stack size 32 bytes, stm32f107.o(i.System_Setup))
  [Stack]

  - Max Depth = 312
  - Call Chain = System_Setup ⇒ Ethernet_Configuration ⇒ ETH_Init ⇒ RCC_GetClocksFreq
  [Calls]
  - >> RCC_APB2PeriphClockCmd
  - >> RCC_APB1PeriphClockCmd
  - >> RCC_AHBPeriphClockCmd
  - >> NVIC_Configuration
  - >> GPIO_Configuration
  - >> Ethernet_Configuration
  - >> NVIC_SetPriority
  - >> RCC_GetClocksFreq
  [Called By]
  - >> start_task

  TCP_Client_Recv (Thumb, 56 bytes, Stack size 12 bytes, tcpclient.o(i.TCP_Client_Recv))
  [Stack]

  - Max Depth = 12
  - Call Chain = TCP_Client_Recv
  [Called By]
  - >> main_Client_task

  TCP_Client_Send (Thumb, 48 bytes, Stack size 24 bytes, tcpclient.o(i.TCP_Client_Send))
  [Stack]

  - Max Depth = 364
  - Call Chain = TCP_Client_Send ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_write
  - >> tcp_output
  [Called By]
  - >> main_Client_task

  TCP_Server_Recv (Thumb, 56 bytes, Stack size 12 bytes, tcpserver.o(i.TCP_Server_Recv))
  [Stack]

  - Max Depth = 12
  - Call Chain = TCP_Server_Recv
  [Called By]
  - >> main_Server_task

  TCP_Server_Send (Thumb, 48 bytes, Stack size 24 bytes, tcpserver.o(i.TCP_Server_Send))
  [Stack]

  - Max Depth = 364
  - Call Chain = TCP_Server_Send ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_write
  - >> tcp_output
  [Called By]
  - >> main_Server_task

  USART1_IRQHandler (Thumb, 94 bytes, Stack size 8 bytes, usart1.o(i.USART1_IRQHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = USART1_IRQHandler ⇒ USART_GetITStatus
  [Calls]
  - >> USART_GetITStatus
  - >> USART_ClearITPendingBit
  - >> USART_ClearFlag
  - >> USART_ReceiveData
  - >> USART_GetFlagStatus
  [Address Reference Count : 1]
  - startup_stm32f10x_cl.o(RESET)

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

  - >> usart1_Configuration
  - >> USART1_IRQHandler

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

  - Max Depth = 8
  - Call Chain = USART_ClearITPendingBit
  [Called By]
  - >> USART1_IRQHandler

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

  - >> usart1_Configuration

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

  - >> USART1_IRQHandler
  - >> fputc

  USART_GetITStatus (Thumb, 84 bytes, Stack size 16 bytes, stm32f10x_usart.o(i.USART_GetITStatus))
  [Stack]

  - Max Depth = 16
  - Call Chain = USART_GetITStatus
  [Called By]
  - >> USART1_IRQHandler

  USART_ITConfig (Thumb, 74 bytes, Stack size 20 bytes, stm32f10x_usart.o(i.USART_ITConfig))
  [Stack]

  - Max Depth = 20
  - Call Chain = USART_ITConfig
  [Called By]
  - >> usart1_Configuration

  USART_Init (Thumb, 210 bytes, Stack size 56 bytes, stm32f10x_usart.o(i.USART_Init))
  [Stack]

  - Max Depth = 80
  - Call Chain = USART_Init ⇒ RCC_GetClocksFreq
  [Calls]
  - >> RCC_GetClocksFreq
  [Called By]
  - >> usart1_Configuration

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

  - >> USART1_IRQHandler

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

  - >> fputc

  UsageFault_Handler (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_it.o(i.UsageFault_Handler))
  [Stack]

  - Max Depth = 24
  - Call Chain = UsageFault_Handler ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - startup_stm32f10x_cl.o(RESET)

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

  - >> _printf_core

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

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

  - Max Depth = 24
  - Call Chain = __2printf
  [Called By]
  - >> tcp_echoclient_connect
  - >> main_Server_task
  - >> main_Client_task
  - >> start_task
  - >> UsageFault_Handler
  - >> MemManage_Handler
  - >> HardFault_Handler
  - >> BusFault_Handler
  - >> tcp_echoserver_recv
  - >> tcp_echoserver_poll
  - >> tcp_echoserver_accept
  - >> tcp_close
  - >> tcp_echoclient_poll
  - >> tcp_client_sent
  - >> tcp_client_error

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

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

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

  delay_init (Thumb, 76 bytes, Stack size 8 bytes, delay.o(i.delay_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = delay_init
  [Calls]
  - >> SysTick_CLKSourceConfig
  [Called By]
  - >> main

  delay_ms (Thumb, 62 bytes, Stack size 16 bytes, delay.o(i.delay_ms))
  [Stack]

  - Max Depth = 40 + Unknown Stack Size
  - Call Chain = delay_ms ⇒ OSTimeDly ⇒ OS_Sched
  [Calls]
  - >> OSTimeDly
  - >> delay_us
  [Called By]
  - >> main_Server_task
  - >> main_Client_task
  - >> start_task

  delay_us (Thumb, 70 bytes, Stack size 16 bytes, delay.o(i.delay_us))
  [Stack]

  - Max Depth = 16
  - Call Chain = delay_us
  [Called By]
  - >> delay_ms

  etharp_arp_input (Thumb, 306 bytes, Stack size 40 bytes, etharp.o(i.etharp_arp_input))
  [Stack]

  - Max Depth = 196
  - Call Chain = etharp_arp_input ⇒ update_arp_entry ⇒ find_entry ⇒ free_etharp_q ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_free
  - >> update_arp_entry
  - >> htons
  [Called By]
  - >> ethernet_input

  etharp_ip_input (Thumb, 58 bytes, Stack size 16 bytes, etharp.o(i.etharp_ip_input))
  [Stack]

  - Max Depth = 172
  - Call Chain = etharp_ip_input ⇒ update_arp_entry ⇒ find_entry ⇒ free_etharp_q ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> update_arp_entry
  [Called By]
  - >> ethernet_input

  etharp_output (Thumb, 190 bytes, Stack size 32 bytes, etharp.o(i.etharp_output))
  [Stack]

  - Max Depth = 236
  - Call Chain = etharp_output ⇒ etharp_query ⇒ etharp_request ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> etharp_query
  - >> etharp_send_ip
  - >> ntohl
  - >> ip_addr_isbroadcast
  - >> pbuf_header
  [Address Reference Count : 1]
  - ethernetif.o(i.ethernetif_init)

  etharp_query (Thumb, 436 bytes, Stack size 40 bytes, etharp.o(i.etharp_query))
  [Stack]

  - Max Depth = 204
  - Call Chain = etharp_query ⇒ etharp_request ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> etharp_request
  - >> memp_malloc
  - >> pbuf_alloc
  - >> pbuf_ref
  - >> pbuf_free
  - >> find_entry
  - >> etharp_send_ip
  - >> ntohl
  - >> ip_addr_isbroadcast
  - >> pbuf_copy
  [Called By]
  - >> etharp_output

  etharp_request (Thumb, 36 bytes, Stack size 32 bytes, etharp.o(i.etharp_request))
  [Stack]

  - Max Depth = 164
  - Call Chain = etharp_request ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> etharp_raw
  [Called By]
  - >> netif_set_up
  - >> etharp_query

  ethernet_input (Thumb, 106 bytes, Stack size 16 bytes, etharp.o(i.ethernet_input))
  [Stack]

  - Max Depth = 572
  - Call Chain = ethernet_input ⇒ ip_input ⇒ tcp_input ⇒ tcp_listen_input ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_free
  - >> etharp_ip_input
  - >> etharp_arp_input
  - >> ip_input
  - >> htons
  - >> pbuf_header
  [Address Reference Count : 1]
  - netconf.o(i.LwIP_Init)

  ethernetif_init (Thumb, 68 bytes, Stack size 16 bytes, ethernetif.o(i.ethernetif_init))
  [Stack]

  - Max Depth = 44
  - Call Chain = ethernetif_init ⇒ low_level_init ⇒ ETH_DMATxDescChainInit
  [Calls]
  - >> low_level_init
  - >> mem_malloc
  [Address Reference Count : 1]
  - netconf.o(i.LwIP_Init)

  ethernetif_input (Thumb, 44 bytes, Stack size 16 bytes, ethernetif.o(i.ethernetif_input))
  [Stack]

  - Max Depth = 164
  - Call Chain = ethernetif_input ⇒ low_level_input ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> low_level_input
  - >> pbuf_free
  [Called By]
  - >> LwIP_Pkt_Handle

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

  - Max Depth = 16
  - Call Chain = fputc
  [Calls]
  - >> USART_SendData
  - >> USART_GetFlagStatus
  [Address Reference Count : 1]
  - printf3.o(i.__0printf$3)

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

  - >> tcp_echoclient_connect
  - >> LwIP_Init
  - >> tcp_output
  - >> tcp_output_set_header
  - >> tcp_output_segment
  - >> ntohl
  - >> tcp_rst
  - >> tcp_enqueue

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

  - >> ethernet_input
  - >> tcp_output
  - >> etharp_arp_input
  - >> etharp_send_ip
  - >> etharp_raw
  - >> ip_reass
  - >> ip_frag
  - >> ip_input
  - >> lwip_standard_chksum
  - >> ip_output_if
  - >> icmp_input
  - >> tcp_output_set_header
  - >> tcp_output_segment
  - >> ntohs
  - >> tcp_receive
  - >> tcp_rst
  - >> tcp_enqueue

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

  - Max Depth = 308
  - Call Chain = icmp_dest_unreach ⇒ icmp_send_response ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> icmp_send_response
  [Called By]
  - >> ip_input

  icmp_input (Thumb, 404 bytes, Stack size 56 bytes, icmp.o(i.icmp_input))
  [Stack]

  - Max Depth = 260
  - Call Chain = icmp_input ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_alloc
  - >> pbuf_free
  - >> ip_output_if
  - >> inet_chksum_pbuf
  - >> ntohs
  - >> ntohl
  - >> ip_addr_isbroadcast
  - >> htons
  - >> pbuf_header
  - >> pbuf_copy
  [Called By]
  - >> ip_input

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

  - Max Depth = 308
  - Call Chain = icmp_time_exceeded ⇒ icmp_send_response ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> icmp_send_response
  [Called By]
  - >> ip_reass_free_complete_datagram

  inet_chksum (Thumb, 20 bytes, Stack size 16 bytes, inet_chksum.o(i.inet_chksum))
  [Stack]

  - Max Depth = 40
  - Call Chain = inet_chksum ⇒ lwip_standard_chksum
  [Calls]
  - >> lwip_standard_chksum
  [Called By]
  - >> ip_reass
  - >> ip_frag
  - >> icmp_send_response

  inet_chksum_pbuf (Thumb, 86 bytes, Stack size 24 bytes, inet_chksum.o(i.inet_chksum_pbuf))
  [Stack]

  - Max Depth = 48
  - Call Chain = inet_chksum_pbuf ⇒ lwip_standard_chksum
  [Calls]
  - >> lwip_standard_chksum
  [Called By]
  - >> icmp_input

  ip_addr_isbroadcast (Thumb, 78 bytes, Stack size 12 bytes, ip_addr.o(i.ip_addr_isbroadcast))
  [Stack]

  - Max Depth = 12
  - Call Chain = ip_addr_isbroadcast
  [Called By]
  - >> etharp_output
  - >> etharp_query
  - >> update_arp_entry
  - >> ip_input
  - >> icmp_input
  - >> tcp_input

  ip_frag (Thumb, 326 bytes, Stack size 72 bytes, ip_frag.o(i.ip_frag))
  [Stack]

  - Max Depth = 164
  - Call Chain = ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_alloc
  - >> pbuf_chain
  - >> pbuf_free
  - >> inet_chksum
  - >> ntohs
  - >> htons
  - >> pbuf_realloc
  - >> pbuf_copy_partial
  - >> __aeabi_memcpy
  [Called By]
  - >> ip_output_if

  ip_input (Thumb, 374 bytes, Stack size 32 bytes, ip.o(i.ip_input))
  [Stack]

  - Max Depth = 556
  - Call Chain = ip_input ⇒ tcp_input ⇒ tcp_listen_input ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> netif_is_up
  - >> pbuf_free
  - >> ip_reass
  - >> icmp_input
  - >> icmp_dest_unreach
  - >> ntohs
  - >> ntohl
  - >> ip_addr_isbroadcast
  - >> htons
  - >> tcp_input
  - >> pbuf_realloc
  [Called By]
  - >> ethernet_input

  ip_output (Thumb, 52 bytes, Stack size 48 bytes, ip.o(i.ip_output))
  [Stack]

  - Max Depth = 252
  - Call Chain = ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> ip_output_if
  - >> ip_route
  [Called By]
  - >> tcp_output
  - >> icmp_send_response
  - >> tcp_output_segment
  - >> tcp_rst

  ip_output_if (Thumb, 256 bytes, Stack size 40 bytes, ip.o(i.ip_output_if))
  [Stack]

  - Max Depth = 204
  - Call Chain = ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> ip_frag
  - >> ntohs
  - >> htons
  - >> pbuf_header
  [Called By]
  - >> icmp_input
  - >> ip_output

  ip_reass (Thumb, 400 bytes, Stack size 48 bytes, ip_frag.o(i.ip_reass))
  [Stack]

  - Max Depth = 444
  - Call Chain = ip_reass ⇒ ip_reass_enqueue_new_datagram ⇒ ip_reass_remove_oldest_datagram ⇒ ip_reass_free_complete_datagram ⇒ icmp_time_exceeded ⇒ icmp_send_response ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_free
  - >> ip_reass_remove_oldest_datagram
  - >> ip_reass_enqueue_new_datagram
  - >> ip_reass_dequeue_datagram
  - >> ip_reass_chain_frag_into_datagram_and_validate
  - >> inet_chksum
  - >> ntohs
  - >> htons
  - >> pbuf_header
  - >> pbuf_clen
  - >> pbuf_cat
  - >> __aeabi_memcpy
  [Called By]
  - >> ip_input

  ip_route (Thumb, 70 bytes, Stack size 16 bytes, ip.o(i.ip_route))
  [Stack]

  - Max Depth = 16
  - Call Chain = ip_route
  [Calls]
  - >> netif_is_up
  [Called By]
  - >> ip_output
  - >> tcp_output_segment
  - >> tcp_eff_send_mss

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

  - Max Depth = 144 + Unknown Stack Size
  - Call Chain = main ⇒ OSInit ⇒ OS_InitTaskStat ⇒ OSTaskCreateExt ⇒ OS_TCBInit
  [Calls]
  - >> usart1_Configuration
  - >> delay_init
  - >> OSTaskCreate
  - >> OSStart
  - >> OSInit
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

  main_Client_task (Thumb, 156 bytes, Stack size 200 bytes, main_cilent.o(i.main_Client_task))
  [Stack]

  - Max Depth = 668 + Unknown Stack Size
  - Call Chain = main_Client_task ⇒ tcp_echoclient_connect ⇒ tcp_new ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_echoclient_connect
  - >> tcp_client_close
  - >> TCP_Client_Send
  - >> TCP_Client_Recv
  - >> delay_ms
  - >> __2printf
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - main.o(i.start_task)

  main_Server_task (Thumb, 62 bytes, Stack size 304 bytes, main_server.o(i.main_Server_task))
  [Stack]

  - Max Depth = 772 + Unknown Stack Size
  - Call Chain = main_Server_task ⇒ tcp_echoserver_init ⇒ tcp_new ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_echoserver_init
  - >> TCP_Server_Send
  - >> TCP_Server_Recv
  - >> delay_ms
  - >> __2printf
  - >> __aeabi_memclr4
  [Address Reference Count : 1]
  - main.o(i.start_task)

  mem_free (Thumb, 106 bytes, Stack size 16 bytes, mem.o(i.mem_free))
  [Stack]

  - Max Depth = 28
  - Call Chain = mem_free ⇒ plug_holes
  [Calls]
  - >> plug_holes
  [Called By]
  - >> tcp_echoserver_error
  - >> tcp_echoserver_connection_close
  - >> pbuf_free
  - >> tcp_echoclient_connection_close

  mem_init (Thumb, 78 bytes, Stack size 0 bytes, mem.o(i.mem_init))
  [Called By]

  - >> LwIP_Init

  mem_malloc (Thumb, 290 bytes, Stack size 16 bytes, mem.o(i.mem_malloc))
  [Stack]

  - Max Depth = 16
  - Call Chain = mem_malloc
  [Called By]
  - >> ethernetif_init
  - >> pbuf_alloc
  - >> tcp_echoserver_accept
  - >> tcp_echoclient_connected

  mem_realloc (Thumb, 316 bytes, Stack size 24 bytes, mem.o(i.mem_realloc))
  [Stack]

  - Max Depth = 24
  - Call Chain = mem_realloc
  [Called By]
  - >> pbuf_realloc

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

  - >> tcp_listen_with_backlog
  - >> tcp_close
  - >> tcp_abandon
  - >> pbuf_free
  - >> update_arp_entry
  - >> free_etharp_q
  - >> ip_reass_dequeue_datagram
  - >> tcp_input
  - >> tcp_enqueue
  - >> tcp_seg_free

  memp_init (Thumb, 82 bytes, Stack size 8 bytes, memp.o(i.memp_init))
  [Stack]

  - Max Depth = 8
  - Call Chain = memp_init
  [Called By]
  - >> LwIP_Init

  memp_malloc (Thumb, 54 bytes, Stack size 0 bytes, memp.o(i.memp_malloc))
  [Called By]

  - >> pbuf_alloc
  - >> tcp_listen_with_backlog
  - >> etharp_query
  - >> ip_reass_enqueue_new_datagram
  - >> tcp_enqueue
  - >> tcp_alloc

  netif_add (Thumb, 96 bytes, Stack size 32 bytes, netif.o(i.netif_add))
  [Stack]

  - Max Depth = 492
  - Call Chain = netif_add ⇒ netif_set_addr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> netif_set_addr
  [Called By]
  - >> LwIP_Init

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

  - >> ip_input
  - >> ip_route

  netif_set_addr (Thumb, 40 bytes, Stack size 24 bytes, netif.o(i.netif_set_addr))
  [Stack]

  - Max Depth = 460
  - Call Chain = netif_set_addr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> netif_set_netmask
  - >> netif_set_ipaddr
  - >> netif_set_gw
  [Called By]
  - >> netif_add

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

  - >> LwIP_Init

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

  - >> netif_set_addr

  netif_set_ipaddr (Thumb, 110 bytes, Stack size 24 bytes, netif.o(i.netif_set_ipaddr))
  [Stack]

  - Max Depth = 436
  - Call Chain = netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_abandon
  [Called By]
  - >> netif_set_addr

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

  - >> netif_set_addr

  netif_set_up (Thumb, 44 bytes, Stack size 8 bytes, netif.o(i.netif_set_up))
  [Stack]

  - Max Depth = 172
  - Call Chain = netif_set_up ⇒ etharp_request ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> etharp_request
  [Called By]
  - >> LwIP_Init

  ntohl (Thumb, 12 bytes, Stack size 4 bytes, inet.o(i.ntohl))
  [Stack]

  - Max Depth = 4
  - Call Chain = ntohl
  [Calls]
  - >> htonl
  [Called By]
  - >> etharp_output
  - >> tcp_output
  - >> etharp_query
  - >> update_arp_entry
  - >> ip_input
  - >> icmp_input
  - >> tcp_output_segment
  - >> tcp_rexmit
  - >> tcp_input
  - >> tcp_receive
  - >> tcp_process

  ntohs (Thumb, 12 bytes, Stack size 4 bytes, inet.o(i.ntohs))
  [Stack]

  - Max Depth = 4
  - Call Chain = ntohs
  [Calls]
  - >> htons
  [Called By]
  - >> tcp_output
  - >> ip_reass_chain_frag_into_datagram_and_validate
  - >> ip_reass
  - >> ip_frag
  - >> ip_input
  - >> ip_output_if
  - >> icmp_input
  - >> tcp_output_set_header
  - >> tcp_input
  - >> tcp_receive
  - >> tcp_parseopt
  - >> tcp_rst
  - >> tcp_enqueue

  pbuf_alloc (Thumb, 532 bytes, Stack size 40 bytes, pbuf.o(i.pbuf_alloc))
  [Stack]

  - Max Depth = 92
  - Call Chain = pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_malloc
  - >> pbuf_free
  - >> mem_malloc
  [Called By]
  - >> low_level_input
  - >> tcp_output
  - >> etharp_query
  - >> etharp_raw
  - >> ip_frag
  - >> icmp_input
  - >> icmp_send_response
  - >> tcp_rst
  - >> tcp_enqueue

  pbuf_cat (Thumb, 80 bytes, Stack size 8 bytes, pbuf.o(i.pbuf_cat))
  [Stack]

  - Max Depth = 8
  - Call Chain = pbuf_cat
  [Called By]
  - >> pbuf_chain
  - >> ip_reass
  - >> tcp_enqueue

  pbuf_chain (Thumb, 22 bytes, Stack size 12 bytes, pbuf.o(i.pbuf_chain))
  [Stack]

  - Max Depth = 20
  - Call Chain = pbuf_chain ⇒ pbuf_cat
  [Calls]
  - >> pbuf_ref
  - >> pbuf_cat
  [Called By]
  - >> tcp_echoserver_recv
  - >> ip_frag

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

  - >> ip_reass_free_complete_datagram
  - >> ip_reass_chain_frag_into_datagram_and_validate
  - >> ip_reass
  - >> tcp_receive
  - >> tcp_enqueue

  pbuf_copy (Thumb, 220 bytes, Stack size 24 bytes, pbuf.o(i.pbuf_copy))
  [Stack]

  - Max Depth = 24
  - Call Chain = pbuf_copy
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> etharp_query
  - >> icmp_input

  pbuf_copy_partial (Thumb, 154 bytes, Stack size 40 bytes, pbuf.o(i.pbuf_copy_partial))
  [Stack]

  - Max Depth = 40
  - Call Chain = pbuf_copy_partial
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> ip_frag

  pbuf_free (Thumb, 152 bytes, Stack size 24 bytes, pbuf.o(i.pbuf_free))
  [Stack]

  - Max Depth = 52
  - Call Chain = pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_free
  - >> mem_free
  [Called By]
  - >> ethernetif_input
  - >> ethernet_input
  - >> pbuf_alloc
  - >> tcp_echoserver_send
  - >> tcp_echoserver_recv
  - >> tcp_output
  - >> tcp_echoclient_recv
  - >> etharp_query
  - >> etharp_arp_input
  - >> update_arp_entry
  - >> free_etharp_q
  - >> etharp_raw
  - >> ip_reass_free_complete_datagram
  - >> ip_reass_chain_frag_into_datagram_and_validate
  - >> ip_reass
  - >> ip_frag
  - >> ip_input
  - >> icmp_input
  - >> icmp_send_response
  - >> tcp_input
  - >> tcp_rst
  - >> tcp_enqueue
  - >> tcp_seg_free
  - >> tcp_pcb_purge
  - >> tcp_recv_null
  - >> pbuf_realloc

  pbuf_header (Thumb, 140 bytes, Stack size 16 bytes, pbuf.o(i.pbuf_header))
  [Stack]

  - Max Depth = 16
  - Call Chain = pbuf_header
  [Called By]
  - >> ethernet_input
  - >> etharp_output
  - >> ip_reass
  - >> ip_output_if
  - >> icmp_input
  - >> tcp_input
  - >> tcp_receive
  - >> tcp_enqueue

  pbuf_realloc (Thumb, 176 bytes, Stack size 24 bytes, pbuf.o(i.pbuf_realloc))
  [Stack]

  - Max Depth = 76
  - Call Chain = pbuf_realloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> mem_realloc
  - >> pbuf_free
  [Called By]
  - >> ip_frag
  - >> ip_input
  - >> tcp_receive

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

  - >> pbuf_chain
  - >> tcp_echoserver_send
  - >> etharp_query

  start_task (Thumb, 84 bytes, Stack size 16 bytes, main.o(i.start_task))
  [Stack]

  - Max Depth = 548 + Unknown Stack Size
  - Call Chain = start_task ⇒ LwIP_Init ⇒ netif_add ⇒ netif_set_addr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> delay_ms
  - >> System_Setup
  - >> OS_CPU_SR_Save
  - >> OS_CPU_SR_Restore
  - >> OSTaskSuspend
  - >> OSTaskCreate
  - >> OSStatInit
  - >> LwIP_Init
  - >> __2printf
  [Address Reference Count : 1]
  - main.o(i.main)

  tcp_abandon (Thumb, 148 bytes, Stack size 56 bytes, tcp.o(i.tcp_abandon))
  [Stack]

  - Max Depth = 412
  - Call Chain = tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_free
  - >> tcp_rst
  - >> tcp_segs_free
  - >> tcp_pcb_remove
  [Called By]
  - >> netif_set_ipaddr
  - >> tcp_echoserver_poll
  - >> tcp_echoclient_poll
  - >> tcp_process
  - >> tcp_listen_input
  - >> tcp_kill_timewait
  - >> tcp_kill_prio

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

  - >> tcp_echoserver_init

  tcp_alloc (Thumb, 166 bytes, Stack size 16 bytes, tcp.o(i.tcp_alloc))
  [Stack]

  - Max Depth = 452
  - Call Chain = tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_malloc
  - >> tcp_next_iss
  - >> tcp_kill_timewait
  - >> tcp_kill_prio
  - >> __aeabi_memclr4
  [Called By]
  - >> tcp_new
  - >> tcp_listen_input

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

  - >> tcp_echoserver_connection_close
  - >> tcp_echoserver_accept
  - >> tcp_echoclient_connection_close
  - >> tcp_echoclient_connected

  tcp_bind (Thumb, 232 bytes, Stack size 24 bytes, tcp.o(i.tcp_bind))
  [Stack]

  - Max Depth = 24
  - Call Chain = tcp_bind
  [Calls]
  - >> tcp_new_port
  [Called By]
  - >> tcp_echoserver_init

  tcp_client_close (Thumb, 44 bytes, Stack size 8 bytes, tcpclient.o(i.tcp_client_close))
  [Stack]

  - Max Depth = 396
  - Call Chain = tcp_client_close ⇒ tcp_echoclient_connection_close ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_echoclient_connection_close
  [Called By]
  - >> main_Client_task

  tcp_close (Thumb, 390 bytes, Stack size 16 bytes, tcp.o(i.tcp_close))
  [Stack]

  - Max Depth = 372
  - Call Chain = tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_free
  - >> tcp_output
  - >> tcp_send_ctrl
  - >> tcp_pcb_remove
  - >> __2printf
  [Called By]
  - >> tcp_echoserver_connection_close
  - >> tcp_echoclient_connection_close
  - >> tcp_recv_null

  tcp_connect (Thumb, 278 bytes, Stack size 40 bytes, tcp.o(i.tcp_connect))
  [Stack]

  - Max Depth = 380
  - Call Chain = tcp_connect ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_output
  - >> tcp_enqueue
  - >> tcp_next_iss
  - >> tcp_eff_send_mss
  - >> tcp_new_port
  [Called By]
  - >> tcp_echoclient_connect

  tcp_echoclient_connect (Thumb, 74 bytes, Stack size 8 bytes, tcpclient.o(i.tcp_echoclient_connect))
  [Stack]

  - Max Depth = 468
  - Call Chain = tcp_echoclient_connect ⇒ tcp_new ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> htonl
  - >> tcp_new
  - >> tcp_connect
  - >> __2printf
  [Called By]
  - >> main_Client_task

  tcp_echoserver_init (Thumb, 62 bytes, Stack size 8 bytes, tcpserver.o(i.tcp_echoserver_init))
  [Stack]

  - Max Depth = 468
  - Call Chain = tcp_echoserver_init ⇒ tcp_new ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_listen_with_backlog
  - >> tcp_bind
  - >> tcp_accept
  - >> tcp_new
  [Called By]
  - >> main_Server_task

  tcp_eff_send_mss (Thumb, 46 bytes, Stack size 24 bytes, tcp.o(i.tcp_eff_send_mss))
  [Stack]

  - Max Depth = 40
  - Call Chain = tcp_eff_send_mss ⇒ ip_route
  [Calls]
  - >> ip_route
  [Called By]
  - >> tcp_connect
  - >> tcp_process
  - >> tcp_listen_input

  tcp_enqueue (Thumb, 1068 bytes, Stack size 80 bytes, tcp_out.o(i.tcp_enqueue))
  [Stack]

  - Max Depth = 172
  - Call Chain = tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> htonl
  - >> memp_malloc
  - >> memp_free
  - >> pbuf_alloc
  - >> pbuf_free
  - >> ntohs
  - >> htons
  - >> tcp_segs_free
  - >> pbuf_header
  - >> pbuf_clen
  - >> pbuf_cat
  - >> __aeabi_memcpy
  [Called By]
  - >> tcp_write
  - >> tcp_connect
  - >> tcp_listen_input
  - >> tcp_send_ctrl

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

  - >> tcp_echoserver_connection_close
  - >> tcp_echoserver_accept
  - >> tcp_echoclient_connection_close
  - >> tcp_echoclient_connected

  tcp_input (Thumb, 1166 bytes, Stack size 48 bytes, tcp_in.o(i.tcp_input))
  [Stack]

  - Max Depth = 524
  - Call Chain = tcp_input ⇒ tcp_listen_input ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_free
  - >> tcp_output
  - >> pbuf_free
  - >> ntohs
  - >> ntohl
  - >> ip_addr_isbroadcast
  - >> tcp_timewait_input
  - >> tcp_process
  - >> tcp_listen_input
  - >> tcp_rst
  - >> tcp_pcb_remove
  - >> pbuf_header
  [Called By]
  - >> ip_input

  tcp_listen_with_backlog (Thumb, 220 bytes, Stack size 16 bytes, tcp.o(i.tcp_listen_with_backlog))
  [Stack]

  - Max Depth = 16
  - Call Chain = tcp_listen_with_backlog
  [Calls]
  - >> memp_malloc
  - >> memp_free
  [Called By]
  - >> tcp_echoserver_init

  tcp_new (Thumb, 10 bytes, Stack size 8 bytes, tcp.o(i.tcp_new))
  [Stack]

  - Max Depth = 460
  - Call Chain = tcp_new ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_alloc
  [Called By]
  - >> tcp_echoclient_connect
  - >> tcp_echoserver_init

  tcp_next_iss (Thumb, 20 bytes, Stack size 0 bytes, tcp.o(i.tcp_next_iss))
  [Called By]

  - >> tcp_connect
  - >> tcp_alloc

  tcp_output (Thumb, 610 bytes, Stack size 56 bytes, tcp_out.o(i.tcp_output))
  [Stack]

  - Max Depth = 340
  - Call Chain = tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> htonl
  - >> pbuf_alloc
  - >> pbuf_free
  - >> ip_output
  - >> tcp_output_set_header
  - >> tcp_output_segment
  - >> ntohs
  - >> ntohl
  - >> htons
  - >> tcp_seg_free
  [Called By]
  - >> TCP_Client_Send
  - >> TCP_Server_Send
  - >> tcp_recved
  - >> tcp_connect
  - >> tcp_close
  - >> tcp_rexmit
  - >> tcp_input
  - >> tcp_timewait_input
  - >> tcp_receive
  - >> tcp_process
  - >> tcp_listen_input
  - >> tcp_pcb_remove

  tcp_pcb_purge (Thumb, 142 bytes, Stack size 8 bytes, tcp.o(i.tcp_pcb_purge))
  [Stack]

  - Max Depth = 92
  - Call Chain = tcp_pcb_purge ⇒ tcp_segs_free ⇒ tcp_seg_free ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_free
  - >> tcp_segs_free
  [Called By]
  - >> tcp_process
  - >> tcp_pcb_remove

  tcp_pcb_remove (Thumb, 170 bytes, Stack size 16 bytes, tcp.o(i.tcp_pcb_remove))
  [Stack]

  - Max Depth = 356
  - Call Chain = tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_output
  - >> tcp_pcb_purge
  [Called By]
  - >> tcp_close
  - >> tcp_abandon
  - >> tcp_input

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

  - >> tcp_echoserver_connection_close
  - >> tcp_echoserver_accept
  - >> tcp_echoclient_connection_close
  - >> tcp_echoclient_connected

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

  - >> tcp_echoserver_connection_close
  - >> tcp_echoserver_accept
  - >> tcp_echoclient_connection_close
  - >> tcp_echoclient_connected

  tcp_recved (Thumb, 84 bytes, Stack size 16 bytes, tcp.o(i.tcp_recved))
  [Stack]

  - Max Depth = 356
  - Call Chain = tcp_recved ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_output
  - >> tcp_update_rcv_ann_wnd
  [Called By]
  - >> tcp_echoserver_send
  - >> tcp_echoserver_recv
  - >> tcp_echoclient_recv

  tcp_rexmit (Thumb, 86 bytes, Stack size 24 bytes, tcp_out.o(i.tcp_rexmit))
  [Stack]

  - Max Depth = 364
  - Call Chain = tcp_rexmit ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_output
  - >> ntohl
  [Called By]
  - >> tcp_receive
  - >> tcp_process

  tcp_rst (Thumb, 174 bytes, Stack size 48 bytes, tcp_out.o(i.tcp_rst))
  [Stack]

  - Max Depth = 300
  - Call Chain = tcp_rst ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> htonl
  - >> pbuf_alloc
  - >> pbuf_free
  - >> ip_output
  - >> ntohs
  - >> htons
  [Called By]
  - >> tcp_abandon
  - >> tcp_input
  - >> tcp_process
  - >> tcp_listen_input

  tcp_seg_free (Thumb, 32 bytes, Stack size 16 bytes, tcp.o(i.tcp_seg_free))
  [Stack]

  - Max Depth = 68
  - Call Chain = tcp_seg_free ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_free
  - >> pbuf_free
  [Called By]
  - >> tcp_output
  - >> tcp_receive
  - >> tcp_process
  - >> tcp_segs_free

  tcp_segs_free (Thumb, 30 bytes, Stack size 16 bytes, tcp.o(i.tcp_segs_free))
  [Stack]

  - Max Depth = 84
  - Call Chain = tcp_segs_free ⇒ tcp_seg_free ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_seg_free
  [Called By]
  - >> tcp_abandon
  - >> tcp_enqueue
  - >> tcp_pcb_purge

  tcp_send_ctrl (Thumb, 28 bytes, Stack size 24 bytes, tcp_out.o(i.tcp_send_ctrl))
  [Stack]

  - Max Depth = 196
  - Call Chain = tcp_send_ctrl ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_enqueue
  [Called By]
  - >> tcp_close

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

  - >> tcp_echoserver_recv
  - >> tcp_echoserver_connection_close
  - >> tcp_echoclient_connection_close
  - >> tcp_echoclient_connected

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

  - >> tcp_echoserver_accept

  tcp_update_rcv_ann_wnd (Thumb, 56 bytes, Stack size 0 bytes, tcp.o(i.tcp_update_rcv_ann_wnd))
  [Called By]

  - >> tcp_recved
  - >> tcp_receive

  tcp_write (Thumb, 72 bytes, Stack size 32 bytes, tcp_out.o(i.tcp_write))
  [Stack]

  - Max Depth = 204
  - Call Chain = tcp_write ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_enqueue
  [Called By]
  - >> TCP_Client_Send
  - >> TCP_Server_Send

  usart1_Configuration (Thumb, 182 bytes, Stack size 48 bytes, usart1.o(i.usart1_Configuration))
  [Stack]

  - Max Depth = 128
  - Call Chain = usart1_Configuration ⇒ USART_Init ⇒ RCC_GetClocksFreq
  [Calls]
  - >> USART_Init
  - >> USART_ITConfig
  - >> USART_Cmd
  - >> USART_ClearFlag
  - >> GPIO_PinRemapConfig
  - >> RCC_APB2PeriphClockCmd
  - >> NVIC_Init
  - >> GPIO_Init
  [Called By]
  - >> main

  ### Local Symbols

  ETH_Delay (Thumb, 28 bytes, Stack size 12 bytes, stm32_eth.o(i.ETH_Delay))
  [Stack]

  - Max Depth = 12
  - Call Chain = ETH_Delay
  [Called By]
  - >> ETH_Init

  NVIC_SetPriority (Thumb, 32 bytes, Stack size 8 bytes, stm32f107.o(i.NVIC_SetPriority))
  [Stack]

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

  tcp_client_error (Thumb, 48 bytes, Stack size 16 bytes, tcpclient.o(i.tcp_client_error))
  [Stack]

  - Max Depth = 404
  - Call Chain = tcp_client_error ⇒ tcp_echoclient_connection_close ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_echoclient_connection_close
  - >> __2printf
  [Address Reference Count : 1]
  - tcpclient.o(i.tcp_echoclient_connected)

  tcp_client_sent (Thumb, 22 bytes, Stack size 16 bytes, tcpclient.o(i.tcp_client_sent))
  [Stack]

  - Max Depth = 40
  - Call Chain = tcp_client_sent ⇒ __2printf
  [Calls]
  - >> __2printf
  [Address Reference Count : 1]
  - tcpclient.o(i.tcp_echoclient_connected)

  tcp_echoclient_connected (Thumb, 124 bytes, Stack size 24 bytes, tcpclient.o(i.tcp_echoclient_connected))
  [Stack]

  - Max Depth = 412
  - Call Chain = tcp_echoclient_connected ⇒ tcp_echoclient_connection_close ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_sent
  - >> tcp_recv
  - >> tcp_poll
  - >> tcp_err
  - >> tcp_arg
  - >> mem_malloc
  - >> tcp_echoclient_connection_close
  [Address Reference Count : 1]
  - tcpclient.o(i.tcp_echoclient_connect)

  tcp_echoclient_connection_close (Thumb, 64 bytes, Stack size 16 bytes, tcpclient.o(i.tcp_echoclient_connection_close))
  [Stack]

  - Max Depth = 388
  - Call Chain = tcp_echoclient_connection_close ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_sent
  - >> tcp_recv
  - >> tcp_poll
  - >> tcp_err
  - >> tcp_close
  - >> tcp_arg
  - >> mem_free
  [Called By]
  - >> tcp_client_close
  - >> tcp_echoclient_recv
  - >> tcp_echoclient_poll
  - >> tcp_echoclient_connected
  - >> tcp_client_error

  tcp_echoclient_poll (Thumb, 84 bytes, Stack size 24 bytes, tcpclient.o(i.tcp_echoclient_poll))
  [Stack]

  - Max Depth = 436
  - Call Chain = tcp_echoclient_poll ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_abandon
  - >> tcp_echoclient_connection_close
  - >> __2printf
  [Address Reference Count : 1]
  - tcpclient.o(i.tcp_echoclient_connected)

  tcp_echoclient_recv (Thumb, 188 bytes, Stack size 40 bytes, tcpclient.o(i.tcp_echoclient_recv))
  [Stack]

  - Max Depth = 428
  - Call Chain = tcp_echoclient_recv ⇒ tcp_echoclient_connection_close ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_recved
  - >> pbuf_free
  - >> tcp_echoclient_connection_close
  [Address Reference Count : 1]
  - tcpclient.o(i.tcp_echoclient_connected)

  tcp_echoserver_accept (Thumb, 120 bytes, Stack size 24 bytes, tcpserver.o(i.tcp_echoserver_accept))
  [Stack]

  - Max Depth = 48
  - Call Chain = tcp_echoserver_accept ⇒ __2printf
  [Calls]
  - >> tcp_setprio
  - >> tcp_recv
  - >> tcp_poll
  - >> tcp_err
  - >> tcp_arg
  - >> mem_malloc
  - >> __2printf
  [Address Reference Count : 1]
  - tcpserver.o(i.tcp_echoserver_init)

  tcp_echoserver_connection_close (Thumb, 64 bytes, Stack size 16 bytes, tcpserver.o(i.tcp_echoserver_connection_close))
  [Stack]

  - Max Depth = 388
  - Call Chain = tcp_echoserver_connection_close ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_sent
  - >> tcp_recv
  - >> tcp_poll
  - >> tcp_err
  - >> tcp_close
  - >> tcp_arg
  - >> mem_free
  [Called By]
  - >> tcp_echoserver_sent
  - >> tcp_echoserver_recv
  - >> tcp_echoserver_poll
  - >> tcp_echoserver_error

  tcp_echoserver_error (Thumb, 36 bytes, Stack size 16 bytes, tcpserver.o(i.tcp_echoserver_error))
  [Stack]

  - Max Depth = 404
  - Call Chain = tcp_echoserver_error ⇒ tcp_echoserver_connection_close ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_echoserver_connection_close
  - >> mem_free
  [Address Reference Count : 1]
  - tcpserver.o(i.tcp_echoserver_accept)

  tcp_echoserver_poll (Thumb, 72 bytes, Stack size 24 bytes, tcpserver.o(i.tcp_echoserver_poll))
  [Stack]

  - Max Depth = 436
  - Call Chain = tcp_echoserver_poll ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_echoserver_send
  - >> tcp_echoserver_connection_close
  - >> tcp_abandon
  - >> __2printf
  [Address Reference Count : 1]
  - tcpserver.o(i.tcp_echoserver_accept)

  tcp_echoserver_recv (Thumb, 298 bytes, Stack size 40 bytes, tcpserver.o(i.tcp_echoserver_recv))
  [Stack]

  - Max Depth = 428
  - Call Chain = tcp_echoserver_recv ⇒ tcp_echoserver_connection_close ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_chain
  - >> tcp_echoserver_send
  - >> tcp_echoserver_connection_close
  - >> tcp_sent
  - >> tcp_recved
  - >> pbuf_free
  - >> __2printf
  [Address Reference Count : 1]
  - tcpserver.o(i.tcp_echoserver_accept)

  tcp_echoserver_send (Thumb, 72 bytes, Stack size 24 bytes, tcpserver.o(i.tcp_echoserver_send))
  [Stack]

  - Max Depth = 380
  - Call Chain = tcp_echoserver_send ⇒ tcp_recved ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_ref
  - >> tcp_recved
  - >> pbuf_free
  [Called By]
  - >> tcp_echoserver_sent
  - >> tcp_echoserver_recv
  - >> tcp_echoserver_poll

  tcp_echoserver_sent (Thumb, 46 bytes, Stack size 24 bytes, tcpserver.o(i.tcp_echoserver_sent))
  [Stack]

  - Max Depth = 412
  - Call Chain = tcp_echoserver_sent ⇒ tcp_echoserver_connection_close ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_echoserver_send
  - >> tcp_echoserver_connection_close
  [Address Reference Count : 1]
  - tcpserver.o(i.tcp_echoserver_recv)

  OS_InitEventList (Thumb, 74 bytes, Stack size 16 bytes, os_core.o(i.OS_InitEventList))
  [Stack]

  - Max Depth = 16
  - Call Chain = OS_InitEventList
  [Calls]
  - >> OS_MemClr
  [Called By]
  - >> OSInit

  OS_InitMisc (Thumb, 44 bytes, Stack size 0 bytes, os_core.o(i.OS_InitMisc))
  [Called By]

  - >> OSInit

  OS_InitRdyList (Thumb, 44 bytes, Stack size 0 bytes, os_core.o(i.OS_InitRdyList))
  [Called By]

  - >> OSInit

  OS_InitTCBList (Thumb, 106 bytes, Stack size 16 bytes, os_core.o(i.OS_InitTCBList))
  [Stack]

  - Max Depth = 16
  - Call Chain = OS_InitTCBList
  [Calls]
  - >> OS_MemClr
  [Called By]
  - >> OSInit

  OS_InitTaskIdle (Thumb, 50 bytes, Stack size 32 bytes, os_core.o(i.OS_InitTaskIdle))
  [Stack]

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = OS_InitTaskIdle ⇒ OSTaskCreateExt ⇒ OS_TCBInit
  [Calls]
  - >> OSTaskNameSet
  - >> OSTaskCreateExt
  [Called By]
  - >> OSInit

  OS_InitTaskStat (Thumb, 50 bytes, Stack size 32 bytes, os_core.o(i.OS_InitTaskStat))
  [Stack]

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = OS_InitTaskStat ⇒ OSTaskCreateExt ⇒ OS_TCBInit
  [Calls]
  - >> OSTaskNameSet
  - >> OSTaskCreateExt
  [Called By]
  - >> OSInit

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

  - >> OSStart
  - >> OS_Sched
  - >> OSIntExit

  low_level_init (Thumb, 142 bytes, Stack size 16 bytes, ethernetif.o(i.low_level_init))
  [Stack]

  - Max Depth = 28
  - Call Chain = low_level_init ⇒ ETH_DMATxDescChainInit
  [Calls]
  - >> ETH_Start
  - >> ETH_DMATxDescChecksumInsertionConfig
  - >> ETH_DMATxDescChainInit
  - >> ETH_DMARxDescReceiveITConfig
  - >> ETH_DMARxDescChainInit
  [Called By]
  - >> ethernetif_init

  low_level_input (Thumb, 110 bytes, Stack size 56 bytes, ethernetif.o(i.low_level_input))
  [Stack]

  - Max Depth = 148
  - Call Chain = low_level_input ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_alloc
  - >> ETH_RxPkt_ChainMode
  - >> __aeabi_memcpy
  [Called By]
  - >> ethernetif_input

  low_level_output (Thumb, 52 bytes, Stack size 24 bytes, ethernetif.o(i.low_level_output))
  [Stack]

  - Max Depth = 24
  - Call Chain = low_level_output
  [Calls]
  - >> ETH_TxPkt_ChainMode
  - >> ETH_GetCurrentTxBuffer
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - ethernetif.o(i.ethernetif_init)

  plug_holes (Thumb, 168 bytes, Stack size 12 bytes, mem.o(i.plug_holes))
  [Stack]

  - Max Depth = 12
  - Call Chain = plug_holes
  [Called By]
  - >> mem_free

  tcp_accept_null (Thumb, 8 bytes, Stack size 0 bytes, tcp.o(i.tcp_accept_null))
  [Address Reference Count : 1]

  - tcp.o(i.tcp_listen_with_backlog)

  tcp_kill_prio (Thumb, 78 bytes, Stack size 24 bytes, tcp.o(i.tcp_kill_prio))
  [Stack]

  - Max Depth = 436
  - Call Chain = tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_abandon
  [Called By]
  - >> tcp_alloc

  tcp_kill_timewait (Thumb, 52 bytes, Stack size 16 bytes, tcp.o(i.tcp_kill_timewait))
  [Stack]

  - Max Depth = 428
  - Call Chain = tcp_kill_timewait ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_abandon
  [Called By]
  - >> tcp_alloc

  tcp_new_port (Thumb, 104 bytes, Stack size 0 bytes, tcp.o(i.tcp_new_port))
  [Called By]

  - >> tcp_bind
  - >> tcp_connect

  tcp_recv_null (Thumb, 40 bytes, Stack size 24 bytes, tcp.o(i.tcp_recv_null))
  [Stack]

  - Max Depth = 396
  - Call Chain = tcp_recv_null ⇒ tcp_close ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_close
  - >> pbuf_free
  [Address Reference Count : 1]
  - tcp.o(i.tcp_alloc)

  tcp_listen_input (Thumb, 306 bytes, Stack size 24 bytes, tcp_in.o(i.tcp_listen_input))
  [Stack]

  - Max Depth = 476
  - Call Chain = tcp_listen_input ⇒ tcp_alloc ⇒ tcp_kill_prio ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_output
  - >> tcp_abandon
  - >> tcp_parseopt
  - >> tcp_rst
  - >> tcp_enqueue
  - >> tcp_eff_send_mss
  - >> tcp_alloc
  [Called By]
  - >> tcp_input

  tcp_parseopt (Thumb, 176 bytes, Stack size 32 bytes, tcp_in.o(i.tcp_parseopt))
  [Stack]

  - Max Depth = 36
  - Call Chain = tcp_parseopt ⇒ ntohs
  [Calls]
  - >> ntohs
  [Called By]
  - >> tcp_process
  - >> tcp_listen_input

  tcp_process (Thumb, 1426 bytes, Stack size 32 bytes, tcp_in.o(i.tcp_process))
  [Stack]

  - Max Depth = 444
  - Call Chain = tcp_process ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_output
  - >> tcp_abandon
  - >> tcp_rexmit
  - >> ntohl
  - >> tcp_receive
  - >> tcp_parseopt
  - >> tcp_rst
  - >> tcp_seg_free
  - >> tcp_pcb_purge
  - >> tcp_eff_send_mss
  [Called By]
  - >> tcp_input

  tcp_receive (Thumb, 1772 bytes, Stack size 48 bytes, tcp_in.o(i.tcp_receive))
  [Stack]

  - Max Depth = 412
  - Call Chain = tcp_receive ⇒ tcp_rexmit ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_output
  - >> tcp_rexmit
  - >> ntohs
  - >> ntohl
  - >> htons
  - >> tcp_update_rcv_ann_wnd
  - >> tcp_seg_free
  - >> pbuf_realloc
  - >> pbuf_header
  - >> pbuf_clen
  [Called By]
  - >> tcp_process

  tcp_timewait_input (Thumb, 72 bytes, Stack size 8 bytes, tcp_in.o(i.tcp_timewait_input))
  [Stack]

  - Max Depth = 348
  - Call Chain = tcp_timewait_input ⇒ tcp_output ⇒ tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> tcp_output
  [Called By]
  - >> tcp_input

  tcp_output_segment (Thumb, 194 bytes, Stack size 32 bytes, tcp_out.o(i.tcp_output_segment))
  [Stack]

  - Max Depth = 284
  - Call Chain = tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> htonl
  - >> ip_output
  - >> ntohl
  - >> htons
  - >> ip_route
  [Called By]
  - >> tcp_output

  tcp_output_set_header (Thumb, 132 bytes, Stack size 32 bytes, tcp_out.o(i.tcp_output_set_header))
  [Stack]

  - Max Depth = 36
  - Call Chain = tcp_output_set_header ⇒ ntohs
  [Calls]
  - >> htonl
  - >> ntohs
  - >> htons
  [Called By]
  - >> tcp_output

  icmp_send_response (Thumb, 118 bytes, Stack size 40 bytes, icmp.o(i.icmp_send_response))
  [Stack]

  - Max Depth = 292
  - Call Chain = icmp_send_response ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_alloc
  - >> pbuf_free
  - >> inet_chksum
  - >> ip_output
  - >> __aeabi_memcpy
  [Called By]
  - >> icmp_time_exceeded
  - >> icmp_dest_unreach

  lwip_standard_chksum (Thumb, 74 bytes, Stack size 24 bytes, inet_chksum.o(i.lwip_standard_chksum))
  [Stack]

  - Max Depth = 24
  - Call Chain = lwip_standard_chksum
  [Calls]
  - >> htons
  [Called By]
  - >> inet_chksum_pbuf
  - >> inet_chksum

  ip_reass_chain_frag_into_datagram_and_validate (Thumb, 418 bytes, Stack size 48 bytes, ip_frag.o(i.ip_reass_chain_frag_into_datagram_and_validate))
  [Stack]

  - Max Depth = 100
  - Call Chain = ip_reass_chain_frag_into_datagram_and_validate ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_free
  - >> ntohs
  - >> pbuf_clen
  [Called By]
  - >> ip_reass

  ip_reass_dequeue_datagram (Thumb, 46 bytes, Stack size 16 bytes, ip_frag.o(i.ip_reass_dequeue_datagram))
  [Stack]

  - Max Depth = 16
  - Call Chain = ip_reass_dequeue_datagram
  [Calls]
  - >> memp_free
  [Called By]
  - >> ip_reass_free_complete_datagram
  - >> ip_reass

  ip_reass_enqueue_new_datagram (Thumb, 80 bytes, Stack size 16 bytes, ip_frag.o(i.ip_reass_enqueue_new_datagram))
  [Stack]

  - Max Depth = 396
  - Call Chain = ip_reass_enqueue_new_datagram ⇒ ip_reass_remove_oldest_datagram ⇒ ip_reass_free_complete_datagram ⇒ icmp_time_exceeded ⇒ icmp_send_response ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_malloc
  - >> ip_reass_remove_oldest_datagram
  - >> __aeabi_memclr4
  - >> __aeabi_memcpy
  [Called By]
  - >> ip_reass

  ip_reass_free_complete_datagram (Thumb, 166 bytes, Stack size 32 bytes, ip_frag.o(i.ip_reass_free_complete_datagram))
  [Stack]

  - Max Depth = 340
  - Call Chain = ip_reass_free_complete_datagram ⇒ icmp_time_exceeded ⇒ icmp_send_response ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_free
  - >> ip_reass_dequeue_datagram
  - >> icmp_time_exceeded
  - >> pbuf_clen
  - >> __aeabi_memcpy
  [Called By]
  - >> ip_reass_remove_oldest_datagram

  ip_reass_remove_oldest_datagram (Thumb, 118 bytes, Stack size 40 bytes, ip_frag.o(i.ip_reass_remove_oldest_datagram))
  [Stack]

  - Max Depth = 380
  - Call Chain = ip_reass_remove_oldest_datagram ⇒ ip_reass_free_complete_datagram ⇒ icmp_time_exceeded ⇒ icmp_send_response ⇒ ip_output ⇒ ip_output_if ⇒ ip_frag ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> ip_reass_free_complete_datagram
  [Called By]
  - >> ip_reass_enqueue_new_datagram
  - >> ip_reass

  etharp_raw (Thumb, 202 bytes, Stack size 40 bytes, etharp.o(i.etharp_raw))
  [Stack]

  - Max Depth = 132
  - Call Chain = etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> pbuf_alloc
  - >> pbuf_free
  - >> htons
  [Called By]
  - >> etharp_request

  etharp_send_ip (Thumb, 78 bytes, Stack size 32 bytes, etharp.o(i.etharp_send_ip))
  [Stack]

  - Max Depth = 32
  - Call Chain = etharp_send_ip
  [Calls]
  - >> htons
  [Called By]
  - >> etharp_output
  - >> etharp_query
  - >> update_arp_entry

  find_entry (Thumb, 506 bytes, Stack size 48 bytes, etharp.o(i.find_entry))
  [Stack]

  - Max Depth = 116
  - Call Chain = find_entry ⇒ free_etharp_q ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> free_etharp_q
  [Called By]
  - >> etharp_query
  - >> update_arp_entry

  free_etharp_q (Thumb, 64 bytes, Stack size 16 bytes, etharp.o(i.free_etharp_q))
  [Stack]

  - Max Depth = 68
  - Call Chain = free_etharp_q ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_free
  - >> pbuf_free
  [Called By]
  - >> find_entry

  update_arp_entry (Thumb, 244 bytes, Stack size 40 bytes, etharp.o(i.update_arp_entry))
  [Stack]

  - Max Depth = 156
  - Call Chain = update_arp_entry ⇒ find_entry ⇒ free_etharp_q ⇒ pbuf_free ⇒ mem_free ⇒ plug_holes
  [Calls]
  - >> memp_free
  - >> pbuf_free
  - >> find_entry
  - >> etharp_send_ip
  - >> ntohl
  - >> ip_addr_isbroadcast
  [Called By]
  - >> etharp_ip_input
  - >> etharp_arp_input

  SetSysClock (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))
  [Stack]

  - Max Depth = 20
  - Call Chain = SetSysClock ⇒ SetSysClockTo72
  [Calls]
  - >> SetSysClockTo72
  [Called By]
  - >> SystemInit

  SetSysClockTo72 (Thumb, 264 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))
  [Stack]

  - Max Depth = 12
  - Call Chain = SetSysClockTo72
  [Called By]
  - >> SetSysClock

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

  - >> __aeabi_uidivmod
  [Called By]
  - >> __0printf$3

  ### Undefined Global Symbols