# Static Call Graph for image ..\output\app.axf

#<CALLGRAPH># ARM Linker, 5.03 [Build 76]: Last Updated: Mon Dec 17 14:08:39 2018

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

### Call chain for Maximum Stack Depth:

__rt_entry_main ⇒ main ⇒ httpServer_run ⇒ http_process_handler ⇒ http_get_cgi_handler ⇒ predefined_get_cgi_processor ⇒ make_json_netinfo ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf

### Mutually Recursive functions

- RTC_Handler ⇒ RTC_Handler

  ### Function Pointers

  - ADC_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - DMA_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - DUALTIMER0_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - DUALTIMER1_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - EXTI_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - HardFault_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - I2C0_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - I2C1_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - NMI_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - NVIC_SystemReset from main.o(.text) referenced from main.o(.text)
  - PORT0_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PORT1_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PORT2_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PORT3_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PWM0_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PWM1_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PWM2_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PWM3_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PWM4_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PWM5_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PWM6_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PWM7_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - PendSV_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - RTC_Handler from startup_w7500x.o(.text) referenced from startup_w7500x.o(RESET)
  - Reset_Handler from startup_w7500x.o(.text) referenced from startup_w7500x.o(RESET)
  - SSP0_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - SSP1_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - SVC_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - SysTick_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - SystemInit from system_w7500x.o(.text) referenced from startup_w7500x.o(.text)
  - UART0_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - UART1_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - UART2_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - WZTOE_Handler from w7500x_it.o(.text) referenced from startup_w7500x.o(RESET)
  - __main from __main.o(!!!main) referenced from startup_w7500x.o(.text)
  - _get_lc_ctype from lc_ctype_c.o(locale$$code) referenced from rt_ctype_table.o(.text)
  - _printf_fp_dec_real from _printf_fp_dec.o(.text) referenced from printf1.o(x$fpl$printf1)
  - _printf_input_char from _printf_char_common.o(.text) referenced from _printf_char_common.o(.text)
  - _sputc from _sputc.o(.text) referenced from __2sprintf.o(.text)
  - default_mcu_reset from httpserver.o(.text) referenced from httpserver.o(.data)
  - default_wdt_reset from httpserver.o(.text) referenced from httpserver.o(.data)
  - fputc from retarget.o(.text) referenced from _printf_char_file.o(.text)
  - wizchip_bus_readbyte from wizchip_conf.o(.text) referenced from wizchip_conf.o(.data)
  - wizchip_bus_readbyte from wizchip_conf.o(.text) referenced from wizchip_conf.o(.text)
  - wizchip_bus_writebyte from wizchip_conf.o(.text) referenced from wizchip_conf.o(.data)
  - wizchip_bus_writebyte from wizchip_conf.o(.text) referenced from wizchip_conf.o(.text)
  - wizchip_cris_enter from wizchip_conf.o(.text) referenced from wizchip_conf.o(.data)
  - wizchip_cris_enter from wizchip_conf.o(.text) referenced from wizchip_conf.o(.text)
  - wizchip_cris_exit from wizchip_conf.o(.text) referenced from wizchip_conf.o(.data)
  - wizchip_cris_exit from wizchip_conf.o(.text) referenced from wizchip_conf.o(.text)
  - wizchip_cs_deselect from wizchip_conf.o(.text) referenced from wizchip_conf.o(.data)
  - wizchip_cs_deselect from wizchip_conf.o(.text) referenced from wizchip_conf.o(.text)
  - wizchip_cs_select from wizchip_conf.o(.text) referenced from wizchip_conf.o(.data)
  - wizchip_cs_select from wizchip_conf.o(.text) referenced from wizchip_conf.o(.text)
  - wizchip_spi_readbyte from wizchip_conf.o(.text) referenced from wizchip_conf.o(.text)
  - wizchip_spi_writebyte from wizchip_conf.o(.text) referenced from wizchip_conf.o(.text)

  ### Global Symbols

  __main (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
  [Calls]

  - >> __rt_entry
  - >> __scatterload

  __scatterload (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
  [Called By]

  - >> __main

  __scatterload_rt2 (Thumb, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
  [Calls]

  - >> __rt_entry

  __scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

  __scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
  [Calls]

  - >> __scatterload_copy
  [Called By]
  - >> __scatterload_copy

  __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

  _printf_percent (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000))
  [Called By]

  - >> __printf

  _printf_n (Thumb, 0 bytes, Stack size unknown bytes, _printf_n.o(.ARM.Collect$$_printf_percent$$00000001))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_n ⇒ _printf_p ⇒ _printf_f ⇒ _printf_e ⇒ _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_p
  - >> _printf_charcount

  _printf_p (Thumb, 0 bytes, Stack size unknown bytes, _printf_p.o(.ARM.Collect$$_printf_percent$$00000002))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_p ⇒ _printf_f ⇒ _printf_e ⇒ _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_f
  - >> _printf_hex_ptr
  [Called By]
  - >> _printf_n

  _printf_f (Thumb, 0 bytes, Stack size unknown bytes, _printf_f.o(.ARM.Collect$$_printf_percent$$00000003))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_f ⇒ _printf_e ⇒ _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_fp_dec
  - >> _printf_e
  [Called By]
  - >> _printf_p

  _printf_e (Thumb, 0 bytes, Stack size unknown bytes, _printf_e.o(.ARM.Collect$$_printf_percent$$00000004))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_e ⇒ _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_fp_dec
  - >> _printf_g
  [Called By]
  - >> _printf_f

  _printf_g (Thumb, 0 bytes, Stack size unknown bytes, _printf_g.o(.ARM.Collect$$_printf_percent$$00000005))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_g ⇒ _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_fp_dec
  - >> _printf_a
  [Called By]
  - >> _printf_e

  _printf_a (Thumb, 0 bytes, Stack size unknown bytes, _printf_a.o(.ARM.Collect$$_printf_percent$$00000006))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_a ⇒ _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_ll
  - >> _printf_fp_hex (Weak Reference)
  [Called By]
  - >> _printf_g

  _printf_ll (Thumb, 0 bytes, Stack size unknown bytes, _printf_ll.o(.ARM.Collect$$_printf_percent$$00000007))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_ll ⇒ _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_i
  [Called By]
  - >> _printf_a

  _printf_i (Thumb, 0 bytes, Stack size unknown bytes, _printf_i.o(.ARM.Collect$$_printf_percent$$00000008))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_i ⇒ _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_d
  - >> _printf_int_dec
  [Called By]
  - >> _printf_ll

  _printf_d (Thumb, 0 bytes, Stack size unknown bytes, _printf_d.o(.ARM.Collect$$_printf_percent$$00000009))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_d ⇒ _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_u
  - >> _printf_int_dec
  [Called By]
  - >> _printf_i

  _printf_u (Thumb, 0 bytes, Stack size unknown bytes, _printf_u.o(.ARM.Collect$$_printf_percent$$0000000A))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_u ⇒ _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_o
  - >> _printf_int_dec
  [Called By]
  - >> _printf_d

  _printf_o (Thumb, 0 bytes, Stack size unknown bytes, _printf_o.o(.ARM.Collect$$_printf_percent$$0000000B))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_o ⇒ _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_oct
  - >> _printf_x
  [Called By]
  - >> _printf_u

  _printf_x (Thumb, 0 bytes, Stack size unknown bytes, _printf_x.o(.ARM.Collect$$_printf_percent$$0000000C))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_x ⇒ _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_lli
  - >> _printf_int_hex
  [Called By]
  - >> _printf_o

  _printf_lli (Thumb, 0 bytes, Stack size unknown bytes, _printf_lli.o(.ARM.Collect$$_printf_percent$$0000000D))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_lli ⇒ _printf_lld ⇒ _printf_llu ⇒ _printf_llo ⇒ _printf_llx ⇒ _printf_l ⇒ _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_lld
  - >> _printf_longlong_dec
  [Called By]
  - >> _printf_x

  _printf_lld (Thumb, 0 bytes, Stack size unknown bytes, _printf_lld.o(.ARM.Collect$$_printf_percent$$0000000E))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_lld ⇒ _printf_llu ⇒ _printf_llo ⇒ _printf_llx ⇒ _printf_l ⇒ _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_llu
  - >> _printf_longlong_dec
  [Called By]
  - >> _printf_lli

  _printf_llu (Thumb, 0 bytes, Stack size unknown bytes, _printf_llu.o(.ARM.Collect$$_printf_percent$$0000000F))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_llu ⇒ _printf_llo ⇒ _printf_llx ⇒ _printf_l ⇒ _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_llo
  - >> _printf_longlong_dec
  [Called By]
  - >> _printf_lld

  _printf_llo (Thumb, 0 bytes, Stack size unknown bytes, _printf_llo.o(.ARM.Collect$$_printf_percent$$00000010))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_llo ⇒ _printf_llx ⇒ _printf_l ⇒ _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_llx
  - >> _printf_ll_oct
  [Called By]
  - >> _printf_llu

  _printf_llx (Thumb, 0 bytes, Stack size unknown bytes, _printf_llx.o(.ARM.Collect$$_printf_percent$$00000011))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_llx ⇒ _printf_l ⇒ _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_l
  - >> _printf_ll_hex
  [Called By]
  - >> _printf_llo

  _printf_l (Thumb, 0 bytes, Stack size unknown bytes, _printf_l.o(.ARM.Collect$$_printf_percent$$00000012))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_l ⇒ _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_c
  [Called By]
  - >> _printf_llx

  _printf_c (Thumb, 0 bytes, Stack size unknown bytes, _printf_c.o(.ARM.Collect$$_printf_percent$$00000013))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_c ⇒ _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_char
  - >> _printf_s
  [Called By]
  - >> _printf_l

  _printf_s (Thumb, 0 bytes, Stack size unknown bytes, _printf_s.o(.ARM.Collect$$_printf_percent$$00000014))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_s ⇒ _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_lc
  - >> _printf_string
  [Called By]
  - >> _printf_c

  _printf_lc (Thumb, 0 bytes, Stack size unknown bytes, _printf_lc.o(.ARM.Collect$$_printf_percent$$00000015))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_lc ⇒ _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_wchar
  - >> _printf_ls
  [Called By]
  - >> _printf_s

  _printf_ls (Thumb, 0 bytes, Stack size unknown bytes, _printf_ls.o(.ARM.Collect$$_printf_percent$$00000016))
  [Stack]

  - Max Depth = 88 + Unknown Stack Size
  - Call Chain = _printf_ls ⇒ _printf_wstring ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_wstring
  - >> _printf_percent_end
  [Called By]
  - >> _printf_lc

  _printf_percent_end (Thumb, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017))
  [Called By]

  - >> _printf_ls

  __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
  [Called By]

  - >> __rt_entry_li

  __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000001))

  __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000008))

  __rt_lib_init_lc_common (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000D))
  [Calls]

  - >> __rt_locale

  __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))

  __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))

  __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000F))

  __rt_lib_init_lc_ctype_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = __rt_lib_init_lc_ctype_2 ⇒ _get_lc_ctype ⇒ strcmp
  [Calls]
  - >> _get_lc_ctype

  __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))

  __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))

  __rt_lib_init_lc_numeric_2 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000014))
  [Stack]

  - Max Depth = 24 + Unknown Stack Size
  - Call Chain = __rt_lib_init_lc_numeric_2 ⇒ _get_lc_numeric ⇒ strcmp
  [Calls]
  - >> _get_lc_numeric

  __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))

  __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002A))

  __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))

  __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))

  __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))

  __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))

  __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))

  __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))

  __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))

  __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))

  __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000031))

  __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))

  __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))

  __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
  [Called By]

  - >> __rt_exit_ls

  __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))

  __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))

  __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))

  __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))

  __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000003))

  __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B))

  __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, rtentry.o(.ARM.Collect$$rtentry$$00000000))
  [Called By]

  - >> __main
  - >> __scatterload_rt2

  __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000002))

  __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, rtentry4.o(.ARM.Collect$$rtentry$$00000004))
  [Stack]

  - Max Depth = 8 + Unknown Stack Size
  - Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap
  [Calls]
  - >> __user_setup_stackheap

  __rt_entry_li (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
  [Calls]

  - >> __rt_lib_init

  __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000009))

  __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
  [Stack]

  - Max Depth = 896 + Unknown Stack Size
  - Call Chain = __rt_entry_main ⇒ main ⇒ httpServer_run ⇒ http_process_handler ⇒ http_get_cgi_handler ⇒ predefined_get_cgi_processor ⇒ make_json_netinfo ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> main
  - >> exit

  __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

  __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
  [Called By]

  - >> exit

  __rt_exit_ls (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
  [Calls]

  - >> __rt_lib_shutdown

  __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

  __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
  [Calls]

  - >> _sys_exit

  __aeabi_memcpy4 (Thumb, 56 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text))
  [Called By]

  - >> __aeabi_memcpy

  __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy.o(.emb_text), UNUSED)

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

  - Max Depth = 896 + Unknown Stack Size
  - Call Chain = main ⇒ httpServer_run ⇒ http_process_handler ⇒ http_get_cgi_handler ⇒ predefined_get_cgi_processor ⇒ make_json_netinfo ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> set_w7500_ip
  - >> reg_httpServer_webContent
  - >> reg_httpServer_cbfunc
  - >> phy_init
  - >> httpServer_run
  - >> httpServer_init
  - >> do_netbios
  - >> display_reg_webContent_list
  - >> delay_init
  - >> SystemInit
  - >> S_UART_Init
  - >> LED_GPIO_Configuration
  - >> __2printf
  [Called By]
  - >> __rt_entry_main

  fputc (Thumb, 14 bytes, Stack size 16 bytes, retarget.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = fputc ⇒ S_UartPutc
  [Calls]
  - >> S_UartPutc
  [Address Reference Count : 1]
  - _printf_char_file.o(.text)

  fgetc (Thumb, 16 bytes, Stack size 16 bytes, retarget.o(.text), UNUSED)
  [Calls]

  - >> S_UartPutc
  - >> S_UartGetc

  ferror (Thumb, 8 bytes, Stack size 0 bytes, retarget.o(.text))
  [Called By]

  - >> _printf_char_file

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

  - >> S_UartPutc

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

  - >> __rt_exit_exit

  set_w7500_ip (Thumb, 522 bytes, Stack size 16 bytes, ip_config.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = set_w7500_ip ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  - >> __2printf
  [Called By]
  - >> main

  phy_init (Thumb, 72 bytes, Stack size 8 bytes, ip_config.o(.text))
  [Stack]

  - Max Depth = 184 + Unknown Stack Size
  - Call Chain = phy_init ⇒ mdio_init ⇒ phy_id ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> mdio_init
  - >> link
  - >> delay_ms
  - >> GetSystemClock
  - >> __aeabi_uidivmod
  - >> __2printf
  [Called By]
  - >> main

  delay_init (Thumb, 56 bytes, Stack size 16 bytes, time_delay.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = delay_init ⇒ NVIC_SetPriority
  [Calls]
  - >> NVIC_SetPriority
  - >> GetSystemClock
  - >> __aeabi_uidivmod
  [Called By]
  - >> main

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

  - >> SysTick_Handler

  delay_ms (Thumb, 20 bytes, Stack size 8 bytes, time_delay.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = delay_ms
  [Called By]
  - >> output_MDIO
  - >> turnaround_MDIO
  - >> input_MDIO
  - >> idle_MDIO
  - >> blink_led
  - >> delay_s
  - >> phy_init

  delay_s (Thumb, 26 bytes, Stack size 8 bytes, time_delay.o(.text), UNUSED)
  [Calls]

  - >> delay_ms

  delay_soft_ms (Thumb, 26 bytes, Stack size 8 bytes, time_delay.o(.text), UNUSED)
  [Called By]

  - >> blink1_led

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

  - startup_w7500x.o(RESET)

  HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

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

  - startup_w7500x.o(RESET)

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

  - startup_w7500x.o(RESET)

  SysTick_Handler (Thumb, 18 bytes, Stack size 8 bytes, w7500x_it.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = SysTick_Handler
  [Calls]
  - >> TimingDelay_Decrement
  [Address Reference Count : 1]
  - startup_w7500x.o(RESET)

  SSP0_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  SSP1_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  UART0_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  UART1_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  UART2_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  I2C0_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  I2C1_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PORT0_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PORT1_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PORT2_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PORT3_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  DMA_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  DUALTIMER0_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  DUALTIMER1_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PWM0_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PWM1_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PWM2_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PWM3_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PWM4_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PWM5_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PWM6_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  PWM7_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  ADC_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  WZTOE_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  EXTI_Handler (Thumb, 2 bytes, Stack size 0 bytes, w7500x_it.o(.text))
  [Address Reference Count : 1]

  - startup_w7500x.o(RESET)

  LED_GPIO_Configuration (Thumb, 130 bytes, Stack size 16 bytes, bsp_gpio.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = LED_GPIO_Configuration ⇒ GPIO_Init
  [Calls]
  - >> PAD_AFConfig
  - >> GPIO_SetBits
  - >> GPIO_Init
  [Called By]
  - >> main

  blink_led (Thumb, 388 bytes, Stack size 8 bytes, bsp_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_SetBits
  - >> GPIO_ResetBits
  - >> delay_ms

  blink1_led (Thumb, 388 bytes, Stack size 8 bytes, bsp_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_SetBits
  - >> GPIO_ResetBits
  - >> delay_soft_ms

  redled_toggle (Thumb, 46 bytes, Stack size 8 bytes, bsp_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_SetBits
  - >> GPIO_ResetBits
  - >> GPIO_ReadOutputDataBit

  GPIO_DeInit (Thumb, 88 bytes, Stack size 16 bytes, w7500x_gpio.o(.text), UNUSED)

  GPIO_Init (Thumb, 254 bytes, Stack size 24 bytes, w7500x_gpio.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = GPIO_Init
  [Called By]
  - >> GPIO_INT_Configuration
  - >> GPIO_Configuration
  - >> mdio_init
  - >> LED_GPIO_Configuration

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

  - >> GPIO_INT_Configuration
  - >> GPIO_Configuration

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

  - >> input_MDIO

  GPIO_ReadInputData (Thumb, 8 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)

  GPIO_ReadOutputDataBit (Thumb, 20 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)
  [Called By]

  - >> redled_toggle

  GPIO_ReadOutputData (Thumb, 8 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)

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

  - >> output_MDIO
  - >> turnaround_MDIO
  - >> input_MDIO
  - >> idle_MDIO
  - >> redled_toggle
  - >> blink1_led
  - >> blink_led
  - >> LED_GPIO_Configuration
  - >> set_LED

  GPIO_ResetBits (Thumb, 32 bytes, Stack size 8 bytes, w7500x_gpio.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = GPIO_ResetBits
  [Called By]
  - >> output_MDIO
  - >> turnaround_MDIO
  - >> input_MDIO
  - >> idle_MDIO
  - >> redled_toggle
  - >> blink1_led
  - >> blink_led
  - >> set_LED

  GPIO_WriteBit (Thumb, 28 bytes, Stack size 8 bytes, w7500x_gpio.o(.text), UNUSED)

  GPIO_Write (Thumb, 4 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)

  GPIO_INT_Enable_Bits (Thumb, 26 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)

  GPIO_INT_Enable (Thumb, 18 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)

  GPIO_INT_Polarity_Bits (Thumb, 20 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)
  [Called By]

  - >> GPIO_INT_Configuration

  GPIO_INT_Polarity (Thumb, 16 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)

  GPIO_INT_Clear (Thumb, 6 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)

  GPIO_Read_INTstatus (Thumb, 20 bytes, Stack size 0 bytes, w7500x_gpio.o(.text), UNUSED)

  PAD_AFConfig (Thumb, 152 bytes, Stack size 20 bytes, w7500x_gpio.o(.text))
  [Stack]

  - Max Depth = 20
  - Call Chain = PAD_AFConfig
  [Called By]
  - >> GPIO_INT_Configuration
  - >> GPIO_Configuration
  - >> mdio_init
  - >> LED_GPIO_Configuration

  GPIO_Configuration (Thumb, 90 bytes, Stack size 44 bytes, w7500x_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_StructInit
  - >> PAD_AFConfig
  - >> GPIO_Init

  GPIO_INT_Configuration (Thumb, 126 bytes, Stack size 32 bytes, w7500x_gpio.o(.text), UNUSED)
  [Calls]

  - >> GPIO_INT_Polarity_Bits
  - >> GPIO_StructInit
  - >> NVIC_EnableIRQ
  - >> PAD_AFConfig
  - >> GPIO_Init

  UART_StructInit (Thumb, 28 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UART_DeInit (Thumb, 2 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UART_Init (Thumb, 206 bytes, Stack size 64 bytes, w7500x_uart.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_fmul
  - >> __aeabi_ui2f
  - >> __aeabi_f2uiz
  - >> __aeabi_fdiv
  - >> __aeabi_frsub
  - >> __aeabi_f2d
  - >> __aeabi_d2uiz
  - >> __aeabi_dadd
  - >> __aeabi_uidivmod

  UART_SendData (Thumb, 4 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)
  [Called By]

  - >> UartPutc

  UART_ReceiveData (Thumb, 8 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UART_SendBreak (Thumb, 10 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UART_GetRecvStatus (Thumb, 20 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UART_ClearRecvStatus (Thumb, 4 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UART_GetFlagStatus (Thumb, 20 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UART_ITConfig (Thumb, 20 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UART_GetITStatus (Thumb, 20 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UART_ClearITPendingBit (Thumb, 8 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  S_UART_DeInit (Thumb, 2 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  S_UART_SetBaud (Thumb, 54 bytes, Stack size 16 bytes, w7500x_uart.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = S_UART_SetBaud
  [Calls]
  - >> GetSystemClock
  - >> __aeabi_uidivmod
  [Called By]
  - >> S_UART_Init

  S_UART_Init (Thumb, 32 bytes, Stack size 16 bytes, w7500x_uart.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = S_UART_Init ⇒ S_UART_SetBaud
  [Calls]
  - >> S_UART_SetBaud
  [Called By]
  - >> main

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

  - >> S_UartPuts
  - >> S_UartPutc

  S_UART_ReceiveData (Thumb, 8 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)
  [Called By]

  - >> S_UartGetc

  S_UART_GetFlagStatus (Thumb, 22 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  S_UART_SetCTRL (Thumb, 28 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  S_UART_ITConfig (Thumb, 28 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  S_UART_GetITStatus (Thumb, 22 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  S_UART_ClearITPendingBit (Thumb, 12 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  UartPutc (Thumb, 30 bytes, Stack size 4 bytes, w7500x_uart.o(.text), UNUSED)
  [Calls]

  - >> UART_SendData
  [Called By]
  - >> UartPuts

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

  - >> UartPutc

  UartGetc (Thumb, 20 bytes, Stack size 0 bytes, w7500x_uart.o(.text), UNUSED)

  S_UartPutc (Thumb, 14 bytes, Stack size 4 bytes, w7500x_uart.o(.text))
  [Stack]

  - Max Depth = 4
  - Call Chain = S_UartPutc
  [Calls]
  - >> S_UART_SendData
  [Called By]
  - >> _ttywrch
  - >> fgetc
  - >> fputc

  S_UartPuts (Thumb, 26 bytes, Stack size 4 bytes, w7500x_uart.o(.text), UNUSED)
  [Calls]

  - >> S_UART_SendData

  S_UartGetc (Thumb, 24 bytes, Stack size 4 bytes, w7500x_uart.o(.text), UNUSED)
  [Calls]

  - >> S_UART_ReceiveData
  [Called By]
  - >> fgetc

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

  - >> wizchip_getnetinfo
  - >> wizchip_setnetmode
  - >> wizchip_getnetmode
  - >> wizchip_gettimeout
  - >> wizchip_sw_reset
  - >> wizchip_getinterrupt
  - >> wizchip_getinterruptmask
  - >> getsockopt
  - >> setsockopt
  - >> ctlsocket
  - >> recvfrom
  - >> sendto
  - >> recv
  - >> send
  - >> disconnect
  - >> connect
  - >> listen
  - >> socket
  - >> close
  - >> set_w7500_ip
  - >> httpServer_run
  - >> do_netbios
  - >> http_disconnect

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

  - >> wizchip_setnetinfo
  - >> wizchip_setnetmode
  - >> wizchip_settimeout
  - >> wizchip_init
  - >> wizchip_sw_reset
  - >> wizchip_clrinterrupt
  - >> wizchip_setinterruptmask
  - >> setsockopt
  - >> ctlsocket
  - >> recvfrom
  - >> sendto
  - >> recv
  - >> send
  - >> disconnect
  - >> connect
  - >> listen
  - >> socket
  - >> close
  - >> set_w7500_ip
  - >> httpServer_run
  - >> http_disconnect

  WIZCHIP_READ_BUF (Thumb, 28 bytes, Stack size 12 bytes, w7500x_wztoe.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = WIZCHIP_READ_BUF
  [Called By]
  - >> wiz_recv_data

  WIZCHIP_WRITE_BUF (Thumb, 28 bytes, Stack size 16 bytes, w7500x_wztoe.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = WIZCHIP_WRITE_BUF
  [Called By]
  - >> wiz_send_data

  wiz_send_data (Thumb, 78 bytes, Stack size 24 bytes, w7500x_wztoe.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = wiz_send_data ⇒ WIZCHIP_WRITE_BUF
  [Calls]
  - >> WIZCHIP_WRITE_BUF
  [Called By]
  - >> sendto
  - >> send

  wiz_recv_data (Thumb, 82 bytes, Stack size 24 bytes, w7500x_wztoe.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = wiz_recv_data ⇒ WIZCHIP_READ_BUF
  [Calls]
  - >> WIZCHIP_READ_BUF
  [Called By]
  - >> recvfrom
  - >> recv

  wiz_recv_ignore (Thumb, 66 bytes, Stack size 12 bytes, w7500x_wztoe.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = wiz_recv_ignore
  [Called By]
  - >> recvfrom

  SystemCoreClockUpdate (Thumb, 2 bytes, Stack size 0 bytes, system_w7500x.o(.text), UNUSED)

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

  - >> S_UART_SetBaud
  - >> phy_init
  - >> delay_init

  SystemInit (Thumb, 94 bytes, Stack size 24 bytes, system_w7500x.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = SystemInit
  [Calls]
  - >> __aeabi_uidivmod
  [Called By]
  - >> main
  [Address Reference Count : 1]
  - startup_w7500x.o(.text)

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

  - startup_w7500x.o(RESET)

  RTC_Handler (Thumb, 0 bytes, Stack size 0 bytes, startup_w7500x.o(.text))
  [Calls]

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

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

  - >> __user_setup_stackheap

  close (Thumb, 132 bytes, Stack size 8 bytes, socket.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = close
  [Calls]
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> recvfrom
  - >> recv
  - >> send
  - >> disconnect
  - >> listen
  - >> socket
  - >> do_netbios

  socket (Thumb, 314 bytes, Stack size 24 bytes, socket.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = socket ⇒ close
  [Calls]
  - >> close
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> httpServer_run
  - >> do_netbios

  listen (Thumb, 186 bytes, Stack size 8 bytes, socket.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = listen ⇒ close
  [Calls]
  - >> close
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> httpServer_run

  connect (Thumb, 370 bytes, Stack size 16 bytes, socket.o(.text), UNUSED)
  [Calls]

  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ

  disconnect (Thumb, 222 bytes, Stack size 8 bytes, socket.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = disconnect ⇒ close
  [Calls]
  - >> close
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> httpServer_run

  send (Thumb, 396 bytes, Stack size 32 bytes, socket.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = send ⇒ wiz_send_data ⇒ WIZCHIP_WRITE_BUF
  [Calls]
  - >> close
  - >> wiz_send_data
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> send_http_response_cgi
  - >> send_http_response_header
  - >> send_http_response_body

  recv (Thumb, 310 bytes, Stack size 32 bytes, socket.o(.text))
  [Stack]

  - Max Depth = 68
  - Call Chain = recv ⇒ wiz_recv_data ⇒ WIZCHIP_READ_BUF
  [Calls]
  - >> close
  - >> wiz_recv_data
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> httpServer_run

  sendto (Thumb, 556 bytes, Stack size 48 bytes, socket.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = sendto ⇒ wiz_send_data ⇒ WIZCHIP_WRITE_BUF
  [Calls]
  - >> wiz_send_data
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> do_netbios

  recvfrom (Thumb, 622 bytes, Stack size 48 bytes, socket.o(.text))
  [Stack]

  - Max Depth = 84
  - Call Chain = recvfrom ⇒ wiz_recv_data ⇒ WIZCHIP_READ_BUF
  [Calls]
  - >> close
  - >> wiz_recv_ignore
  - >> wiz_recv_data
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> do_netbios

  ctlsocket (Thumb, 318 bytes, Stack size 24 bytes, socket.o(.text), UNUSED)
  [Calls]

  - >> __ARM_common_switch8
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ

  setsockopt (Thumb, 354 bytes, Stack size 16 bytes, socket.o(.text), UNUSED)
  [Calls]

  - >> __ARM_common_switch8
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ

  getsockopt (Thumb, 478 bytes, Stack size 16 bytes, socket.o(.text), UNUSED)
  [Calls]

  - >> __ARM_common_switch8
  - >> WIZCHIP_READ

  wizchip_cris_enter (Thumb, 2 bytes, Stack size 0 bytes, wizchip_conf.o(.text))
  [Address Reference Count : 2]

  - wizchip_conf.o(.text)
  - wizchip_conf.o(.data)

  wizchip_cris_exit (Thumb, 2 bytes, Stack size 0 bytes, wizchip_conf.o(.text))
  [Address Reference Count : 2]

  - wizchip_conf.o(.text)
  - wizchip_conf.o(.data)

  wizchip_cs_select (Thumb, 2 bytes, Stack size 0 bytes, wizchip_conf.o(.text))
  [Address Reference Count : 2]

  - wizchip_conf.o(.text)
  - wizchip_conf.o(.data)

  wizchip_cs_deselect (Thumb, 2 bytes, Stack size 0 bytes, wizchip_conf.o(.text))
  [Address Reference Count : 2]

  - wizchip_conf.o(.text)
  - wizchip_conf.o(.data)

  wizchip_bus_readbyte (Thumb, 6 bytes, Stack size 0 bytes, wizchip_conf.o(.text))
  [Address Reference Count : 2]

  - wizchip_conf.o(.text)
  - wizchip_conf.o(.data)

  wizchip_bus_writebyte (Thumb, 4 bytes, Stack size 0 bytes, wizchip_conf.o(.text))
  [Address Reference Count : 2]

  - wizchip_conf.o(.text)
  - wizchip_conf.o(.data)

  wizchip_spi_readbyte (Thumb, 4 bytes, Stack size 0 bytes, wizchip_conf.o(.text))
  [Address Reference Count : 1]

  - wizchip_conf.o(.text)

  wizchip_spi_writebyte (Thumb, 2 bytes, Stack size 0 bytes, wizchip_conf.o(.text))
  [Address Reference Count : 1]

  - wizchip_conf.o(.text)

  reg_wizchip_cris_cbfunc (Thumb, 30 bytes, Stack size 0 bytes, wizchip_conf.o(.text), UNUSED)

  reg_wizchip_cs_cbfunc (Thumb, 30 bytes, Stack size 0 bytes, wizchip_conf.o(.text), UNUSED)

  reg_wizchip_bus_cbfunc (Thumb, 46 bytes, Stack size 0 bytes, wizchip_conf.o(.text), UNUSED)

  reg_wizchip_spi_cbfunc (Thumb, 46 bytes, Stack size 0 bytes, wizchip_conf.o(.text), UNUSED)

  wizphy_getphylink (Thumb, 6 bytes, Stack size 0 bytes, wizchip_conf.o(.text), UNUSED)
  [Called By]

  - >> ctlwizchip

  wizphy_getphypmode (Thumb, 6 bytes, Stack size 0 bytes, wizchip_conf.o(.text), UNUSED)
  [Called By]

  - >> ctlwizchip

  wizchip_getinterruptmask (Thumb, 38 bytes, Stack size 16 bytes, wizchip_conf.o(.text), UNUSED)
  [Calls]

  - >> WIZCHIP_READ
  [Called By]
  - >> ctlwizchip

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

  - >> WIZCHIP_WRITE
  [Called By]
  - >> ctlwizchip

  wizchip_getinterrupt (Thumb, 40 bytes, Stack size 16 bytes, wizchip_conf.o(.text), UNUSED)
  [Calls]

  - >> WIZCHIP_READ
  [Called By]
  - >> ctlwizchip

  wizchip_clrinterrupt (Thumb, 34 bytes, Stack size 16 bytes, wizchip_conf.o(.text), UNUSED)
  [Calls]

  - >> WIZCHIP_WRITE
  [Called By]
  - >> ctlwizchip

  wizchip_sw_reset (Thumb, 484 bytes, Stack size 24 bytes, wizchip_conf.o(.text), UNUSED)
  [Calls]

  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> ctlwizchip
  - >> wizchip_init

  wizchip_init (Thumb, 146 bytes, Stack size 24 bytes, wizchip_conf.o(.text), UNUSED)
  [Calls]

  - >> wizchip_sw_reset
  - >> WIZCHIP_WRITE
  [Called By]
  - >> ctlwizchip

  ctlwizchip (Thumb, 238 bytes, Stack size 24 bytes, wizchip_conf.o(.text), UNUSED)
  [Calls]

  - >> wizchip_init
  - >> wizchip_sw_reset
  - >> wizchip_clrinterrupt
  - >> wizchip_getinterrupt
  - >> wizchip_setinterruptmask
  - >> wizchip_getinterruptmask
  - >> wizphy_getphypmode
  - >> wizphy_getphylink
  - >> __ARM_common_switch8

  wizchip_gettimeout (Thumb, 22 bytes, Stack size 8 bytes, wizchip_conf.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = wizchip_gettimeout
  [Calls]
  - >> WIZCHIP_READ
  [Called By]
  - >> ctlnetwork

  wizchip_settimeout (Thumb, 22 bytes, Stack size 8 bytes, wizchip_conf.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = wizchip_settimeout
  [Calls]
  - >> WIZCHIP_WRITE
  [Called By]
  - >> ctlnetwork

  wizchip_getnetmode (Thumb, 10 bytes, Stack size 8 bytes, wizchip_conf.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = wizchip_getnetmode
  [Calls]
  - >> WIZCHIP_READ
  [Called By]
  - >> ctlnetwork

  wizchip_setnetmode (Thumb, 46 bytes, Stack size 16 bytes, wizchip_conf.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = wizchip_setnetmode
  [Calls]
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> ctlnetwork

  wizchip_getnetinfo (Thumb, 212 bytes, Stack size 8 bytes, wizchip_conf.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = wizchip_getnetinfo
  [Calls]
  - >> WIZCHIP_READ
  [Called By]
  - >> ctlnetwork

  wizchip_setnetinfo (Thumb, 210 bytes, Stack size 8 bytes, wizchip_conf.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = wizchip_setnetinfo
  [Calls]
  - >> WIZCHIP_WRITE
  [Called By]
  - >> ctlnetwork

  ctlnetwork (Thumb, 80 bytes, Stack size 16 bytes, wizchip_conf.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = ctlnetwork ⇒ wizchip_setnetmode
  [Calls]
  - >> wizchip_setnetinfo
  - >> wizchip_getnetinfo
  - >> wizchip_setnetmode
  - >> wizchip_getnetmode
  - >> wizchip_settimeout
  - >> wizchip_gettimeout
  - >> __ARM_common_switch8
  [Called By]
  - >> make_json_netinfo

  idle_MDIO (Thumb, 42 bytes, Stack size 8 bytes, w7500x_miim.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = idle_MDIO ⇒ GPIO_ResetBits
  [Calls]
  - >> GPIO_SetBits
  - >> GPIO_ResetBits
  - >> delay_ms
  [Called By]
  - >> phy_id
  - >> mdio_write
  - >> mdio_read

  input_MDIO (Thumb, 66 bytes, Stack size 16 bytes, w7500x_miim.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = input_MDIO ⇒ GPIO_ResetBits
  [Calls]
  - >> GPIO_ReadInputDataBit
  - >> GPIO_SetBits
  - >> GPIO_ResetBits
  - >> delay_ms
  [Called By]
  - >> phy_id
  - >> mdio_read

  turnaround_MDIO (Thumb, 50 bytes, Stack size 8 bytes, w7500x_miim.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = turnaround_MDIO ⇒ GPIO_ResetBits
  [Calls]
  - >> GPIO_SetBits
  - >> GPIO_ResetBits
  - >> delay_ms
  [Called By]
  - >> phy_id
  - >> mdio_read

  output_MDIO (Thumb, 92 bytes, Stack size 16 bytes, w7500x_miim.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = output_MDIO ⇒ GPIO_ResetBits
  [Calls]
  - >> GPIO_SetBits
  - >> GPIO_ResetBits
  - >> delay_ms
  [Called By]
  - >> phy_id
  - >> mdio_write
  - >> mdio_read

  mdio_read (Thumb, 74 bytes, Stack size 16 bytes, w7500x_miim.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = mdio_read ⇒ output_MDIO ⇒ GPIO_ResetBits
  [Calls]
  - >> output_MDIO
  - >> turnaround_MDIO
  - >> input_MDIO
  - >> idle_MDIO
  [Called By]
  - >> link

  link (Thumb, 22 bytes, Stack size 16 bytes, w7500x_miim.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = link ⇒ mdio_read ⇒ output_MDIO ⇒ GPIO_ResetBits
  [Calls]
  - >> mdio_read
  [Called By]
  - >> phy_init

  mdio_write (Thumb, 80 bytes, Stack size 16 bytes, w7500x_miim.o(.text), UNUSED)
  [Calls]

  - >> output_MDIO
  - >> idle_MDIO
  [Called By]
  - >> set_link

  set_link (Thumb, 40 bytes, Stack size 16 bytes, w7500x_miim.o(.text), UNUSED)
  [Calls]

  - >> mdio_write

  phy_id (Thumb, 118 bytes, Stack size 16 bytes, w7500x_miim.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = phy_id ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> output_MDIO
  - >> turnaround_MDIO
  - >> input_MDIO
  - >> idle_MDIO
  - >> __2printf
  [Called By]
  - >> mdio_init

  mdio_init (Thumb, 56 bytes, Stack size 24 bytes, w7500x_miim.o(.text))
  [Stack]

  - Max Depth = 176 + Unknown Stack Size
  - Call Chain = mdio_init ⇒ phy_id ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> phy_id
  - >> PAD_AFConfig
  - >> GPIO_Init
  [Called By]
  - >> phy_init

  unescape_http_url (Thumb, 56 bytes, Stack size 24 bytes, httpparser.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = unescape_http_url
  [Calls]
  - >> C2D
  [Called By]
  - >> get_http_param_value

  make_http_response_head (Thumb, 182 bytes, Stack size 32 bytes, httpparser.o(.text))
  [Stack]

  - Max Depth = 160 + Unknown Stack Size
  - Call Chain = make_http_response_head ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> strcat
  - >> strcpy
  - >> __2sprintf
  [Called By]
  - >> send_http_response_header

  find_http_uri_type (Thumb, 1270 bytes, Stack size 16 bytes, httpparser.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = find_http_uri_type ⇒ strstr
  [Calls]
  - >> strstr
  [Called By]
  - >> http_process_handler

  parse_http_request (Thumb, 170 bytes, Stack size 16 bytes, httpparser.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = parse_http_request ⇒ strtok ⇒ __strtok_internal ⇒ strspn
  [Calls]
  - >> strcmp
  - >> strcpy
  - >> strtok
  [Called By]
  - >> httpServer_run

  get_http_param_value (Thumb, 182 bytes, Stack size 48 bytes, httpparser.o(.text))
  [Stack]

  - Max Depth = 120
  - Call Chain = get_http_param_value ⇒ mid ⇒ strncpy
  [Calls]
  - >> strncpy
  - >> strlen
  - >> strstr
  - >> replacetochar
  - >> mid
  - >> ATOI
  - >> unescape_http_url
  [Called By]
  - >> set_LED

  get_http_uri_name (Thumb, 56 bytes, Stack size 16 bytes, httpparser.o(.text))
  [Stack]

  - Max Depth = 60
  - Call Chain = get_http_uri_name ⇒ strtok ⇒ __strtok_internal ⇒ strspn
  [Calls]
  - >> strcmp
  - >> strcpy
  - >> strtok
  [Called By]
  - >> http_process_handler

  default_mcu_reset (Thumb, 2 bytes, Stack size 0 bytes, httpserver.o(.text))
  [Address Reference Count : 1]

  - httpserver.o(.data)

  default_wdt_reset (Thumb, 2 bytes, Stack size 0 bytes, httpserver.o(.text))
  [Address Reference Count : 1]

  - httpserver.o(.data)

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

  - Max Depth = 8
  - Call Chain = httpServer_Sockinit
  [Called By]
  - >> httpServer_init

  httpServer_init (Thumb, 28 bytes, Stack size 20 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 28
  - Call Chain = httpServer_init ⇒ httpServer_Sockinit
  [Calls]
  - >> httpServer_Sockinit
  [Called By]
  - >> main

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

  - >> main

  read_userReg_webContent (Thumb, 76 bytes, Stack size 32 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = read_userReg_webContent ⇒ strncpy
  [Calls]
  - >> strncpy
  - >> strlen
  [Called By]
  - >> send_http_response_body

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

  - >> httpServer_run

  find_userReg_webContent (Thumb, 66 bytes, Stack size 32 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 48
  - Call Chain = find_userReg_webContent ⇒ strcmp
  [Calls]
  - >> strcmp
  [Called By]
  - >> http_process_handler

  httpServer_run (Thumb, 1286 bytes, Stack size 40 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 896 + Unknown Stack Size
  - Call Chain = httpServer_run ⇒ http_process_handler ⇒ http_get_cgi_handler ⇒ predefined_get_cgi_processor ⇒ make_json_netinfo ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> recv
  - >> disconnect
  - >> listen
  - >> socket
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  - >> __2printf
  - >> get_httpServer_timecount
  - >> http_process_handler
  - >> send_http_response_body
  - >> http_disconnect
  - >> getHTTPSocketNum
  - >> parse_http_request
  [Called By]
  - >> main

  httpServer_time_handler (Thumb, 12 bytes, Stack size 0 bytes, httpserver.o(.text), UNUSED)

  reg_httpServer_webContent (Thumb, 100 bytes, Stack size 16 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = reg_httpServer_webContent ⇒ strcpy
  [Calls]
  - >> strlen
  - >> strcpy
  [Called By]
  - >> main

  display_reg_webContent_list (Thumb, 130 bytes, Stack size 16 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 152 + Unknown Stack Size
  - Call Chain = display_reg_webContent_list ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> __2printf
  [Called By]
  - >> main

  make_json_netinfo (Thumb, 154 bytes, Stack size 120 bytes, httputil.o(.text))
  [Stack]

  - Max Depth = 248 + Unknown Stack Size
  - Call Chain = make_json_netinfo ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> ctlnetwork
  - >> __2sprintf
  [Called By]
  - >> predefined_get_cgi_processor

  predefined_get_cgi_processor (Thumb, 46 bytes, Stack size 24 bytes, httputil.o(.text))
  [Stack]

  - Max Depth = 272 + Unknown Stack Size
  - Call Chain = predefined_get_cgi_processor ⇒ make_json_netinfo ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> strcmp
  - >> make_json_netinfo
  [Called By]
  - >> http_get_cgi_handler

  http_get_cgi_handler (Thumb, 56 bytes, Stack size 24 bytes, httputil.o(.text))
  [Stack]

  - Max Depth = 296 + Unknown Stack Size
  - Call Chain = http_get_cgi_handler ⇒ predefined_get_cgi_processor ⇒ make_json_netinfo ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> strcmp
  - >> predefined_get_cgi_processor
  [Called By]
  - >> http_process_handler

  set_LED (Thumb, 158 bytes, Stack size 24 bytes, httputil.o(.text))
  [Stack]

  - Max Depth = 144
  - Call Chain = set_LED ⇒ get_http_param_value ⇒ mid ⇒ strncpy
  [Calls]
  - >> GPIO_SetBits
  - >> GPIO_ResetBits
  - >> ATOI
  - >> get_http_param_value
  [Called By]
  - >> predefined_set_cgi_processor

  predefined_set_cgi_processor (Thumb, 74 bytes, Stack size 32 bytes, httputil.o(.text))
  [Stack]

  - Max Depth = 176 + Unknown Stack Size
  - Call Chain = predefined_set_cgi_processor ⇒ set_LED ⇒ get_http_param_value ⇒ mid ⇒ strncpy
  [Calls]
  - >> strcmp
  - >> __2sprintf
  - >> set_LED
  [Called By]
  - >> http_post_cgi_handler

  http_post_cgi_handler (Thumb, 84 bytes, Stack size 48 bytes, httputil.o(.text))
  [Stack]

  - Max Depth = 224 + Unknown Stack Size
  - Call Chain = http_post_cgi_handler ⇒ predefined_set_cgi_processor ⇒ set_LED ⇒ get_http_param_value ⇒ mid ⇒ strncpy
  [Calls]
  - >> strcmp
  - >> __2sprintf
  - >> predefined_set_cgi_processor
  [Called By]
  - >> http_process_handler

  do_netbios (Thumb, 492 bytes, Stack size 64 bytes, netbios.o(.text))
  [Stack]

  - Max Depth = 200 + Unknown Stack Size
  - Call Chain = do_netbios ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> recvfrom
  - >> sendto
  - >> socket
  - >> close
  - >> WIZCHIP_READ
  - >> __aeabi_uwrite4
  - >> strcmp
  - >> __aeabi_memcpy
  - >> __2printf
  - >> swaps
  - >> swapl
  - >> netbios_name_decoding
  [Called By]
  - >> main

  C2D (Thumb, 54 bytes, Stack size 0 bytes, utility.o(.text))
  [Called By]

  - >> ValidATOI
  - >> ATOI32
  - >> ATOI
  - >> unescape_http_url

  ATOI (Thumb, 40 bytes, Stack size 12 bytes, utility.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = ATOI
  [Calls]
  - >> C2D
  [Called By]
  - >> inet_addr
  - >> inet_addr_
  - >> ValidATOI
  - >> set_LED
  - >> get_http_param_value

  ATOI32 (Thumb, 34 bytes, Stack size 12 bytes, utility.o(.text), UNUSED)
  [Calls]

  - >> C2D

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

  - >> __aeabi_idivmod
  - >> __aeabi_memset

  ValidATOI (Thumb, 70 bytes, Stack size 32 bytes, utility.o(.text), UNUSED)
  [Calls]

  - >> C2D
  - >> ATOI
  [Called By]
  - >> VerifyIPAddress
  - >> VerifyIPAddress_orig

  replacetochar (Thumb, 26 bytes, Stack size 8 bytes, utility.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = replacetochar
  [Called By]
  - >> get_http_param_value

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

  - >> do_netbios

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

  - >> do_netbios

  mid (Thumb, 66 bytes, Stack size 48 bytes, utility.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = mid ⇒ strncpy
  [Calls]
  - >> strncpy
  - >> strlen
  - >> strstr
  [Called By]
  - >> http_process_handler
  - >> get_http_param_value

  inet_addr_ (Thumb, 86 bytes, Stack size 56 bytes, utility.o(.text), UNUSED)
  [Calls]

  - >> strcpy
  - >> strtok
  - >> ATOI

  inet_ntoa (Thumb, 40 bytes, Stack size 16 bytes, utility.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memclr
  - >> __2sprintf

  inet_ntoa_pad (Thumb, 40 bytes, Stack size 16 bytes, utility.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_memclr
  - >> __c89printf

  inet_addr (Thumb, 90 bytes, Stack size 56 bytes, utility.o(.text), UNUSED)
  [Calls]

  - >> strcpy
  - >> strtok
  - >> ATOI

  VerifyIPAddress_orig (Thumb, 110 bytes, Stack size 72 bytes, utility.o(.text), UNUSED)
  [Calls]

  - >> strcpy
  - >> strtok
  - >> ValidATOI

  VerifyIPAddress (Thumb, 116 bytes, Stack size 80 bytes, utility.o(.text), UNUSED)
  [Calls]

  - >> strcpy
  - >> strtok
  - >> ValidATOI

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

  __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)

  __c89printf (Thumb, 22 bytes, Stack size 24 bytes, c89printf.o(.text), UNUSED)
  [Calls]

  - >> _printf_char_file
  [Called By]
  - >> inet_ntoa_pad

  __2printf (Thumb, 22 bytes, Stack size 24 bytes, __2printf.o(.text))
  [Stack]

  - Max Depth = 136 + Unknown Stack Size
  - Call Chain = __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _printf_char_file
  [Called By]
  - >> phy_id
  - >> set_w7500_ip
  - >> phy_init
  - >> httpServer_run
  - >> do_netbios
  - >> display_reg_webContent_list
  - >> main
  - >> http_process_handler
  - >> send_http_response_cgi
  - >> send_http_response_header
  - >> send_http_response_body

  __2sprintf (Thumb, 40 bytes, Stack size 32 bytes, __2sprintf.o(.text))
  [Stack]

  - Max Depth = 128 + Unknown Stack Size
  - Call Chain = __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> _sputc
  - >> _printf_char_common
  [Called By]
  - >> inet_ntoa
  - >> predefined_set_cgi_processor
  - >> make_json_netinfo
  - >> http_post_cgi_handler
  - >> send_http_response_cgi
  - >> make_http_response_head

  _printf_str (Thumb, 82 bytes, Stack size 16 bytes, _printf_str.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_cs_common

  _printf_int_dec (Thumb, 90 bytes, Stack size 32 bytes, _printf_dec.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> __rt_udiv10
  - >> _printf_int_common
  - >> _printf_truncate_unsigned
  - >> _printf_truncate_signed
  [Called By]
  - >> _printf_u
  - >> _printf_i
  - >> _printf_d

  _printf_longlong_hex (Thumb, 88 bytes, Stack size 24 bytes, _printf_hex_int_ll_ptr.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  [Called By]
  - >> _printf_hex_ptr
  - >> _printf_ll_hex
  - >> _printf_int_hex

  _printf_int_hex (Thumb, 28 bytes, Stack size 16 bytes, _printf_hex_int_ll_ptr.o(.text))
  [Stack]

  - Max Depth = 96
  - Call Chain = _printf_int_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_truncate_unsigned
  - >> _printf_longlong_hex
  [Called By]
  - >> _printf_x

  _printf_ll_hex (Thumb, 10 bytes, Stack size 0 bytes, _printf_hex_int_ll_ptr.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = _printf_ll_hex ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_hex
  [Called By]
  - >> _printf_llx

  _printf_hex_ptr (Thumb, 22 bytes, Stack size 8 bytes, _printf_hex_int_ll_ptr.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_hex_ptr ⇒ _printf_longlong_hex ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_hex
  [Called By]
  - >> _printf_p

  __printf (Thumb, 386 bytes, Stack size 32 bytes, __printf_flags_ss_wp.o(.text))
  [Stack]

  - Max Depth = 32 + Unknown Stack Size
  - Call Chain = __printf
  [Calls]
  - >> _printf_percent
  - >> _is_digit
  [Called By]
  - >> _printf_char_common

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

  - Max Depth = 44
  - Call Chain = strtok ⇒ __strtok_internal ⇒ strspn
  [Calls]
  - >> __strtok_internal
  [Called By]
  - >> VerifyIPAddress
  - >> VerifyIPAddress_orig
  - >> inet_addr
  - >> inet_addr_
  - >> get_http_uri_name
  - >> parse_http_request

  strstr (Thumb, 40 bytes, Stack size 12 bytes, strstr.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strstr
  [Called By]
  - >> mid
  - >> get_http_param_value
  - >> find_http_uri_type

  strcpy (Thumb, 70 bytes, Stack size 16 bytes, strcpy.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = strcpy
  [Called By]
  - >> reg_httpServer_webContent
  - >> VerifyIPAddress
  - >> VerifyIPAddress_orig
  - >> inet_addr
  - >> inet_addr_
  - >> http_process_handler
  - >> send_http_response_body
  - >> get_http_uri_name
  - >> parse_http_request
  - >> make_http_response_head

  strlen (Thumb, 62 bytes, Stack size 12 bytes, strlen.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strlen
  [Called By]
  - >> reg_httpServer_webContent
  - >> read_userReg_webContent
  - >> send_http_response_header
  - >> mid
  - >> get_http_param_value

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

  - >> make_http_response_head

  __aeabi_memcpy (Thumb, 130 bytes, Stack size 24 bytes, rt_memcpy.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = __aeabi_memcpy
  [Calls]
  - >> __aeabi_memcpy4
  [Called By]
  - >> do_netbios
  - >> send_http_response_header

  __rt_memcpy (Thumb, 0 bytes, Stack size 24 bytes, rt_memcpy.o(.text), UNUSED)

  __aeabi_memset (Thumb, 18 bytes, Stack size 8 bytes, aeabi_memset.o(.text), UNUSED)
  [Calls]

  - >> _memset
  [Called By]
  - >> itoa

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

  - >> __rt_memclr_w
  - >> _memset

  _memset (Thumb, 30 bytes, Stack size 0 bytes, rt_memclr.o(.text))
  [Calls]

  - >> _memset_w
  [Called By]
  - >> __aeabi_memclr
  - >> __aeabi_memset

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

  - >> _memset
  [Called By]
  - >> inet_ntoa_pad
  - >> inet_ntoa
  - >> send_http_response_body

  __rt_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text))
  [Called By]

  - >> strncpy

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

  - >> http_process_handler

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

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

  - >> _memset_w

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

  - Max Depth = 24
  - Call Chain = strncpy
  [Calls]
  - >> __rt_memclr
  [Called By]
  - >> read_userReg_webContent
  - >> mid
  - >> get_http_param_value

  strcmp (Thumb, 132 bytes, Stack size 16 bytes, strcmp.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = strcmp
  [Called By]
  - >> do_netbios
  - >> _get_lc_numeric
  - >> predefined_set_cgi_processor
  - >> predefined_get_cgi_processor
  - >> http_post_cgi_handler
  - >> http_get_cgi_handler
  - >> find_userReg_webContent
  - >> http_process_handler
  - >> get_http_uri_name
  - >> parse_http_request
  - >> _get_lc_ctype

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

  - >> do_netbios

  __rt_uwrite4 (Thumb, 0 bytes, Stack size 0 bytes, uwrite4.o(.text), UNUSED)

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

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

  - >> S_UART_SetBaud
  - >> UART_Init
  - >> phy_init
  - >> delay_init
  - >> SystemInit

  __aeabi_idiv (Thumb, 0 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)

  __aeabi_idivmod (Thumb, 326 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __aeabi_idivmod
  [Called By]
  - >> _btod_etento
  - >> itoa

  __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

  __aeabi_dadd (Thumb, 0 bytes, Stack size 8 bytes, daddsub.o(.text), UNUSED)
  [Called By]

  - >> UART_Init

  _dadd (Thumb, 22 bytes, Stack size 8 bytes, daddsub.o(.text), UNUSED)
  [Calls]

  - >> _dsub1
  - >> _dadd1

  __aeabi_dsub (Thumb, 0 bytes, Stack size 8 bytes, daddsub.o(.text), UNUSED)

  _dsub (Thumb, 22 bytes, Stack size 8 bytes, daddsub.o(.text), UNUSED)
  [Calls]

  - >> _dsub1
  - >> _dadd1

  __aeabi_drsub (Thumb, 0 bytes, Stack size 8 bytes, daddsub.o(.text), UNUSED)

  _drsb (Thumb, 24 bytes, Stack size 8 bytes, daddsub.o(.text), UNUSED)
  [Calls]

  - >> _dsub1
  - >> _dadd1

  __aeabi_d2uiz (Thumb, 0 bytes, Stack size 8 bytes, dfixui.o(.text), UNUSED)
  [Called By]

  - >> UART_Init

  _dfixu (Thumb, 62 bytes, Stack size 8 bytes, dfixui.o(.text), UNUSED)

  __aeabi_f2d (Thumb, 0 bytes, Stack size 0 bytes, f2d.o(.text), UNUSED)
  [Called By]

  - >> UART_Init

  _f2d (Thumb, 82 bytes, Stack size 0 bytes, f2d.o(.text), UNUSED)

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

  - >> UART_Init

  _fdiv (Thumb, 336 bytes, Stack size 16 bytes, fdiv.o(.text), UNUSED)
  [Called By]

  - >> _frdiv

  _frdiv (Thumb, 8 bytes, Stack size 0 bytes, fdiv.o(.text), UNUSED)
  [Calls]

  - >> _fdiv

  __aeabi_f2uiz (Thumb, 0 bytes, Stack size 0 bytes, ffixui.o(.text), UNUSED)
  [Called By]

  - >> UART_Init

  _ffixu (Thumb, 48 bytes, Stack size 0 bytes, ffixui.o(.text), UNUSED)

  __aeabi_i2f_normalise (Thumb, 72 bytes, Stack size 0 bytes, fflti.o(.text), UNUSED)
  [Called By]

  - >> __aeabi_ui2f
  - >> __aeabi_i2f

  __aeabi_i2f (Thumb, 16 bytes, Stack size 0 bytes, fflti.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f_normalise

  _fflt (Thumb, 0 bytes, Stack size 0 bytes, fflti.o(.text), UNUSED)

  __aeabi_ui2f (Thumb, 6 bytes, Stack size 0 bytes, fflti.o(.text), UNUSED)
  [Calls]

  - >> __aeabi_i2f_normalise
  [Called By]
  - >> UART_Init

  _ffltu (Thumb, 0 bytes, Stack size 0 bytes, fflti.o(.text), UNUSED)

  _printf_pre_padding (Thumb, 44 bytes, Stack size 16 bytes, _printf_pad.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _printf_pre_padding
  [Called By]
  - >> _printf_fp_infnan
  - >> _printf_fp_dec_real
  - >> _printf_wctomb
  - >> _printf_int_common
  - >> _printf_str

  _printf_post_padding (Thumb, 34 bytes, Stack size 16 bytes, _printf_pad.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _printf_post_padding
  [Called By]
  - >> _printf_fp_infnan
  - >> _printf_fp_dec_real
  - >> _printf_wctomb
  - >> _printf_int_common
  - >> _printf_str

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

  - >> _printf_int_dec

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

  - >> _printf_int_oct
  - >> _printf_int_hex
  - >> _printf_int_dec

  _printf_int_common (Thumb, 176 bytes, Stack size 40 bytes, _printf_intcommon.o(.text))
  [Stack]

  - Max Depth = 56
  - Call Chain = _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_longlong_oct
  - >> _printf_longlong_dec
  - >> _printf_longlong_hex
  - >> _printf_int_dec

  _printf_charcount (Thumb, 40 bytes, Stack size 0 bytes, _printf_charcount.o(.text))
  [Called By]

  - >> _printf_n

  _printf_char_common (Thumb, 32 bytes, Stack size 64 bytes, _printf_char_common.o(.text))
  [Stack]

  - Max Depth = 96 + Unknown Stack Size
  - Call Chain = _printf_char_common ⇒ __printf
  [Calls]
  - >> __printf
  [Called By]
  - >> _printf_char_file
  - >> __2sprintf

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

  - >> __2sprintf
  [Address Reference Count : 1]
  - __2sprintf.o(.text)

  _printf_cs_common (Thumb, 22 bytes, Stack size 8 bytes, _printf_char.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_mbtowc (Weak Reference)
  - >> _printf_str
  [Called By]
  - >> _printf_string
  - >> _printf_char

  _printf_char (Thumb, 16 bytes, Stack size 0 bytes, _printf_char.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_char ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_cs_common
  [Called By]
  - >> _printf_c

  _printf_string (Thumb, 8 bytes, Stack size 0 bytes, _printf_char.o(.text))
  [Stack]

  - Max Depth = 40
  - Call Chain = _printf_string ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
  [Calls]
  - >> _printf_cs_common
  [Called By]
  - >> _printf_s

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

  - Max Depth = 112 + Unknown Stack Size
  - Call Chain = _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> ferror
  - >> _printf_char_common
  [Called By]
  - >> __2printf
  - >> __c89printf

  _printf_wctomb (Thumb, 182 bytes, Stack size 56 bytes, _printf_wctomb.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _wcrtomb
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_lcs_common

  _printf_longlong_dec (Thumb, 94 bytes, Stack size 32 bytes, _printf_longlong_dec.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_longlong_dec ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _ll_udiv10
  - >> _printf_int_common
  [Called By]
  - >> _printf_llu
  - >> _printf_lld
  - >> _printf_lli

  _printf_longlong_oct (Thumb, 68 bytes, Stack size 16 bytes, _printf_oct_int_ll.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_int_common
  [Called By]
  - >> _printf_ll_oct
  - >> _printf_int_oct

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

  - Max Depth = 80
  - Call Chain = _printf_int_oct ⇒ _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_oct
  - >> _printf_truncate_unsigned
  [Called By]
  - >> _printf_o

  _printf_ll_oct (Thumb, 10 bytes, Stack size 0 bytes, _printf_oct_int_ll.o(.text))
  [Stack]

  - Max Depth = 72
  - Call Chain = _printf_ll_oct ⇒ _printf_longlong_oct ⇒ _printf_int_common ⇒ _printf_post_padding
  [Calls]
  - >> _printf_longlong_oct
  [Called By]
  - >> _printf_llo

  __strtok_internal (Thumb, 66 bytes, Stack size 24 bytes, strtok_int.o(.text))
  [Stack]

  - Max Depth = 36
  - Call Chain = __strtok_internal ⇒ strspn
  [Calls]
  - >> strspn
  - >> strcspn
  [Called By]
  - >> strtok

  __rt_udiv10 (Thumb, 40 bytes, Stack size 0 bytes, rtudiv10.o(.text))
  [Called By]

  - >> _printf_fp_dec_real
  - >> _printf_int_dec

  _ll_udiv10 (Thumb, 122 bytes, Stack size 16 bytes, lludiv10.o(.text))
  [Stack]

  - Max Depth = 16
  - Call Chain = _ll_udiv10
  [Called By]
  - >> _fp_digits
  - >> _printf_longlong_dec

  __lib_sel_fp_printf (Thumb, 2 bytes, Stack size 0 bytes, _printf_fp_dec.o(.text), UNUSED)

  _printf_fp_dec_real (Thumb, 618 bytes, Stack size 96 bytes, _printf_fp_dec.o(.text))
  [Stack]

  - Max Depth = 368
  - Call Chain = _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> __ARM_fpclassify
  - >> _printf_fp_infnan
  - >> __rt_locale
  - >> _fp_digits
  - >> __rt_udiv10
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Address Reference Count : 1]
  - printf1.o(x$fpl$printf1)

  _printf_lcs_common (Thumb, 22 bytes, Stack size 8 bytes, _printf_wchar.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_wc (Weak Reference)
  - >> _printf_wctomb
  [Called By]
  - >> _printf_wstring
  - >> _printf_wchar

  _printf_wchar (Thumb, 16 bytes, Stack size 0 bytes, _printf_wchar.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_wchar ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_lcs_common
  [Called By]
  - >> _printf_lc

  _printf_wstring (Thumb, 8 bytes, Stack size 0 bytes, _printf_wchar.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _printf_wstring ⇒ _printf_lcs_common ⇒ _printf_wctomb ⇒ _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> _printf_lcs_common
  [Called By]
  - >> _printf_ls

  _wcrtomb (Thumb, 68 bytes, Stack size 16 bytes, _wcrtomb.o(.text))
  [Stack]

  - Max Depth = 24
  - Call Chain = _wcrtomb ⇒ __rt_ctype_table
  [Calls]
  - >> __rt_ctype_table
  [Called By]
  - >> _printf_wctomb

  strcspn (Thumb, 34 bytes, Stack size 12 bytes, strcspn.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strcspn
  [Called By]
  - >> __strtok_internal

  strspn (Thumb, 32 bytes, Stack size 12 bytes, strspn.o(.text))
  [Stack]

  - Max Depth = 12
  - Call Chain = strspn
  [Called By]
  - >> __strtok_internal

  __user_setup_stackheap (Thumb, 62 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __user_setup_stackheap
  [Calls]
  - >> __user_initial_stackheap
  - >> __user_perproc_libspace
  [Called By]
  - >> __rt_entry_sh

  __rt_ctype_table (Thumb, 16 bytes, Stack size 8 bytes, rt_ctype_table.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = __rt_ctype_table
  [Calls]
  - >> __rt_locale
  [Called By]
  - >> _wcrtomb

  __rt_locale (Thumb, 8 bytes, Stack size 0 bytes, rt_locale_intlibspace.o(.text))
  [Called By]

  - >> __rt_ctype_table
  - >> _printf_fp_dec_real
  - >> __rt_lib_init_lc_common

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

  - Max Depth = 40
  - Call Chain = _printf_fp_infnan ⇒ _printf_post_padding
  [Calls]
  - >> _printf_post_padding
  - >> _printf_pre_padding
  [Called By]
  - >> _printf_fp_dec_real

  _btod_etento (Thumb, 200 bytes, Stack size 72 bytes, bigflt0.o(.text))
  [Stack]

  - Max Depth = 176
  - Call Chain = _btod_etento ⇒ _btod_emul ⇒ btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> _btod_ediv
  - >> _btod_emul
  - >> __aeabi_idivmod
  [Called By]
  - >> _fp_digits

  _btod_d2e (Thumb, 64 bytes, Stack size 8 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = _btod_d2e
  [Called By]
  - >> _fp_digits

  _btod_emul (Thumb, 24 bytes, Stack size 24 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 104
  - Call Chain = _btod_emul ⇒ btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> btod_internal_mul
  [Called By]
  - >> _btod_etento
  - >> _fp_digits

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

  - >> btod_internal_mul

  _btod_ediv (Thumb, 22 bytes, Stack size 24 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 88
  - Call Chain = _btod_ediv ⇒ btod_internal_div
  [Calls]
  - >> btod_internal_div
  [Called By]
  - >> _btod_etento
  - >> _fp_digits

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

  - >> btod_internal_div

  exit (Thumb, 12 bytes, Stack size 0 bytes, exit.o(.text))
  [Calls]

  - >> _call_atexit_fns (Weak Reference)
  - >> __rt_exit
  [Called By]
  - >> __rt_entry_main

  __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

  __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
  [Called By]

  - >> __user_setup_stackheap

  __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

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

  - Max Depth = 24
  - Call Chain = __ARM_common_ll_muluu
  [Called By]
  - >> btod_internal_mul

  __ARM_common_switch8 (Thumb, 28 bytes, Stack size 8 bytes, socket.o(i.__ARM_common_switch8))
  [Stack]

  - Max Depth = 8
  - Call Chain = __ARM_common_switch8
  [Called By]
  - >> ctlnetwork
  - >> ctlwizchip
  - >> getsockopt
  - >> setsockopt
  - >> ctlsocket

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

  - >> _printf_fp_dec_real

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

  - >> __printf

  _get_lc_numeric (Thumb, 44 bytes, Stack size 8 bytes, lc_numeric_c.o(locale$$code))
  [Stack]

  - Max Depth = 24
  - Call Chain = _get_lc_numeric ⇒ strcmp
  [Calls]
  - >> strcmp
  [Called By]
  - >> __rt_lib_init_lc_numeric_2

  _get_lc_ctype (Thumb, 44 bytes, Stack size 8 bytes, lc_ctype_c.o(locale$$code))
  [Stack]

  - Max Depth = 24
  - Call Chain = _get_lc_ctype ⇒ strcmp
  [Calls]
  - >> strcmp
  [Called By]
  - >> __rt_lib_init_lc_ctype_2
  [Address Reference Count : 1]
  - rt_ctype_table.o(.text)

  __aeabi_fadd (Thumb, 0 bytes, Stack size 16 bytes, faddsub.o(x$fpl$fadd), UNUSED)

  _fadd (Thumb, 134 bytes, Stack size 16 bytes, faddsub.o(x$fpl$fadd), UNUSED)
  [Calls]

  - >> _fsub1

  __aeabi_fmul (Thumb, 0 bytes, Stack size 16 bytes, fmul.o(x$fpl$fmul), UNUSED)
  [Called By]

  - >> UART_Init

  _fmul (Thumb, 172 bytes, Stack size 16 bytes, fmul.o(x$fpl$fmul), UNUSED)

  __aeabi_frsub (Thumb, 0 bytes, Stack size 16 bytes, faddsub.o(x$fpl$frsb), UNUSED)
  [Called By]

  - >> UART_Init

  _frsb (Thumb, 24 bytes, Stack size 16 bytes, faddsub.o(x$fpl$frsb), UNUSED)
  [Calls]

  - >> _fsub1
  - >> _fadd1

  __aeabi_fsub (Thumb, 0 bytes, Stack size 16 bytes, faddsub.o(x$fpl$fsub), UNUSED)

  _fsub (Thumb, 204 bytes, Stack size 16 bytes, faddsub.o(x$fpl$fsub), UNUSED)
  [Calls]

  - >> _fadd1

  _printf_fp_dec (Thumb, 16 bytes, Stack size 8 bytes, printf1.o(x$fpl$printf1))
  [Stack]

  - Max Depth = 8
  - Call Chain = _printf_fp_dec
  [Called By]
  - >> _printf_g
  - >> _printf_e
  - >> _printf_f

  ### Local Symbols

  NVIC_SystemReset (Thumb, 18 bytes, Stack size 0 bytes, main.o(.text))
  [Address Reference Count : 1]

  - main.o(.text)

  NVIC_SetPriority (Thumb, 110 bytes, Stack size 8 bytes, time_delay.o(.text))
  [Stack]

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

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

  - >> GPIO_INT_Configuration

  getHTTPSocketNum (Thumb, 8 bytes, Stack size 0 bytes, httpserver.o(.text))
  [Called By]

  - >> httpServer_run

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

  - >> http_process_handler
  - >> send_http_response_body

  http_disconnect (Thumb, 48 bytes, Stack size 8 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 8
  - Call Chain = http_disconnect
  [Calls]
  - >> WIZCHIP_WRITE
  - >> WIZCHIP_READ
  [Called By]
  - >> httpServer_run

  send_http_response_body (Thumb, 414 bytes, Stack size 48 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 184 + Unknown Stack Size
  - Call Chain = send_http_response_body ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> send
  - >> __aeabi_memclr
  - >> strcpy
  - >> __2printf
  - >> read_userReg_webContent
  - >> getHTTPSequenceNum
  [Called By]
  - >> httpServer_run
  - >> http_process_handler

  send_http_response_header (Thumb, 170 bytes, Stack size 40 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 200 + Unknown Stack Size
  - Call Chain = send_http_response_header ⇒ make_http_response_head ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> send
  - >> __aeabi_memcpy
  - >> strlen
  - >> __2printf
  - >> make_http_response_head
  [Called By]
  - >> http_process_handler

  send_http_response_cgi (Thumb, 62 bytes, Stack size 32 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 168 + Unknown Stack Size
  - Call Chain = send_http_response_cgi ⇒ __2printf ⇒ _printf_char_file ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> send
  - >> __2sprintf
  - >> __2printf
  [Called By]
  - >> http_process_handler

  http_process_handler (Thumb, 1476 bytes, Stack size 560 bytes, httpserver.o(.text))
  [Stack]

  - Max Depth = 856 + Unknown Stack Size
  - Call Chain = http_process_handler ⇒ http_get_cgi_handler ⇒ predefined_get_cgi_processor ⇒ make_json_netinfo ⇒ __2sprintf ⇒ _printf_char_common ⇒ __printf
  [Calls]
  - >> strcmp
  - >> __aeabi_memclr4
  - >> strcpy
  - >> __2printf
  - >> http_post_cgi_handler
  - >> http_get_cgi_handler
  - >> find_userReg_webContent
  - >> send_http_response_cgi
  - >> send_http_response_header
  - >> send_http_response_body
  - >> getHTTPSequenceNum
  - >> mid
  - >> get_http_uri_name
  - >> find_http_uri_type
  [Called By]
  - >> httpServer_run

  netbios_name_decoding (Thumb, 122 bytes, Stack size 32 bytes, netbios.o(.text))
  [Stack]

  - Max Depth = 32
  - Call Chain = netbios_name_decoding
  [Called By]
  - >> do_netbios

  _dadd1 (Thumb, 286 bytes, Stack size 20 bytes, daddsub.o(.text), UNUSED)
  [Called By]

  - >> _drsb
  - >> _dsub
  - >> _dadd

  _dsub1 (Thumb, 468 bytes, Stack size 40 bytes, daddsub.o(.text), UNUSED)
  [Called By]

  - >> _drsb
  - >> _dsub
  - >> _dadd

  _fadd1 (Thumb, 0 bytes, Stack size unknown bytes, faddsub.o(x$fpl$fadd), UNUSED)
  [Called By]

  - >> _fsub
  - >> _frsb

  _fsub1 (Thumb, 0 bytes, Stack size unknown bytes, faddsub.o(x$fpl$fsub), UNUSED)
  [Called By]

  - >> _frsb
  - >> _fadd

  _printf_input_char (Thumb, 10 bytes, Stack size 0 bytes, _printf_char_common.o(.text))
  [Address Reference Count : 1]

  - _printf_char_common.o(.text)

  _fp_digits (Thumb, 412 bytes, Stack size 96 bytes, _printf_fp_dec.o(.text))
  [Stack]

  - Max Depth = 272
  - Call Chain = _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> _btod_ediv
  - >> _btod_emul
  - >> _btod_d2e
  - >> _btod_etento
  - >> _ll_udiv10
  [Called By]
  - >> _printf_fp_dec_real

  btod_internal_mul (Thumb, 456 bytes, Stack size 56 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 80
  - Call Chain = btod_internal_mul ⇒ __ARM_common_ll_muluu
  [Calls]
  - >> __ARM_common_ll_muluu
  [Called By]
  - >> _btod_emuld
  - >> _btod_emul

  btod_internal_div (Thumb, 494 bytes, Stack size 64 bytes, btod.o(.text))
  [Stack]

  - Max Depth = 64
  - Call Chain = btod_internal_div
  [Called By]
  - >> _btod_edivd
  - >> _btod_ediv

  ### Undefined Global Symbols

  _call_atexit_fns (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> exit

  _printf_fp_hex (Unknown, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> _printf_a

  _printf_mbtowc (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> _printf_cs_common

  _printf_wc (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
  [Called By]

  - >> _printf_lcs_common