Static Call Graph - [.\STM324xG_EVAL\STM324xG_EVAL.axf]

# Static Call Graph for image .\STM324xG_EVAL\STM324xG_EVAL.axf

#<CALLGRAPH># ARM Linker, 5050169: Last Updated: Fri Mar 11 21:07:55 2016

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

### Call chain for Maximum Stack Depth:

http_server_socket_thread ⇒ http_server_serve ⇒ DynWebPage ⇒ lwip_write ⇒ lwip_send ⇒ lwip_sendto ⇒ lwip_send (Cycle)

### Mutually Recursive functions

- ADC_IRQHandler ⇒ ADC_IRQHandler
- BusFault_Handler ⇒ BusFault_Handler
- HardFault_Handler ⇒ HardFault_Handler
- MemManage_Handler ⇒ MemManage_Handler
- ToggleLed4 ⇒ ToggleLed4
- UsageFault_Handler ⇒ UsageFault_Handler
- netconn_free ⇒ netconn_delete
- lwip_sendto ⇒ lwip_send

  ### Function Pointers

  - ADC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - BusFault_Handler from stm32f4xx_it.o(i.BusFault_Handler) referenced from startup_stm32f4xx.o(RESET)
  - CAN1_RX0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN1_RX1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN1_SCE_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN1_TX_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN2_RX0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN2_RX1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN2_SCE_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CAN2_TX_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - CRYP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DCMI_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream6_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA1_Stream7_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream6_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DMA2_Stream7_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - DebugMon_Handler from stm32f4xx_it.o(i.DebugMon_Handler) referenced from startup_stm32f4xx.o(RESET)
  - ETH_IRQHandler from stm32f4xx_it.o(i.ETH_IRQHandler) referenced from startup_stm32f4xx.o(RESET)
  - ETH_WKUP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI0_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI15_10_IRQHandler from stm32f4xx_it.o(i.EXTI15_10_IRQHandler) referenced from startup_stm32f4xx.o(RESET)
  - EXTI1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - EXTI9_5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - FLASH_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - FPU_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - FSMC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - HASH_RNG_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - HardFault_Handler from stm32f4xx_it.o(i.HardFault_Handler) referenced from startup_stm32f4xx.o(RESET)
  - I2C1_ER_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C1_EV_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C2_ER_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C2_EV_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C3_ER_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - I2C3_EV_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - MemManage_Handler from stm32f4xx_it.o(i.MemManage_Handler) referenced from startup_stm32f4xx.o(RESET)
  - NMI_Handler from stm32f4xx_it.o(i.NMI_Handler) referenced from startup_stm32f4xx.o(RESET)
  - OTG_FS_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - OTG_FS_WKUP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - OTG_HS_EP1_IN_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - OTG_HS_EP1_OUT_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - OTG_HS_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - OTG_HS_WKUP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - PVD_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - RCC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - RTC_Alarm_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - RTC_WKUP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - Reset_Handler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SDIO_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SPI1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SPI2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SPI3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - SysTick_Handler from stm32f4xx_it.o(i.SysTick_Handler) referenced from startup_stm32f4xx.o(RESET)
  - SystemInit from system_stm32f4xx.o(i.SystemInit) referenced from startup_stm32f4xx.o(.text)
  - TAMP_STAMP_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM1_BRK_TIM9_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM1_CC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM1_TRG_COM_TIM11_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM1_UP_TIM10_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM6_DAC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM7_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM8_BRK_TIM12_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM8_CC_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM8_TRG_COM_TIM14_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - TIM8_UP_TIM13_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - ToggleLed4 from main.o(i.ToggleLed4) referenced from main.o(i.main)
  - UART4_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - UART5_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - USART1_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - USART2_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - USART3_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - USART6_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - UsageFault_Handler from stm32f4xx_it.o(i.UsageFault_Handler) referenced from startup_stm32f4xx.o(RESET)
  - WWDG_IRQHandler from startup_stm32f4xx.o(.text) referenced from startup_stm32f4xx.o(RESET)
  - __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32f4xx.o(.text)
  - _sputc from printf3.o(i._sputc) referenced from printf3.o(i.__0sprintf$3)
  - accept_function from api_msg.o(i.accept_function) referenced from api_msg.o(i.do_listen)
  - arp_timer from tcpip.o(i.arp_timer) referenced 2 times from tcpip.o(i.arp_timer)
  - arp_timer from ethernetif.o(i.arp_timer) referenced from ethernetif.o(i.ethernetif_init)
  - arp_timer from tcpip.o(i.arp_timer) referenced from tcpip.o(i.tcpip_thread)
  - autoip_timer from tcpip.o(i.autoip_timer) referenced from tcpip.o(i.autoip_timer)
  - autoip_timer from tcpip.o(i.autoip_timer) referenced from tcpip.o(i.tcpip_thread)
  - dhcp_timer_coarse from tcpip.o(i.dhcp_timer_coarse) referenced from tcpip.o(i.dhcp_timer_coarse)
  - dhcp_timer_coarse from tcpip.o(i.dhcp_timer_coarse) referenced from tcpip.o(i.tcpip_thread)
  - dhcp_timer_fine from tcpip.o(i.dhcp_timer_fine) referenced from tcpip.o(i.dhcp_timer_fine)
  - dhcp_timer_fine from tcpip.o(i.dhcp_timer_fine) referenced from tcpip.o(i.tcpip_thread)
  - do_bind from api_msg.o(i.do_bind) referenced from api_lib.o(i.netconn_bind)
  - do_delconn from api_msg.o(i.do_delconn) referenced from api_lib.o(i.netconn_delete)
  - do_getaddr from api_msg.o(i.do_getaddr) referenced from api_lib.o(i.netconn_getaddr)
  - do_listen from api_msg.o(i.do_listen) referenced from api_lib.o(i.netconn_listen_with_backlog)
  - do_newconn from api_msg.o(i.do_newconn) referenced from api_lib.o(i.netconn_new_with_proto_and_callback)
  - do_recv from api_msg.o(i.do_recv) referenced from api_lib.o(i.netconn_accept)
  - do_recv from api_msg.o(i.do_recv) referenced from api_lib.o(i.netconn_recv)
  - do_send from api_msg.o(i.do_send) referenced from api_lib.o(i.netconn_send)
  - do_write from api_msg.o(i.do_write) referenced from api_lib.o(i.netconn_write)
  - err_tcp from api_msg.o(i.err_tcp) referenced from api_msg.o(i.do_close_internal)
  - err_tcp from api_msg.o(i.err_tcp) referenced from api_msg.o(i.setup_tcp)
  - etharp_output from etharp.o(i.etharp_output) referenced from ethernetif.o(i.ethernetif_init)
  - ethernetif_init from ethernetif.o(i.ethernetif_init) referenced from netconf.o(i.LwIP_Init)
  - ethernetif_input from ethernetif.o(i.ethernetif_input) referenced from ethernetif.o(i.low_level_init)
  - event_callback from sockets.o(i.event_callback) referenced from sockets.o(i.lwip_accept)
  - event_callback from sockets.o(i.event_callback) referenced from sockets.o(i.lwip_socket)
  - fputc from fputc.o(i.fputc) referenced from printf3.o(i.__0printf$3)
  - http_server_socket_thread from httpserver-socket.o(i.http_server_socket_thread) referenced from httpserver-socket.o(i.http_server_socket_init)
  - 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)
  - poll_tcp from api_msg.o(i.poll_tcp) referenced from api_msg.o(i.do_close_internal)
  - poll_tcp from api_msg.o(i.poll_tcp) referenced from api_msg.o(i.setup_tcp)
  - prvIdleTask from tasks.o(i.prvIdleTask) referenced from tasks.o(i.vTaskStartScheduler)
  - recv_raw from api_msg.o(i.recv_raw) referenced from api_msg.o(i.pcb_new)
  - recv_tcp from api_msg.o(i.recv_tcp) referenced from api_msg.o(i.setup_tcp)
  - recv_udp from api_msg.o(i.recv_udp) referenced from api_msg.o(i.pcb_new)
  - sent_tcp from api_msg.o(i.sent_tcp) referenced from api_msg.o(i.do_close_internal)
  - sent_tcp from api_msg.o(i.sent_tcp) referenced from api_msg.o(i.setup_tcp)
  - tcp_accept_null from tcp.o(i.tcp_accept_null) referenced from tcp.o(i.tcp_listen_with_backlog)
  - tcp_recv_null from tcp.o(i.tcp_recv_null) referenced from tcp.o(i.tcp_alloc)
  - tcpip_input from tcpip.o(i.tcpip_input) referenced from netconf.o(i.LwIP_Init)
  - tcpip_tcp_timer from tcpip.o(i.tcpip_tcp_timer) referenced from tcpip.o(i.tcp_timer_needed)
  - tcpip_tcp_timer from tcpip.o(i.tcpip_tcp_timer) referenced from tcpip.o(i.tcpip_tcp_timer)
  - tcpip_thread from tcpip.o(i.tcpip_thread) referenced from tcpip.o(i.tcpip_init)
  - vPortSVCHandler from port.o(.emb_text) referenced from startup_stm32f4xx.o(RESET)
  - xPortPendSVHandler from port.o(.emb_text) referenced from startup_stm32f4xx.o(RESET)

  ### Global Symbols

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

  - startup_stm32f4xx.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))

  vPortSVCHandler (Thumb, 28 bytes, Stack size 0 bytes, port.o(.emb_text))
  [Address Reference Count : 1]

  - startup_stm32f4xx.o(RESET)

  vPortStartFirstTask (Thumb, 12 bytes, Stack size 0 bytes, port.o(.emb_text))
  [Called By]

  - >> xPortStartScheduler

  xPortPendSVHandler (Thumb, 56 bytes, Stack size 0 bytes, port.o(.emb_text))
  [Calls]

  - >> vTaskSwitchContext
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  vPortSetInterruptMask (Thumb, 14 bytes, Stack size 0 bytes, port.o(.emb_text))
  [Called By]

  - >> xQueueGenericSendFromISR
  - >> xPortSysTickHandler
  - >> vTaskStartScheduler
  - >> vPortEnterCritical

  vPortClearInterruptMask (Thumb, 14 bytes, Stack size 0 bytes, port.o(.emb_text))
  [Called By]

  - >> xQueueGenericSendFromISR
  - >> xPortSysTickHandler
  - >> vPortExitCritical

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

  - startup_stm32f4xx.o(RESET)

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

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

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - startup_stm32f4xx.o(RESET)

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

  - >> lwip_accept
  - >> icmp_dest_unreach
  - >> tcp_enqueue
  - >> low_level_output
  - >> low_level_input
  - >> pbuf_copy_partial
  - >> lwip_recvfrom
  - >> pbuf_copy
  - >> prvCopyDataToQueue
  - >> prvCopyDataFromQueue

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

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

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

  - >> xTaskGenericCreate
  - >> _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))
  [Calls]

  - >> __aeabi_memset
  [Called By]
  - >> DynWebPage

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

  - >> tcp_alloc
  - >> udp_new
  - >> raw_new

  __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

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

  - >> vTaskList
  - >> DynWebPage
  - >> prvListTaskWithinSingleList

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

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

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

  - >> DynWebPage

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

  - Max Depth = 8
  - Call Chain = strcmp
  [Called By]
  - >> fs_open

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

  - Max Depth = 12
  - Call Chain = memcmp
  [Called By]
  - >> autoip_arp_reply

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

  - Max Depth = 12
  - Call Chain = strncmp
  [Called By]
  - >> http_server_serve

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

  __I$use$semihosting$fputc (Thumb, 0 bytes, Stack size unknown bytes, iusesemip.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)

  __semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, semi.o(.text), UNUSED)

  BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.BusFault_Handler))
  [Calls]

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

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

  - startup_stm32f4xx.o(RESET)

  DynWebPage (Thumb, 118 bytes, Stack size 24 bytes, httpserver-socket.o(i.DynWebPage))
  [Stack]

  - Max Depth = 336
  - Call Chain = DynWebPage ⇒ lwip_write ⇒ lwip_send ⇒ lwip_sendto ⇒ lwip_send (Cycle)
  [Calls]
  - >> vTaskList
  - >> lwip_write
  - >> __2sprintf
  - >> strlen
  - >> strcat
  - >> __aeabi_memclr
  [Called By]
  - >> http_server_serve

  ETH_BSP_Config (Thumb, 120 bytes, Stack size 8 bytes, stm32f4x7_eth_bsp.o(i.ETH_BSP_Config))
  [Stack]

  - Max Depth = 272
  - Call Chain = ETH_BSP_Config ⇒ ETH_MACDMA_Config ⇒ ETH_Init ⇒ ETH_WritePHYRegister
  [Calls]
  - >> NVIC_PriorityGroupConfig
  - >> NVIC_Init
  - >> Eth_Link_PHYITConfig
  - >> Eth_Link_EXTIConfig
  - >> ETH_MACDMA_Config
  - >> ETH_GPIO_Config
  - >> LCD_SetTextColor
  - >> LCD_GetFont
  - >> LCD_DisplayStringLine
  [Called By]
  - >> main

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

  - >> ETH_IRQHandler

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

  - >> ETH_MACDMA_Config

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

  - >> ETH_Start

  ETH_DMARxDescChainInit (Thumb, 74 bytes, Stack size 20 bytes, stm32f4x7_eth.o(i.ETH_DMARxDescChainInit))
  [Stack]

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

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

  - >> low_level_init

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

  - >> ETH_Start

  ETH_DMATxDescChainInit (Thumb, 62 bytes, Stack size 20 bytes, stm32f4x7_eth.o(i.ETH_DMATxDescChainInit))
  [Stack]

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

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

  - >> low_level_init

  ETH_DeInit (Thumb, 24 bytes, Stack size 8 bytes, stm32f4x7_eth.o(i.ETH_DeInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = ETH_DeInit
  [Calls]
  - >> RCC_AHB1PeriphResetCmd
  [Called By]
  - >> ETH_MACDMA_Config

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

  - >> ETH_Start

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

  - >> ETH_IRQHandler

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

  - >> ETH_MACDMA_Config

  ETH_Get_Received_Frame_interrupt (Thumb, 134 bytes, Stack size 16 bytes, stm32f4x7_eth.o(i.ETH_Get_Received_Frame_interrupt))
  [Stack]

  - Max Depth = 16
  - Call Chain = ETH_Get_Received_Frame_interrupt
  [Called By]
  - >> low_level_input

  ETH_IRQHandler (Thumb, 56 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.ETH_IRQHandler))
  [Stack]

  - Max Depth = 48
  - Call Chain = ETH_IRQHandler ⇒ xQueueGenericSendFromISR ⇒ prvCopyDataToQueue ⇒ vTaskPriorityDisinherit
  [Calls]
  - >> xQueueGenericSendFromISR
  - >> vPortYieldFromISR
  - >> ETH_GetDMAFlagStatus
  - >> ETH_DMAClearITPendingBit
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  ETH_Init (Thumb, 520 bytes, Stack size 56 bytes, stm32f4x7_eth.o(i.ETH_Init))
  [Stack]

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

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

  - >> low_level_init

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

  - >> ETH_Start

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

  - >> ETH_Start

  ETH_Prepare_Transmit_Descriptors (Thumb, 168 bytes, Stack size 20 bytes, stm32f4x7_eth.o(i.ETH_Prepare_Transmit_Descriptors))
  [Stack]

  - Max Depth = 20
  - Call Chain = ETH_Prepare_Transmit_Descriptors
  [Called By]
  - >> low_level_output

  ETH_ReadPHYRegister (Thumb, 80 bytes, Stack size 12 bytes, stm32f4x7_eth.o(i.ETH_ReadPHYRegister))
  [Stack]

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

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

  - >> ETH_MACDMA_Config

  ETH_Start (Thumb, 34 bytes, Stack size 4 bytes, stm32f4x7_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, 136 bytes, Stack size 0 bytes, stm32f4x7_eth.o(i.ETH_StructInit))
  [Called By]

  - >> ETH_MACDMA_Config

  ETH_WritePHYRegister (Thumb, 76 bytes, Stack size 16 bytes, stm32f4x7_eth.o(i.ETH_WritePHYRegister))
  [Stack]

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

  EXTI15_10_IRQHandler (Thumb, 34 bytes, Stack size 8 bytes, stm32f4xx_it.o(i.EXTI15_10_IRQHandler))
  [Stack]

  - Max Depth = 72
  - Call Chain = EXTI15_10_IRQHandler ⇒ Eth_Link_ITHandler ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> EXTI_GetITStatus
  - >> EXTI_ClearITPendingBit
  - >> Eth_Link_ITHandler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

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

  - >> EXTI15_10_IRQHandler

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

  - >> EXTI15_10_IRQHandler

  EXTI_Init (Thumb, 108 bytes, Stack size 12 bytes, stm32f4xx_exti.o(i.EXTI_Init))
  [Stack]

  - Max Depth = 12
  - Call Chain = EXTI_Init
  [Called By]
  - >> Eth_Link_EXTIConfig

  Eth_Link_EXTIConfig (Thumb, 110 bytes, Stack size 32 bytes, stm32f4x7_eth_bsp.o(i.Eth_Link_EXTIConfig))
  [Stack]

  - Max Depth = 52
  - Call Chain = Eth_Link_EXTIConfig ⇒ GPIO_Init
  [Calls]
  - >> SYSCFG_EXTILineConfig
  - >> RCC_APB2PeriphClockCmd
  - >> RCC_AHB1PeriphClockCmd
  - >> NVIC_PriorityGroupConfig
  - >> NVIC_Init
  - >> GPIO_Init
  - >> EXTI_Init
  [Called By]
  - >> ETH_BSP_Config

  Eth_Link_ITHandler (Thumb, 116 bytes, Stack size 8 bytes, stm32f4x7_eth_bsp.o(i.Eth_Link_ITHandler))
  [Stack]

  - Max Depth = 64
  - Call Chain = Eth_Link_ITHandler ⇒ LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> ETH_ReadPHYRegister
  - >> LCD_SetTextColor
  - >> LCD_GetFont
  - >> LCD_DisplayStringLine
  [Called By]
  - >> EXTI15_10_IRQHandler

  Eth_Link_PHYITConfig (Thumb, 54 bytes, Stack size 8 bytes, stm32f4x7_eth_bsp.o(i.Eth_Link_PHYITConfig))
  [Stack]

  - Max Depth = 24
  - Call Chain = Eth_Link_PHYITConfig ⇒ ETH_WritePHYRegister
  [Calls]
  - >> ETH_WritePHYRegister
  - >> ETH_ReadPHYRegister
  [Called By]
  - >> ETH_BSP_Config

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

  - >> LCD_FSMCConfig

  FSMC_NORSRAMInit (Thumb, 200 bytes, Stack size 8 bytes, stm32f4xx_fsmc.o(i.FSMC_NORSRAMInit))
  [Stack]

  - Max Depth = 8
  - Call Chain = FSMC_NORSRAMInit
  [Called By]
  - >> LCD_FSMCConfig

  GPIO_Init (Thumb, 162 bytes, Stack size 20 bytes, stm32f4xx_gpio.o(i.GPIO_Init))
  [Stack]

  - Max Depth = 20
  - Call Chain = GPIO_Init
  [Called By]
  - >> Eth_Link_EXTIConfig
  - >> ETH_GPIO_Config
  - >> STM_EVAL_LEDInit
  - >> LCD_CtrlLinesConfig

  GPIO_PinAFConfig (Thumb, 32 bytes, Stack size 8 bytes, stm32f4xx_gpio.o(i.GPIO_PinAFConfig))
  [Stack]

  - Max Depth = 8
  - Call Chain = GPIO_PinAFConfig
  [Called By]
  - >> ETH_GPIO_Config
  - >> LCD_CtrlLinesConfig

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.HardFault_Handler))
  [Calls]

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

  LCD_Clear (Thumb, 40 bytes, Stack size 12 bytes, stm324xg_eval_lcd.o(i.LCD_Clear))
  [Stack]

  - Max Depth = 16
  - Call Chain = LCD_Clear ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetCursor
  [Called By]
  - >> LCD_LED_Init

  LCD_CtrlLinesConfig (Thumb, 318 bytes, Stack size 16 bytes, stm324xg_eval_lcd.o(i.LCD_CtrlLinesConfig))
  [Stack]

  - Max Depth = 36
  - Call Chain = LCD_CtrlLinesConfig ⇒ GPIO_Init
  [Calls]
  - >> RCC_AHB1PeriphClockCmd
  - >> GPIO_PinAFConfig
  - >> GPIO_Init
  - >> RCC_AHB3PeriphClockCmd
  [Called By]
  - >> STM324xG_LCD_Init

  LCD_DisplayChar (Thumb, 26 bytes, Stack size 4 bytes, stm324xg_eval_lcd.o(i.LCD_DisplayChar))
  [Stack]

  - Max Depth = 36
  - Call Chain = LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DrawChar
  [Called By]
  - >> LCD_DisplayStringLine

  LCD_DisplayStringLine (Thumb, 52 bytes, Stack size 20 bytes, stm324xg_eval_lcd.o(i.LCD_DisplayStringLine))
  [Stack]

  - Max Depth = 56
  - Call Chain = LCD_DisplayStringLine ⇒ LCD_DisplayChar ⇒ LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_DisplayChar
  [Called By]
  - >> Eth_Link_ITHandler
  - >> LwIP_Init
  - >> ETH_BSP_Config
  - >> LCD_LED_Init

  LCD_DrawChar (Thumb, 128 bytes, Stack size 28 bytes, stm324xg_eval_lcd.o(i.LCD_DrawChar))
  [Stack]

  - Max Depth = 32
  - Call Chain = LCD_DrawChar ⇒ LCD_SetCursor
  [Calls]
  - >> LCD_SetCursor
  [Called By]
  - >> LCD_DisplayChar

  LCD_FSMCConfig (Thumb, 78 bytes, Stack size 96 bytes, stm324xg_eval_lcd.o(i.LCD_FSMCConfig))
  [Stack]

  - Max Depth = 104
  - Call Chain = LCD_FSMCConfig ⇒ FSMC_NORSRAMInit
  [Calls]
  - >> FSMC_NORSRAMInit
  - >> FSMC_NORSRAMCmd
  [Called By]
  - >> STM324xG_LCD_Init

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

  - >> Eth_Link_ITHandler
  - >> LwIP_Init
  - >> ETH_BSP_Config
  - >> LCD_LED_Init

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

  - Max Depth = 144
  - Call Chain = LCD_LED_Init ⇒ STM324xG_LCD_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit
  [Calls]
  - >> STM_EVAL_LEDInit
  - >> STM324xG_LCD_Init
  - >> LCD_SetTextColor
  - >> LCD_SetBackColor
  - >> LCD_GetFont
  - >> LCD_DisplayStringLine
  - >> LCD_Clear
  [Called By]
  - >> main

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

  - >> STM324xG_LCD_Init

  LCD_SetBackColor (Thumb, 12 bytes, Stack size 8 bytes, stm324xg_eval_lcd.o(i.LCD_SetBackColor))
  [Stack]

  - Max Depth = 8
  - Call Chain = LCD_SetBackColor
  [Called By]
  - >> LCD_LED_Init

  LCD_SetCursor (Thumb, 58 bytes, Stack size 4 bytes, stm324xg_eval_lcd.o(i.LCD_SetCursor))
  [Stack]

  - Max Depth = 4
  - Call Chain = LCD_SetCursor
  [Calls]
  - >> LCD_WriteReg
  [Called By]
  - >> LCD_Clear
  - >> LCD_DrawChar

  LCD_SetTextColor (Thumb, 12 bytes, Stack size 8 bytes, stm324xg_eval_lcd.o(i.LCD_SetTextColor))
  [Stack]

  - Max Depth = 8
  - Call Chain = LCD_SetTextColor
  [Called By]
  - >> Eth_Link_ITHandler
  - >> ETH_BSP_Config
  - >> LCD_LED_Init

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

  - >> STM324xG_LCD_Init
  - >> LCD_SetCursor

  LwIP_Init (Thumb, 136 bytes, Stack size 48 bytes, netconf.o(i.LwIP_Init))
  [Stack]

  - Max Depth = 432
  - Call Chain = LwIP_Init ⇒ netif_add ⇒ netif_set_addr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcpip_init
  - >> netif_set_up
  - >> netif_set_default
  - >> netif_add
  - >> htonl
  - >> LCD_GetFont
  - >> LCD_DisplayStringLine
  - >> __2sprintf
  [Called By]
  - >> main

  MemManage_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.MemManage_Handler))
  [Calls]

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

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

  - startup_stm32f4xx.o(RESET)

  NVIC_Init (Thumb, 96 bytes, Stack size 12 bytes, misc.o(i.NVIC_Init))
  [Stack]

  - Max Depth = 12
  - Call Chain = NVIC_Init
  [Called By]
  - >> Eth_Link_EXTIConfig
  - >> ETH_BSP_Config

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

  - >> Eth_Link_EXTIConfig
  - >> ETH_BSP_Config

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

  - >> Eth_Link_EXTIConfig
  - >> ETH_MACDMA_Config
  - >> ETH_GPIO_Config
  - >> STM_EVAL_LEDInit
  - >> LCD_CtrlLinesConfig

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

  - >> ETH_DeInit

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

  - >> LCD_CtrlLinesConfig

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

  - >> Eth_Link_EXTIConfig
  - >> ETH_GPIO_Config

  RCC_GetClocksFreq (Thumb, 132 bytes, Stack size 16 bytes, stm32f4xx_rcc.o(i.RCC_GetClocksFreq))
  [Stack]

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

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

  - >> ETH_GPIO_Config

  STM324xG_LCD_Init (Thumb, 1154 bytes, Stack size 32 bytes, stm324xg_eval_lcd.o(i.STM324xG_LCD_Init))
  [Stack]

  - Max Depth = 136
  - Call Chain = STM324xG_LCD_Init ⇒ LCD_FSMCConfig ⇒ FSMC_NORSRAMInit
  [Calls]
  - >> delay_ms
  - >> LCD_WriteReg
  - >> LCD_ReadReg
  - >> LCD_FSMCConfig
  - >> LCD_CtrlLinesConfig
  [Called By]
  - >> LCD_LED_Init

  STM_EVAL_LEDInit (Thumb, 62 bytes, Stack size 16 bytes, stm324xg_eval.o(i.STM_EVAL_LEDInit))
  [Stack]

  - Max Depth = 36
  - Call Chain = STM_EVAL_LEDInit ⇒ GPIO_Init
  [Calls]
  - >> RCC_AHB1PeriphClockCmd
  - >> GPIO_Init
  [Called By]
  - >> LCD_LED_Init

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

  - >> ToggleLed4

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

  - >> ETH_GPIO_Config

  SYSCFG_EXTILineConfig (Thumb, 42 bytes, Stack size 8 bytes, stm32f4xx_syscfg.o(i.SYSCFG_EXTILineConfig))
  [Stack]

  - Max Depth = 8
  - Call Chain = SYSCFG_EXTILineConfig
  [Called By]
  - >> Eth_Link_EXTIConfig

  SysTick_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.SysTick_Handler))
  [Stack]

  - Max Depth = 24
  - Call Chain = SysTick_Handler ⇒ xPortSysTickHandler ⇒ vTaskIncrementTick
  [Calls]
  - >> xPortSysTickHandler
  [Address Reference Count : 1]
  - startup_stm32f4xx.o(RESET)

  SystemInit (Thumb, 62 bytes, Stack size 8 bytes, system_stm32f4xx.o(i.SystemInit))
  [Stack]

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

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

  - Max Depth = 64 + In Cycle
  - Call Chain = ToggleLed4 ⇒ ToggleLed4 (Cycle)
  [Calls]
  - >> vTaskDelay
  - >> STM_EVAL_LEDToggle
  - >> ToggleLed4
  [Called By]
  - >> ToggleLed4
  [Address Reference Count : 1]
  - main.o(i.main)

  UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.UsageFault_Handler))
  [Calls]

  - >> UsageFault_Handler
  [Called By]
  - >> UsageFault_Handler
  [Address Reference Count : 1]
  - startup_stm32f4xx.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]
  - >> http_server_socket_thread

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

  - >> _sputc
  - >> _printf_core

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

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

  - Max Depth = 24
  - Call Chain = __2sprintf
  [Called By]
  - >> DynWebPage
  - >> LwIP_Init
  - >> prvListTaskWithinSingleList

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

  autoip_arp_reply (Thumb, 158 bytes, Stack size 24 bytes, autoip.o(i.autoip_arp_reply))
  [Stack]

  - Max Depth = 288
  - Call Chain = autoip_arp_reply ⇒ autoip_arp_announce ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> autoip_start
  - >> autoip_arp_announce
  - >> memcmp
  [Called By]
  - >> etharp_arp_input

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

  - >> lwip_init

  autoip_start (Thumb, 140 bytes, Stack size 24 bytes, autoip.o(i.autoip_start))
  [Stack]

  - Max Depth = 176
  - Call Chain = autoip_start ⇒ mem_malloc ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htonl
  - >> netif_is_up
  - >> ntohl
  - >> netif_set_down
  - >> mem_malloc
  - >> autoip_start_probing
  [Called By]
  - >> autoip_arp_reply

  autoip_tmr (Thumb, 270 bytes, Stack size 40 bytes, autoip.o(i.autoip_tmr))
  [Stack]

  - Max Depth = 384
  - Call Chain = autoip_tmr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> netif_set_up
  - >> htonl
  - >> netif_set_netmask
  - >> netif_set_ipaddr
  - >> netif_set_gw
  - >> etharp_raw
  - >> autoip_arp_announce
  [Called By]
  - >> autoip_timer

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

  - >> STM324xG_LCD_Init

  dhcp_arp_reply (Thumb, 30 bytes, Stack size 0 bytes, dhcp.o(i.dhcp_arp_reply))
  [Stack]

  - Max Depth = 272
  - Call Chain = dhcp_arp_reply ⇒ dhcp_decline ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> dhcp_decline
  [Called By]
  - >> etharp_arp_input

  dhcp_coarse_tmr (Thumb, 90 bytes, Stack size 8 bytes, dhcp.o(i.dhcp_coarse_tmr))
  [Stack]

  - Max Depth = 280
  - Call Chain = dhcp_coarse_tmr ⇒ dhcp_renew ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> dhcp_renew
  - >> dhcp_rebind
  [Called By]
  - >> dhcp_timer_coarse

  dhcp_fine_tmr (Thumb, 46 bytes, Stack size 16 bytes, dhcp.o(i.dhcp_fine_tmr))
  [Stack]

  - Max Depth = 400
  - Call Chain = dhcp_fine_tmr ⇒ dhcp_timeout ⇒ dhcp_bind ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> dhcp_timeout
  [Called By]
  - >> dhcp_timer_fine

  dhcp_release (Thumb, 178 bytes, Stack size 24 bytes, dhcp.o(i.dhcp_release))
  [Stack]

  - Max Depth = 368
  - Call Chain = dhcp_release ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_sendto_if
  - >> pbuf_realloc
  - >> netif_set_netmask
  - >> netif_set_ipaddr
  - >> netif_set_gw
  - >> netif_set_down
  - >> dhcp_set_state
  - >> dhcp_option_trailer
  - >> dhcp_option_byte
  - >> dhcp_option
  - >> dhcp_delete_request
  - >> dhcp_create_request
  [Called By]
  - >> dhcp_timeout

  dhcp_renew (Thumb, 146 bytes, Stack size 24 bytes, dhcp.o(i.dhcp_renew))
  [Stack]

  - Max Depth = 272
  - Call Chain = dhcp_renew ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_sendto_if
  - >> pbuf_realloc
  - >> dhcp_set_state
  - >> dhcp_option_trailer
  - >> dhcp_option_short
  - >> dhcp_option_byte
  - >> dhcp_option
  - >> dhcp_delete_request
  - >> dhcp_create_request
  [Called By]
  - >> dhcp_timeout
  - >> dhcp_coarse_tmr

  do_bind (Thumb, 92 bytes, Stack size 8 bytes, api_msg.o(i.do_bind))
  [Stack]

  - Max Depth = 104
  - Call Chain = do_bind ⇒ sys_sem_signal ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_bind
  - >> tcp_bind
  - >> sys_sem_signal
  - >> raw_bind
  [Address Reference Count : 1]
  - api_lib.o(i.netconn_bind)

  do_delconn (Thumb, 102 bytes, Stack size 8 bytes, api_msg.o(i.do_delconn))
  [Stack]

  - Max Depth = 344
  - Call Chain = do_delconn ⇒ do_close_internal ⇒ tcp_close ⇒ tcp_send_ctrl ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_remove
  - >> sys_sem_signal
  - >> raw_remove
  - >> do_close_internal
  [Address Reference Count : 1]
  - api_lib.o(i.netconn_delete)

  do_getaddr (Thumb, 114 bytes, Stack size 8 bytes, api_msg.o(i.do_getaddr))
  [Stack]

  - Max Depth = 104
  - Call Chain = do_getaddr ⇒ sys_sem_signal ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_sem_signal
  [Address Reference Count : 1]
  - api_lib.o(i.netconn_getaddr)

  do_listen (Thumb, 144 bytes, Stack size 16 bytes, api_msg.o(i.do_listen))
  [Stack]

  - Max Depth = 112
  - Call Chain = do_listen ⇒ sys_sem_signal ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_listen_with_backlog
  - >> tcp_arg
  - >> tcp_accept
  - >> sys_sem_signal
  - >> sys_mbox_new
  - >> sys_mbox_free
  [Address Reference Count : 1]
  - api_lib.o(i.netconn_listen_with_backlog)

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

  - Max Depth = 376
  - Call Chain = do_newconn ⇒ pcb_new ⇒ tcp_new ⇒ tcp_alloc ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_sem_signal
  - >> pcb_new
  [Address Reference Count : 1]
  - api_lib.o(i.netconn_new_with_proto_and_callback)

  do_recv (Thumb, 60 bytes, Stack size 8 bytes, api_msg.o(i.do_recv))
  [Stack]

  - Max Depth = 272
  - Call Chain = do_recv ⇒ tcp_recved ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_recved
  - >> sys_sem_signal
  [Address Reference Count : 2]
  - api_lib.o(i.netconn_recv)
  - api_lib.o(i.netconn_accept)

  do_send (Thumb, 98 bytes, Stack size 16 bytes, api_msg.o(i.do_send))
  [Stack]

  - Max Depth = 288
  - Call Chain = do_send ⇒ udp_sendto ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_sendto
  - >> udp_send
  - >> sys_sem_signal
  - >> raw_sendto
  - >> raw_send
  [Address Reference Count : 1]
  - api_lib.o(i.netconn_send)

  do_write (Thumb, 54 bytes, Stack size 0 bytes, api_msg.o(i.do_write))
  [Stack]

  - Max Depth = 96
  - Call Chain = do_write ⇒ sys_sem_signal ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_sem_signal
  [Address Reference Count : 1]
  - api_lib.o(i.netconn_write)

  etharp_arp_input (Thumb, 250 bytes, Stack size 32 bytes, etharp.o(i.etharp_arp_input))
  [Stack]

  - Max Depth = 320
  - Call Chain = etharp_arp_input ⇒ autoip_arp_reply ⇒ autoip_arp_announce ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> update_arp_entry
  - >> autoip_arp_reply
  - >> dhcp_arp_reply
  - >> pbuf_free
  [Called By]
  - >> ethernet_input

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

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

  etharp_query (Thumb, 138 bytes, Stack size 32 bytes, etharp.o(i.etharp_query))
  [Stack]

  - Max Depth = 296
  - Call Chain = etharp_query ⇒ etharp_request ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> ip_addr_isbroadcast
  - >> etharp_request
  - >> ntohl
  - >> find_entry
  - >> etharp_send_ip
  [Called By]
  - >> etharp_output
  - >> dhcp_check

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

  - Max Depth = 240
  - Call Chain = etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> pbuf_free
  - >> pbuf_alloc
  [Called By]
  - >> etharp_request
  - >> autoip_arp_announce
  - >> autoip_tmr

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

  - Max Depth = 264
  - Call Chain = etharp_request ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> etharp_raw
  [Called By]
  - >> netif_set_up
  - >> etharp_query

  etharp_tmr (Thumb, 54 bytes, Stack size 12 bytes, etharp.o(i.etharp_tmr))
  [Stack]

  - Max Depth = 12
  - Call Chain = etharp_tmr
  [Called By]
  - >> arp_timer
  - >> arp_timer

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

  - Max Depth = 464
  - Call Chain = ethernet_input ⇒ ip_input ⇒ tcp_input ⇒ tcp_process ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> pbuf_header
  - >> etharp_arp_input
  - >> ip_input
  - >> pbuf_free
  [Called By]
  - >> tcpip_thread

  ethernetif_init (Thumb, 42 bytes, Stack size 8 bytes, ethernetif.o(i.ethernetif_init))
  [Stack]

  - Max Depth = 176
  - Call Chain = ethernetif_init ⇒ low_level_init ⇒ xTaskGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> low_level_init
  - >> sys_timeout
  [Address Reference Count : 1]
  - netconf.o(i.LwIP_Init)

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

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

  fs_close (Thumb, 4 bytes, Stack size 0 bytes, fs.o(i.fs_close))
  [Calls]

  - >> fs_free
  [Called By]
  - >> http_server_serve

  fs_open (Thumb, 100 bytes, Stack size 24 bytes, fs.o(i.fs_open))
  [Stack]

  - Max Depth = 32
  - Call Chain = fs_open ⇒ strcmp
  [Calls]
  - >> fs_free
  - >> strcmp
  [Called By]
  - >> http_server_serve

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

  - >> LwIP_Init
  - >> tcp_output_set_header
  - >> tcp_output_segment
  - >> tcp_send_empty_ack
  - >> tcp_rst
  - >> tcp_keepalive
  - >> tcp_enqueue
  - >> autoip_start
  - >> dhcp_create_request
  - >> dhcp_bind
  - >> autoip_tmr

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

  - >> lwip_accept
  - >> http_server_socket_thread
  - >> tcp_output_set_header
  - >> tcp_output_segment
  - >> tcp_receive
  - >> tcp_zero_window_probe
  - >> tcp_rst
  - >> tcp_enqueue
  - >> ip_output_if
  - >> udp_sendto_if
  - >> etharp_arp_input
  - >> etharp_send_ip
  - >> lwip_standard_chksum
  - >> icmp_input
  - >> etharp_raw
  - >> ip_input
  - >> ethernet_input
  - >> lwip_recvfrom
  - >> tcp_output

  http_server_serve (Thumb, 168 bytes, Stack size 1512 bytes, httpserver-socket.o(i.http_server_serve))
  [Stack]

  - Max Depth = 1848
  - Call Chain = http_server_serve ⇒ DynWebPage ⇒ lwip_write ⇒ lwip_send ⇒ lwip_sendto ⇒ lwip_send (Cycle)
  [Calls]
  - >> lwip_write
  - >> lwip_read
  - >> lwip_close
  - >> DynWebPage
  - >> fs_open
  - >> fs_close
  - >> strncmp
  [Called By]
  - >> http_server_socket_thread

  http_server_socket_init (Thumb, 22 bytes, Stack size 8 bytes, httpserver-socket.o(i.http_server_socket_init))
  [Stack]

  - Max Depth = 176
  - Call Chain = http_server_socket_init ⇒ sys_thread_new ⇒ xTaskGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_thread_new
  [Called By]
  - >> main

  icmp_dest_unreach (Thumb, 102 bytes, Stack size 40 bytes, icmp.o(i.icmp_dest_unreach))
  [Stack]

  - Max Depth = 240
  - Call Chain = icmp_dest_unreach ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> ip_output
  - >> inet_chksum
  - >> pbuf_free
  - >> pbuf_alloc
  - >> __aeabi_memcpy
  [Called By]
  - >> udp_input
  - >> ip_input

  icmp_input (Thumb, 276 bytes, Stack size 48 bytes, icmp.o(i.icmp_input))
  [Stack]

  - Max Depth = 248
  - Call Chain = icmp_input ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> ip_addr_isbroadcast
  - >> ip_output_if
  - >> pbuf_header
  - >> ntohl
  - >> inet_chksum_pbuf
  - >> ntohs
  - >> pbuf_free
  - >> pbuf_copy
  - >> pbuf_alloc
  [Called By]
  - >> ip_input

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

  - Max Depth = 16
  - Call Chain = inet_chksum ⇒ lwip_standard_chksum
  [Calls]
  - >> lwip_standard_chksum
  [Called By]
  - >> icmp_dest_unreach

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

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

  ip_addr_isbroadcast (Thumb, 48 bytes, Stack size 0 bytes, ip_addr.o(i.ip_addr_isbroadcast))
  [Called By]

  - >> udp_input
  - >> tcp_input
  - >> etharp_query
  - >> etharp_output
  - >> update_arp_entry
  - >> icmp_input
  - >> ip_input

  ip_input (Thumb, 376 bytes, Stack size 40 bytes, ip.o(i.ip_input))
  [Stack]

  - Max Depth = 448
  - Call Chain = ip_input ⇒ tcp_input ⇒ tcp_process ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> icmp_dest_unreach
  - >> udp_input
  - >> ip_addr_isbroadcast
  - >> tcp_input
  - >> raw_input
  - >> netif_is_up
  - >> pbuf_realloc
  - >> ntohl
  - >> icmp_input
  - >> ntohs
  - >> pbuf_free
  [Called By]
  - >> ethernet_input
  - >> tcpip_thread

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

  - Max Depth = 88
  - Call Chain = ip_output ⇒ ip_output_if ⇒ pbuf_header
  [Calls]
  - >> ip_route
  - >> ip_output_if
  [Called By]
  - >> icmp_dest_unreach
  - >> tcp_output_segment
  - >> tcp_send_empty_ack
  - >> tcp_zero_window_probe
  - >> tcp_rst
  - >> tcp_keepalive

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

  - Max Depth = 48
  - Call Chain = ip_output_if ⇒ pbuf_header
  [Calls]
  - >> htons
  - >> pbuf_header
  - >> ntohs
  [Called By]
  - >> ip_output
  - >> udp_sendto_if
  - >> icmp_input
  - >> raw_sendto

  ip_route (Thumb, 62 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
  - >> udp_sendto
  - >> raw_sendto

  lwip_accept (Thumb, 266 bytes, Stack size 64 bytes, sockets.o(i.lwip_accept))
  [Stack]

  - Max Depth = 280
  - Call Chain = lwip_accept ⇒ netconn_delete ⇒ netconn_free ⇒ netconn_delete (Cycle)
  [Calls]
  - >> htons
  - >> sys_sem_wait
  - >> get_socket
  - >> alloc_socket
  - >> sys_sem_signal
  - >> netconn_getaddr
  - >> netconn_delete
  - >> netconn_accept
  - >> __aeabi_memcpy
  [Called By]
  - >> http_server_socket_thread

  lwip_bind (Thumb, 84 bytes, Stack size 24 bytes, sockets.o(i.lwip_bind))
  [Stack]

  - Max Depth = 216
  - Call Chain = lwip_bind ⇒ netconn_bind ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> ntohs
  - >> get_socket
  - >> netconn_bind
  [Called By]
  - >> http_server_socket_thread

  lwip_close (Thumb, 58 bytes, Stack size 16 bytes, sockets.o(i.lwip_close))
  [Stack]

  - Max Depth = 232
  - Call Chain = lwip_close ⇒ netconn_delete ⇒ netconn_free ⇒ netconn_delete (Cycle)
  [Calls]
  - >> sys_sem_wait
  - >> get_socket
  - >> sys_sem_signal
  - >> netbuf_delete
  - >> netconn_delete
  [Called By]
  - >> http_server_serve

  lwip_init (Thumb, 26 bytes, Stack size 8 bytes, init.o(i.lwip_init))
  [Stack]

  - Max Depth = 136
  - Call Chain = lwip_init ⇒ mem_init ⇒ sys_sem_new ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_init
  - >> memp_init
  - >> mem_init
  - >> autoip_init
  - >> lwip_socket_init
  [Called By]
  - >> tcpip_init

  lwip_listen (Thumb, 72 bytes, Stack size 16 bytes, sockets.o(i.lwip_listen))
  [Stack]

  - Max Depth = 208
  - Call Chain = lwip_listen ⇒ netconn_listen_with_backlog ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> get_socket
  - >> netconn_listen_with_backlog
  [Called By]
  - >> http_server_socket_thread

  lwip_read (Thumb, 14 bytes, Stack size 16 bytes, sockets.o(i.lwip_read))
  [Stack]

  - Max Depth = 304
  - Call Chain = lwip_read ⇒ lwip_recvfrom ⇒ netconn_recv ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> lwip_recvfrom
  [Called By]
  - >> http_server_serve

  lwip_recvfrom (Thumb, 386 bytes, Stack size 80 bytes, sockets.o(i.lwip_recvfrom))
  [Stack]

  - Max Depth = 288
  - Call Chain = lwip_recvfrom ⇒ netconn_recv ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> pbuf_copy_partial
  - >> get_socket
  - >> netbuf_delete
  - >> netconn_recv
  - >> netconn_getaddr
  - >> __aeabi_memcpy
  [Called By]
  - >> lwip_read

  lwip_send (Thumb, 100 bytes, Stack size 40 bytes, sockets.o(i.lwip_send))
  [Stack]

  - Max Depth = 312
  - Call Chain = lwip_send ⇒ lwip_sendto ⇒ lwip_send (Cycle)
  [Calls]
  - >> lwip_sendto
  - >> get_socket
  - >> netconn_write
  [Called By]
  - >> lwip_write
  - >> lwip_sendto

  lwip_sendto (Thumb, 176 bytes, Stack size 56 bytes, sockets.o(i.lwip_sendto))
  [Stack]

  - Max Depth = 272 + In Cycle
  - Call Chain = lwip_sendto ⇒ lwip_send (Cycle)
  [Calls]
  - >> ntohs
  - >> lwip_send
  - >> get_socket
  - >> netbuf_ref
  - >> netbuf_free
  - >> netconn_send
  [Called By]
  - >> lwip_send

  lwip_socket (Thumb, 80 bytes, Stack size 16 bytes, sockets.o(i.lwip_socket))
  [Stack]

  - Max Depth = 232
  - Call Chain = lwip_socket ⇒ netconn_delete ⇒ netconn_free ⇒ netconn_delete (Cycle)
  [Calls]
  - >> alloc_socket
  - >> netconn_new_with_proto_and_callback
  - >> netconn_delete
  [Called By]
  - >> http_server_socket_thread

  lwip_socket_init (Thumb, 22 bytes, Stack size 8 bytes, sockets.o(i.lwip_socket_init))
  [Stack]

  - Max Depth = 128
  - Call Chain = lwip_socket_init ⇒ sys_sem_new ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_sem_new
  [Called By]
  - >> lwip_init

  lwip_write (Thumb, 6 bytes, Stack size 0 bytes, sockets.o(i.lwip_write))
  [Stack]

  - Max Depth = 312
  - Call Chain = lwip_write ⇒ lwip_send ⇒ lwip_sendto ⇒ lwip_send (Cycle)
  [Calls]
  - >> lwip_send
  [Called By]
  - >> http_server_serve
  - >> DynWebPage

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

  - Max Depth = 456
  - Call Chain = main ⇒ LwIP_Init ⇒ netif_add ⇒ netif_set_addr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xTaskGenericCreate
  - >> vTaskStartScheduler
  - >> http_server_socket_init
  - >> LwIP_Init
  - >> ETH_BSP_Config
  - >> LCD_LED_Init
  [Address Reference Count : 1]
  - entry9a.o(.ARM.Collect$$$$0000000B)

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

  - Max Depth = 144
  - Call Chain = mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> plug_holes
  - >> sys_arch_sem_wait
  - >> sys_sem_signal
  [Called By]
  - >> pbuf_free

  mem_init (Thumb, 52 bytes, Stack size 8 bytes, mem.o(i.mem_init))
  [Stack]

  - Max Depth = 128
  - Call Chain = mem_init ⇒ sys_sem_new ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_sem_new
  [Called By]
  - >> lwip_init

  mem_malloc (Thumb, 194 bytes, Stack size 24 bytes, mem.o(i.mem_malloc))
  [Stack]

  - Max Depth = 152
  - Call Chain = mem_malloc ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_arch_sem_wait
  - >> sys_sem_signal
  [Called By]
  - >> autoip_start
  - >> pbuf_alloc

  mem_realloc (Thumb, 214 bytes, Stack size 32 bytes, mem.o(i.mem_realloc))
  [Stack]

  - Max Depth = 160
  - Call Chain = mem_realloc ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_arch_sem_wait
  - >> sys_sem_signal
  [Called By]
  - >> pbuf_realloc

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

  - >> tcpip_input
  - >> tcp_input
  - >> tcp_enqueue
  - >> tcp_slowtmr
  - >> tcp_seg_free
  - >> tcp_abandon
  - >> sys_untimeout
  - >> sys_mbox_fetch
  - >> tcpip_thread
  - >> sys_sem_wait
  - >> udp_remove
  - >> tcp_listen_with_backlog
  - >> tcp_close
  - >> raw_remove
  - >> pbuf_free
  - >> netbuf_delete
  - >> netconn_free
  - >> netconn_alloc
  - >> netconn_recv
  - >> netconn_new_with_proto_and_callback

  memp_init (Thumb, 78 bytes, Stack size 20 bytes, memp.o(i.memp_init))
  [Stack]

  - Max Depth = 20
  - Call Chain = memp_init
  [Called By]
  - >> lwip_init

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

  - >> tcpip_input
  - >> tcp_enqueue
  - >> tcp_alloc
  - >> sys_timeout
  - >> udp_new
  - >> tcp_listen_with_backlog
  - >> raw_new
  - >> pbuf_alloc
  - >> recv_udp
  - >> recv_raw
  - >> netconn_alloc
  - >> netconn_recv

  netbuf_delete (Thumb, 34 bytes, Stack size 8 bytes, netbuf.o(i.netbuf_delete))
  [Stack]

  - Max Depth = 168
  - Call Chain = netbuf_delete ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> pbuf_free
  - >> memp_free
  [Called By]
  - >> lwip_close
  - >> lwip_recvfrom
  - >> recv_udp
  - >> recv_raw
  - >> netconn_free

  netbuf_free (Thumb, 22 bytes, Stack size 8 bytes, netbuf.o(i.netbuf_free))
  [Stack]

  - Max Depth = 168
  - Call Chain = netbuf_free ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> pbuf_free
  [Called By]
  - >> lwip_sendto

  netbuf_ref (Thumb, 64 bytes, Stack size 16 bytes, netbuf.o(i.netbuf_ref))
  [Stack]

  - Max Depth = 216
  - Call Chain = netbuf_ref ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> pbuf_free
  - >> pbuf_alloc
  [Called By]
  - >> lwip_sendto

  netconn_accept (Thumb, 60 bytes, Stack size 32 bytes, api_lib.o(i.netconn_accept))
  [Stack]

  - Max Depth = 192
  - Call Chain = netconn_accept ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcpip_apimsg
  - >> sys_arch_mbox_fetch
  [Called By]
  - >> lwip_accept

  netconn_alloc (Thumb, 116 bytes, Stack size 24 bytes, api_msg.o(i.netconn_alloc))
  [Stack]

  - Max Depth = 144
  - Call Chain = netconn_alloc ⇒ sys_sem_new ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_sem_new
  - >> sys_mbox_new
  - >> sys_sem_free
  - >> memp_malloc
  - >> memp_free
  [Called By]
  - >> accept_function
  - >> netconn_new_with_proto_and_callback

  netconn_bind (Thumb, 40 bytes, Stack size 32 bytes, api_lib.o(i.netconn_bind))
  [Stack]

  - Max Depth = 192
  - Call Chain = netconn_bind ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcpip_apimsg
  [Called By]
  - >> lwip_bind

  netconn_delete (Thumb, 36 bytes, Stack size 32 bytes, api_lib.o(i.netconn_delete))
  [Stack]

  - Max Depth = 216
  - Call Chain = netconn_delete ⇒ netconn_free ⇒ netconn_delete (Cycle)
  [Calls]
  - >> tcpip_apimsg
  - >> netconn_free
  [Called By]
  - >> lwip_socket
  - >> lwip_close
  - >> lwip_accept
  - >> netconn_free

  netconn_free (Thumb, 104 bytes, Stack size 16 bytes, api_msg.o(i.netconn_free))
  [Stack]

  - Max Depth = 184 + In Cycle
  - Call Chain = netconn_free ⇒ netconn_delete (Cycle)
  [Calls]
  - >> sys_arch_mbox_tryfetch
  - >> pbuf_free
  - >> netbuf_delete
  - >> sys_sem_free
  - >> sys_mbox_free
  - >> memp_free
  - >> netconn_delete
  [Called By]
  - >> accept_function
  - >> netconn_delete

  netconn_getaddr (Thumb, 48 bytes, Stack size 32 bytes, api_lib.o(i.netconn_getaddr))
  [Stack]

  - Max Depth = 192
  - Call Chain = netconn_getaddr ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcpip_apimsg
  [Called By]
  - >> lwip_accept
  - >> lwip_recvfrom

  netconn_listen_with_backlog (Thumb, 38 bytes, Stack size 32 bytes, api_lib.o(i.netconn_listen_with_backlog))
  [Stack]

  - Max Depth = 192
  - Call Chain = netconn_listen_with_backlog ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcpip_apimsg
  [Called By]
  - >> lwip_listen

  netconn_new_with_proto_and_callback (Thumb, 66 bytes, Stack size 32 bytes, api_lib.o(i.netconn_new_with_proto_and_callback))
  [Stack]

  - Max Depth = 192
  - Call Chain = netconn_new_with_proto_and_callback ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcpip_apimsg
  - >> sys_sem_free
  - >> sys_mbox_free
  - >> netconn_alloc
  - >> memp_free
  [Called By]
  - >> lwip_socket

  netconn_recv (Thumb, 204 bytes, Stack size 48 bytes, api_lib.o(i.netconn_recv))
  [Stack]

  - Max Depth = 208
  - Call Chain = netconn_recv ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcpip_apimsg
  - >> sys_arch_mbox_fetch
  - >> memp_malloc
  - >> memp_free
  [Called By]
  - >> lwip_recvfrom

  netconn_send (Thumb, 36 bytes, Stack size 32 bytes, api_lib.o(i.netconn_send))
  [Stack]

  - Max Depth = 192
  - Call Chain = netconn_send ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcpip_apimsg
  [Called By]
  - >> lwip_sendto

  netconn_write (Thumb, 54 bytes, Stack size 32 bytes, api_lib.o(i.netconn_write))
  [Stack]

  - Max Depth = 192
  - Call Chain = netconn_write ⇒ tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcpip_apimsg
  [Called By]
  - >> lwip_send

  netif_add (Thumb, 72 bytes, Stack size 24 bytes, netif.o(i.netif_add))
  [Stack]

  - Max Depth = 384
  - Call Chain = netif_add ⇒ netif_set_addr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> netif_set_addr
  [Called By]
  - >> LwIP_Init

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

  - >> ip_route
  - >> autoip_start
  - >> ip_input

  netif_set_addr (Thumb, 32 bytes, Stack size 16 bytes, netif.o(i.netif_set_addr))
  [Stack]

  - Max Depth = 360
  - Call Chain = netif_set_addr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [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_down (Thumb, 18 bytes, Stack size 0 bytes, netif.o(i.netif_set_down))
  [Called By]

  - >> dhcp_release
  - >> autoip_start

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

  - >> netif_set_addr
  - >> dhcp_release
  - >> dhcp_bind
  - >> autoip_tmr

  netif_set_ipaddr (Thumb, 96 bytes, Stack size 16 bytes, netif.o(i.netif_set_ipaddr))
  [Stack]

  - Max Depth = 344
  - Call Chain = netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_abandon
  [Called By]
  - >> netif_set_addr
  - >> dhcp_release
  - >> dhcp_bind
  - >> autoip_tmr

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

  - >> netif_set_addr
  - >> dhcp_release
  - >> dhcp_bind
  - >> autoip_tmr

  netif_set_up (Thumb, 28 bytes, Stack size 0 bytes, netif.o(i.netif_set_up))
  [Stack]

  - Max Depth = 264
  - Call Chain = netif_set_up ⇒ etharp_request ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> etharp_request
  [Called By]
  - >> LwIP_Init
  - >> dhcp_bind
  - >> autoip_tmr

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

  - >> udp_input
  - >> tcp_output_segment
  - >> tcp_rexmit
  - >> tcp_input
  - >> tcp_receive
  - >> tcp_process
  - >> tcp_enqueue
  - >> etharp_query
  - >> etharp_output
  - >> update_arp_entry
  - >> icmp_input
  - >> autoip_start
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_decline
  - >> dhcp_bind
  - >> ip_input
  - >> tcp_output

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

  - >> lwip_bind
  - >> udp_input
  - >> tcp_output_set_header
  - >> tcp_input
  - >> tcp_receive
  - >> tcp_parseopt
  - >> tcp_zero_window_probe
  - >> tcp_rst
  - >> tcp_enqueue
  - >> ip_output_if
  - >> raw_input
  - >> icmp_input
  - >> ip_input
  - >> lwip_sendto
  - >> tcp_output

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

  - Max Depth = 200
  - Call Chain = pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> mem_malloc
  - >> pbuf_free
  - >> memp_malloc
  [Called By]
  - >> icmp_dest_unreach
  - >> tcp_send_empty_ack
  - >> tcp_zero_window_probe
  - >> tcp_rst
  - >> tcp_keepalive
  - >> tcp_enqueue
  - >> udp_sendto_if
  - >> low_level_input
  - >> icmp_input
  - >> etharp_raw
  - >> dhcp_create_request
  - >> netbuf_ref
  - >> raw_sendto
  - >> recv_raw

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

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

  pbuf_chain (Thumb, 18 bytes, Stack size 8 bytes, pbuf.o(i.pbuf_chain))
  [Stack]

  - Max Depth = 16
  - Call Chain = pbuf_chain ⇒ pbuf_cat
  [Calls]
  - >> pbuf_ref
  - >> pbuf_cat
  [Called By]
  - >> udp_sendto_if
  - >> raw_sendto

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

  - >> tcp_receive
  - >> tcp_enqueue

  pbuf_copy (Thumb, 144 bytes, Stack size 32 bytes, pbuf.o(i.pbuf_copy))
  [Stack]

  - Max Depth = 32
  - Call Chain = pbuf_copy
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> icmp_input
  - >> recv_raw

  pbuf_copy_partial (Thumb, 104 bytes, Stack size 32 bytes, pbuf.o(i.pbuf_copy_partial))
  [Stack]

  - Max Depth = 32
  - Call Chain = pbuf_copy_partial
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> lwip_recvfrom

  pbuf_free (Thumb, 68 bytes, Stack size 16 bytes, pbuf.o(i.pbuf_free))
  [Stack]

  - Max Depth = 160
  - Call Chain = pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> mem_free
  - >> memp_free
  [Called By]
  - >> icmp_dest_unreach
  - >> udp_input
  - >> tcp_send_empty_ack
  - >> tcp_input
  - >> tcp_zero_window_probe
  - >> tcp_rst
  - >> tcp_keepalive
  - >> tcp_enqueue
  - >> tcp_seg_free
  - >> tcp_recv_null
  - >> tcp_pcb_purge
  - >> udp_sendto_if
  - >> pbuf_realloc
  - >> ethernetif_input
  - >> etharp_arp_input
  - >> icmp_input
  - >> etharp_raw
  - >> dhcp_delete_request
  - >> ip_input
  - >> ethernet_input
  - >> netbuf_ref
  - >> netbuf_free
  - >> raw_sendto
  - >> pbuf_alloc
  - >> netbuf_delete
  - >> recv_udp
  - >> recv_raw
  - >> netconn_free

  pbuf_header (Thumb, 96 bytes, Stack size 8 bytes, pbuf.o(i.pbuf_header))
  [Stack]

  - Max Depth = 8
  - Call Chain = pbuf_header
  [Called By]
  - >> udp_input
  - >> tcp_input
  - >> tcp_receive
  - >> tcp_enqueue
  - >> ip_output_if
  - >> udp_sendto_if
  - >> etharp_output
  - >> icmp_input
  - >> ethernet_input
  - >> raw_sendto

  pbuf_realloc (Thumb, 78 bytes, Stack size 16 bytes, pbuf.o(i.pbuf_realloc))
  [Stack]

  - Max Depth = 176
  - Call Chain = pbuf_realloc ⇒ mem_realloc ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> mem_realloc
  - >> pbuf_free
  [Called By]
  - >> tcp_receive
  - >> dhcp_renew
  - >> dhcp_release
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover
  - >> dhcp_decline
  - >> ip_input

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

  - >> pbuf_chain

  pvPortMalloc (Thumb, 170 bytes, Stack size 24 bytes, heap_2.o(i.pvPortMalloc))
  [Stack]

  - Max Depth = 72
  - Call Chain = pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xTaskResumeAll
  - >> vTaskSuspendAll
  [Called By]
  - >> xTaskGenericCreate
  - >> xQueueCreate

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

  - Max Depth = 8
  - Call Chain = pxPortInitialiseStack
  [Called By]
  - >> xTaskGenericCreate

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

  - >> do_bind

  raw_input (Thumb, 100 bytes, Stack size 32 bytes, raw.o(i.raw_input))
  [Stack]

  - Max Depth = 32
  - Call Chain = raw_input
  [Calls]
  - >> ntohs
  [Called By]
  - >> ip_input

  raw_new (Thumb, 38 bytes, Stack size 16 bytes, raw.o(i.raw_new))
  [Stack]

  - Max Depth = 16
  - Call Chain = raw_new
  [Calls]
  - >> memp_malloc
  - >> __aeabi_memclr4
  [Called By]
  - >> pcb_new

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

  - >> pcb_new

  raw_remove (Thumb, 40 bytes, Stack size 0 bytes, raw.o(i.raw_remove))
  [Calls]

  - >> memp_free
  [Called By]
  - >> do_delconn

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

  - >> do_send

  raw_sendto (Thumb, 138 bytes, Stack size 40 bytes, raw.o(i.raw_sendto))
  [Stack]

  - Max Depth = 240
  - Call Chain = raw_sendto ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> ip_route
  - >> ip_output_if
  - >> pbuf_header
  - >> pbuf_chain
  - >> pbuf_free
  - >> pbuf_alloc
  [Called By]
  - >> do_send

  sys_arch_mbox_fetch (Thumb, 76 bytes, Stack size 32 bytes, sys_arch.o(i.sys_arch_mbox_fetch))
  [Stack]

  - Max Depth = 136
  - Call Chain = sys_arch_mbox_fetch ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xTaskGetTickCount
  - >> xQueueGenericReceive
  [Called By]
  - >> sys_mbox_fetch
  - >> netconn_recv
  - >> netconn_accept

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

  - Max Depth = 112
  - Call Chain = sys_arch_mbox_tryfetch ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xQueueGenericReceive
  [Called By]
  - >> netconn_free

  sys_arch_sem_wait (Thumb, 66 bytes, Stack size 24 bytes, sys_arch.o(i.sys_arch_sem_wait))
  [Stack]

  - Max Depth = 128
  - Call Chain = sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xTaskGetTickCount
  - >> xQueueGenericReceive
  [Called By]
  - >> mem_realloc
  - >> mem_malloc
  - >> mem_free
  - >> sys_sem_wait
  - >> tcpip_apimsg

  sys_arch_timeouts (Thumb, 40 bytes, Stack size 16 bytes, sys_arch.o(i.sys_arch_timeouts))
  [Stack]

  - Max Depth = 16
  - Call Chain = sys_arch_timeouts
  [Calls]
  - >> xTaskGetCurrentTaskHandle
  [Called By]
  - >> sys_untimeout
  - >> sys_timeout
  - >> sys_mbox_fetch
  - >> sys_sem_wait

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

  - >> lwip_init

  sys_mbox_fetch (Thumb, 96 bytes, Stack size 24 bytes, sys.o(i.sys_mbox_fetch))
  [Stack]

  - Max Depth = 160
  - Call Chain = sys_mbox_fetch ⇒ sys_arch_mbox_fetch ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_arch_timeouts
  - >> sys_arch_mbox_fetch
  - >> memp_free
  [Called By]
  - >> tcpip_thread

  sys_mbox_free (Thumb, 18 bytes, Stack size 8 bytes, sys_arch.o(i.sys_mbox_free))
  [Stack]

  - Max Depth = 72
  - Call Chain = sys_mbox_free ⇒ vQueueDelete ⇒ vPortFree ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vQueueDelete
  - >> uxQueueMessagesWaiting
  [Called By]
  - >> netconn_free
  - >> do_listen
  - >> netconn_new_with_proto_and_callback

  sys_mbox_new (Thumb, 8 bytes, Stack size 0 bytes, sys_arch.o(i.sys_mbox_new))
  [Stack]

  - Max Depth = 88
  - Call Chain = sys_mbox_new ⇒ xQueueCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xQueueCreate
  [Called By]
  - >> tcpip_init
  - >> netconn_alloc
  - >> do_listen

  sys_mbox_post (Thumb, 26 bytes, Stack size 24 bytes, sys_arch.o(i.sys_mbox_post))
  [Stack]

  - Max Depth = 120
  - Call Chain = sys_mbox_post ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xQueueGenericSend
  [Called By]
  - >> err_tcp
  - >> tcpip_apimsg

  sys_mbox_trypost (Thumb, 26 bytes, Stack size 16 bytes, sys_arch.o(i.sys_mbox_trypost))
  [Stack]

  - Max Depth = 112
  - Call Chain = sys_mbox_trypost ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xQueueGenericSend
  [Called By]
  - >> tcpip_input
  - >> recv_udp
  - >> recv_tcp
  - >> recv_raw
  - >> accept_function

  sys_sem_free (Thumb, 4 bytes, Stack size 0 bytes, sys_arch.o(i.sys_sem_free))
  [Stack]

  - Max Depth = 64
  - Call Chain = sys_sem_free ⇒ vQueueDelete ⇒ vPortFree ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vQueueDelete
  [Called By]
  - >> netconn_free
  - >> netconn_alloc
  - >> netconn_new_with_proto_and_callback

  sys_sem_new (Thumb, 50 bytes, Stack size 16 bytes, sys_arch.o(i.sys_sem_new))
  [Stack]

  - Max Depth = 120
  - Call Chain = sys_sem_new ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xQueueGenericSend
  - >> xQueueGenericReceive
  - >> xQueueCreate
  [Called By]
  - >> mem_init
  - >> lwip_socket_init
  - >> netconn_alloc

  sys_sem_signal (Thumb, 10 bytes, Stack size 0 bytes, sys_arch.o(i.sys_sem_signal))
  [Stack]

  - Max Depth = 96
  - Call Chain = sys_sem_signal ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xQueueGenericSend
  [Called By]
  - >> lwip_close
  - >> lwip_accept
  - >> mem_realloc
  - >> mem_malloc
  - >> mem_free
  - >> event_callback
  - >> alloc_socket
  - >> err_tcp
  - >> do_writemore
  - >> do_close_internal
  - >> do_write
  - >> do_send
  - >> do_recv
  - >> do_newconn
  - >> do_listen
  - >> do_getaddr
  - >> do_delconn
  - >> do_bind

  sys_sem_wait (Thumb, 86 bytes, Stack size 16 bytes, sys.o(i.sys_sem_wait))
  [Stack]

  - Max Depth = 144
  - Call Chain = sys_sem_wait ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_arch_timeouts
  - >> sys_arch_sem_wait
  - >> memp_free
  [Called By]
  - >> lwip_close
  - >> lwip_accept
  - >> event_callback
  - >> alloc_socket

  sys_thread_new (Thumb, 72 bytes, Stack size 40 bytes, sys_arch.o(i.sys_thread_new))
  [Stack]

  - Max Depth = 168
  - Call Chain = sys_thread_new ⇒ xTaskGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xTaskGenericCreate
  [Called By]
  - >> tcpip_init
  - >> http_server_socket_init

  sys_timeout (Thumb, 100 bytes, Stack size 24 bytes, sys.o(i.sys_timeout))
  [Stack]

  - Max Depth = 40
  - Call Chain = sys_timeout ⇒ sys_arch_timeouts
  [Calls]
  - >> sys_arch_timeouts
  - >> memp_malloc
  [Called By]
  - >> ethernetif_init
  - >> arp_timer
  - >> tcp_timer_needed
  - >> tcpip_thread
  - >> tcpip_tcp_timer
  - >> dhcp_timer_fine
  - >> dhcp_timer_coarse
  - >> autoip_timer
  - >> arp_timer

  sys_untimeout (Thumb, 78 bytes, Stack size 16 bytes, sys.o(i.sys_untimeout))
  [Stack]

  - Max Depth = 32
  - Call Chain = sys_untimeout ⇒ sys_arch_timeouts
  [Calls]
  - >> sys_arch_timeouts
  - >> memp_free
  [Called By]
  - >> tcpip_thread

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

  - Max Depth = 328
  - Call Chain = tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_rst
  - >> tcp_segs_free
  - >> tcp_pcb_remove
  - >> memp_free
  [Called By]
  - >> tcp_process
  - >> tcp_listen_input
  - >> tcp_alloc
  - >> netif_set_ipaddr

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

  - >> do_close_internal
  - >> do_listen

  tcp_alloc (Thumb, 250 bytes, Stack size 24 bytes, tcp.o(i.tcp_alloc))
  [Stack]

  - Max Depth = 352
  - Call Chain = tcp_alloc ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_next_iss
  - >> tcp_abandon
  - >> memp_malloc
  - >> __aeabi_memclr4
  [Called By]
  - >> tcp_listen_input
  - >> tcp_new

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

  - >> setup_tcp
  - >> do_close_internal
  - >> do_listen

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

  - Max Depth = 64
  - Call Chain = tcp_bind ⇒ tcp_timer_needed ⇒ sys_timeout ⇒ sys_arch_timeouts
  [Calls]
  - >> tcp_new_port
  - >> tcp_timer_needed
  [Called By]
  - >> do_bind

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

  - Max Depth = 328
  - Call Chain = tcp_close ⇒ tcp_send_ctrl ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_send_ctrl
  - >> tcp_pcb_remove
  - >> tcp_output
  - >> memp_free
  [Called By]
  - >> tcp_recv_null
  - >> do_close_internal

  tcp_eff_send_mss (Thumb, 32 bytes, Stack size 8 bytes, tcp.o(i.tcp_eff_send_mss))
  [Stack]

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

  tcp_enqueue (Thumb, 830 bytes, Stack size 96 bytes, tcp_out.o(i.tcp_enqueue))
  [Stack]

  - Max Depth = 296
  - Call Chain = tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> htonl
  - >> tcp_segs_free
  - >> pbuf_header
  - >> pbuf_clen
  - >> ntohl
  - >> ntohs
  - >> pbuf_cat
  - >> pbuf_free
  - >> pbuf_alloc
  - >> memp_malloc
  - >> memp_free
  - >> __aeabi_memcpy
  [Called By]
  - >> tcp_listen_input
  - >> tcp_send_ctrl
  - >> tcp_write

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

  - >> setup_tcp
  - >> do_close_internal

  tcp_fasttmr (Thumb, 86 bytes, Stack size 16 bytes, tcp.o(i.tcp_fasttmr))
  [Stack]

  - Max Depth = 352
  - Call Chain = tcp_fasttmr ⇒ tcp_recv_null ⇒ tcp_close ⇒ tcp_send_ctrl ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_recv_null
  - >> tcp_output
  [Called By]
  - >> tcp_tmr

  tcp_input (Thumb, 732 bytes, Stack size 32 bytes, tcp_in.o(i.tcp_input))
  [Stack]

  - Max Depth = 408
  - Call Chain = tcp_input ⇒ tcp_process ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> ip_addr_isbroadcast
  - >> tcp_timewait_input
  - >> tcp_process
  - >> tcp_listen_input
  - >> tcp_rst
  - >> tcp_recv_null
  - >> tcp_pcb_remove
  - >> pbuf_header
  - >> ntohl
  - >> ntohs
  - >> tcp_output
  - >> pbuf_free
  - >> memp_free
  [Called By]
  - >> ip_input

  tcp_keepalive (Thumb, 70 bytes, Stack size 24 bytes, tcp_out.o(i.tcp_keepalive))
  [Stack]

  - Max Depth = 224
  - Call Chain = tcp_keepalive ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htonl
  - >> ip_output
  - >> tcp_output_set_header
  - >> pbuf_free
  - >> pbuf_alloc
  [Called By]
  - >> tcp_slowtmr

  tcp_listen_with_backlog (Thumb, 140 bytes, Stack size 24 bytes, tcp.o(i.tcp_listen_with_backlog))
  [Stack]

  - Max Depth = 64
  - Call Chain = tcp_listen_with_backlog ⇒ tcp_timer_needed ⇒ sys_timeout ⇒ sys_arch_timeouts
  [Calls]
  - >> tcp_timer_needed
  - >> memp_malloc
  - >> memp_free
  [Called By]
  - >> do_listen

  tcp_new (Thumb, 6 bytes, Stack size 0 bytes, tcp.o(i.tcp_new))
  [Stack]

  - Max Depth = 352
  - Call Chain = tcp_new ⇒ tcp_alloc ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_alloc
  [Called By]
  - >> pcb_new

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

  - >> tcp_alloc

  tcp_output (Thumb, 424 bytes, Stack size 32 bytes, tcp_out.o(i.tcp_output))
  [Stack]

  - Max Depth = 256
  - Call Chain = tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> tcp_output_segment
  - >> tcp_send_empty_ack
  - >> tcp_seg_free
  - >> ntohl
  - >> ntohs
  [Called By]
  - >> tcp_input
  - >> tcp_timewait_input
  - >> tcp_receive
  - >> tcp_process
  - >> tcp_listen_input
  - >> tcp_rexmit_rto
  - >> tcp_slowtmr
  - >> tcp_pcb_remove
  - >> tcp_fasttmr
  - >> tcp_recved
  - >> tcp_close
  - >> do_writemore

  tcp_pcb_purge (Thumb, 94 bytes, Stack size 16 bytes, tcp.o(i.tcp_pcb_purge))
  [Stack]

  - Max Depth = 208
  - Call Chain = tcp_pcb_purge ⇒ tcp_segs_free ⇒ tcp_seg_free ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_segs_free
  - >> pbuf_free
  [Called By]
  - >> tcp_process
  - >> tcp_slowtmr
  - >> tcp_pcb_remove

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

  - Max Depth = 272
  - Call Chain = tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_pcb_purge
  - >> tcp_output
  [Called By]
  - >> tcp_input
  - >> tcp_abandon
  - >> tcp_close

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

  - >> setup_tcp
  - >> do_close_internal

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

  - >> setup_tcp
  - >> do_close_internal

  tcp_recv_null (Thumb, 36 bytes, Stack size 8 bytes, tcp.o(i.tcp_recv_null))
  [Stack]

  - Max Depth = 336
  - Call Chain = tcp_recv_null ⇒ tcp_close ⇒ tcp_send_ctrl ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_recved
  - >> tcp_close
  - >> pbuf_free
  [Called By]
  - >> tcp_input
  - >> tcp_fasttmr
  [Address Reference Count : 1]
  - tcp.o(i.tcp_alloc)

  tcp_recved (Thumb, 60 bytes, Stack size 8 bytes, tcp.o(i.tcp_recved))
  [Stack]

  - Max Depth = 264
  - Call Chain = tcp_recved ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_update_rcv_ann_wnd
  - >> tcp_output
  [Called By]
  - >> tcp_recv_null
  - >> do_recv

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

  - Max Depth = 24
  - Call Chain = tcp_rexmit
  [Calls]
  - >> ntohl
  [Called By]
  - >> tcp_rexmit_fast
  - >> tcp_process

  tcp_rexmit_fast (Thumb, 92 bytes, Stack size 8 bytes, tcp_out.o(i.tcp_rexmit_fast))
  [Stack]

  - Max Depth = 32
  - Call Chain = tcp_rexmit_fast ⇒ tcp_rexmit
  [Calls]
  - >> tcp_rexmit
  [Called By]
  - >> tcp_receive

  tcp_rexmit_rto (Thumb, 46 bytes, Stack size 0 bytes, tcp_out.o(i.tcp_rexmit_rto))
  [Stack]

  - Max Depth = 256
  - Call Chain = tcp_rexmit_rto ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_output
  [Called By]
  - >> tcp_slowtmr

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

  - Max Depth = 248
  - Call Chain = tcp_rst ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> htonl
  - >> ip_output
  - >> ntohs
  - >> pbuf_free
  - >> pbuf_alloc
  [Called By]
  - >> tcp_input
  - >> tcp_timewait_input
  - >> tcp_process
  - >> tcp_listen_input
  - >> tcp_slowtmr
  - >> tcp_abandon

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

  - Max Depth = 176
  - Call Chain = tcp_seg_free ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> pbuf_free
  - >> memp_free
  [Called By]
  - >> tcp_receive
  - >> tcp_process
  - >> tcp_segs_free
  - >> tcp_output

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

  - Max Depth = 192
  - Call Chain = tcp_segs_free ⇒ tcp_seg_free ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_seg_free
  [Called By]
  - >> tcp_enqueue
  - >> tcp_pcb_purge
  - >> tcp_abandon

  tcp_send_ctrl (Thumb, 22 bytes, Stack size 16 bytes, tcp_out.o(i.tcp_send_ctrl))
  [Stack]

  - Max Depth = 312
  - Call Chain = tcp_send_ctrl ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_enqueue
  [Called By]
  - >> tcp_close

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

  - Max Depth = 224
  - Call Chain = tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htonl
  - >> ip_output
  - >> tcp_output_set_header
  - >> pbuf_free
  - >> pbuf_alloc
  [Called By]
  - >> tcp_receive
  - >> tcp_output

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

  - >> setup_tcp
  - >> do_close_internal

  tcp_slowtmr (Thumb, 540 bytes, Stack size 40 bytes, tcp.o(i.tcp_slowtmr))
  [Stack]

  - Max Depth = 296
  - Call Chain = tcp_slowtmr ⇒ tcp_rexmit_rto ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_zero_window_probe
  - >> tcp_rst
  - >> tcp_rexmit_rto
  - >> tcp_keepalive
  - >> tcp_pcb_purge
  - >> tcp_output
  - >> memp_free
  [Called By]
  - >> tcp_tmr

  tcp_timer_needed (Thumb, 36 bytes, Stack size 0 bytes, tcpip.o(i.tcp_timer_needed))
  [Stack]

  - Max Depth = 40
  - Call Chain = tcp_timer_needed ⇒ sys_timeout ⇒ sys_arch_timeouts
  [Calls]
  - >> sys_timeout
  [Called By]
  - >> tcp_process
  - >> tcp_listen_input
  - >> tcp_listen_with_backlog
  - >> tcp_bind

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

  - Max Depth = 360
  - Call Chain = tcp_tmr ⇒ tcp_fasttmr ⇒ tcp_recv_null ⇒ tcp_close ⇒ tcp_send_ctrl ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_slowtmr
  - >> tcp_fasttmr
  [Called By]
  - >> tcpip_tcp_timer

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

  - Max Depth = 16
  - Call Chain = tcp_update_rcv_ann_wnd
  [Called By]
  - >> tcp_receive
  - >> tcp_recved

  tcp_write (Thumb, 46 bytes, Stack size 16 bytes, tcp_out.o(i.tcp_write))
  [Stack]

  - Max Depth = 312
  - Call Chain = tcp_write ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_enqueue
  [Called By]
  - >> do_writemore

  tcp_zero_window_probe (Thumb, 144 bytes, Stack size 32 bytes, tcp_out.o(i.tcp_zero_window_probe))
  [Stack]

  - Max Depth = 232
  - Call Chain = tcp_zero_window_probe ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> ip_output
  - >> tcp_output_set_header
  - >> ntohs
  - >> pbuf_free
  - >> pbuf_alloc
  [Called By]
  - >> tcp_slowtmr

  tcpip_apimsg (Thumb, 48 bytes, Stack size 32 bytes, tcpip.o(i.tcpip_apimsg))
  [Stack]

  - Max Depth = 160
  - Call Chain = tcpip_apimsg ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_arch_sem_wait
  - >> sys_mbox_post
  [Called By]
  - >> netconn_write
  - >> netconn_send
  - >> netconn_recv
  - >> netconn_new_with_proto_and_callback
  - >> netconn_listen_with_backlog
  - >> netconn_getaddr
  - >> netconn_delete
  - >> netconn_bind
  - >> netconn_accept

  tcpip_init (Thumb, 44 bytes, Stack size 24 bytes, tcpip.o(i.tcpip_init))
  [Stack]

  - Max Depth = 192
  - Call Chain = tcpip_init ⇒ sys_thread_new ⇒ xTaskGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_thread_new
  - >> lwip_init
  - >> sys_mbox_new
  [Called By]
  - >> LwIP_Init

  tcpip_input (Thumb, 68 bytes, Stack size 24 bytes, tcpip.o(i.tcpip_input))
  [Stack]

  - Max Depth = 136
  - Call Chain = tcpip_input ⇒ sys_mbox_trypost ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_mbox_trypost
  - >> memp_malloc
  - >> memp_free
  [Address Reference Count : 1]
  - netconf.o(i.LwIP_Init)

  udp_bind (Thumb, 86 bytes, Stack size 20 bytes, udp.o(i.udp_bind))
  [Stack]

  - Max Depth = 20
  - Call Chain = udp_bind
  [Called By]
  - >> udp_sendto_if
  - >> do_bind

  udp_input (Thumb, 396 bytes, Stack size 40 bytes, udp.o(i.udp_input))
  [Stack]

  - Max Depth = 280
  - Call Chain = udp_input ⇒ icmp_dest_unreach ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> icmp_dest_unreach
  - >> ip_addr_isbroadcast
  - >> pbuf_header
  - >> ntohl
  - >> ntohs
  - >> pbuf_free
  [Called By]
  - >> ip_input

  udp_new (Thumb, 26 bytes, Stack size 8 bytes, udp.o(i.udp_new))
  [Stack]

  - Max Depth = 8
  - Call Chain = udp_new
  [Calls]
  - >> memp_malloc
  - >> __aeabi_memclr4
  [Called By]
  - >> pcb_new

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

  - >> pcb_new

  udp_remove (Thumb, 40 bytes, Stack size 0 bytes, udp.o(i.udp_remove))
  [Calls]

  - >> memp_free
  [Called By]
  - >> do_delconn

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

  - >> do_send

  udp_sendto (Thumb, 40 bytes, Stack size 24 bytes, udp.o(i.udp_sendto))
  [Stack]

  - Max Depth = 272
  - Call Chain = udp_sendto ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> ip_route
  - >> udp_sendto_if
  [Called By]
  - >> do_send

  udp_sendto_if (Thumb, 176 bytes, Stack size 48 bytes, udp.o(i.udp_sendto_if))
  [Stack]

  - Max Depth = 248
  - Call Chain = udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> ip_output_if
  - >> pbuf_header
  - >> pbuf_chain
  - >> udp_bind
  - >> pbuf_free
  - >> pbuf_alloc
  [Called By]
  - >> dhcp_renew
  - >> dhcp_release
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover
  - >> dhcp_decline
  - >> udp_sendto

  uxQueueMessagesWaiting (Thumb, 18 bytes, Stack size 8 bytes, queue.o(i.uxQueueMessagesWaiting))
  [Stack]

  - Max Depth = 16
  - Call Chain = uxQueueMessagesWaiting ⇒ vPortEnterCritical
  [Calls]
  - >> vPortExitCritical
  - >> vPortEnterCritical
  [Called By]
  - >> sys_mbox_free

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

  - >> xTaskGenericCreate
  - >> xQueueCreate

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

  - >> xTaskGenericCreate

  vListInsert (Thumb, 48 bytes, Stack size 8 bytes, list.o(i.vListInsert))
  [Stack]

  - Max Depth = 8
  - Call Chain = vListInsert
  [Called By]
  - >> vTaskDelay
  - >> vTaskPlaceOnEventList

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

  - >> xTaskGenericCreate
  - >> xTaskRemoveFromEventList
  - >> vTaskPriorityInherit
  - >> vTaskPriorityDisinherit
  - >> xTaskResumeAll
  - >> vTaskIncrementTick

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

  - >> vTaskDelay
  - >> xTaskRemoveFromEventList
  - >> vTaskPriorityInherit
  - >> vTaskPriorityDisinherit
  - >> vTaskPlaceOnEventList
  - >> prvCheckTasksWaitingTermination
  - >> xTaskResumeAll
  - >> vTaskIncrementTick

  vPortEnterCritical (Thumb, 16 bytes, Stack size 8 bytes, port.o(i.vPortEnterCritical))
  [Stack]

  - Max Depth = 8
  - Call Chain = vPortEnterCritical
  [Calls]
  - >> vPortSetInterruptMask
  [Called By]
  - >> xTaskGenericCreate
  - >> xTaskGetTickCount
  - >> uxQueueMessagesWaiting
  - >> xQueueGenericSend
  - >> xQueueGenericReceive
  - >> prvUnlockQueue
  - >> xTaskCheckForTimeOut
  - >> prvCheckTasksWaitingTermination
  - >> xTaskResumeAll

  vPortExitCritical (Thumb, 16 bytes, Stack size 0 bytes, port.o(i.vPortExitCritical))
  [Calls]

  - >> vPortClearInterruptMask
  [Called By]
  - >> xTaskGenericCreate
  - >> xTaskGetTickCount
  - >> uxQueueMessagesWaiting
  - >> xQueueGenericSend
  - >> xQueueGenericReceive
  - >> prvUnlockQueue
  - >> xTaskCheckForTimeOut
  - >> prvCheckTasksWaitingTermination
  - >> xTaskResumeAll

  vPortFree (Thumb, 56 bytes, Stack size 8 bytes, heap_2.o(i.vPortFree))
  [Stack]

  - Max Depth = 56
  - Call Chain = vPortFree ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xTaskResumeAll
  - >> vTaskSuspendAll
  [Called By]
  - >> xTaskGenericCreate
  - >> vQueueDelete
  - >> xQueueCreate
  - >> prvCheckTasksWaitingTermination

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

  - >> ETH_IRQHandler
  - >> xTaskGenericCreate
  - >> vTaskDelay
  - >> xQueueGenericSend
  - >> xQueueGenericReceive
  - >> prvIdleTask
  - >> xTaskResumeAll

  vQueueDelete (Thumb, 20 bytes, Stack size 8 bytes, queue.o(i.vQueueDelete))
  [Stack]

  - Max Depth = 64
  - Call Chain = vQueueDelete ⇒ vPortFree ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vPortFree
  [Called By]
  - >> sys_sem_free
  - >> sys_mbox_free

  vTaskDelay (Thumb, 66 bytes, Stack size 16 bytes, tasks.o(i.vTaskDelay))
  [Stack]

  - Max Depth = 64
  - Call Chain = vTaskDelay ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vPortYieldFromISR
  - >> vListRemove
  - >> vListInsert
  - >> xTaskResumeAll
  - >> vTaskSuspendAll
  [Called By]
  - >> ToggleLed4

  vTaskIncrementTick (Thumb, 114 bytes, Stack size 16 bytes, tasks.o(i.vTaskIncrementTick))
  [Stack]

  - Max Depth = 16
  - Call Chain = vTaskIncrementTick
  [Calls]
  - >> vListRemove
  - >> vListInsertEnd
  [Called By]
  - >> xPortSysTickHandler
  - >> xTaskResumeAll

  vTaskList (Thumb, 118 bytes, Stack size 24 bytes, tasks.o(i.vTaskList))
  [Stack]

  - Max Depth = 88
  - Call Chain = vTaskList ⇒ prvListTaskWithinSingleList ⇒ __2sprintf
  [Calls]
  - >> strcat
  - >> prvListTaskWithinSingleList
  - >> xTaskResumeAll
  - >> vTaskSuspendAll
  [Called By]
  - >> DynWebPage

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

  - >> prvUnlockQueue

  vTaskPlaceOnEventList (Thumb, 54 bytes, Stack size 16 bytes, tasks.o(i.vTaskPlaceOnEventList))
  [Stack]

  - Max Depth = 24
  - Call Chain = vTaskPlaceOnEventList ⇒ vListInsert
  [Calls]
  - >> vListRemove
  - >> vListInsert
  [Called By]
  - >> xQueueGenericSend
  - >> xQueueGenericReceive

  vTaskPriorityDisinherit (Thumb, 64 bytes, Stack size 8 bytes, tasks.o(i.vTaskPriorityDisinherit))
  [Stack]

  - Max Depth = 8
  - Call Chain = vTaskPriorityDisinherit
  [Calls]
  - >> vListRemove
  - >> vListInsertEnd
  [Called By]
  - >> prvCopyDataToQueue

  vTaskPriorityInherit (Thumb, 90 bytes, Stack size 16 bytes, tasks.o(i.vTaskPriorityInherit))
  [Stack]

  - Max Depth = 16
  - Call Chain = vTaskPriorityInherit
  [Calls]
  - >> vListRemove
  - >> vListInsertEnd
  [Called By]
  - >> xQueueGenericReceive

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

  - >> xQueueGenericSend
  - >> xQueueGenericReceive
  - >> xTaskCheckForTimeOut

  vTaskStartScheduler (Thumb, 50 bytes, Stack size 24 bytes, tasks.o(i.vTaskStartScheduler))
  [Stack]

  - Max Depth = 152
  - Call Chain = vTaskStartScheduler ⇒ xTaskGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xTaskGenericCreate
  - >> xPortStartScheduler
  - >> vPortSetInterruptMask
  [Called By]
  - >> main

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

  - >> vTaskList
  - >> vTaskDelay
  - >> xQueueGenericSend
  - >> xQueueGenericReceive
  - >> prvCheckTasksWaitingTermination
  - >> vPortFree
  - >> pvPortMalloc

  vTaskSwitchContext (Thumb, 128 bytes, Stack size 0 bytes, tasks.o(i.vTaskSwitchContext))
  [Called By]

  - >> xPortPendSVHandler

  xPortStartScheduler (Thumb, 46 bytes, Stack size 8 bytes, port.o(i.xPortStartScheduler))
  [Stack]

  - Max Depth = 8
  - Call Chain = xPortStartScheduler
  [Calls]
  - >> vPortStartFirstTask
  [Called By]
  - >> vTaskStartScheduler

  xPortSysTickHandler (Thumb, 26 bytes, Stack size 8 bytes, port.o(i.xPortSysTickHandler))
  [Stack]

  - Max Depth = 24
  - Call Chain = xPortSysTickHandler ⇒ vTaskIncrementTick
  [Calls]
  - >> vTaskIncrementTick
  - >> vPortClearInterruptMask
  - >> vPortSetInterruptMask
  [Called By]
  - >> SysTick_Handler

  xQueueCreate (Thumb, 94 bytes, Stack size 16 bytes, queue.o(i.xQueueCreate))
  [Stack]

  - Max Depth = 88
  - Call Chain = xQueueCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vListInitialise
  - >> vPortFree
  - >> pvPortMalloc
  [Called By]
  - >> xQueueCreateCountingSemaphore
  - >> low_level_output
  - >> sys_sem_new
  - >> sys_mbox_new

  xQueueCreateCountingSemaphore (Thumb, 18 bytes, Stack size 8 bytes, queue.o(i.xQueueCreateCountingSemaphore))
  [Stack]

  - Max Depth = 96
  - Call Chain = xQueueCreateCountingSemaphore ⇒ xQueueCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xQueueCreate
  [Called By]
  - >> low_level_init

  xQueueGenericReceive (Thumb, 264 bytes, Stack size 56 bytes, queue.o(i.xQueueGenericReceive))
  [Stack]

  - Max Depth = 104
  - Call Chain = xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vPortYieldFromISR
  - >> xTaskGetCurrentTaskHandle
  - >> vPortExitCritical
  - >> vPortEnterCritical
  - >> prvUnlockQueue
  - >> prvCopyDataFromQueue
  - >> xTaskRemoveFromEventList
  - >> xTaskCheckForTimeOut
  - >> vTaskSetTimeOutState
  - >> vTaskPriorityInherit
  - >> vTaskPlaceOnEventList
  - >> xTaskResumeAll
  - >> vTaskSuspendAll
  [Called By]
  - >> low_level_output
  - >> ethernetif_input
  - >> sys_arch_sem_wait
  - >> sys_sem_new
  - >> sys_arch_mbox_tryfetch
  - >> sys_arch_mbox_fetch

  xQueueGenericSend (Thumb, 210 bytes, Stack size 48 bytes, queue.o(i.xQueueGenericSend))
  [Stack]

  - Max Depth = 96
  - Call Chain = xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vPortYieldFromISR
  - >> vPortExitCritical
  - >> vPortEnterCritical
  - >> prvUnlockQueue
  - >> prvCopyDataToQueue
  - >> xTaskRemoveFromEventList
  - >> xTaskCheckForTimeOut
  - >> vTaskSetTimeOutState
  - >> vTaskPlaceOnEventList
  - >> xTaskResumeAll
  - >> vTaskSuspendAll
  [Called By]
  - >> low_level_output
  - >> sys_sem_signal
  - >> sys_sem_new
  - >> sys_mbox_trypost
  - >> sys_mbox_post

  xQueueGenericSendFromISR (Thumb, 84 bytes, Stack size 24 bytes, queue.o(i.xQueueGenericSendFromISR))
  [Stack]

  - Max Depth = 40
  - Call Chain = xQueueGenericSendFromISR ⇒ prvCopyDataToQueue ⇒ vTaskPriorityDisinherit
  [Calls]
  - >> prvCopyDataToQueue
  - >> xTaskRemoveFromEventList
  - >> vPortClearInterruptMask
  - >> vPortSetInterruptMask
  [Called By]
  - >> ETH_IRQHandler

  xTaskCheckForTimeOut (Thumb, 68 bytes, Stack size 16 bytes, tasks.o(i.xTaskCheckForTimeOut))
  [Stack]

  - Max Depth = 24
  - Call Chain = xTaskCheckForTimeOut ⇒ vPortEnterCritical
  [Calls]
  - >> vPortExitCritical
  - >> vPortEnterCritical
  - >> vTaskSetTimeOutState
  [Called By]
  - >> xQueueGenericSend
  - >> xQueueGenericReceive

  xTaskGenericCreate (Thumb, 344 bytes, Stack size 56 bytes, tasks.o(i.xTaskGenericCreate))
  [Stack]

  - Max Depth = 128
  - Call Chain = xTaskGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vPortYieldFromISR
  - >> vPortExitCritical
  - >> vPortEnterCritical
  - >> strncpy
  - >> __aeabi_memset
  - >> vListInsertEnd
  - >> vListInitialiseItem
  - >> vListInitialise
  - >> vPortFree
  - >> pvPortMalloc
  - >> pxPortInitialiseStack
  [Called By]
  - >> sys_thread_new
  - >> vTaskStartScheduler
  - >> main
  - >> low_level_init

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

  - >> sys_arch_timeouts
  - >> xQueueGenericReceive

  xTaskGetTickCount (Thumb, 18 bytes, Stack size 8 bytes, tasks.o(i.xTaskGetTickCount))
  [Stack]

  - Max Depth = 16
  - Call Chain = xTaskGetTickCount ⇒ vPortEnterCritical
  [Calls]
  - >> vPortExitCritical
  - >> vPortEnterCritical
  [Called By]
  - >> sys_arch_sem_wait
  - >> sys_arch_mbox_fetch

  xTaskRemoveFromEventList (Thumb, 88 bytes, Stack size 16 bytes, tasks.o(i.xTaskRemoveFromEventList))
  [Stack]

  - Max Depth = 16
  - Call Chain = xTaskRemoveFromEventList
  [Calls]
  - >> vListRemove
  - >> vListInsertEnd
  [Called By]
  - >> xQueueGenericSendFromISR
  - >> xQueueGenericSend
  - >> xQueueGenericReceive
  - >> prvUnlockQueue

  xTaskResumeAll (Thumb, 166 bytes, Stack size 32 bytes, tasks.o(i.xTaskResumeAll))
  [Stack]

  - Max Depth = 48
  - Call Chain = xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vPortYieldFromISR
  - >> vPortExitCritical
  - >> vPortEnterCritical
  - >> vListRemove
  - >> vListInsertEnd
  - >> vTaskIncrementTick
  [Called By]
  - >> vTaskList
  - >> vTaskDelay
  - >> xQueueGenericSend
  - >> xQueueGenericReceive
  - >> prvCheckTasksWaitingTermination
  - >> vPortFree
  - >> pvPortMalloc

  ### Local Symbols

  SetSysClock (Thumb, 162 bytes, Stack size 12 bytes, system_stm32f4xx.o(i.SetSysClock))
  [Stack]

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

  ETH_GPIO_Config (Thumb, 194 bytes, Stack size 16 bytes, stm32f4x7_eth_bsp.o(i.ETH_GPIO_Config))
  [Stack]

  - Max Depth = 36
  - Call Chain = ETH_GPIO_Config ⇒ GPIO_Init
  [Calls]
  - >> SYSCFG_ETH_MediaInterfaceConfig
  - >> RCC_MCO1Config
  - >> RCC_APB2PeriphClockCmd
  - >> RCC_AHB1PeriphClockCmd
  - >> GPIO_PinAFConfig
  - >> GPIO_Init
  [Called By]
  - >> ETH_BSP_Config

  ETH_MACDMA_Config (Thumb, 124 bytes, Stack size 192 bytes, stm32f4x7_eth_bsp.o(i.ETH_MACDMA_Config))
  [Stack]

  - Max Depth = 264
  - Call Chain = ETH_MACDMA_Config ⇒ ETH_Init ⇒ ETH_WritePHYRegister
  [Calls]
  - >> RCC_AHB1PeriphClockCmd
  - >> ETH_StructInit
  - >> ETH_SoftwareReset
  - >> ETH_Init
  - >> ETH_GetSoftwareResetStatus
  - >> ETH_DeInit
  - >> ETH_DMAITConfig
  [Called By]
  - >> ETH_BSP_Config

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

  - >> fs_open
  - >> fs_close

  http_server_socket_thread (Thumb, 94 bytes, Stack size 48 bytes, httpserver-socket.o(i.http_server_socket_thread))
  [Stack]

  - Max Depth = 1896
  - Call Chain = http_server_socket_thread ⇒ http_server_serve ⇒ DynWebPage ⇒ lwip_write ⇒ lwip_send ⇒ lwip_sendto ⇒ lwip_send (Cycle)
  [Calls]
  - >> lwip_socket
  - >> lwip_listen
  - >> lwip_bind
  - >> lwip_accept
  - >> htons
  - >> http_server_serve
  - >> __2printf
  [Address Reference Count : 1]
  - httpserver-socket.o(i.http_server_socket_init)

  accept_function (Thumb, 88 bytes, Stack size 24 bytes, api_msg.o(i.accept_function))
  [Stack]

  - Max Depth = 208
  - Call Chain = accept_function ⇒ netconn_free ⇒ netconn_delete (Cycle)
  [Calls]
  - >> sys_mbox_trypost
  - >> setup_tcp
  - >> netconn_free
  - >> netconn_alloc
  [Address Reference Count : 1]
  - api_msg.o(i.do_listen)

  do_close_internal (Thumb, 156 bytes, Stack size 8 bytes, api_msg.o(i.do_close_internal))
  [Stack]

  - Max Depth = 336
  - Call Chain = do_close_internal ⇒ tcp_close ⇒ tcp_send_ctrl ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_sent
  - >> tcp_recv
  - >> tcp_poll
  - >> tcp_err
  - >> tcp_close
  - >> tcp_arg
  - >> tcp_accept
  - >> sys_sem_signal
  [Called By]
  - >> sent_tcp
  - >> poll_tcp
  - >> do_delconn

  do_writemore (Thumb, 184 bytes, Stack size 24 bytes, api_msg.o(i.do_writemore))
  [Stack]

  - Max Depth = 336
  - Call Chain = do_writemore ⇒ tcp_write ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_write
  - >> tcp_output
  - >> sys_sem_signal
  [Called By]
  - >> sent_tcp
  - >> poll_tcp

  err_tcp (Thumb, 100 bytes, Stack size 16 bytes, api_msg.o(i.err_tcp))
  [Stack]

  - Max Depth = 136
  - Call Chain = err_tcp ⇒ sys_mbox_post ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_sem_signal
  - >> sys_mbox_post
  [Address Reference Count : 2]
  - api_msg.o(i.do_close_internal)
  - api_msg.o(i.setup_tcp)

  pcb_new (Thumb, 136 bytes, Stack size 16 bytes, api_msg.o(i.pcb_new))
  [Stack]

  - Max Depth = 368
  - Call Chain = pcb_new ⇒ tcp_new ⇒ tcp_alloc ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_recv
  - >> udp_new
  - >> tcp_new
  - >> raw_recv
  - >> raw_new
  - >> setup_tcp
  [Called By]
  - >> do_newconn

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

  - Max Depth = 344
  - Call Chain = poll_tcp ⇒ do_writemore ⇒ tcp_write ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> do_writemore
  - >> do_close_internal
  [Address Reference Count : 2]
  - api_msg.o(i.do_close_internal)
  - api_msg.o(i.setup_tcp)

  recv_raw (Thumb, 114 bytes, Stack size 24 bytes, api_msg.o(i.recv_raw))
  [Stack]

  - Max Depth = 224
  - Call Chain = recv_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_mbox_trypost
  - >> pbuf_free
  - >> pbuf_copy
  - >> pbuf_alloc
  - >> netbuf_delete
  - >> memp_malloc
  [Address Reference Count : 1]
  - api_msg.o(i.pcb_new)

  recv_tcp (Thumb, 64 bytes, Stack size 16 bytes, api_msg.o(i.recv_tcp))
  [Stack]

  - Max Depth = 128
  - Call Chain = recv_tcp ⇒ sys_mbox_trypost ⇒ xQueueGenericSend ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_mbox_trypost
  [Address Reference Count : 1]
  - api_msg.o(i.setup_tcp)

  recv_udp (Thumb, 104 bytes, Stack size 24 bytes, api_msg.o(i.recv_udp))
  [Stack]

  - Max Depth = 192
  - Call Chain = recv_udp ⇒ netbuf_delete ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_mbox_trypost
  - >> pbuf_free
  - >> netbuf_delete
  - >> memp_malloc
  [Address Reference Count : 1]
  - api_msg.o(i.pcb_new)

  sent_tcp (Thumb, 66 bytes, Stack size 16 bytes, api_msg.o(i.sent_tcp))
  [Stack]

  - Max Depth = 352
  - Call Chain = sent_tcp ⇒ do_writemore ⇒ tcp_write ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> do_writemore
  - >> do_close_internal
  [Address Reference Count : 2]
  - api_msg.o(i.do_close_internal)
  - api_msg.o(i.setup_tcp)

  setup_tcp (Thumb, 50 bytes, Stack size 8 bytes, api_msg.o(i.setup_tcp))
  [Stack]

  - Max Depth = 8
  - Call Chain = setup_tcp
  [Calls]
  - >> tcp_sent
  - >> tcp_recv
  - >> tcp_poll
  - >> tcp_err
  - >> tcp_arg
  [Called By]
  - >> pcb_new
  - >> accept_function

  alloc_socket (Thumb, 82 bytes, Stack size 16 bytes, sockets.o(i.alloc_socket))
  [Stack]

  - Max Depth = 160
  - Call Chain = alloc_socket ⇒ sys_sem_wait ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_sem_wait
  - >> sys_sem_signal
  [Called By]
  - >> lwip_socket
  - >> lwip_accept

  event_callback (Thumb, 226 bytes, Stack size 24 bytes, sockets.o(i.event_callback))
  [Stack]

  - Max Depth = 168
  - Call Chain = event_callback ⇒ sys_sem_wait ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_sem_wait
  - >> get_socket
  - >> sys_sem_signal
  [Address Reference Count : 2]
  - sockets.o(i.lwip_accept)
  - sockets.o(i.lwip_socket)

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

  - >> lwip_listen
  - >> lwip_close
  - >> lwip_bind
  - >> lwip_accept
  - >> lwip_sendto
  - >> lwip_send
  - >> lwip_recvfrom
  - >> event_callback

  arp_timer (Thumb, 22 bytes, Stack size 8 bytes, tcpip.o(i.arp_timer))
  [Stack]

  - Max Depth = 48
  - Call Chain = arp_timer ⇒ sys_timeout ⇒ sys_arch_timeouts
  [Calls]
  - >> sys_timeout
  - >> etharp_tmr
  [Address Reference Count : 2]
  - tcpip.o(i.arp_timer)
  - tcpip.o(i.tcpip_thread)

  autoip_timer (Thumb, 20 bytes, Stack size 8 bytes, tcpip.o(i.autoip_timer))
  [Stack]

  - Max Depth = 392
  - Call Chain = autoip_timer ⇒ autoip_tmr ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_timeout
  - >> autoip_tmr
  [Address Reference Count : 2]
  - tcpip.o(i.autoip_timer)
  - tcpip.o(i.tcpip_thread)

  dhcp_timer_coarse (Thumb, 22 bytes, Stack size 8 bytes, tcpip.o(i.dhcp_timer_coarse))
  [Stack]

  - Max Depth = 288
  - Call Chain = dhcp_timer_coarse ⇒ dhcp_coarse_tmr ⇒ dhcp_renew ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_timeout
  - >> dhcp_coarse_tmr
  [Address Reference Count : 2]
  - tcpip.o(i.dhcp_timer_coarse)
  - tcpip.o(i.tcpip_thread)

  dhcp_timer_fine (Thumb, 22 bytes, Stack size 8 bytes, tcpip.o(i.dhcp_timer_fine))
  [Stack]

  - Max Depth = 408
  - Call Chain = dhcp_timer_fine ⇒ dhcp_fine_tmr ⇒ dhcp_timeout ⇒ dhcp_bind ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_timeout
  - >> dhcp_fine_tmr
  [Address Reference Count : 2]
  - tcpip.o(i.dhcp_timer_fine)
  - tcpip.o(i.tcpip_thread)

  tcpip_tcp_timer (Thumb, 40 bytes, Stack size 8 bytes, tcpip.o(i.tcpip_tcp_timer))
  [Stack]

  - Max Depth = 368
  - Call Chain = tcpip_tcp_timer ⇒ tcp_tmr ⇒ tcp_fasttmr ⇒ tcp_recv_null ⇒ tcp_close ⇒ tcp_send_ctrl ⇒ tcp_enqueue ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_tmr
  - >> sys_timeout
  [Address Reference Count : 2]
  - tcpip.o(i.tcp_timer_needed)
  - tcpip.o(i.tcpip_tcp_timer)

  tcpip_thread (Thumb, 160 bytes, Stack size 8 bytes, tcpip.o(i.tcpip_thread))
  [Stack]

  - Max Depth = 472
  - Call Chain = tcpip_thread ⇒ ethernet_input ⇒ ip_input ⇒ tcp_input ⇒ tcp_process ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> sys_untimeout
  - >> sys_timeout
  - >> sys_mbox_fetch
  - >> ip_input
  - >> ethernet_input
  - >> memp_free
  [Address Reference Count : 1]
  - tcpip.o(i.tcpip_init)

  dhcp_bind (Thumb, 210 bytes, Stack size 32 bytes, dhcp.o(i.dhcp_bind))
  [Stack]

  - Max Depth = 376
  - Call Chain = dhcp_bind ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> netif_set_up
  - >> htonl
  - >> ntohl
  - >> netif_set_netmask
  - >> netif_set_ipaddr
  - >> netif_set_gw
  - >> dhcp_set_state
  [Called By]
  - >> dhcp_timeout

  dhcp_check (Thumb, 48 bytes, Stack size 16 bytes, dhcp.o(i.dhcp_check))
  [Stack]

  - Max Depth = 312
  - Call Chain = dhcp_check ⇒ etharp_query ⇒ etharp_request ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> etharp_query
  - >> dhcp_set_state
  [Called By]
  - >> dhcp_timeout

  dhcp_create_request (Thumb, 252 bytes, Stack size 16 bytes, dhcp.o(i.dhcp_create_request))
  [Stack]

  - Max Depth = 216
  - Call Chain = dhcp_create_request ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htonl
  - >> pbuf_alloc
  [Called By]
  - >> dhcp_renew
  - >> dhcp_release
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover
  - >> dhcp_decline

  dhcp_decline (Thumb, 128 bytes, Stack size 24 bytes, dhcp.o(i.dhcp_decline))
  [Stack]

  - Max Depth = 272
  - Call Chain = dhcp_decline ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_sendto_if
  - >> pbuf_realloc
  - >> ntohl
  - >> dhcp_set_state
  - >> dhcp_option_trailer
  - >> dhcp_option_long
  - >> dhcp_option_byte
  - >> dhcp_option
  - >> dhcp_delete_request
  - >> dhcp_create_request
  [Called By]
  - >> dhcp_arp_reply

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

  - Max Depth = 168
  - Call Chain = dhcp_delete_request ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> pbuf_free
  [Called By]
  - >> dhcp_renew
  - >> dhcp_release
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover
  - >> dhcp_decline

  dhcp_discover (Thumb, 200 bytes, Stack size 24 bytes, dhcp.o(i.dhcp_discover))
  [Stack]

  - Max Depth = 272
  - Call Chain = dhcp_discover ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_sendto_if
  - >> pbuf_realloc
  - >> dhcp_set_state
  - >> dhcp_option_trailer
  - >> dhcp_option_short
  - >> dhcp_option_byte
  - >> dhcp_option
  - >> dhcp_delete_request
  - >> dhcp_create_request
  [Called By]
  - >> dhcp_timeout

  dhcp_option (Thumb, 32 bytes, Stack size 8 bytes, dhcp.o(i.dhcp_option))
  [Stack]

  - Max Depth = 8
  - Call Chain = dhcp_option
  [Called By]
  - >> dhcp_renew
  - >> dhcp_release
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover
  - >> dhcp_decline

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

  - >> dhcp_renew
  - >> dhcp_release
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover
  - >> dhcp_decline

  dhcp_option_long (Thumb, 66 bytes, Stack size 8 bytes, dhcp.o(i.dhcp_option_long))
  [Stack]

  - Max Depth = 8
  - Call Chain = dhcp_option_long
  [Called By]
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_decline

  dhcp_option_short (Thumb, 34 bytes, Stack size 8 bytes, dhcp.o(i.dhcp_option_short))
  [Stack]

  - Max Depth = 8
  - Call Chain = dhcp_option_short
  [Called By]
  - >> dhcp_renew
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover

  dhcp_option_trailer (Thumb, 48 bytes, Stack size 0 bytes, dhcp.o(i.dhcp_option_trailer))
  [Called By]

  - >> dhcp_renew
  - >> dhcp_release
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover
  - >> dhcp_decline

  dhcp_rebind (Thumb, 144 bytes, Stack size 24 bytes, dhcp.o(i.dhcp_rebind))
  [Stack]

  - Max Depth = 272
  - Call Chain = dhcp_rebind ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_sendto_if
  - >> pbuf_realloc
  - >> dhcp_set_state
  - >> dhcp_option_trailer
  - >> dhcp_option_short
  - >> dhcp_option_byte
  - >> dhcp_option
  - >> dhcp_delete_request
  - >> dhcp_create_request
  [Called By]
  - >> dhcp_timeout
  - >> dhcp_coarse_tmr

  dhcp_reboot (Thumb, 170 bytes, Stack size 24 bytes, dhcp.o(i.dhcp_reboot))
  [Stack]

  - Max Depth = 272
  - Call Chain = dhcp_reboot ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_sendto_if
  - >> pbuf_realloc
  - >> ntohl
  - >> dhcp_set_state
  - >> dhcp_option_trailer
  - >> dhcp_option_short
  - >> dhcp_option_long
  - >> dhcp_option_byte
  - >> dhcp_option
  - >> dhcp_delete_request
  - >> dhcp_create_request
  [Called By]
  - >> dhcp_timeout

  dhcp_select (Thumb, 242 bytes, Stack size 24 bytes, dhcp.o(i.dhcp_select))
  [Stack]

  - Max Depth = 272
  - Call Chain = dhcp_select ⇒ udp_sendto_if ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> udp_sendto_if
  - >> pbuf_realloc
  - >> ntohl
  - >> dhcp_set_state
  - >> dhcp_option_trailer
  - >> dhcp_option_short
  - >> dhcp_option_long
  - >> dhcp_option_byte
  - >> dhcp_option
  - >> dhcp_delete_request
  - >> dhcp_create_request
  [Called By]
  - >> dhcp_timeout

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

  - >> dhcp_renew
  - >> dhcp_release
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover
  - >> dhcp_decline
  - >> dhcp_check
  - >> dhcp_bind

  dhcp_timeout (Thumb, 136 bytes, Stack size 8 bytes, dhcp.o(i.dhcp_timeout))
  [Stack]

  - Max Depth = 384
  - Call Chain = dhcp_timeout ⇒ dhcp_bind ⇒ netif_set_ipaddr ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> dhcp_renew
  - >> dhcp_release
  - >> dhcp_select
  - >> dhcp_reboot
  - >> dhcp_rebind
  - >> dhcp_discover
  - >> dhcp_check
  - >> dhcp_bind
  [Called By]
  - >> dhcp_fine_tmr

  plug_holes (Thumb, 78 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, 6 bytes, Stack size 0 bytes, tcp.o(i.tcp_accept_null))
  [Address Reference Count : 1]

  - tcp.o(i.tcp_listen_with_backlog)

  tcp_new_port (Thumb, 92 bytes, Stack size 20 bytes, tcp.o(i.tcp_new_port))
  [Stack]

  - Max Depth = 20
  - Call Chain = tcp_new_port
  [Called By]
  - >> tcp_bind

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

  - Max Depth = 376
  - Call Chain = tcp_listen_input ⇒ tcp_alloc ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_parseopt
  - >> tcp_rst
  - >> tcp_enqueue
  - >> tcp_eff_send_mss
  - >> tcp_alloc
  - >> tcp_abandon
  - >> tcp_timer_needed
  - >> tcp_output
  [Called By]
  - >> tcp_input

  tcp_parseopt (Thumb, 122 bytes, Stack size 16 bytes, tcp_in.o(i.tcp_parseopt))
  [Stack]

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

  tcp_process (Thumb, 816 bytes, Stack size 48 bytes, tcp_in.o(i.tcp_process))
  [Stack]

  - Max Depth = 376
  - Call Chain = tcp_process ⇒ tcp_abandon ⇒ tcp_pcb_remove ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_rexmit
  - >> tcp_receive
  - >> tcp_parseopt
  - >> tcp_rst
  - >> tcp_seg_free
  - >> tcp_pcb_purge
  - >> tcp_eff_send_mss
  - >> tcp_abandon
  - >> ntohl
  - >> tcp_timer_needed
  - >> tcp_output
  [Called By]
  - >> tcp_input

  tcp_receive (Thumb, 1082 bytes, Stack size 24 bytes, tcp_in.o(i.tcp_receive))
  [Stack]

  - Max Depth = 280
  - Call Chain = tcp_receive ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> htons
  - >> tcp_send_empty_ack
  - >> tcp_rexmit_fast
  - >> tcp_update_rcv_ann_wnd
  - >> tcp_seg_free
  - >> pbuf_header
  - >> pbuf_clen
  - >> pbuf_realloc
  - >> ntohl
  - >> ntohs
  - >> tcp_output
  [Called By]
  - >> tcp_process

  tcp_timewait_input (Thumb, 100 bytes, Stack size 16 bytes, tcp_in.o(i.tcp_timewait_input))
  [Stack]

  - Max Depth = 272
  - Call Chain = tcp_timewait_input ⇒ tcp_output ⇒ tcp_send_empty_ack ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> tcp_rst
  - >> tcp_output
  [Called By]
  - >> tcp_input

  tcp_output_segment (Thumb, 168 bytes, Stack size 24 bytes, tcp_out.o(i.tcp_output_segment))
  [Stack]

  - Max Depth = 112
  - Call Chain = tcp_output_segment ⇒ ip_output ⇒ ip_output_if ⇒ pbuf_header
  [Calls]
  - >> htons
  - >> htonl
  - >> ip_output
  - >> ip_route
  - >> ntohl
  [Called By]
  - >> tcp_output

  tcp_output_set_header (Thumb, 124 bytes, Stack size 24 bytes, tcp_out.o(i.tcp_output_set_header))
  [Stack]

  - Max Depth = 24
  - Call Chain = tcp_output_set_header
  [Calls]
  - >> htons
  - >> htonl
  - >> ntohs
  [Called By]
  - >> tcp_send_empty_ack
  - >> tcp_zero_window_probe
  - >> tcp_keepalive

  autoip_arp_announce (Thumb, 32 bytes, Stack size 24 bytes, autoip.o(i.autoip_arp_announce))
  [Stack]

  - Max Depth = 264
  - Call Chain = autoip_arp_announce ⇒ etharp_raw ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> etharp_raw
  [Called By]
  - >> autoip_arp_reply
  - >> autoip_tmr

  autoip_start_probing (Thumb, 68 bytes, Stack size 8 bytes, autoip.o(i.autoip_start_probing))
  [Stack]

  - Max Depth = 8
  - Call Chain = autoip_start_probing
  [Called By]
  - >> autoip_start

  lwip_standard_chksum (Thumb, 62 bytes, Stack size 8 bytes, inet_chksum.o(i.lwip_standard_chksum))
  [Stack]

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

  etharp_send_ip (Thumb, 54 bytes, Stack size 24 bytes, etharp.o(i.etharp_send_ip))
  [Stack]

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

  find_entry (Thumb, 232 bytes, Stack size 36 bytes, etharp.o(i.find_entry))
  [Stack]

  - Max Depth = 36
  - Call Chain = find_entry
  [Called By]
  - >> etharp_query
  - >> update_arp_entry

  update_arp_entry (Thumb, 108 bytes, Stack size 24 bytes, etharp.o(i.update_arp_entry))
  [Stack]

  - Max Depth = 60
  - Call Chain = update_arp_entry ⇒ find_entry
  [Calls]
  - >> ip_addr_isbroadcast
  - >> ntohl
  - >> find_entry
  [Called By]
  - >> etharp_arp_input

  arp_timer (Thumb, 22 bytes, Stack size 8 bytes, ethernetif.o(i.arp_timer))
  [Stack]

  - Max Depth = 48
  - Call Chain = arp_timer ⇒ sys_timeout ⇒ sys_arch_timeouts
  [Calls]
  - >> sys_timeout
  - >> etharp_tmr
  [Address Reference Count : 2]
  - ethernetif.o(i.arp_timer)
  - ethernetif.o(i.ethernetif_init)

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

  - Max Depth = 240
  - Call Chain = ethernetif_input ⇒ low_level_input ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xQueueGenericReceive
  - >> low_level_input
  - >> pbuf_free
  [Address Reference Count : 1]
  - ethernetif.o(i.low_level_init)

  low_level_init (Thumb, 174 bytes, Stack size 40 bytes, ethernetif.o(i.low_level_init))
  [Stack]

  - Max Depth = 168
  - Call Chain = low_level_init ⇒ xTaskGenericCreate ⇒ pvPortMalloc ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xTaskGenericCreate
  - >> xQueueCreateCountingSemaphore
  - >> ETH_Start
  - >> ETH_MACAddressConfig
  - >> ETH_DMATxDescChecksumInsertionConfig
  - >> ETH_DMATxDescChainInit
  - >> ETH_DMARxDescReceiveITConfig
  - >> ETH_DMARxDescChainInit
  [Called By]
  - >> ethernetif_init

  low_level_input (Thumb, 126 bytes, Stack size 40 bytes, ethernetif.o(i.low_level_input))
  [Stack]

  - Max Depth = 240
  - Call Chain = low_level_input ⇒ pbuf_alloc ⇒ pbuf_free ⇒ mem_free ⇒ sys_arch_sem_wait ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> ETH_Get_Received_Frame_interrupt
  - >> pbuf_alloc
  - >> __aeabi_memcpy
  [Called By]
  - >> ethernetif_input

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

  - Max Depth = 128
  - Call Chain = low_level_output ⇒ xQueueGenericReceive ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> xQueueGenericSend
  - >> xQueueGenericReceive
  - >> xQueueCreate
  - >> ETH_Prepare_Transmit_Descriptors
  - >> __aeabi_memcpy
  [Address Reference Count : 1]
  - ethernetif.o(i.ethernetif_init)

  ETH_Delay (Thumb, 18 bytes, Stack size 12 bytes, stm32f4x7_eth.o(i.ETH_Delay))
  [Stack]

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

  prvCheckTasksWaitingTermination (Thumb, 86 bytes, Stack size 16 bytes, tasks.o(i.prvCheckTasksWaitingTermination))
  [Stack]

  - Max Depth = 72
  - Call Chain = prvCheckTasksWaitingTermination ⇒ vPortFree ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vPortExitCritical
  - >> vPortEnterCritical
  - >> vListRemove
  - >> xTaskResumeAll
  - >> vTaskSuspendAll
  - >> vPortFree
  [Called By]
  - >> prvIdleTask

  prvIdleTask (Thumb, 20 bytes, Stack size 0 bytes, tasks.o(i.prvIdleTask))
  [Stack]

  - Max Depth = 72
  - Call Chain = prvIdleTask ⇒ prvCheckTasksWaitingTermination ⇒ vPortFree ⇒ xTaskResumeAll ⇒ vTaskIncrementTick
  [Calls]
  - >> vPortYieldFromISR
  - >> prvCheckTasksWaitingTermination
  [Address Reference Count : 1]
  - tasks.o(i.vTaskStartScheduler)

  prvListTaskWithinSingleList (Thumb, 110 bytes, Stack size 40 bytes, tasks.o(i.prvListTaskWithinSingleList))
  [Stack]

  - Max Depth = 64
  - Call Chain = prvListTaskWithinSingleList ⇒ __2sprintf
  [Calls]
  - >> __2sprintf
  - >> strcat
  [Called By]
  - >> vTaskList

  prvCopyDataFromQueue (Thumb, 40 bytes, Stack size 8 bytes, queue.o(i.prvCopyDataFromQueue))
  [Stack]

  - Max Depth = 8
  - Call Chain = prvCopyDataFromQueue
  [Calls]
  - >> __aeabi_memcpy
  [Called By]
  - >> xQueueGenericReceive

  prvCopyDataToQueue (Thumb, 90 bytes, Stack size 8 bytes, queue.o(i.prvCopyDataToQueue))
  [Stack]

  - Max Depth = 16
  - Call Chain = prvCopyDataToQueue ⇒ vTaskPriorityDisinherit
  [Calls]
  - >> __aeabi_memcpy
  - >> vTaskPriorityDisinherit
  [Called By]
  - >> xQueueGenericSendFromISR
  - >> xQueueGenericSend

  prvUnlockQueue (Thumb, 100 bytes, Stack size 16 bytes, queue.o(i.prvUnlockQueue))
  [Stack]

  - Max Depth = 32
  - Call Chain = prvUnlockQueue ⇒ xTaskRemoveFromEventList
  [Calls]
  - >> vPortExitCritical
  - >> vPortEnterCritical
  - >> xTaskRemoveFromEventList
  - >> vTaskMissedYield
  [Called By]
  - >> xQueueGenericSend
  - >> xQueueGenericReceive

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

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

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

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

  ### Undefined Global Symbols