📄 rvdemo.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Obj\RVDEMO.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Obj\RVDEMO.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.0 [Build 942]: Last Updated: Thu Jun 01 23:23:05 2006
<BR><P>
<H3>Maximum Stack Usage = 112 bytes + Unknown(Functions without stacksize,Cycles,Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main -> os_sys_init_user -> os_tsk_create_user -> os_init_context<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[bd6744]">Reset_Handler</a>
<LI><a href="#[1008ca0]">__scatterload</a>
<LI><a href="#[1008bd0]">__scatterload_rt2</a>
<LI><a href="#[1008c20]">__scatterload_null</a>
<LI><a href="#[1008584]">__scatterload_copy</a>
<LI><a href="#[bd65c4]">__user_initial_stackheap</a>
<LI><a href="#[1019c88]">__ARM_call_via_r0</a>
<LI><a href="#[1019cd8]">__call_via_r0</a>
<LI><a href="#[1019b8c]">__ARM_call_via_r1</a>
<LI><a href="#[1019c0c]">__call_via_r1</a>
<LI><a href="#[1019ac0]">__ARM_call_via_r2</a>
<LI><a href="#[1019b10]">__call_via_r2</a>
<LI><a href="#[10199f4]">__ARM_call_via_r3</a>
<LI><a href="#[1019a44]">__call_via_r3</a>
<LI><a href="#[10198f8]">__ARM_call_via_r4</a>
<LI><a href="#[1019978]">__call_via_r4</a>
<LI><a href="#[10197fc]">__ARM_call_via_r5</a>
<LI><a href="#[101987c]">__call_via_r5</a>
<LI><a href="#[1019700]">__ARM_call_via_r6</a>
<LI><a href="#[1019780]">__call_via_r6</a>
<LI><a href="#[1019604]">__ARM_call_via_r7</a>
<LI><a href="#[1019684]">__call_via_r7</a>
<LI><a href="#[bc7c48]">os_clock_interrupt</a>
<LI><a href="#[bc7bd0]">os_set_env</a>
<LI><a href="#[bd67c0]">IRQ_Handler</a>
<LI><a href="#[fd5c68]">SWI_Handler</a>
<LI><a href="#[10bb600]">__fplib_config_pureend_doubles</a>
<LI><a href="#[bd6d10]">Undef_Handler</a>
<LI><a href="#[bd6c94]">PAbt_Handler</a>
<LI><a href="#[bd6c18]">DAbt_Handler</a>
<LI><a href="#[bd6ba0]">FIQ_Handler</a>
<LI><a href="#[ff3750]">__arm_div8</a>
<LI><a href="#[ff37c8]">__arm_div4</a>
<LI><a href="#[ff36d4]">__arm_div_large</a>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3><UL>
<LI><a href="#[bd6d10]">Undef_Handler</a> -> <a href="#[bd6d10]">Undef_Handler</a><BR>
<LI><a href="#[bd6c94]">PAbt_Handler</a> -> <a href="#[bd6c94]">PAbt_Handler</a><BR>
<LI><a href="#[bd6c18]">DAbt_Handler</a> -> <a href="#[bd6c18]">DAbt_Handler</a><BR>
<LI><a href="#[bd6ba0]">FIQ_Handler</a> -> <a href="#[bd6ba0]">FIQ_Handler</a><BR>
</UL>
<BR>
<P><STRONG><a name="[bd6744]"></a>Reset_Handler</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(RESET))
<BR>[Address Reference Count : 2]<UL><LI> startup_table.o(STARTUP_TABLE)
<LI> startup.o(RESET)
</UL>
<P><STRONG><a name="[1020cbc]"></a>__main</STRONG> (ARM, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Stack]<UL><LI>Max Depth = 72 + Unknown Stack Size
<LI>Call Chain = __main -> __rt_entry -> __rt_lib_init -> __cpp_initialize__aeabi_</UL>
<BR>[Calls]<UL><LI><a href="#[1008ca0]">>></a> __scatterload
<LI><a href="#[101eb14]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[1008ca0]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[1020cbc]"><<</a> __main
</UL>
<P><STRONG><a name="[1008bd0]"></a>__scatterload_rt2</STRONG> (ARM, 48 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[101eb14]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[1008c20]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[1008584]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1008584]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[1008584]"><<</a> __scatterload_copy
</UL>
<P><STRONG><a name="[10129ac]"></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="#[10128e0]"><<</a> __rt_lib_init (via Veneer)
</UL>
<P><STRONG><a name="[b265f4]"></a>__SWI_8</STRONG> (ARM, 16 bytes, Stack size 0 bytes, main.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> swi_table.o(SWI_TABLE)
</UL>
<P><STRONG><a name="[b26580]"></a>__SWI_9</STRONG> (ARM, 16 bytes, Stack size 0 bytes, main.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> swi_table.o(SWI_TABLE)
</UL>
<P><STRONG><a name="[b26504]"></a>UserIRQ_Handler</STRONG> (ARM, 328 bytes, Stack size 36 bytes, main.o(.text), UNUSED)
<P><STRONG><a name="[b2648c]"></a>IRQ_Eint3</STRONG> (ARM, 32 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = IRQ_Eint3</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_table.o(STARTUP_TABLE)
</UL>
<P><STRONG><a name="[b26414]"></a>IRQ_Eint0</STRONG> (ARM, 32 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = IRQ_Eint0</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_table.o(STARTUP_TABLE)
</UL>
<P><STRONG><a name="[b2639c]"></a>IRQ_Timer0</STRONG> (ARM, 32 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = IRQ_Timer0</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_table.o(STARTUP_TABLE)
</UL>
<P><STRONG><a name="[b2631c]"></a>TwiObj::TWExit()</STRONG> (ARM, 32 bytes, Stack size 0 bytes, main.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b26198]"><<</a> TwiObj::Exec()
</UL>
<P><STRONG><a name="[b2629c]"></a>TwiObj::TWStop()</STRONG> (ARM, 40 bytes, Stack size 0 bytes, main.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b24644]"><<</a> TwiObj::WorkExec()
<LI><a href="#[b26198]"><<</a> TwiObj::Exec()
</UL>
<P><STRONG><a name="[b26218]"></a>TwiObj::TWREStart()</STRONG> (ARM, 48 bytes, Stack size 0 bytes, main.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b26198]"><<</a> TwiObj::Exec()
</UL>
<P><STRONG><a name="[b26198]"></a>TwiObj::Exec()</STRONG> (ARM, 448 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TwiObj::Exec()</UL>
<BR>[Calls]<UL><LI><a href="#[b26218]">>></a> TwiObj::TWREStart()
<LI><a href="#[b2629c]">>></a> TwiObj::TWStop()
<LI><a href="#[b2631c]">>></a> TwiObj::TWExit()
</UL>
<BR>[Called By]<UL><LI><a href="#[b26120]"><<</a> IRQ_I2C0
</UL>
<P><STRONG><a name="[b26120]"></a>IRQ_I2C0</STRONG> (ARM, 28 bytes, Stack size 24 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = IRQ_I2C0 -> TwiObj::Exec()</UL>
<BR>[Calls]<UL><LI><a href="#[b26198]">>></a> TwiObj::Exec()
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_table.o(STARTUP_TABLE)
</UL>
<P><STRONG><a name="[b260a0]"></a>UartObj::Exec()</STRONG> (ARM, 236 bytes, Stack size 16 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = UartObj::Exec() -> isr_evt_set -> os_psq_enq</UL>
<BR>[Calls]<UL><LI><a href="#[bc5470]">>></a> isr_evt_set (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[b26028]"><<</a> IRQ_UART0
</UL>
<P><STRONG><a name="[b26028]"></a>IRQ_UART0</STRONG> (ARM, 28 bytes, Stack size 24 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = IRQ_UART0 -> UartObj::Exec() -> isr_evt_set -> os_psq_enq</UL>
<BR>[Calls]<UL><LI><a href="#[b260a0]">>></a> UartObj::Exec()
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_table.o(STARTUP_TABLE)
</UL>
<P><STRONG><a name="[b25fb4]"></a>RTC_Int</STRONG> (ARM, 108 bytes, Stack size 32 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = RTC_Int -> isr_evt_set -> os_psq_enq</UL>
<BR>[Calls]<UL><LI><a href="#[bc5470]">>></a> isr_evt_set (via Veneer)
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_table.o(STARTUP_TABLE)
</UL>
<P><STRONG><a name="[b25f30]"></a>TwiObj::TWStart()</STRONG> (ARM, 36 bytes, Stack size 0 bytes, main.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[b24644]"><<</a> TwiObj::WorkExec()
<LI><a href="#[b25e20]"><<</a> TwiObj::TWByteWrite(unsigned, unsigned)
<LI><a href="#[b25ea8]"><<</a> TwiObj::TWByteRead(unsigned, unsigned)
</UL>
<P><STRONG><a name="[b25ea8]"></a>TwiObj::TWByteRead(unsigned, unsigned)</STRONG> (ARM, 60 bytes, Stack size 4 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b25f30]">>></a> TwiObj::TWStart()
</UL>
<BR>[Called By]<UL><LI><a href="#[b254e8]"><<</a> MainTask()
</UL>
<P><STRONG><a name="[b25e20]"></a>TwiObj::TWByteWrite(unsigned, unsigned)</STRONG> (ARM, 60 bytes, Stack size 4 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b25f30]">>></a> TwiObj::TWStart()
</UL>
<BR>[Called By]<UL><LI><a href="#[b254e8]"><<</a> MainTask()
</UL>
<P><STRONG><a name="[b25d98]"></a>LcdObj::LcdDisplay(const char*)</STRONG> (ARM, 52 bytes, Stack size 0 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b25d98]">>></a> LcdObj::LcdDisplay(const char*)
</UL>
<BR>[Called By]<UL><LI><a href="#[b255dc]"><<</a> LcdTask()
<LI><a href="#[b25a6c]"><<</a> LcdObj::LcdInit()
<LI><a href="#[b25d98]"><<</a> LcdObj::LcdDisplay(const char*)
</UL>
<P><STRONG><a name="[b25d0c]"></a>LcdObj::SetLcdDisplayPos(unsigned char, unsigned char)</STRONG> (ARM, 32 bytes, Stack size 0 bytes, main.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[b255dc]"><<</a> LcdTask()
<LI><a href="#[b25a6c]"><<</a> LcdObj::LcdInit()
</UL>
<P><STRONG><a name="[b25c8c]"></a>_delay_loop_(unsigned)</STRONG> (ARM, 24 bytes, Stack size 0 bytes, main.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[b256e0]"><<</a> LcdObj::LcdSendData(char)
<LI><a href="#[b25b7c]"><<</a> LcdObj::LcdSendCommand(char)
</UL>
<P><STRONG><a name="[b25c08]"></a>LcdObj::LcdSend(char)</STRONG> (ARM, 24 bytes, Stack size 0 bytes, main.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[b256e0]"><<</a> LcdObj::LcdSendData(char)
<LI><a href="#[b25b7c]"><<</a> LcdObj::LcdSendCommand(char)
</UL>
<P><STRONG><a name="[b25b7c]"></a>LcdObj::LcdSendCommand(char)</STRONG> (ARM, 84 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b25c08]">>></a> LcdObj::LcdSend(char)
<LI><a href="#[b25c8c]">>></a> _delay_loop_(unsigned)
</UL>
<BR>[Called By]<UL><LI><a href="#[b25654]"><<</a> LcdObj::LcdDisplayBuffer()
<LI><a href="#[b25a6c]"><<</a> LcdObj::LcdInit()
</UL>
<P><STRONG><a name="[b25af0]"></a>LcdObj::LcdClearBuffer()</STRONG> (ARM, 96 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[b25a6c]"><<</a> LcdObj::LcdInit()
</UL>
<P><STRONG><a name="[b25a6c]"></a>LcdObj::LcdInit()</STRONG> (ARM, 200 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b25af0]">>></a> LcdObj::LcdClearBuffer()
<LI><a href="#[b25b7c]">>></a> LcdObj::LcdSendCommand(char)
<LI><a href="#[b25d0c]">>></a> LcdObj::SetLcdDisplayPos(unsigned char, unsigned char)
<LI><a href="#[b25d98]">>></a> LcdObj::LcdDisplay(const char*)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -