⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 easyweb.htm

📁 NXP LPC2478 Ethernet demo code
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!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>#&#060CALLGRAPH&#062# ARM Linker, RVCT3.1 [Build 919]: Last Updated: Sun Aug 17 15:09:40 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 &rArr; DoNetworkStuff &rArr; ProcessEthIAFrame &rArr; ProcessTCPFrame &rArr; PrepareTCP_FRAME &rArr; CalcChecksum
<P>
<H3>
Functions with no stack information
</H3><UL>
 <LI><a href="#[c9dd38]">Reset_Handler</a>
 <LI><a href="#[c9dd80]">__user_initial_stackheap</a>
 <LI><a href="#[c9e008]">Undef_Handler</a>
 <LI><a href="#[c9dfc0]">SWI_Handler</a>
 <LI><a href="#[c9df78]">PAbt_Handler</a>
 <LI><a href="#[c9df30]">DAbt_Handler</a>
 <LI><a href="#[c9dee8]">IRQ_Handler</a>
 <LI><a href="#[c9dea0]">FIQ_Handler</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[c9e008]">Undef_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c9e008]">Undef_Handler</a><BR>
 <LI><a href="#[c9dfc0]">SWI_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c9dfc0]">SWI_Handler</a><BR>
 <LI><a href="#[c9df78]">PAbt_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c9df78]">PAbt_Handler</a><BR>
 <LI><a href="#[c9df30]">DAbt_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c9df30]">DAbt_Handler</a><BR>
 <LI><a href="#[c9dee8]">IRQ_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c9dee8]">IRQ_Handler</a><BR>
 <LI><a href="#[c9dea0]">FIQ_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[c9dea0]">FIQ_Handler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
 <LI><a href="#[c9dd38]">Reset_Handler</a>
 <LI><a href="#[c9e008]">Undef_Handler</a>
 <LI><a href="#[c9dfc0]">SWI_Handler</a>
 <LI><a href="#[c9df78]">PAbt_Handler</a>
 <LI><a href="#[c9df30]">DAbt_Handler</a>
 <LI><a href="#[c9dee8]">IRQ_Handler</a>
 <LI><a href="#[c9dea0]">FIQ_Handler</a>
 <LI><a href="#[c99f30]">__main</a>
 <LI><a href="#[c953c0]">__ARM_get_argv</a>
 <LI><a href="#[ca03c0]">TCPClockHandler</a>
 <LI><a href="#[c986f8]">_sputc</a>
 <LI><a href="#[ca15e8]">main</a>
 <LI><a href="#[c97548]">_printf_outstr_char</a>
 <LI><a href="#[c973d0]">_printf_input_char</a>
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[c9dd38]"></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="[c99f30]"></a>__main</STRONG> (ARM, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Stack]<UL><LI>Max Depth = 64 + Unknown Stack Size
<LI>Call Chain = __main &rArr; __rt_entry &rArr; __rt_lib_init &rArr; _fp_init
</UL>
<BR>[Calls]<UL><LI><a href="#[c99ac0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<LI><a href="#[117fba0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>

<P><STRONG><a name="[117fba0]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[c99f30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
</UL>

