📄 easyweb.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Objects\easyweb.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\easyweb.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.1 [Build 934]: Last Updated: Fri Aug 22 11:11:35 2008
<BR><P>
<H3>Maximum Stack Usage = 104 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main ⇒ DoNetworkStuff ⇒ ProcessEthIAFrame ⇒ ProcessTCPFrame ⇒ PrepareTCP_FRAME ⇒ CalcChecksum
<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[c7e2c0]">Reset_Handler</a>
<LI><a href="#[c7e590]">Undef_Handler</a>
<LI><a href="#[c7e548]">SWI_Handler</a>
<LI><a href="#[c7e500]">PAbt_Handler</a>
<LI><a href="#[c7e4b8]">DAbt_Handler</a>
<LI><a href="#[c7e470]">IRQ_Handler</a>
<LI><a href="#[c7e428]">FIQ_Handler</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[c7e590]">Undef_Handler</a> ⇒ <a href="#[c7e590]">Undef_Handler</a><BR>
<LI><a href="#[c7e548]">SWI_Handler</a> ⇒ <a href="#[c7e548]">SWI_Handler</a><BR>
<LI><a href="#[c7e500]">PAbt_Handler</a> ⇒ <a href="#[c7e500]">PAbt_Handler</a><BR>
<LI><a href="#[c7e4b8]">DAbt_Handler</a> ⇒ <a href="#[c7e4b8]">DAbt_Handler</a><BR>
<LI><a href="#[c7e470]">IRQ_Handler</a> ⇒ <a href="#[c7e470]">IRQ_Handler</a><BR>
<LI><a href="#[c7e428]">FIQ_Handler</a> ⇒ <a href="#[c7e428]">FIQ_Handler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
<LI><a href="#[c7e2c0]">Reset_Handler</a>
<LI><a href="#[c7e590]">Undef_Handler</a>
<LI><a href="#[c7e548]">SWI_Handler</a>
<LI><a href="#[c7e500]">PAbt_Handler</a>
<LI><a href="#[c7e4b8]">DAbt_Handler</a>
<LI><a href="#[c7e470]">IRQ_Handler</a>
<LI><a href="#[c7e428]">FIQ_Handler</a>
<LI><a href="#[c7d818]">__main</a>
<LI><a href="#[c80778]">TCPClockHandler</a>
<LI><a href="#[c81988]">main</a>
<LI><a href="#[c774c0]">_sputc</a>
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[c7e2c0]"></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="[c7d818]"></a>__main</STRONG> (ARM, 8 bytes, Stack size 0 bytes, entry.o($$startup$$))
<BR><BR>[Calls]<UL><LI><a href="#[11725b8]">>></a> __init (via Veneer)
</UL>
<P><STRONG><a name="[1172600]"></a>__call_main</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, init.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[11725b8]">>></a> __init
</UL>
<P><STRONG><a name="[c81aa8]"></a>GetTempVal</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = GetTempVal ⇒ __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d3f0]">>></a> __aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[c81a18]">>></a> InsertDynamicValues
</UL>
<P><STRONG><a name="[c81a60]"></a>GetAD7Val</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = GetAD7Val ⇒ __aeabi_uidivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d3f0]">>></a> __aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[c81a18]">>></a> InsertDynamicValues
</UL>
<P><STRONG><a name="[c81a18]"></a>InsertDynamicValues</STRONG> (Thumb, 94 bytes, Stack size 24 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = InsertDynamicValues ⇒ __1sprintf
</UL>
<BR>[Calls]<UL><LI><a href="#[c77310]">>></a> __1sprintf
<LI><a href="#[c7d288]">>></a> __aeabi_memcpy
<LI><a href="#[c81a60]">>></a> GetAD7Val
<LI><a href="#[c81aa8]">>></a> GetTempVal
</UL>
<BR>[Called By]<UL><LI><a href="#[c819d0]">>></a> HTTPServer
</UL>
<P><STRONG><a name="[c819d0]"></a>HTTPServer</STRONG> (Thumb, 188 bytes, Stack size 24 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = HTTPServer ⇒ InsertDynamicValues ⇒ __1sprintf
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d288]">>></a> __aeabi_memcpy
<LI><a href="#[c817d8]">>></a> TCPTransmitTxBuffer
<LI><a href="#[c81820]">>></a> TCPReleaseRxBuffer
<LI><a href="#[c818f8]">>></a> TCPClose
<LI><a href="#[c81a18]">>></a> InsertDynamicValues
</UL>
<BR>[Called By]<UL><LI><a href="#[c81988]">>></a> main
</UL>
<P><STRONG><a name="[c81988]"></a>main</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = main ⇒ DoNetworkStuff ⇒ ProcessEthIAFrame ⇒ ProcessTCPFrame ⇒ PrepareTCP_FRAME ⇒ CalcChecksum
</UL>
<BR>[Calls]<UL><LI><a href="#[c81868]">>></a> TCPPassiveOpen
<LI><a href="#[c818b0]">>></a> TCPLowLevelInit
<LI><a href="#[c81940]">>></a> DoNetworkStuff
<LI><a href="#[c819d0]">>></a> HTTPServer
</UL>
<BR>[Address Reference Count : 1]<UL><LI> init.o(.text)
</UL>
<P><STRONG><a name="[c818b0]"></a>TCPLowLevelInit</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, tcpip.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = TCPLowLevelInit ⇒ Init_EMAC ⇒ rx_descr_init
</UL>
<BR>[Calls]<UL><LI><a href="#[c7ff50]">>></a> Init_EMAC
</UL>
<BR>[Called By]<UL><LI><a href="#[c81988]">>></a> main
</UL>
<P><STRONG><a name="[c81868]"></a>TCPPassiveOpen</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c81988]">>></a> main
</UL>
<P><STRONG><a name="[c80730]"></a>TCPStartRetryTimer</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c802b0]">>></a> ProcessTCPFrame
<LI><a href="#[c806a0]">>></a> TCPActiveOpen
<LI><a href="#[c817d8]">>></a> TCPTransmitTxBuffer
<LI><a href="#[c81940]">>></a> DoNetworkStuff
</UL>
<P><STRONG><a name="[c806e8]"></a>PrepareARP_REQUEST</STRONG> (Thumb, 146 bytes, Stack size 16 bytes, tcpip.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = PrepareARP_REQUEST
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d000]">>></a> __aeabi_memclr
<LI><a href="#[c7d0d8]">>></a> __aeabi_memset
<LI><a href="#[c7d288]">>></a> __aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[c80388]">>></a> TCPHandleRetransmission
<LI><a href="#[c806a0]">>></a> TCPActiveOpen
</UL>
<P><STRONG><a name="[c806a0]"></a>TCPActiveOpen</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, tcpip.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c806e8]">>></a> PrepareARP_REQUEST
<LI><a href="#[c80730]">>></a> TCPStartRetryTimer
</UL>
<P><STRONG><a name="[c818f8]"></a>TCPClose</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c819d0]">>></a> HTTPServer
</UL>
<P><STRONG><a name="[c81820]"></a>TCPReleaseRxBuffer</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c819d0]">>></a> HTTPServer
</UL>
<P><STRONG><a name="[c817d8]"></a>TCPTransmitTxBuffer</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c80730]">>></a> TCPStartRetryTimer
</UL>
<BR>[Called By]<UL><LI><a href="#[c819d0]">>></a> HTTPServer
</UL>
<P><STRONG><a name="[c80658]"></a>IsBroadcast</STRONG> (Thumb, 60 bytes, Stack size 16 bytes, tcpip.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = IsBroadcast ⇒ CopyFromFrame_EMAC
</UL>
<BR>[Calls]<UL><LI><a href="#[c7fe30]">>></a> StartReadFrame
<LI><a href="#[c80070]">>></a> CopyFromFrame_EMAC
</UL>
<BR>[Called By]<UL><LI><a href="#[c81940]">>></a> DoNetworkStuff
</UL>
<P><STRONG><a name="[c80610]"></a>SendFrame1</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, tcpip.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SendFrame1 ⇒ CopyToFrame_EMAC
</UL>
<BR>[Calls]<UL><LI><a href="#[c80028]">>></a> CopyToFrame_EMAC
</UL>
<BR>[Called By]<UL><LI><a href="#[c81940]">>></a> DoNetworkStuff
</UL>
<P><STRONG><a name="[c805c8]"></a>CalcChecksum</STRONG> (Thumb, 94 bytes, Stack size 8 bytes, tcpip.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = CalcChecksum
</UL>
<BR>[Called By]<UL><LI><a href="#[c80268]">>></a> PrepareICMP_ECHO_REPLY
<LI><a href="#[c80460]">>></a> PrepareTCP_FRAME
<LI><a href="#[c804f0]">>></a> PrepareTCP_DATA_FRAME
</UL>
<P><STRONG><a name="[c80580]"></a>WriteDWBE</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c80460]">>></a> PrepareTCP_FRAME
<LI><a href="#[c804f0]">>></a> PrepareTCP_DATA_FRAME
</UL>
<P><STRONG><a name="[c80538]"></a>WriteWBE</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c80268]">>></a> PrepareICMP_ECHO_REPLY
<LI><a href="#[c80460]">>></a> PrepareTCP_FRAME
<LI><a href="#[c804f0]">>></a> PrepareTCP_DATA_FRAME
</UL>
<P><STRONG><a name="[c804f0]"></a>PrepareTCP_DATA_FRAME</STRONG> (Thumb, 182 bytes, Stack size 16 bytes, tcpip.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = PrepareTCP_DATA_FRAME ⇒ CalcChecksum
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d288]">>></a> __aeabi_memcpy
<LI><a href="#[c80538]">>></a> WriteWBE
<LI><a href="#[c80580]">>></a> WriteDWBE
<LI><a href="#[c805c8]">>></a> CalcChecksum
</UL>
<BR>[Called By]<UL><LI><a href="#[c81940]">>></a> DoNetworkStuff
</UL>
<P><STRONG><a name="[c804a8]"></a>SendFrame2</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, tcpip.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SendFrame2 ⇒ CopyToFrame_EMAC
</UL>
<BR>[Calls]<UL><LI><a href="#[c80028]">>></a> CopyToFrame_EMAC
</UL>
<BR>[Called By]<UL><LI><a href="#[c81940]">>></a> DoNetworkStuff
</UL>
<P><STRONG><a name="[c80460]"></a>PrepareTCP_FRAME</STRONG> (Thumb, 384 bytes, Stack size 16 bytes, tcpip.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = PrepareTCP_FRAME ⇒ CalcChecksum
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d288]">>></a> __aeabi_memcpy
<LI><a href="#[c80538]">>></a> WriteWBE
<LI><a href="#[c80580]">>></a> WriteDWBE
<LI><a href="#[c805c8]">>></a> CalcChecksum
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -