usb_start_keil.htm
来自「基于easyarm2200的USB HID类的多媒体键盘」· HTM 代码 · 共 1,000 行 · 第 1/4 页
HTM
1,000 行
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Obj\usb_start_keil.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Obj\usb_start_keil.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.1 [Build 934]: Last Updated: Sun Aug 31 21:09:59 2008
<BR><P>
<H3>Maximum Stack Usage = 92 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
__main ⇒ __rt_entry ⇒ main ⇒ control_handler ⇒ get_status ⇒ single_transmit ⇒ D12_write_Endpoint
<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[c7f360]">__user_initial_stackheap</a>
<LI><a href="#[c7f318]">__rt_div0</a>
<LI><a href="#[c7f630]">Undefined</a>
<LI><a href="#[c7f5e8]">SoftwareInterrupt</a>
<LI><a href="#[c7f5a0]">PrefetchAbort</a>
<LI><a href="#[c7f558]">DataAbort</a>
<LI><a href="#[c7f510]">FIQ_Handler</a>
<LI><a href="#[c7f4c8]">ResetInit</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[c7f630]">Undefined</a> ⇒ <a href="#[c7f630]">Undefined</a><BR>
<LI><a href="#[c7f5e8]">SoftwareInterrupt</a> ⇒ <a href="#[c7f5e8]">SoftwareInterrupt</a><BR>
<LI><a href="#[c7f5a0]">PrefetchAbort</a> ⇒ <a href="#[c7f5a0]">PrefetchAbort</a><BR>
<LI><a href="#[c7f558]">DataAbort</a> ⇒ <a href="#[c7f558]">DataAbort</a><BR>
<LI><a href="#[c7f318]">__rt_div0</a> ⇒ <a href="#[c7f318]">__rt_div0</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
<LI><a href="#[c7f4c8]">ResetInit</a>
<LI><a href="#[c7f630]">Undefined</a>
<LI><a href="#[c7f5e8]">SoftwareInterrupt</a>
<LI><a href="#[c7f5a0]">PrefetchAbort</a>
<LI><a href="#[c7f558]">DataAbort</a>
<LI><a href="#[c7f510]">FIQ_Handler</a>
<LI><a href="#[c77458]">__ARM_get_argv</a>
<LI><a href="#[c7e440]">IRQ_I2C</a>
<LI><a href="#[c78430]">__I_use_semihosting</a>
<LI><a href="#[c81f50]">get_status</a>
<LI><a href="#[c81f08]">clear_feature</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c81ec0]">set_feature</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c81e78]">set_address</a>
<LI><a href="#[c81e30]">get_descriptor</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c81de8]">get_configuration</a>
<LI><a href="#[c81da0]">set_configuration</a>
<LI><a href="#[c81d58]">get_interface</a>
<LI><a href="#[c81d10]">set_interface</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c81c80]">get_report</a>
<LI><a href="#[c81cc8]">get_idle</a>
<LI><a href="#[c81c38]">get_protocol</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c81ba8]">set_report</a>
<LI><a href="#[c81bf0]">set_idle</a>
<LI><a href="#[c81b60]">set_protocol</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
<LI><a href="#[c820b8]">reserved</a>
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[c7f360]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors))
<BR><BR>[Called By]<UL><LI><a href="#[c78278]">>></a> __user_setup_stackheap
</UL>
<P><STRONG><a name="[c7f318]"></a>__rt_div0</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors), UNUSED, KEPT)
<BR><BR>[Calls]<UL><LI><a href="#[c7f318]">>></a> __rt_div0
</UL>
<BR>[Called By]<UL><LI><a href="#[c7f318]">>></a> __rt_div0
</UL>
<P><STRONG><a name="[c7a878]"></a>__main</STRONG> (ARM, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Stack]<UL><LI>Max Depth = 92 + Unknown Stack Size
<LI>Call Chain = __main ⇒ __rt_entry ⇒ main ⇒ control_handler ⇒ get_status ⇒ single_transmit ⇒ D12_write_Endpoint
</UL>
<BR>[Calls]<UL><LI><a href="#[c74f00]">>></a> __scatterload
<LI><a href="#[c7a5c8]">>></a> __rt_entry
</UL>
<BR>[Called By]<UL><LI><a href="#[c7f4c8]">>></a> ResetInit
</UL>
<P><STRONG><a name="[c74f00]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[c7a878]">>></a> __main
</UL>
<P><STRONG><a name="[c74eb8]"></a>__scatterload_rt2</STRONG> (ARM, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c7a5c8]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[c74e70]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[c74c30]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c74c30]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[c74c30]">>></a> __scatterload_copy
</UL>
<P><STRONG><a name="[c74ac8]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[c79370]"></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="#[c792e0]">>></a> __rt_lib_init
</UL>
<P><STRONG><a name="[c82778]"></a>DISABLE</STRONG> (ARM, 20 bytes, Stack size 0 bytes, d12.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c809d8]">>></a> main
<LI><a href="#[c818d8]">>></a> D12_EINT0
<LI><a href="#[c81da0]">>></a> set_configuration
<LI><a href="#[c81ec0]">>></a> set_feature
<LI><a href="#[c81f08]">>></a> clear_feature
<LI><a href="#[c81f98]">>></a> code_transmit
</UL>
<P><STRONG><a name="[c82730]"></a>ENABLE</STRONG> (ARM, 4 bytes, Stack size 0 bytes, d12.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c809d8]">>></a> main
<LI><a href="#[c818d8]">>></a> D12_EINT0
<LI><a href="#[c81da0]">>></a> set_configuration
<LI><a href="#[c81ec0]">>></a> set_feature
<LI><a href="#[c81f08]">>></a> clear_feature
<LI><a href="#[c81f98]">>></a> code_transmit
</UL>
<P><STRONG><a name="[c826e8]"></a>D12_set_addr_en</STRONG> (ARM, 36 bytes, Stack size 0 bytes, d12.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c81e78]">>></a> set_address
<LI><a href="#[c82148]">>></a> USB_init
</UL>
<P><STRONG><a name="[c826a0]"></a>D12_set_endpoint_en</STRONG> (ARM, 52 bytes, Stack size 0 bytes, d12.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c82028]">>></a> init_config
<LI><a href="#[c82070]">>></a> init_unconfig
<LI><a href="#[c82148]">>></a> USB_init
</UL>
<P><STRONG><a name="[c82658]"></a>D12_set_mode</STRONG> (ARM, 28 bytes, Stack size 0 bytes, d12.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c82190]">>></a> USB_reconnect
<LI><a href="#[c821d8]">>></a> USB_connect
<LI><a href="#[c82220]">>></a> USB_disconnect
</UL>
<P><STRONG><a name="[c82610]"></a>D12_set_DMA</STRONG> (ARM, 24 bytes, Stack size 0 bytes, d12.o(.text), UNUSED)
<P><STRONG><a name="[c825c8]"></a>D12_read_interrupt_reg</STRONG> (ARM, 36 bytes, Stack size 0 bytes, d12.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[c818d8]">>></a> D12_EINT0
</UL>
<P><STRONG><a name="[c82580]"></a>D12_Endpoint_select</STRONG> (ARM, 28 bytes, Stack size 0 bytes, d12.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c81f50]">>></a> get_status
<LI><a href="#[c822b0]">>></a> D12_write_Endpoint
<LI><a href="#[c822f8]">>></a> D12_read_Endpoint
</UL>
<P><STRONG><a name="[c82538]"></a>D12_read_Endpoint_status</STRONG> (ARM, 28 bytes, Stack size 0 bytes, d12.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[c81968]">>></a> main_rxdone
<LI><a href="#[c822f8]">>></a> D12_read_Endpoint
</UL>
<P><STRONG><a name="[c824f0]"></a>D12_read_last_status_reg</STRONG> (ARM, 28 bytes, Stack size 0 bytes, d12.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[c81968]">>></a> main_rxdone
<LI><a href="#[c819b0]">>></a> main_txdone
<LI><a href="#[c819f8]">>></a> ep1_rxdone
<LI><a href="#[c81a40]">>></a> ep1_txdone
<LI><a href="#[c81a88]">>></a> ep0_txdone
<LI><a href="#[c81ad0]">>></a> ep0_rxdone
</UL>
<P><STRONG><a name="[c824a8]"></a>D12_set_Endpoint_status</STRONG> (ARM, 24 bytes, Stack size 0 bytes, d12.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c81ad0]">>></a> ep0_rxdone
<LI><a href="#[c81ec0]">>></a> set_feature
<LI><a href="#[c81f08]">>></a> clear_feature
<LI><a href="#[c82100]">>></a> stall_ep0
</UL>
<P><STRONG><a name="[c82460]"></a>D12_clear_buff</STRONG> (ARM, 16 bytes, Stack size 0 bytes, d12.o(.text), UNUSED)
<P><STRONG><a name="[c82418]"></a>D12_read_buff</STRONG> (ARM, 96 bytes, Stack size 4 bytes, d12.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[c822f8]">>></a> D12_read_Endpoint
</UL>
<P><STRONG><a name="[c823d0]"></a>D12_write_buff</STRONG> (ARM, 84 bytes, Stack size 0 bytes, d12.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c822b0]">>></a> D12_write_Endpoint
</UL>
<P><STRONG><a name="[c82388]"></a>D12_resend_enable</STRONG> (ARM, 16 bytes, Stack size 0 bytes, d12.o(.text), UNUSED)
<P><STRONG><a name="[c82340]"></a>D12_read_current_frame_cnt</STRONG> (ARM, 40 bytes, Stack size 0 bytes, d12.o(.text), UNUSED)
<P><STRONG><a name="[c822f8]"></a>D12_read_Endpoint</STRONG> (ARM, 120 bytes, Stack size 20 bytes, d12.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c82418]">>></a> D12_read_buff
<LI><a href="#[c82538]">>></a> D12_read_Endpoint_status
<LI><a href="#[c82580]">>></a> D12_Endpoint_select
</UL>
<BR>[Called By]<UL><LI><a href="#[c81968]">>></a> main_rxdone
<LI><a href="#[c819f8]">>></a> ep1_rxdone
<LI><a href="#[c81ad0]">>></a> ep0_rxdone
</UL>
<P><STRONG><a name="[c822b0]"></a>D12_write_Endpoint</STRONG> (ARM, 40 bytes, Stack size 16 bytes, d12.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = D12_write_Endpoint
</UL>
<BR>[Calls]<UL><LI><a href="#[c823d0]">>></a> D12_write_buff
<LI><a href="#[c82580]">>></a> D12_Endpoint_select
</UL>
<BR>[Called By]<UL><LI><a href="#[c80a20]">>></a> scan_key
<LI><a href="#[c81a88]">>></a> ep0_txdone
<LI><a href="#[c81f98]">>></a> code_transmit
<LI><a href="#[c81fe0]">>></a> single_transmit
</UL>
<P><STRONG><a name="[c82268]"></a>D12_ack_Endpoint</STRONG> (ARM, 44 bytes, Stack size 0 bytes, d12.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[c81ad0]">>></a> ep0_rxdone
</UL>
<P><STRONG><a name="[c82220]"></a>USB_disconnect</STRONG> (ARM, 20 bytes, Stack size 4 bytes, d12.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c82658]">>></a> D12_set_mode
</UL>
<P><STRONG><a name="[c821d8]"></a>USB_connect</STRONG> (ARM, 20 bytes, Stack size 4 bytes, d12.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c82658]">>></a> D12_set_mode
</UL>
<P><STRONG><a name="[c82190]"></a>USB_reconnect</STRONG> (ARM, 40 bytes, Stack size 8 bytes, d12.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = USB_reconnect
</UL>
<BR>[Calls]<UL><LI><a href="#[c81800]">>></a> DelayNS
<LI><a href="#[c82658]">>></a> D12_set_mode
</UL>
<BR>[Called By]<UL><LI><a href="#[c81848]">>></a> D12_init
</UL>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?