<P><STRONG><a name="[117fb58]"></a>__scatterload_rt2</STRONG> (ARM, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c99ac0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>

<P><STRONG><a name="[117fb10]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

<P><STRONG><a name="[117f8d0]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[117f8d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[117f8d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>

<P><STRONG><a name="[117f768]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

<P><STRONG><a name="[c96ec0]"></a>__ARM_argv_veneer</STRONG> (ARM, 16 bytes, Stack size 0 bytes, lib_init.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[c96e30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init (via Veneer)
</UL>

<P><STRONG><a name="[ca1708]"></a>GetTempVal</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = GetTempVal
</UL>
<BR>[Calls]<UL><LI><a href="#[c9ae68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1678]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;InsertDynamicValues
</UL>

<P><STRONG><a name="[ca16c0]"></a>GetAD7Val</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = GetAD7Val
</UL>
<BR>[Calls]<UL><LI><a href="#[c9ae68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1678]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;InsertDynamicValues
</UL>

<P><STRONG><a name="[ca1678]"></a>InsertDynamicValues</STRONG> (Thumb, 94 bytes, Stack size 24 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56 + Unknown Stack Size
<LI>Call Chain = InsertDynamicValues &rArr; __1sprintf
</UL>
<BR>[Calls]<UL><LI><a href="#[c9b580]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy (via Veneer)
<LI><a href="#[c9baf8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__1sprintf
<LI><a href="#[ca16c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetAD7Val
<LI><a href="#[ca1708]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetTempVal
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1630]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HTTPServer
</UL>

<P><STRONG><a name="[ca1630]"></a>HTTPServer</STRONG> (Thumb, 188 bytes, Stack size 24 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80 + Unknown Stack Size
<LI>Call Chain = HTTPServer &rArr; InsertDynamicValues &rArr; __1sprintf
</UL>
<BR>[Calls]<UL><LI><a href="#[c9b580]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy (via Veneer)
<LI><a href="#[ca1438]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPTransmitTxBuffer
<LI><a href="#[ca1480]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPReleaseRxBuffer
<LI><a href="#[ca1558]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPClose
<LI><a href="#[ca1678]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;InsertDynamicValues
</UL>
<BR>[Called By]<UL><LI><a href="#[ca15e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca15e8]"></a>main</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, easyweb.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104 + Unknown Stack Size
<LI>Call Chain = main &rArr; DoNetworkStuff &rArr; ProcessEthIAFrame &rArr; ProcessTCPFrame &rArr; PrepareTCP_FRAME &rArr; CalcChecksum
</UL>
<BR>[Calls]<UL><LI><a href="#[ca14c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPPassiveOpen
<LI><a href="#[ca1510]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPLowLevelInit
<LI><a href="#[ca15a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DoNetworkStuff
<LI><a href="#[ca1630]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HTTPServer
</UL>
<BR>[Address Reference Count : 1]<UL><LI> kernel.o(.text)
</UL>
<P><STRONG><a name="[ca1510]"></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 &rArr; Init_EMAC &rArr; rx_descr_init
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fb98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Init_EMAC
</UL>
<BR>[Called By]<UL><LI><a href="#[ca15e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca14c8]"></a>TCPPassiveOpen</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca15e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca0378]"></a>TCPStartRetryTimer</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c9fef8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProcessTCPFrame
<LI><a href="#[ca02e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPActiveOpen
<LI><a href="#[ca1438]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPTransmitTxBuffer
<LI><a href="#[ca15a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DoNetworkStuff
</UL>

<P><STRONG><a name="[ca0330]"></a>PrepareARP_REQUEST</STRONG> (Thumb, 146 bytes, Stack size 16 bytes, tcpip.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16 + Unknown Stack Size
<LI>Call Chain = PrepareARP_REQUEST
</UL>
<BR>[Calls]<UL><LI><a href="#[c9b2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr (via Veneer)
<LI><a href="#[c9b580]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy (via Veneer)
<LI><a href="#[c9b730]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[c9ffd0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPHandleRetransmission
<LI><a href="#[ca02e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPActiveOpen
</UL>

<P><STRONG><a name="[ca02e8]"></a>TCPActiveOpen</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, tcpip.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ca0330]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PrepareARP_REQUEST
<LI><a href="#[ca0378]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPStartRetryTimer
</UL>

<P><STRONG><a name="[ca1558]"></a>TCPClose</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1630]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HTTPServer
</UL>

<P><STRONG><a name="[ca1480]"></a>TCPReleaseRxBuffer</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1630]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HTTPServer
</UL>

<P><STRONG><a name="[ca1438]"></a>TCPTransmitTxBuffer</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, tcpip.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[ca0378]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TCPStartRetryTimer
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1630]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HTTPServer
</UL>

<P><STRONG><a name="[ca02a0]"></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 &rArr; CopyFromFrame_EMAC
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fa78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;StartReadFrame
<LI><a href="#[c9fcb8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CopyFromFrame_EMAC
</UL>
<BR>[Called By]<UL><LI><a href="#[ca15a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DoNetworkStuff
</UL>

<P><STRONG><a name="[ca0258]"></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 &rArr; CopyToFrame_EMAC
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fc70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CopyToFrame_EMAC
</UL>
<BR>[Called By]<UL><LI><a href="#[ca15a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DoNetworkStuff
</UL>

<P><STRONG><a name="[ca0210]"></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="#[c9feb0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PrepareICMP_ECHO_REPLY
<LI><a href="#[ca00a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PrepareTCP_FRAME
<LI><a href="#[ca0138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PrepareTCP_DATA_FRAME

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -