📄 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 Jun 07 16:29:27 2006
<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="#[ecbb70]">Reset</a>
<LI><a href="#[ecba70]">__user_initial_stackheap</a>
<LI><a href="#[ecbaf8]">__rt_div0</a>
<LI><a href="#[12f6620]">__scatterload</a>
<LI><a href="#[12f6550]">__scatterload_rt2</a>
<LI><a href="#[12f65a0]">__scatterload_null</a>
<LI><a href="#[12f5f04]">__scatterload_copy</a>
<LI><a href="#[12f594c]">__scatterload_zeroinit</a>
<LI><a href="#[12c8fe0]">_memcpy_lastbytes_aligned</a>
<LI><a href="#[12c88ac]">_memset_w</a>
<LI><a href="#[eb92f4]">IRQ_Handler</a>
<LI><a href="#[eb9200]">Timer0_Handler</a>
<LI><a href="#[ebbc48]">SoftwareInterrupt</a>
<LI><a href="#[ebbcc8]">OSIntCtxSw</a>
<LI><a href="#[ebbd40]">__OSStartHighRdy</a>
<LI><a href="#[12e5e24]">__fplib_config_pureend_doubles</a>
<LI><a href="#[ecc288]">Undefined</a>
<LI><a href="#[ecc20c]">PrefetchAbort</a>
<LI><a href="#[ecc194]">DataAbort</a>
<LI><a href="#[ecbf3c]">FIQ_Handler</a>
<LI><a href="#[ecbfb4]">ResetInit</a>
<LI><a href="#[12c80bc]">__arm_div8</a>
<LI><a href="#[12c8134]">__arm_div4</a>
<LI><a href="#[12c8040]">__arm_div_large</a>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3><UL>
<LI><a href="#[ecc288]">Undefined</a> -> <a href="#[ecc288]">Undefined</a><BR>
<LI><a href="#[ecc20c]">PrefetchAbort</a> -> <a href="#[ecc20c]">PrefetchAbort</a><BR>
<LI><a href="#[ecc194]">DataAbort</a> -> <a href="#[ecc194]">DataAbort</a><BR>
</UL>
<BR>
<P><STRONG><a name="[ecbb70]"></a>Reset</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors), UNUSED)
<P><STRONG><a name="[ecba70]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors))
<BR><BR>[Called By]<UL><LI><a href="#[12ebfa8]"><<</a> __user_setup_stackheap
</UL>
<P><STRONG><a name="[ecbaf8]"></a>__rt_div0</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ecbaf8]">>></a> __rt_div0
</UL>
<BR>[Called By]<UL><LI><a href="#[ecbaf8]"><<</a> __rt_div0
</UL>
<P><STRONG><a name="[12c60bc]"></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="#[12c55c4]">>></a> __rt_entry
<LI><a href="#[12f6620]">>></a> __scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[ecbfb4]"><<</a> ResetInit
</UL>
<P><STRONG><a name="[12f6620]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[12c60bc]"><<</a> __main
</UL>
<P><STRONG><a name="[12f6550]"></a>__scatterload_rt2</STRONG> (ARM, 48 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[12c55c4]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[12f65a0]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[12f5f04]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[12f5f04]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[12f5f04]"><<</a> __scatterload_copy
</UL>
<P><STRONG><a name="[12f594c]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[12ef410]"></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="#[12ef344]"><<</a> __rt_lib_init (via Veneer)
</UL>
<P><STRONG><a name="[e05bb8]"></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="#[ede5ec]"><<</a> OSTaskCreateExt
<LI><a href="#[ede668]"><<</a> OSTaskCreate
</UL>
<P><STRONG><a name="[e05b3c]"></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="#[ebbc48]"><<</a> SoftwareInterrupt
</UL>
<P><STRONG><a name="[e05ac0]"></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="#[ed95bc]"><<</a> OSStart
</UL>
<P><STRONG><a name="[e05a44]"></a>OSInitHookBegin</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ed979c]"><<</a> OSInit
</UL>
<P><STRONG><a name="[e059c8]"></a>OSInitHookEnd</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ed979c]"><<</a> OSInit
</UL>
<P><STRONG><a name="[e05948]"></a>OSTaskCreateHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ede034]"><<</a> OS_TCBInit
</UL>
<P><STRONG><a name="[e058cc]"></a>OSTaskDelHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[ede574]"><<</a> OSTaskDel
</UL>
<P><STRONG><a name="[e05850]"></a>OSTaskSwHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ebbcc8]"><<</a> OSIntCtxSw
<LI><a href="#[ebbd40]"><<</a> __OSStartHighRdy
</UL>
<P><STRONG><a name="[e057d4]"></a>OSTaskStatHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[ed9888]"><<</a> OS_TaskStat
</UL>
<P><STRONG><a name="[e05758]"></a>OSTCBInitHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ede034]"><<</a> OS_TCBInit
</UL>
<P><STRONG><a name="[e056dc]"></a>OSTimeTickHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[eb927c]"><<</a> OSTimeTick
</UL>
<P><STRONG><a name="[e05660]"></a>OSTaskIdleHook</STRONG> (ARM, 4 bytes, Stack size 0 bytes, os_cpu_c.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[ed9810]"><<</a> OS_TaskIdle
</UL>
<P><STRONG><a name="[eb96c4]"></a>IRQ_Exception</STRONG> (ARM, 8 bytes, Stack size 0 bytes, target.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[eb92f4]"><<</a> IRQ_Handler
</UL>
<P><STRONG><a name="[eb9648]"></a>FIQ_Exception</STRONG> (ARM, 8 bytes, Stack size 0 bytes, target.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ecbf3c]"><<</a> FIQ_Handler
</UL>
<P><STRONG><a name="[eb95c8]"></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="#[eb927c]">>></a> OSTimeTick
</UL>
<BR>[Called By]<UL><LI><a href="#[eb9200]"><<</a> Timer0_Handler
</UL>
<P><STRONG><a name="[eb9550]"></a>Timer0Init</STRONG> (ARM, 48 bytes, Stack size 0 bytes, target.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[eb9464]"><<</a> TargetInit
</UL>
<P><STRONG><a name="[eb94dc]"></a>VICInit</STRONG> (ARM, 48 bytes, Stack size 0 bytes, target.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[eb9464]"><<</a> TargetInit
</UL>
<P><STRONG><a name="[eb9464]"></a>TargetInit</STRONG> (ARM, 36 bytes, Stack size 8 bytes, target.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[eb94dc]">>></a> VICInit
<LI><a href="#[eb9550]">>></a> Timer0Init
<LI><a href="#[12c9994]">>></a> srand (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[ef1d44]"><<</a> Task0
</UL>
<P><STRONG><a name="[eb93e8]"></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="#[12c7b58]">>></a> __aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[eb936c]"><<</a> TargetResetInit
</UL>
<P><STRONG><a name="[eb936c]"></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="#[eb93e8]">>></a> InitialiseUART0
</UL>
<BR>[Called By]<UL><LI><a href="#[ecbfb4]"><<</a> ResetInit
</UL>
<P><STRONG><a name="[ec9178]"></a>OSTimeDly</STRONG> (ARM, 144 bytes, Stack size 8 bytes, os_time.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ec8db4]">>></a> OS_Sched
</UL>
<BR>[Called By]<UL><LI><a href="#[ec90fc]"><<</a> OSTimeDlyHMSM
<LI><a href="#[ed9544]"><<</a> OSStatInit
<LI><a href="#[ed9888]"><<</a> OS_TaskStat
<LI><a href="#[ef1d44]"><<</a> Task0
</UL>
<P><STRONG><a name="[ec90fc]"></a>OSTimeDlyHMSM</STRONG> (ARM, 232 bytes, Stack size 32 bytes, os_time.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ec9178]">>></a> OSTimeDly
<LI><a href="#[12c7b58]">>></a> __aeabi_uidivmod
</UL>
<P><STRONG><a name="[ec9080]"></a>OSTimeDlyResume</STRONG> (ARM, 184 bytes, Stack size 16 bytes, os_time.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ec8db4]">>></a> OS_Sched
</UL>
<P><STRONG><a name="[ec9008]"></a>OSTimeGet</STRONG> (ARM, 32 bytes, Stack size 8 bytes, os_time.o(.text), UNUSED)
<P><STRONG><a name="[ec8f90]"></a>OSTimeSet</STRONG> (ARM, 32 bytes, Stack size 8 bytes, os_time.o(.text), UNUSED)
<P><STRONG><a name="[eb2c68]"></a>OSFlagAccept</STRONG> (ARM, 456 bytes, Stack size 32 bytes, os_flag.o(.text), UNUSED)
<P><STRONG><a name="[eb2bec]"></a>OSFlagCreate</STRONG> (ARM, 140 bytes, Stack size 16 bytes, os_flag.o(.text), UNUSED)
<P><STRONG><a name="[eb2b70]"></a>OS_FlagUnlink</STRONG> (ARM, 84 bytes, Stack size 4 bytes, os_flag.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[eb2a80]"><<</a> OSFlagPend
<LI><a href="#[eb302c]"><<</a> OS_FlagTaskRdy
<LI><a href="#[ede574]"><<</a> OSTaskDel
</UL>
<P><STRONG><a name="[eb2af8]"></a>OSFlagDel</STRONG> (ARM, 344 bytes, Stack size 24 bytes, os_flag.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[eb302c]">>></a> OS_FlagTaskRdy
<LI><a href="#[ec8db4]">>></a> OS_Sched
</UL>
<P><STRONG><a name="[eb2a80]"></a>OSFlagPend</STRONG> (ARM, 832 bytes, Stack size 64 bytes, os_flag.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[eb2b70]">>></a> OS_FlagUnlink
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -