📄 keil_project.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Obj\Keil_Project.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Obj\Keil_Project.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.0 [Build 942]: Last Updated: Wed Nov 07 08:14:14 2007
<BR><P>
<H3>Maximum Stack Usage = 136 bytes + Unknown(Functions without stacksize,Cycles,Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main -> OSInit -> OS_InitTaskIdle -> OSTaskCreateExt -> OS_TCBInit<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[beb138]">Reset</a>
<LI><a href="#[beb038]">__user_initial_stackheap</a>
<LI><a href="#[beb0c0]">__rt_div0</a>
<LI><a href="#[fef9a0]">__scatterload</a>
<LI><a href="#[fef8d0]">__scatterload_rt2</a>
<LI><a href="#[fef920]">__scatterload_null</a>
<LI><a href="#[fef284]">__scatterload_copy</a>
<LI><a href="#[feeccc]">__scatterload_zeroinit</a>
<LI><a href="#[fd1588]">_memcpy_lastbytes_aligned</a>
<LI><a href="#[fd0e54]">_memset_w</a>
<LI><a href="#[bd890c]">IRQ_Handler</a>
<LI><a href="#[bd8818]">Timer0_Handler</a>
<LI><a href="#[bdb24c]">SoftwareInterrupt</a>
<LI><a href="#[bdb2cc]">OSIntCtxSw</a>
<LI><a href="#[bdb344]">__OSStartHighRdy</a>
<LI><a href="#[100f55c]">__fplib_config_pureend_doubles</a>
<LI><a href="#[beb850]">Undefined</a>
<LI><a href="#[beb7d4]">PrefetchAbort</a>
<LI><a href="#[beb57c]">DataAbort</a>
<LI><a href="#[beb504]">FIQ_Handler</a>
<LI><a href="#[beb5f4]">ResetInit</a>
<LI><a href="#[fd0664]">__arm_div8</a>
<LI><a href="#[fd06dc]">__arm_div4</a>
<LI><a href="#[fd05e8]">__arm_div_large</a>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3><UL>
<LI><a href="#[beb850]">Undefined</a> -> <a href="#[beb850]">Undefined</a><BR>
<LI><a href="#[beb7d4]">PrefetchAbort</a> -> <a href="#[beb7d4]">PrefetchAbort</a><BR>
</UL>
<BR>
<P><STRONG><a name="[beb138]"></a>Reset</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors), UNUSED)
<P><STRONG><a name="[beb038]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors))
<BR><BR>[Called By]<UL><LI><a href="#[ff5750]"><<</a> __user_setup_stackheap
</UL>
<P><STRONG><a name="[beb0c0]"></a>__rt_div0</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[beb0c0]">>></a> __rt_div0
</UL>
<BR>[Called By]<UL><LI><a href="#[beb0c0]"><<</a> __rt_div0
</UL>
<P><STRONG><a name="[fff4a0]"></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 -> __rt_entry -> __rt_lib_init -> _rand_init -> srand</UL>
<BR>[Calls]<UL><LI><a href="#[fef9a0]">>></a> __scatterload
<LI><a href="#[ffe9a8]">>></a> __rt_entry
</UL>
<BR>[Called By]<UL><LI><a href="#[beb5f4]"><<</a> ResetInit
</UL>
<P><STRONG><a name="[fef9a0]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[fff4a0]"><<</a> __main
</UL>
<P><STRONG><a name="[fef8d0]"></a>__scatterload_rt2</STRONG> (ARM, 48 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ffe9a8]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[fef920]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[fef284]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[fef284]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[fef284]"><<</a> __scatterload_copy
</UL>
<P><STRONG><a name="[feeccc]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[ff8bb8]"></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="#[ff8aec]"><<</a> __rt_lib_init (via Veneer)
</UL>
<P><STRONG><a name="[b25bb8]"></a>OSTaskStkInit</STRONG> (ARM, 232 bytes, Stack size 8 bytes, os_cpu_c.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OSTaskStkInit</UL>
<BR>[Called By]<UL><LI><a href="#[bfd904]"><<</a> OSTaskCreateExt
<LI><a href="#[bfd980]"><<</a> OSTaskCreate
</UL>
<P><STRONG><a name="[b25b3c]"></a>SWI_Exception</STRONG> (ARM, 336 bytes, Stack size 4 bytes, os_cpu_c.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = SWI_Exception</UL>
<BR>[Called By]<UL><LI><a href="#[bdb24c]"><<</a> SoftwareInterrupt
</UL>
<P><STRONG><a name="[b25ac0]"></a>OSStartHighRdy</STRONG> (ARM, 16 bytes, Stack size 8 bytes, os_cpu_c.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OSStartHighRdy</UL>
<BR>[Called By]<UL><LI><a href="#[bf88e4]"><<</a> OSStart
</UL>
<P><STRONG><a name="[b25a44]"></a>OSInitHookBegin</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bf8ac4]"><<</a> OSInit
</UL>
<P><STRONG><a name="[b259c8]"></a>OSInitHookEnd</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bf8ac4]"><<</a> OSInit
</UL>
<P><STRONG><a name="[b25948]"></a>OSTaskCreateHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bfd34c]"><<</a> OS_TCBInit
</UL>
<P><STRONG><a name="[b258cc]"></a>OSTaskDelHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[bfd88c]"><<</a> OSTaskDel
</UL>
<P><STRONG><a name="[b25850]"></a>OSTaskSwHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bdb2cc]"><<</a> OSIntCtxSw
<LI><a href="#[bdb344]"><<</a> __OSStartHighRdy
</UL>
<P><STRONG><a name="[b257d4]"></a>OSTaskStatHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[bf8bb0]"><<</a> OS_TaskStat
</UL>
<P><STRONG><a name="[b25758]"></a>OSTCBInitHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bfd34c]"><<</a> OS_TCBInit
</UL>
<P><STRONG><a name="[b256dc]"></a>OSTimeTickHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bd8894]"><<</a> OSTimeTick
</UL>
<P><STRONG><a name="[b25660]"></a>OSTaskIdleHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[bf8b38]"><<</a> OS_TaskIdle
</UL>
<P><STRONG><a name="[bd8cdc]"></a>IRQ_Exception</STRONG> (ARM, 8 bytes, Stack size 0 bytes, target.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bd890c]"><<</a> IRQ_Handler
</UL>
<P><STRONG><a name="[bd8c60]"></a>FIQ_Exception</STRONG> (ARM, 8 bytes, Stack size 0 bytes, target.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[beb504]"><<</a> FIQ_Handler
</UL>
<P><STRONG><a name="[bd8be0]"></a>Timer0_Exception</STRONG> (ARM, 36 bytes, Stack size 8 bytes, target.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Timer0_Exception -> OSTimeTick</UL>
<BR>[Calls]<UL><LI><a href="#[bd8894]">>></a> OSTimeTick
</UL>
<BR>[Called By]<UL><LI><a href="#[bd8818]"><<</a> Timer0_Handler
</UL>
<P><STRONG><a name="[bd8b68]"></a>Timer0Init</STRONG> (ARM, 48 bytes, Stack size 0 bytes, target.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[bd8a7c]"><<</a> TargetInit
</UL>
<P><STRONG><a name="[bd8af4]"></a>VICInit</STRONG> (ARM, 48 bytes, Stack size 0 bytes, target.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[bd8a7c]"><<</a> TargetInit
</UL>
<P><STRONG><a name="[bd8a7c]"></a>TargetInit</STRONG> (ARM, 36 bytes, Stack size 8 bytes, target.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bd8af4]">>></a> VICInit
<LI><a href="#[bd8b68]">>></a> Timer0Init
<LI><a href="#[fd1f3c]">>></a> srand (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[c116e0]"><<</a> Task0
</UL>
<P><STRONG><a name="[bd8a00]"></a>InitialiseUART0</STRONG> (ARM, 148 bytes, Stack size 16 bytes, target.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16 + Unknown Stack Size
<LI>Call Chain = InitialiseUART0</UL>
<BR>[Calls]<UL><LI><a href="#[fd0100]">>></a> __aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[bd8984]"><<</a> TargetResetInit
</UL>
<P><STRONG><a name="[bd8984]"></a>TargetResetInit</STRONG> (ARM, 276 bytes, Stack size 8 bytes, target.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24 + Unknown Stack Size
<LI>Call Chain = TargetResetInit -> InitialiseUART0</UL>
<BR>[Calls]<UL><LI><a href="#[bd8a00]">>></a> InitialiseUART0
</UL>
<BR>[Called By]<UL><LI><a href="#[beb5f4]"><<</a> ResetInit
</UL>
<P><STRONG><a name="[be8784]"></a>OSTimeDly</STRONG> (ARM, 144 bytes, Stack size 8 bytes, os_time.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[be83c0]">>></a> OS_Sched
</UL>
<BR>[Called By]<UL><LI><a href="#[be8708]"><<</a> OSTimeDlyHMSM
<LI><a href="#[bf886c]"><<</a> OSStatInit
<LI><a href="#[bf8bb0]"><<</a> OS_TaskStat
<LI><a href="#[c116e0]"><<</a> Task0
<LI><a href="#[c11754]"><<</a> TaskLED1
</UL>
<P><STRONG><a name="[be8708]"></a>OSTimeDlyHMSM</STRONG> (ARM, 232 bytes, Stack size 32 bytes, os_time.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[be8784]">>></a> OSTimeDly
<LI><a href="#[fd0100]">>></a> __aeabi_uidivmod
</UL>
<P><STRONG><a name="[be868c]"></a>OSTimeDlyResume</STRONG> (ARM, 184 bytes, Stack size 16 bytes, os_time.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[be83c0]">>></a> OS_Sched
</UL>
<P><STRONG><a name="[be8614]"></a>OSTimeGet</STRONG> (ARM, 32 bytes, Stack size 8 bytes, os_time.o(.text), UNUSED)
<P><STRONG><a name="[be859c]"></a>OSTimeSet</STRONG> (ARM, 32 bytes, Stack size 8 bytes, os_time.o(.text), UNUSED)
<P><STRONG><a name="[bd24e4]"></a>OSFlagAccept</STRONG> (ARM, 456 bytes, Stack size 32 bytes, os_flag.o(.text), UNUSED)
<P><STRONG><a name="[bd2468]"></a>OSFlagCreate</STRONG> (ARM, 140 bytes, Stack size 16 bytes, os_flag.o(.text), UNUSED)
<P><STRONG><a name="[bd23ec]"></a>OS_FlagUnlink</STRONG> (ARM, 84 bytes, Stack size 4 bytes, os_flag.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[bd22fc]"><<</a> OSFlagPend
<LI><a href="#[bd28a8]"><<</a> OS_FlagTaskRdy
<LI><a href="#[bfd88c]"><<</a> OSTaskDel
</UL>
<P><STRONG><a name="[bd2374]"></a>OSFlagDel</STRONG> (ARM, 344 bytes, Stack size 24 bytes, os_flag.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bd28a8]">>></a> OS_FlagTaskRdy
<LI><a href="#[be83c0]">>></a> OS_Sched
</UL>
<P><STRONG><a name="[bd22fc]"></a>OSFlagPend</STRONG> (ARM, 832 bytes, Stack size 64 bytes, os_flag.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bd23ec]">>></a> OS_FlagUnlink
<LI><a href="#[bd282c]">>></a> OS_FlagBlock
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -