📄 ledswitch.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Obj\LEDswitch.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Obj\LEDswitch.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.1 [Build 939]: Last Updated: Thu Nov 27 00:27:20 2008
<BR><P>
<H3>Maximum Stack Usage = 320 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main ⇒ main_TcpNet ⇒ run_system ⇒ run_eth_link ⇒ process_hl_tcp ⇒ process_tcp ⇒ tcp_send_reset ⇒ tcp_send_ctrl ⇒ tcp_send_frame ⇒ ip_send_frame ⇒ dispatch_frame ⇒ eth_send_frame ⇒ arp_cache_find ⇒ arp_send_req ⇒ alloc_mem
<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[c80668]">Reset_Handler</a>
<LI><a href="#[c80938]">Undef_Handler</a>
<LI><a href="#[c808f0]">SWI_Handler</a>
<LI><a href="#[c808a8]">PAbt_Handler</a>
<LI><a href="#[c80860]">DAbt_Handler</a>
<LI><a href="#[c80818]">IRQ_Handler</a>
<LI><a href="#[c807d0]">FIQ_Handler</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[c81220]">sys_error</a> ⇒ <a href="#[c81220]">sys_error</a><BR>
<LI><a href="#[1113128]">mem_test</a> ⇒ <a href="#[1113128]">mem_test</a><BR>
<LI><a href="#[c80938]">Undef_Handler</a> ⇒ <a href="#[c80938]">Undef_Handler</a><BR>
<LI><a href="#[c808f0]">SWI_Handler</a> ⇒ <a href="#[c808f0]">SWI_Handler</a><BR>
<LI><a href="#[c808a8]">PAbt_Handler</a> ⇒ <a href="#[c808a8]">PAbt_Handler</a><BR>
<LI><a href="#[c80860]">DAbt_Handler</a> ⇒ <a href="#[c80860]">DAbt_Handler</a><BR>
<LI><a href="#[c80818]">IRQ_Handler</a> ⇒ <a href="#[c80818]">IRQ_Handler</a><BR>
<LI><a href="#[c807d0]">FIQ_Handler</a> ⇒ <a href="#[c807d0]">FIQ_Handler</a><BR>
<LI><a href="#[1112fc0]">str_up_case</a> ⇒ <a href="#[1112fc0]">str_up_case</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
<LI><a href="#[c80668]">Reset_Handler</a>
<LI><a href="#[c80938]">Undef_Handler</a>
<LI><a href="#[c808f0]">SWI_Handler</a>
<LI><a href="#[c808a8]">PAbt_Handler</a>
<LI><a href="#[c80860]">DAbt_Handler</a>
<LI><a href="#[c80818]">IRQ_Handler</a>
<LI><a href="#[c807d0]">FIQ_Handler</a>
<LI><a href="#[1111570]">__main</a>
<LI><a href="#[c82f10]">udp_callback</a>
<LI><a href="#[c82ec8]">tcp_callback</a>
<LI><a href="#[c7faa0]">interrupt_ethernet</a>
<LI><a href="#[c82e80]">main</a>
<LI><a href="#[c76c00]">nbns_listener</a>
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[c80668]"></a>Reset_Handler</STRONG> (ARM, 0 bytes, Stack size unknown bytes, lpc2300.o(RESET))
<BR>[Address Reference Count : 1]<UL><LI> lpc2300.o(RESET)
</UL>
<P><STRONG><a name="[1111570]"></a>__main</STRONG> (ARM, 8 bytes, Stack size 0 bytes, entry.o($$startup$$))
<BR><BR>[Calls]<UL><LI><a href="#[11110c0]">>></a> __init (via Veneer)
</UL>
<P><STRONG><a name="[1111108]"></a>__call_main</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, init.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[11110c0]">>></a> __init
</UL>
<P><STRONG><a name="[c82fa0]"></a>fputc</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, ledswitch.o(.text), UNUSED)
<P><STRONG><a name="[c82f58]"></a>procrec</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, ledswitch.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c82ec8]">>></a> tcp_callback
<LI><a href="#[c82f10]">>></a> udp_callback
</UL>
<P><STRONG><a name="[c82f10]"></a>udp_callback</STRONG> (Thumb, 24 bytes, Stack size 4 bytes, ledswitch.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = udp_callback
</UL>
<BR>[Calls]<UL><LI><a href="#[c82f58]">>></a> procrec
</UL>
<BR>[Address Reference Count : 1]<UL><LI> ledswitch.o(.text)
</UL>
<P><STRONG><a name="[c82ec8]"></a>tcp_callback</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, ledswitch.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = tcp_callback
</UL>
<BR>[Calls]<UL><LI><a href="#[c82f58]">>></a> procrec
</UL>
<BR>[Address Reference Count : 1]<UL><LI> ledswitch.o(.text)
</UL>
<P><STRONG><a name="[c82e80]"></a>main</STRONG> (Thumb, 128 bytes, Stack size 24 bytes, ledswitch.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 320 + Unknown Stack Size
<LI>Call Chain = main ⇒ main_TcpNet ⇒ run_system ⇒ run_eth_link ⇒ process_hl_tcp ⇒ process_tcp ⇒ tcp_send_reset ⇒ tcp_send_ctrl ⇒ tcp_send_frame ⇒ ip_send_frame ⇒ dispatch_frame ⇒ eth_send_frame ⇒ arp_cache_find ⇒ arp_send_req ⇒ alloc_mem
</UL>
<BR>[Calls]<UL><LI><a href="#[c78090]">>></a> udp_open
<LI><a href="#[c78120]">>></a> udp_get_socket
<LI><a href="#[c7ba70]">>></a> tcp_listen
<LI><a href="#[c7bb00]">>></a> tcp_get_socket
<LI><a href="#[111abb0]">>></a> timer_tick
<LI><a href="#[111abf8]">>></a> main_TcpNet
<LI><a href="#[111ac40]">>></a> init_TcpNet
</UL>
<BR>[Address Reference Count : 1]<UL><LI> init.o(.text)
</UL>
<P><STRONG><a name="[c81220]"></a>sys_error</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, net_config.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c81220]">>></a> sys_error
</UL>
<BR>[Called By]<UL><LI><a href="#[c78120]">>></a> udp_get_socket
<LI><a href="#[c7bb00]">>></a> tcp_get_socket
<LI><a href="#[c7bcf8]">>></a> process_tcp
<LI><a href="#[c81220]">>></a> sys_error
<LI><a href="#[111c0e0]">>></a> free_mem
<LI><a href="#[111c128]">>></a> alloc_mem
</UL>
<P><STRONG><a name="[c811d8]"></a>init_system</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, net_config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = init_system ⇒ init_eth_link ⇒ init_ethernet ⇒ rx_descr_init
</UL>
<BR>[Calls]<UL><LI><a href="#[c74c30]">>></a> init_eth_link
<LI><a href="#[c76810]">>></a> init_nbns
<LI><a href="#[c78240]">>></a> init_udp
<LI><a href="#[c7bd40]">>></a> init_tcp
</UL>
<BR>[Called By]<UL><LI><a href="#[111ac40]">>></a> init_TcpNet
</UL>
<P><STRONG><a name="[c81190]"></a>run_system</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, net_config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 288 + Unknown Stack Size
<LI>Call Chain = run_system ⇒ run_eth_link ⇒ process_hl_tcp ⇒ process_tcp ⇒ tcp_send_reset ⇒ tcp_send_ctrl ⇒ tcp_send_frame ⇒ ip_send_frame ⇒ dispatch_frame ⇒ eth_send_frame ⇒ arp_cache_find ⇒ arp_send_req ⇒ alloc_mem
</UL>
<BR>[Calls]<UL><LI><a href="#[c74ba0]">>></a> run_eth_link
<LI><a href="#[c7b9e0]">>></a> tcp_poll_sockets
</UL>
<BR>[Called By]<UL><LI><a href="#[111abf8]">>></a> main_TcpNet
</UL>
<P><STRONG><a name="[c81148]"></a>process_hl_udp</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, net_config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 44 + Unknown Stack Size
<LI>Call Chain = process_hl_udp ⇒ process_udp ⇒ CalcChksumBuf
</UL>
<BR>[Calls]<UL><LI><a href="#[c781f8]">>></a> process_udp
</UL>
<BR>[Called By]<UL><LI><a href="#[c74ba0]">>></a> run_eth_link
</UL>
<P><STRONG><a name="[c81100]"></a>process_hl_tcp</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, net_config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 264 + Unknown Stack Size
<LI>Call Chain = process_hl_tcp ⇒ process_tcp ⇒ tcp_send_reset ⇒ tcp_send_ctrl ⇒ tcp_send_frame ⇒ ip_send_frame ⇒ dispatch_frame ⇒ eth_send_frame ⇒ arp_cache_find ⇒ arp_send_req ⇒ alloc_mem
</UL>
<BR>[Calls]<UL><LI><a href="#[c7bcf8]">>></a> process_tcp
</UL>
<BR>[Called By]<UL><LI><a href="#[c74ba0]">>></a> run_eth_link
</UL>
<P><STRONG><a name="[c810b8]"></a>dispatch_frame</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, net_config.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = dispatch_frame ⇒ eth_send_frame ⇒ arp_cache_find ⇒ arp_send_req ⇒ alloc_mem
</UL>
<BR>[Calls]<UL><LI><a href="#[c74c78]">>></a> eth_send_frame
</UL>
<BR>[Called By]<UL><LI><a href="#[1116950]">>></a> ip_send_frame
</UL>
<P><STRONG><a name="[c81070]"></a>igmp_is_member</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, net_config.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[11169e0]">>></a> ip_chk_frame
</UL>
<P><STRONG><a name="[c7f668]"></a>init_ethernet</STRONG> (Thumb, 398 bytes, Stack size 24 bytes, lpc23_emac.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = init_ethernet ⇒ rx_descr_init
</UL>
<BR>[Calls]<UL><LI><a href="#[c7f9c8]">>></a> write_PHY
<LI><a href="#[c7fa10]">>></a> rx_descr_init
<LI><a href="#[c7fa58]">>></a> read_PHY
</UL>
<BR>[Called By]<UL><LI><a href="#[c74c30]">>></a> init_eth_link
</UL>
<P><STRONG><a name="[c7f620]"></a>int_enable_eth</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, lpc23_emac.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c74c30]">>></a> init_eth_link
<LI><a href="#[111c050]">>></a> resize_mem
<LI><a href="#[111c0e0]">>></a> free_mem
<LI><a href="#[111c128]">>></a> alloc_mem
</UL>
<P><STRONG><a name="[c7f5d8]"></a>int_disable_eth</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, lpc23_emac.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c74c30]">>></a> init_eth_link
<LI><a href="#[111ac40]">>></a> init_TcpNet
<LI><a href="#[111c050]">>></a> resize_mem
<LI><a href="#[111c0e0]">>></a> free_mem
<LI><a href="#[111c128]">>></a> alloc_mem
</UL>
<P><STRONG><a name="[c7f590]"></a>send_frame</STRONG> (Thumb, 66 bytes, Stack size 16 bytes, lpc23_emac.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = send_frame
</UL>
<BR>[Called By]<UL><LI><a href="#[c74c78]">>></a> eth_send_frame
<LI><a href="#[1118c78]">>></a> arp_send_req
<LI><a href="#[1118cc0]">>></a> arp_send_reply
</UL>
<P><STRONG><a name="[1111ca8]"></a>__ARM_switch8</STRONG> (ARM, 24 bytes, Stack size 0 bytes, switch8.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c7b9e0]">>></a> tcp_poll_sockets (via Veneer)
<LI><a href="#[c7bcf8]">>></a> process_tcp (via Veneer)
<LI><a href="#[c7c0a0]">>></a> tcp_transit (via Veneer)
</UL>
<P><STRONG><a name="[1111c60]"></a>__rt_switch8</STRONG> (ARM, 0 bytes, Stack size 0 bytes, switch8.o(.text), UNUSED)
<P><STRONG><a name="[1111b40]"></a>__ARM_call_via_r0</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[1111af8]"></a>__call_via_r0</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[1111ab0]"></a>__ARM_call_via_r1</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[1111a68]"></a>__call_via_r1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[1111a20]"></a>__ARM_call_via_r2</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[11119d8]"></a>__call_via_r2</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[1111990]"></a>__ARM_call_via_r3</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[11110c0]">>></a> __init
</UL>
<P><STRONG><a name="[1111948]"></a>__call_via_r3</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[1111900]"></a>__ARM_call_via_r4</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c781f8]">>></a> process_udp
</UL>
<P><STRONG><a name="[11118b8]"></a>__call_via_r4</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[1111870]"></a>__ARM_call_via_r5</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c7b9e0]">>></a> tcp_poll_sockets
<LI><a href="#[c7bcf8]">>></a> process_tcp
</UL>
<P><STRONG><a name="[1111828]"></a>__call_via_r5</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[11117e0]"></a>__ARM_call_via_r6</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c7bcf8]">>></a> process_tcp
</UL>
<P><STRONG><a name="[1111798]"></a>__call_via_r6</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, callvia.o(.text), UNUSED)
<P><STRONG><a name="[1111750]"></a>__ARM_call_via_r7</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, callvia.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c7bcf8]">>></a> process_tcp
</UL>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -