test.htm

来自「嵌入式软件构件:TMR计时器管理、CLK实时时钟、KEY键盘扫描、LED数码显示」· HTM 代码 · 共 952 行 · 第 1/4 页

HTM
952
字号
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [E:\0-WORK2008\ActObjFK\ARM V1.11 FOR LPC2300\TEST-OBJ\TEST.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image E:\0-WORK2008\ActObjFK\ARM V1.11 FOR LPC2300\TEST-OBJ\TEST.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, RVCT3.1 [Build 934]: Last Updated: Thu Oct 30 15:06:51 2008
<BR><P>
<H3>Maximum Stack Usage =        124 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
ActObj7TmrTick &rArr; Tmr_Tick &rArr; EvtPostQue &rArr; AssertHandler &rArr; PrintCOMM &rArr; CommPutTxChar &rArr;  AssertHandler (Cycle)
<P>
<H3>
Functions with no stack information
</H3><UL>
 <LI><a href="#[1bef530]">Reset_Handler</a>
 <LI><a href="#[1bef4e8]">SoftwareInterrupt</a>
 <LI><a href="#[1bef008]">IntEnable</a>
 <LI><a href="#[1beefc0]">IntDisable</a>
 <LI><a href="#[1bef578]">__user_initial_stackheap</a>
 <LI><a href="#[1bef7b8]">Undef_Handler</a>
 <LI><a href="#[1bef770]">PAbt_Handler</a>
 <LI><a href="#[1bef728]">DAbt_Handler</a>
 <LI><a href="#[1bef6e0]">IRQ_Handler</a>
 <LI><a href="#[1bef698]">FIQ_Handler</a>
 <LI><a href="#[1bef170]">IRQDisable</a>
 <LI><a href="#[1bef128]">IRQEnable</a>
 <LI><a href="#[1bef0e0]">FIQDisable</a>
 <LI><a href="#[1bef098]">FIQEnable</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[20b3eb0]">CommPutTxChar</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1bed0d0]">AssertHandler</a><BR>
 <LI><a href="#[1bef7b8]">Undef_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1bef7b8]">Undef_Handler</a><BR>
 <LI><a href="#[1bef770]">PAbt_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1bef770]">PAbt_Handler</a><BR>
 <LI><a href="#[1bef728]">DAbt_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1bef728]">DAbt_Handler</a><BR>
 <LI><a href="#[1bef6e0]">IRQ_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1bef6e0]">IRQ_Handler</a><BR>
 <LI><a href="#[1bef698]">FIQ_Handler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[1bef698]">FIQ_Handler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
 <LI><a href="#[1bef530]">Reset_Handler</a>
 <LI><a href="#[1bef7b8]">Undef_Handler</a>
 <LI><a href="#[1bef4e8]">SoftwareInterrupt</a>
 <LI><a href="#[1bef770]">PAbt_Handler</a>
 <LI><a href="#[1bef728]">DAbt_Handler</a>
 <LI><a href="#[1bef6e0]">IRQ_Handler</a>
 <LI><a href="#[1bef698]">FIQ_Handler</a>
 <LI><a href="#[218ef10]">__main</a>
 <LI><a href="#[218b560]">__ARM_get_argv</a>
 <LI><a href="#[1bef170]">IRQDisable</a>
 <LI><a href="#[1bef128]">IRQEnable</a>
 <LI><a href="#[1bef0e0]">FIQDisable</a>
 <LI><a href="#[1bef098]">FIQEnable</a>
 <LI><a href="#[1be4048]">HfsmTop</a>
 <LI><a href="#[1be4048]">HfsmTop</a>
 <LI><a href="#[20a4398]">COMM1_S11</a>
 <LI><a href="#[20a4350]">COMM1_S2</a>
 <LI><a href="#[20a4278]">COMM1_S0</a>
 <LI><a href="#[20a42c0]">COMM1_S211</a>
 <LI><a href="#[20a4308]">COMM1_S21</a>
 <LI><a href="#[20a4428]">COMM2RxTx</a>
 <LI><a href="#[20a6548]">CanRxTxData</a>
 <LI><a href="#[20a4470]">ActObj7TmrTick</a>
 <LI><a href="#[20a41a0]">main</a>
 <LI><a href="#[218c2c8]">__I_use_semihosting</a>
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[1bef530]"></a>Reset_Handler</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(RESET))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = Reset_Handler &rArr; TargetResetInit
</UL>
<BR>[Calls]<UL><LI><a href="#[1bf24a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TargetResetInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup.o(RESET)
</UL>
<P><STRONG><a name="[218ef10]"></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="#[2188db0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<LI><a href="#[218ec50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>

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

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

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

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

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

<P><STRONG><a name="[218d218]"></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="#[218d188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init (via Veneer)
</UL>

<P><STRONG><a name="[1bf3068]"></a>init_VIC</STRONG> (ARM, 88 bytes, Stack size 0 bytes, irq.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1bf24a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TargetResetInit
</UL>

<P><STRONG><a name="[1bf3020]"></a>install_irq</STRONG> (ARM, 92 bytes, Stack size 8 bytes, irq.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = install_irq
</UL>
<BR>[Called By]<UL><LI><a href="#[1bf0438]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_timer
<LI><a href="#[20a4080]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WDTInit
<LI><a href="#[20aab80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN_Init
<LI><a href="#[20b6830]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UARTInitCh4
<LI><a href="#[20b6878]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UARTInitCh3
<LI><a href="#[20b68c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UARTInitCh2
<LI><a href="#[20b6908]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UARTInitCh1
</UL>

<P><STRONG><a name="[1bf2578]"></a>TargetInit</STRONG> (ARM, 4 bytes, Stack size 0 bytes, target.o(.text), UNUSED)

<P><STRONG><a name="[1bf2530]"></a>GPIOResetInit</STRONG> (ARM, 120 bytes, Stack size 0 bytes, target.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1bf24a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TargetResetInit
</UL>

<P><STRONG><a name="[1bf24e8]"></a>ConfigurePLL</STRONG> (ARM, 308 bytes, Stack size 0 bytes, target.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1bf24a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TargetResetInit
</UL>

<P><STRONG><a name="[1bf24a0]"></a>TargetResetInit</STRONG> (ARM, 92 bytes, Stack size 8 bytes, target.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TargetResetInit
</UL>
<BR>[Calls]<UL><LI><a href="#[1bf24e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ConfigurePLL
<LI><a href="#[1bf2530]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIOResetInit
<LI><a href="#[1bf3068]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;init_VIC
</UL>
<BR>[Called By]<UL><LI><a href="#[1bef530]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Reset_Handler
</UL>

<P><STRONG><a name="[1bf0558]"></a>Timer0Handler</STRONG> (ARM, 48 bytes, Stack size 24 bytes, timer.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1bf03f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EvtPostQueISR
</UL>

<P><STRONG><a name="[1bf0510]"></a>enable_timer</STRONG> (ARM, 40 bytes, Stack size 0 bytes, timer.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[20a41a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[1bf04c8]"></a>disable_timer</STRONG> (ARM, 40 bytes, Stack size 0 bytes, timer.o(.text), UNUSED)

<P><STRONG><a name="[1bf0480]"></a>reset_timer</STRONG> (ARM, 48 bytes, Stack size 0 bytes, timer.o(.text), UNUSED)

<P><STRONG><a name="[1bf0438]"></a>init_timer</STRONG> (ARM, 72 bytes, Stack size 8 bytes, timer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = init_timer &rArr; install_irq
</UL>
<BR>[Calls]<UL><LI><a href="#[1bf3020]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;install_irq
</UL>
<BR>[Called By]<UL><LI><a href="#[20a41a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[20b6ab8]"></a>CommISRHandler</STRONG> (ARM, 1508 bytes, Stack size 32 bytes, comm_arm.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1bf03f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EvtPostQueISR
<LI><a href="#[20b6710]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TmrStartISR
<LI><a href="#[20b6758]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommPutRxChar
<LI><a href="#[20b67a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommIsRxEmptyISR
<LI><a href="#[20b67e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommGetTxChar
</UL>
<BR>[Called By]<UL><LI><a href="#[20b6998]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommUART3
<LI><a href="#[20b69e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommUART2
<LI><a href="#[20b6a28]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommUART1
<LI><a href="#[20b6a70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommUART0
</UL>

<P><STRONG><a name="[20b6a70]"></a>CommUART0</STRONG> (ARM, 20 bytes, Stack size 24 bytes, comm_arm.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20b6ab8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommISRHandler
</UL>

<P><STRONG><a name="[20b6a28]"></a>CommUART1</STRONG> (ARM, 20 bytes, Stack size 24 bytes, comm_arm.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20b6ab8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommISRHandler
</UL>

<P><STRONG><a name="[20b69e0]"></a>CommUART2</STRONG> (ARM, 20 bytes, Stack size 24 bytes, comm_arm.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20b6ab8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommISRHandler
</UL>

<P><STRONG><a name="[20b6998]"></a>CommUART3</STRONG> (ARM, 20 bytes, Stack size 24 bytes, comm_arm.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[20b6ab8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommISRHandler
</UL>

<P><STRONG><a name="[20b6950]"></a>CommTxIntEn</STRONG> (ARM, 328 bytes, Stack size 16 bytes, comm_arm.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = CommTxIntEn &rArr; CommGetTxChar
</UL>
<BR>[Calls]<UL><LI><a href="#[20b67e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommGetTxChar
</UL>
<BR>[Called By]<UL><LI><a href="#[20b3eb0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CommPutTxChar
</UL>

<P><STRONG><a name="[20b6908]"></a>UARTInitCh1</STRONG> (ARM, 152 bytes, Stack size 16 bytes, comm_arm.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24 + Unknown Stack Size
<LI>Call Chain = UARTInitCh1 &rArr; install_irq
</UL>
<BR>[Calls]<UL><LI><a href="#[1bf3020]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;install_irq
<LI><a href="#[218fe48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[20a41a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[20b68c0]"></a>UARTInitCh2</STRONG> (ARM, 168 bytes, Stack size 16 bytes, comm_arm.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24 + Unknown Stack Size
<LI>Call Chain = UARTInitCh2 &rArr; install_irq
</UL>
<BR>[Calls]<UL><LI><a href="#[1bf3020]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;install_irq
<LI><a href="#[218fe48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[20a41a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[20b6878]"></a>UARTInitCh3</STRONG> (ARM, 172 bytes, Stack size 16 bytes, comm_arm.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1bf3020]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;install_irq
<LI><a href="#[218fe48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>

<P><STRONG><a name="[20b6830]"></a>UARTInitCh4</STRONG> (ARM, 168 bytes, Stack size 16 bytes, comm_arm.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1bf3020]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;install_irq
<LI><a href="#[218fe48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>

<P><STRONG><a name="[20aac58]"></a>CAN_ISR_Rx1</STRONG> (ARM, 104 bytes, Stack size 8 bytes, can_arm.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1bf03f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EvtPostQueISR
</UL>

⌨️ 快捷键说明

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