📄 keil_ucos.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\OUT\keil_ucos.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\OUT\keil_ucos.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.0 [Build 951]: Last Updated: Tue Apr 15 16:31:37 2008
<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="#[bc8d58]">Reset</a>
<LI><a href="#[bc8c58]">__user_initial_stackheap</a>
<LI><a href="#[bc8ce0]">__rt_div0</a>
<LI><a href="#[100b410]">__scatterload</a>
<LI><a href="#[100b340]">__scatterload_rt2</a>
<LI><a href="#[100b390]">__scatterload_null</a>
<LI><a href="#[100ae5c]">__scatterload_copy</a>
<LI><a href="#[100aa0c]">__scatterload_zeroinit</a>
<LI><a href="#[ff9d38]">_memcpy_lastbytes_aligned</a>
<LI><a href="#[ff976c]">_memset_w</a>
<LI><a href="#[bcbf34]">IRQ_Handler</a>
<LI><a href="#[bcbe40]">Timer0_Handler</a>
<LI><a href="#[bc8dcc]">SoftwareInterrupt</a>
<LI><a href="#[bca01c]">OSIntCtxSw</a>
<LI><a href="#[bf81c0]">__OSStartHighRdy</a>
<LI><a href="#[103969c]">__fplib_config_pureend_doubles</a>
<LI><a href="#[bc9470]">Undefined</a>
<LI><a href="#[bc93f4]">PrefetchAbort</a>
<LI><a href="#[bc937c]">DataAbort</a>
<LI><a href="#[bc9128]">ResetInit</a>
<LI><a href="#[bc90b0]">FIQ_Handler</a>
<LI><a href="#[ff915c]">__arm_div4</a>
<LI><a href="#[ff90e4]">__arm_div8</a>
<LI><a href="#[ff9068]">__arm_div_large</a>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3><UL>
<LI><a href="#[bc9470]">Undefined</a> -> <a href="#[bc9470]">Undefined</a><BR>
<LI><a href="#[bc93f4]">PrefetchAbort</a> -> <a href="#[bc93f4]">PrefetchAbort</a><BR>
<LI><a href="#[bc937c]">DataAbort</a> -> <a href="#[bc937c]">DataAbort</a><BR>
</UL>
<BR>
<P><STRONG><a name="[bc8d58]"></a>Reset</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors), UNUSED)
<P><STRONG><a name="[bc8c58]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors))
<BR><BR>[Called By]<UL><LI><a href="#[103e26c]"><<</a> __user_setup_stackheap
</UL>
<P><STRONG><a name="[bc8ce0]"></a>__rt_div0</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(vectors), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bc8ce0]">>></a> __rt_div0
</UL>
<BR>[Called By]<UL><LI><a href="#[bc8ce0]"><<</a> __rt_div0
</UL>
<P><STRONG><a name="[ff6170]"></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="#[ff57e0]">>></a> __rt_entry
<LI><a href="#[100b410]">>></a> __scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[bc9128]"><<</a> ResetInit
</UL>
<P><STRONG><a name="[100b410]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[ff6170]"><<</a> __main
</UL>
<P><STRONG><a name="[100b340]"></a>__scatterload_rt2</STRONG> (ARM, 48 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ff57e0]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[100b390]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[100ae5c]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[100ae5c]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[100ae5c]"><<</a> __scatterload_copy
</UL>
<P><STRONG><a name="[100aa0c]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[1040cfc]"></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="#[1040c30]"><<</a> __rt_lib_init (via Veneer)
</UL>
<P><STRONG><a name="[b251cc]"></a>Task7</STRONG> (ARM, 64 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b24c50]">>></a> OSTimeDly
</UL>
<P><STRONG><a name="[b25158]"></a>Task6</STRONG> (ARM, 64 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b24c50]">>></a> OSTimeDly
</UL>
<P><STRONG><a name="[b250e4]"></a>Task5</STRONG> (ARM, 64 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b24c50]">>></a> OSTimeDly
</UL>
<P><STRONG><a name="[b25070]"></a>Task4</STRONG> (ARM, 64 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b24c50]">>></a> OSTimeDly
</UL>
<P><STRONG><a name="[b24ffc]"></a>Task3</STRONG> (ARM, 64 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b24c50]">>></a> OSTimeDly
</UL>
<P><STRONG><a name="[b24f88]"></a>Task2</STRONG> (ARM, 64 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b24c50]">>></a> OSTimeDly
</UL>
<P><STRONG><a name="[b24f14]"></a>Task1</STRONG> (ARM, 64 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b24c50]">>></a> OSTimeDly
</UL>
<P><STRONG><a name="[b24ea0]"></a>Task0</STRONG> (ARM, 112 bytes, Stack size 16 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b24bd8]">>></a> TargetInit
<LI><a href="#[b24c50]">>></a> OSTimeDly
</UL>
<P><STRONG><a name="[b24e2c]"></a>main</STRONG> (ARM, 184 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = main -> OSInit -> OS_InitTaskIdle -> OSTaskCreateExt -> OS_TCBInit</UL>
<BR>[Calls]<UL><LI><a href="#[b24cc8]">>></a> OSTaskCreate
<LI><a href="#[b24d44]">>></a> OSStart
<LI><a href="#[b24db8]">>></a> OSInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> kernel.o(.text)
</UL>
<P><STRONG><a name="[bcc28c]"></a>IRQ_Exception</STRONG> (ARM, 8 bytes, Stack size 0 bytes, target.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bcbf34]"><<</a> IRQ_Handler
</UL>
<P><STRONG><a name="[bcc210]"></a>FIQ_Exception</STRONG> (ARM, 8 bytes, Stack size 0 bytes, target.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bc90b0]"><<</a> FIQ_Handler
</UL>
<P><STRONG><a name="[bcc190]"></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="#[bcbebc]">>></a> OSTimeTick
</UL>
<BR>[Called By]<UL><LI><a href="#[bcbe40]"><<</a> Timer0_Handler
</UL>
<P><STRONG><a name="[bcc118]"></a>Timer0Init</STRONG> (ARM, 48 bytes, Stack size 0 bytes, target.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[b24bd8]"><<</a> TargetInit
</UL>
<P><STRONG><a name="[bcc0a4]"></a>VICInit</STRONG> (ARM, 48 bytes, Stack size 0 bytes, target.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[b24bd8]"><<</a> TargetInit
</UL>
<P><STRONG><a name="[b24bd8]"></a>TargetInit</STRONG> (ARM, 36 bytes, Stack size 8 bytes, target.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bcc0a4]">>></a> VICInit
<LI><a href="#[bcc118]">>></a> Timer0Init
<LI><a href="#[ffa528]">>></a> srand (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[b24ea0]"><<</a> Task0
</UL>
<P><STRONG><a name="[bcc028]"></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="#[ff8d88]">>></a> __aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[bcbfac]"><<</a> TargetResetInit
</UL>
<P><STRONG><a name="[bcbfac]"></a>TargetResetInit</STRONG> (ARM, 264 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="#[bcc028]">>></a> InitialiseUART0
</UL>
<BR>[Called By]<UL><LI><a href="#[bc9128]"><<</a> ResetInit
</UL>
<P><STRONG><a name="[bc5968]"></a>OS_TaskStat</STRONG> (ARM, 224 bytes, Stack size 24 bytes, os_core.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b24c50]">>></a> OSTimeDly
<LI><a href="#[bc4f50]">>></a> OSTaskStatHook
<LI><a href="#[ff8d88]">>></a> __aeabi_uidivmod
</UL>
<P><STRONG><a name="[bc58f0]"></a>OS_TaskIdle</STRONG> (ARM, 52 bytes, Stack size 8 bytes, os_core.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bc4fcc]">>></a> OSTaskIdleHook
</UL>
<P><STRONG><a name="[b24db8]"></a>OSInit</STRONG> (ARM, 56 bytes, Stack size 8 bytes, os_core.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = OSInit -> OS_InitTaskIdle -> OSTaskCreateExt -> OS_TCBInit</UL>
<BR>[Calls]<UL><LI><a href="#[bc4d6c]">>></a> OS_QInit
<LI><a href="#[bc4de4]">>></a> OS_MemInit
<LI><a href="#[bc4e5c]">>></a> OS_FlagInit
<LI><a href="#[bc523c]">>></a> OSInitHookEnd
<LI><a href="#[bc52b8]">>></a> OSInitHookBegin
<LI><a href="#[bc7078]">>></a> OS_InitMisc
<LI><a href="#[bc70f0]">>></a> OS_InitRdyList
<LI><a href="#[bc716c]">>></a> OS_InitTCBList
<LI><a href="#[bc71e8]">>></a> OS_InitEventList
<LI><a href="#[bc7268]">>></a> OS_InitTaskIdle
<LI><a href="#[bc72e4]">>></a> OS_InitTaskStat
</UL>
<BR>[Called By]<UL><LI><a href="#[b24e2c]"><<</a> main
</UL>
<P><STRONG><a name="[bc5878]"></a>OSIntEnter</STRONG> (ARM, 56 bytes, Stack size 0 bytes, os_core.o(.text), UNUSED)
<P><STRONG><a name="[bc9fa4]"></a>OSIntExit</STRONG> (ARM, 240 bytes, Stack size 8 bytes, os_core.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OSIntExit</UL>
<BR>[Called By]<UL><LI><a href="#[bcbe40]"><<</a> Timer0_Handler
<LI><a href="#[bcbf34]"><<</a> IRQ_Handler
</UL>
<P><STRONG><a name="[bc5800]"></a>OSSchedLock</STRONG> (ARM, 72 bytes, Stack size 8 bytes, os_core.o(.text), UNUSED)
<P><STRONG><a name="[bc5788]"></a>OS_Sched</STRONG> (ARM, 168 bytes, Stack size 8 bytes, os_core.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OS_Sched</UL>
<BR>[Called By]<UL><LI><a href="#[b24c50]"><<</a> OSTimeDly
<LI><a href="#[b24cc8]"><<</a> OSTaskCreate
<LI><a href="#[bc50c8]"><<</a> OSTaskCreateExt
<LI><a href="#[bc570c]"><<</a> OSSchedUnlock
<LI><a href="#[bdc48c]"><<</a> OSFlagPost
<LI><a href="#[bdc504]"><<</a> OSFlagPend
<LI><a href="#[bdc57c]"><<</a> OSFlagDel
<LI><a href="#[be5a68]"><<</a> OSTaskSuspend
<LI><a href="#[be5b60]"><<</a> OSTaskResume
<LI><a href="#[be5c58]"><<</a> OSTaskDel
<LI><a href="#[be5cd0]"><<</a> OSTaskChangePrio
<LI><a href="#[beca58]"><<</a> OSQPostOpt
<LI><a href="#[becad0]"><<</a> OSQPostFront
<LI><a href="#[becb4c]"><<</a> OSQPost
<LI><a href="#[becbc0]"><<</a> OSQPend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -