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

📄 webserver.htm

📁 在LPC2103上实现简单的TCP应用,开发环境Keil MDK
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<LI><a href="#[ca0b90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60SetBank
<LI><a href="#[ca0c68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60WriteOp
<LI><a href="#[ca1e50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60PhyWrite
<LI><a href="#[ca1f28]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca0a70]"></a>enc28j60getrev</STRONG> (ARM, 20 bytes, Stack size 4 bytes, enc28j60.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ca0b48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60Read
</UL>

<P><STRONG><a name="[ca0a28]"></a>enc28j60linkup</STRONG> (ARM, 44 bytes, Stack size 4 bytes, enc28j60.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ca0ab8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60PhyReadH
</UL>

<P><STRONG><a name="[ca09e0]"></a>enc28j60PacketSend</STRONG> (ARM, 160 bytes, Stack size 12 bytes, enc28j60.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = enc28j60PacketSend &rArr; enc28j60Write &rArr; enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[ca0b00]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60Write
<LI><a href="#[ca0b48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60Read
<LI><a href="#[ca0bd8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60WriteBuffer
<LI><a href="#[ca0c68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60WriteOp
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1a60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_udp_reply_from_request
<LI><a href="#[ca1aa8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_synack_from_syn
<LI><a href="#[ca1af0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_ack_with_data
<LI><a href="#[ca1b38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_ack_from_any
<LI><a href="#[ca1b80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_echo_reply_from_request
<LI><a href="#[ca1bc8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_arp_answer_from_request
</UL>

<P><STRONG><a name="[ca1e98]"></a>enc28j60PacketReceive</STRONG> (ARM, 324 bytes, Stack size 20 bytes, enc28j60.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = enc28j60PacketReceive &rArr; enc28j60Write &rArr; enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[ca0b00]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60Write
<LI><a href="#[ca0b48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60Read
<LI><a href="#[ca0c20]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60ReadBuffer
<LI><a href="#[ca0c68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60WriteOp
<LI><a href="#[ca0cb0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60ReadOp
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[c9fe80]"></a>checksum</STRONG> (ARM, 160 bytes, Stack size 4 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[c9fdf0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;fill_ip_hdr_checksum
<LI><a href="#[ca1a60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_udp_reply_from_request
<LI><a href="#[ca1aa8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_synack_from_syn
<LI><a href="#[ca1af0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_ack_with_data
<LI><a href="#[ca1b38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_ack_from_any
</UL>

<P><STRONG><a name="[ca1c58]"></a>init_ip_arp_udp_tcp</STRONG> (ARM, 92 bytes, Stack size 4 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = init_ip_arp_udp_tcp
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca1dc0]"></a>eth_type_is_arp_and_my_ip</STRONG> (ARM, 116 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca1d78]"></a>eth_type_is_ip_and_my_ip</STRONG> (ARM, 136 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[c9fe38]"></a>make_eth</STRONG> (ARM, 60 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1a60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_udp_reply_from_request
<LI><a href="#[ca1aa8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_synack_from_syn
<LI><a href="#[ca1b38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_ack_from_any
<LI><a href="#[ca1b80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_echo_reply_from_request
<LI><a href="#[ca1bc8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_arp_answer_from_request
</UL>

<P><STRONG><a name="[c9fdf0]"></a>fill_ip_hdr_checksum</STRONG> (ARM, 84 bytes, Stack size 12 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = fill_ip_hdr_checksum &rArr; checksum
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fe80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[c9fda8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_ip
<LI><a href="#[ca1af0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_ack_with_data
</UL>

<P><STRONG><a name="[c9fda8]"></a>make_ip</STRONG> (ARM, 80 bytes, Stack size 12 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = make_ip &rArr; fill_ip_hdr_checksum &rArr; checksum
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fdf0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;fill_ip_hdr_checksum
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1a60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_udp_reply_from_request
<LI><a href="#[ca1aa8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_synack_from_syn
<LI><a href="#[ca1b38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_ack_from_any
<LI><a href="#[ca1b80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_echo_reply_from_request
</UL>

<P><STRONG><a name="[c9fd60]"></a>make_tcphead</STRONG> (ARM, 304 bytes, Stack size 12 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = make_tcphead
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1aa8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_synack_from_syn
<LI><a href="#[ca1b38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcp_ack_from_any
</UL>

<P><STRONG><a name="[ca1bc8]"></a>make_arp_answer_from_request</STRONG> (ARM, 164 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_arp_answer_from_request &rArr; enc28j60PacketSend &rArr; enc28j60Write &rArr; enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fe38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_eth
<LI><a href="#[ca09e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca1b80]"></a>make_echo_reply_from_request</STRONG> (ARM, 92 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_echo_reply_from_request &rArr; enc28j60PacketSend &rArr; enc28j60Write &rArr; enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fda8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_ip
<LI><a href="#[c9fe38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_eth
<LI><a href="#[ca09e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca1a60]"></a>make_udp_reply_from_request</STRONG> (ARM, 192 bytes, Stack size 32 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = make_udp_reply_from_request &rArr; enc28j60PacketSend &rArr; enc28j60Write &rArr; enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fda8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_ip
<LI><a href="#[c9fe38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_eth
<LI><a href="#[c9fe80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;checksum
<LI><a href="#[ca09e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca1aa8]"></a>make_tcp_synack_from_syn</STRONG> (ARM, 120 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_tcp_synack_from_syn &rArr; enc28j60PacketSend &rArr; enc28j60Write &rArr; enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fd60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcphead
<LI><a href="#[c9fda8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_ip
<LI><a href="#[c9fe38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_eth
<LI><a href="#[c9fe80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;checksum
<LI><a href="#[ca09e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca1ca0]"></a>get_tcp_data_pointer</STRONG> (ARM, 48 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca1c10]"></a>init_len_info</STRONG> (ARM, 136 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca1ce8]"></a>fill_tcp_data_p</STRONG> (ARM, 44 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[ca1fb8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;print_webpage
<LI><a href="#[ca2000]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;moved_perm
</UL>

<P><STRONG><a name="[ca1d30]"></a>fill_tcp_data</STRONG> (ARM, 52 bytes, Stack size 0 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ca2000]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;moved_perm
</UL>

<P><STRONG><a name="[ca1b38]"></a>make_tcp_ack_from_any</STRONG> (ARM, 172 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_tcp_ack_from_any &rArr; enc28j60PacketSend &rArr; enc28j60Write &rArr; enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fd60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_tcphead
<LI><a href="#[c9fda8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_ip
<LI><a href="#[c9fe38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;make_eth
<LI><a href="#[c9fe80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;checksum
<LI><a href="#[ca09e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[ca1af0]"></a>make_tcp_ack_with_data</STRONG> (ARM, 120 bytes, Stack size 16 bytes, ip_arp_udp_tcp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = make_tcp_ack_with_data &rArr; enc28j60PacketSend &rArr; enc28j60Write &rArr; enc28j60SetBank
</UL>
<BR>[Calls]<UL><LI><a href="#[c9fdf0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;fill_ip_hdr_checksum
<LI><a href="#[c9fe80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;checksum
<LI><a href="#[ca09e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;enc28j60PacketSend
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[c9eaf0]"></a>strcpy</STRONG> (Thumb, 74 bytes, Stack size 12 bytes, strcpy.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = strcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main (via Veneer)
</UL>

<P><STRONG><a name="[c9e930]"></a>strncmp</STRONG> (Thumb, 76 bytes, Stack size 12 bytes, strncmp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = strncmp
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main (via Veneer)
<LI><a href="#[ca2090]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;verify_password (via Veneer)
</UL>

<P><STRONG><a name="[c9e770]"></a>strlen</STRONG> (Thumb, 68 bytes, Stack size 8 bytes, strlen.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = strlen
</UL>
<BR>[Called By]<UL><LI><a href="#[ca1f70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main (via Veneer)
</UL>

<P><STRONG><a name="[c9e5b8]"></a>__use_two_region_memory</STRONG> (ARM, 4 bytes, Stack size 0 bytes, stkheap2.o(.text), UNUSED)

<P><STRONG><a name="[c9e570]"></a>__rt_stackheap_init</STRONG> (ARM, 36 bytes, Stack size 16 bytes, stkheap2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24 + Unknown Stack Size
<LI>Call Chain = __rt_stackheap_init &rArr; __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[c9d590]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_stackheap_storage
<LI><a href="#[c9da00]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<BR>[Called By]<UL><LI><a href="#[c9e028]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>

<P><STRONG><a name="[c9e528]"></a>__rt_heap_extend</STRONG> (ARM, 24 bytes, Stack size 8 bytes, stkheap2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c9e450]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_heap_extend (Weak Reference)
</UL>

<P><STRONG><a name="[c9e028]"></a>__rt_entry</STRONG> (ARM, 76 bytes, Stack size 16 bytes, kernel.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64 + Unknown Stack Size
<LI>Call Chain = __rt_entry &rArr; __rt_lib_init &rArr; _fp_init
</UL>
<BR>[Calls]<UL><LI><a href="#[c9bf40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_platform_post_lib_init
<LI><a href="#[c9c0b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_platform_post_stackheap_init
<LI><a href="#[c9cac8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init (via Veneer)
<LI><a href="#[c9cf48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit (via BX)
<LI><a href="#[c9e570]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_stackheap_init
</UL>
<BR>[Called By]<UL><LI><a href="#[c98ac0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
<LI><a href="#[c9e2e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
</UL>

<P><STRONG><a name="[c9dfe0]"></a>__rt_exit</STRONG> (ARM, 20 bytes, Stack size 8 bytes, kernel.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __rt_exit &rArr; __rt_lib_shutdown
</UL>
<BR>[Calls]<UL><LI><a href="#[c9ca80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[c9cf48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit (via Veneer)
</UL>

<P><STRONG><a name="[c9df98]"></a>__rt_abort</STRONG> (ARM, 8 bytes, Stack size 0 bytes, kernel.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c9d3d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
</UL>

<P><STRONG><a name="[c9da00]"></a>__user_setup_stackheap</STRONG> (ARM, 96 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __user_setup_stackheap

⌨️ 快捷键说明

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