⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keil_ucos.htm

📁 KEIL下的LPC2104的UCOS移植,网上的都是ADS的,且很多有错误,需改写一部分代码才可用.这是我用ADS改的,带有PROTEUS仿真,绝对可用,无需任何改动就可编译通过.
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<!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>#&#060CALLGRAPH&#062# 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>&nbsp;&nbsp;&nbsp;->&nbsp;&nbsp;&nbsp;<a href="#[bc9470]">Undefined</a><BR>
 <LI><a href="#[bc93f4]">PrefetchAbort</a>&nbsp;&nbsp;&nbsp;->&nbsp;&nbsp;&nbsp;<a href="#[bc93f4]">PrefetchAbort</a><BR>
 <LI><a href="#[bc937c]">DataAbort</a>&nbsp;&nbsp;&nbsp;->&nbsp;&nbsp;&nbsp;<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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_div0
</UL>
<BR>[Called By]<UL><LI><a href="#[bc8ce0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<LI><a href="#[100b410]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[bc9128]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[100ae5c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TargetInit
<LI><a href="#[b24c50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OSTaskCreate
<LI><a href="#[b24d44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OSStart
<LI><a href="#[b24db8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OSTimeTick
</UL>
<BR>[Called By]<UL><LI><a href="#[bcbe40]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VICInit
<LI><a href="#[bcc118]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer0Init
<LI><a href="#[ffa528]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;srand (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[b24ea0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[bcbfac]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;InitialiseUART0
</UL>
<BR>[Called By]<UL><LI><a href="#[bc9128]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OSTimeDly
<LI><a href="#[bc4f50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OSTaskStatHook
<LI><a href="#[ff8d88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OS_QInit
<LI><a href="#[bc4de4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OS_MemInit
<LI><a href="#[bc4e5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OS_FlagInit
<LI><a href="#[bc523c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OSInitHookEnd
<LI><a href="#[bc52b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OSInitHookBegin
<LI><a href="#[bc7078]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OS_InitMisc
<LI><a href="#[bc70f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OS_InitRdyList
<LI><a href="#[bc716c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OS_InitTCBList
<LI><a href="#[bc71e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OS_InitEventList
<LI><a href="#[bc7268]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OS_InitTaskIdle
<LI><a href="#[bc72e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;OS_InitTaskStat
</UL>
<BR>[Called By]<UL><LI><a href="#[b24e2c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;Timer0_Handler
<LI><a href="#[bcbf34]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSTimeDly
<LI><a href="#[b24cc8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSTaskCreate
<LI><a href="#[bc50c8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSTaskCreateExt
<LI><a href="#[bc570c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSSchedUnlock
<LI><a href="#[bdc48c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSFlagPost
<LI><a href="#[bdc504]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSFlagPend
<LI><a href="#[bdc57c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSFlagDel
<LI><a href="#[be5a68]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSTaskSuspend
<LI><a href="#[be5b60]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSTaskResume
<LI><a href="#[be5c58]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSTaskDel
<LI><a href="#[be5cd0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSTaskChangePrio
<LI><a href="#[beca58]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSQPostOpt
<LI><a href="#[becad0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSQPostFront
<LI><a href="#[becb4c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSQPost
<LI><a href="#[becbc0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OSQPend

⌨️ 快捷键说明

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