📄 hello.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Flash\Hello.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Flash\Hello.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.0 [Build 951]: Last Updated: Sat Feb 16 09:30:45 2008
<BR><P>
<H3>Maximum Stack Usage = 108 bytes + Unknown(Functions without stacksize,Cycles,Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main -> Lcd_DrawLine -> Lcd_DrawVline -> Lcd_PutPixel<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[b67fec]">Reset_Handler</a>
<LI><a href="#[109a750]">__scatterload</a>
<LI><a href="#[109a680]">__scatterload_rt2</a>
<LI><a href="#[109a6d0]">__scatterload_null</a>
<LI><a href="#[109a19c]">__scatterload_copy</a>
<LI><a href="#[1099d4c]">__scatterload_zeroinit</a>
<LI><a href="#[b67e6c]">__user_initial_stackheap</a>
<LI><a href="#[10a64d4]">__fplib_config_pureend_doubles</a>
<LI><a href="#[b68658]">Undef_Handler</a>
<LI><a href="#[b685e0]">SWI_Handler</a>
<LI><a href="#[b68564]">PAbt_Handler</a>
<LI><a href="#[b684e8]">DAbt_Handler</a>
<LI><a href="#[b68470]">IRQ_Handler</a>
<LI><a href="#[b683f8]">FIQ_Handler</a>
<LI><a href="#[1086bfc]">__arm_div4</a>
<LI><a href="#[1086b84]">__arm_div8</a>
<LI><a href="#[1086b08]">__arm_div_large</a>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3><UL>
<LI><a href="#[b68658]">Undef_Handler</a> -> <a href="#[b68658]">Undef_Handler</a><BR>
<LI><a href="#[b685e0]">SWI_Handler</a> -> <a href="#[b685e0]">SWI_Handler</a><BR>
<LI><a href="#[b68564]">PAbt_Handler</a> -> <a href="#[b68564]">PAbt_Handler</a><BR>
<LI><a href="#[b684e8]">DAbt_Handler</a> -> <a href="#[b684e8]">DAbt_Handler</a><BR>
<LI><a href="#[b68470]">IRQ_Handler</a> -> <a href="#[b68470]">IRQ_Handler</a><BR>
<LI><a href="#[b683f8]">FIQ_Handler</a> -> <a href="#[b683f8]">FIQ_Handler</a><BR>
</UL>
<BR>
<P><STRONG><a name="[b67fec]"></a>Reset_Handler</STRONG> (ARM, 0 bytes, Stack size unknown bytes, s3c44b0x.o(RESET))
<BR>[Address Reference Count : 1]<UL><LI> s3c44b0x.o(RESET)
</UL>
<P><STRONG><a name="[1083464]"></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 -> _fp_init</UL>
<BR>[Calls]<UL><LI><a href="#[1082ae4]">>></a> __rt_entry
<LI><a href="#[109a750]">>></a> __scatterload
</UL>
<P><STRONG><a name="[109a750]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[1083464]"><<</a> __main
</UL>
<P><STRONG><a name="[109a680]"></a>__scatterload_rt2</STRONG> (ARM, 48 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1082ae4]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[109a6d0]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[109a19c]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[109a19c]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[109a19c]"><<</a> __scatterload_copy
</UL>
<P><STRONG><a name="[1099d4c]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[107c550]"></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="#[107c484]"><<</a> __rt_lib_init (via Veneer)
</UL>
<P><STRONG><a name="[b67e6c]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, s3c44b0x.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1082194]"><<</a> __user_setup_stackheap
</UL>
<P><STRONG><a name="[b658e4]"></a>fputc</STRONG> (ARM, 28 bytes, Stack size 16 bytes, retarget.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b65680]">>></a> sendchar
</UL>
<P><STRONG><a name="[b65870]"></a>ferror</STRONG> (ARM, 12 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)
<P><STRONG><a name="[b657f8]"></a>_ttywrch</STRONG> (ARM, 24 bytes, Stack size 8 bytes, retarget.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b65680]">>></a> sendchar
</UL>
<P><STRONG><a name="[b65780]"></a>_sys_exit</STRONG> (ARM, 8 bytes, Stack size 0 bytes, retarget.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[1082924]"><<</a> __rt_abort
</UL>
<P><STRONG><a name="[c13e98]"></a>init_serial</STRONG> (ARM, 68 bytes, Stack size 0 bytes, serial.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c2bbec]"><<</a> main
</UL>
<P><STRONG><a name="[b65680]"></a>sendchar</STRONG> (ARM, 96 bytes, Stack size 0 bytes, serial.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[b657f8]"><<</a> _ttywrch
<LI><a href="#[b658e4]"><<</a> fputc
</UL>
<P><STRONG><a name="[c13e24]"></a>getkey</STRONG> (ARM, 40 bytes, Stack size 0 bytes, serial.o(.text), UNUSED)
<P><STRONG><a name="[b68068]"></a>HandlerTIMER5</STRONG> (ARM, 44 bytes, Stack size 8 bytes, time.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HandlerTIMER5</UL>
<BR>[Address Reference Count : 1]<UL><LI> s3c44b0x.o(RESET)
</UL>
<P><STRONG><a name="[c08614]"></a>init_timer</STRONG> (ARM, 64 bytes, Stack size 0 bytes, time.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c2bbec]"><<</a> main
</UL>
<P><STRONG><a name="[c0500c]"></a>Lcd_Initial</STRONG> (ARM, 252 bytes, Stack size 0 bytes, lcd.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c2bbec]"><<</a> main
</UL>
<P><STRONG><a name="[c04f8c]"></a>Lcd_DrawBackground</STRONG> (ARM, 48 bytes, Stack size 0 bytes, lcd.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c2bbec]"><<</a> main
</UL>
<P><STRONG><a name="[c04f10]"></a>Lcd_PutPixel</STRONG> (ARM, 128 bytes, Stack size 28 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = Lcd_PutPixel</UL>
<BR>[Called By]<UL><LI><a href="#[c04c34]"><<</a> Lcd_PutChar
<LI><a href="#[c04cac]"><<</a> Lcd_PutHz16
<LI><a href="#[c04d24]"><<</a> Lcd_DrawLine
<LI><a href="#[c04da0]"><<</a> Lcd_DrawVline
<LI><a href="#[c04e1c]"><<</a> Lcd_DrawHline
<LI><a href="#[c04e98]"><<</a> Lcd_DrawBox
</UL>
<P><STRONG><a name="[c04e98]"></a>Lcd_DrawBox</STRONG> (ARM, 88 bytes, Stack size 32 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = Lcd_DrawBox -> Lcd_PutPixel</UL>
<BR>[Calls]<UL><LI><a href="#[c04f10]">>></a> Lcd_PutPixel
</UL>
<BR>[Called By]<UL><LI><a href="#[c2bbec]"><<</a> main
</UL>
<P><STRONG><a name="[c04e1c]"></a>Lcd_DrawHline</STRONG> (ARM, 80 bytes, Stack size 24 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = Lcd_DrawHline -> Lcd_PutPixel</UL>
<BR>[Calls]<UL><LI><a href="#[c04f10]">>></a> Lcd_PutPixel
</UL>
<BR>[Called By]<UL><LI><a href="#[c04d24]"><<</a> Lcd_DrawLine
</UL>
<P><STRONG><a name="[c04da0]"></a>Lcd_DrawVline</STRONG> (ARM, 80 bytes, Stack size 24 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = Lcd_DrawVline -> Lcd_PutPixel</UL>
<BR>[Calls]<UL><LI><a href="#[c04f10]">>></a> Lcd_PutPixel
</UL>
<BR>[Called By]<UL><LI><a href="#[c04d24]"><<</a> Lcd_DrawLine
</UL>
<P><STRONG><a name="[c04d24]"></a>Lcd_DrawLine</STRONG> (ARM, 416 bytes, Stack size 48 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 100<LI>Call Chain = Lcd_DrawLine -> Lcd_DrawVline -> Lcd_PutPixel</UL>
<BR>[Calls]<UL><LI><a href="#[c04da0]">>></a> Lcd_DrawVline
<LI><a href="#[c04e1c]">>></a> Lcd_DrawHline
<LI><a href="#[c04f10]">>></a> Lcd_PutPixel
</UL>
<BR>[Called By]<UL><LI><a href="#[c2bbec]"><<</a> main
</UL>
<P><STRONG><a name="[c04cac]"></a>Lcd_PutHz16</STRONG> (ARM, 188 bytes, Stack size 32 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = Lcd_PutHz16 -> Lcd_PutPixel</UL>
<BR>[Calls]<UL><LI><a href="#[c04f10]">>></a> Lcd_PutPixel
</UL>
<BR>[Called By]<UL><LI><a href="#[c04bbc]"><<</a> Lcd_Print
</UL>
<P><STRONG><a name="[c04c34]"></a>Lcd_PutChar</STRONG> (ARM, 124 bytes, Stack size 28 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = Lcd_PutChar -> Lcd_PutPixel</UL>
<BR>[Calls]<UL><LI><a href="#[c04f10]">>></a> Lcd_PutPixel
</UL>
<BR>[Called By]<UL><LI><a href="#[c04bbc]"><<</a> Lcd_Print
</UL>
<P><STRONG><a name="[c04bbc]"></a>Lcd_Print</STRONG> (ARM, 116 bytes, Stack size 24 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = Lcd_Print -> Lcd_PutHz16 -> Lcd_PutPixel</UL>
<BR>[Calls]<UL><LI><a href="#[c04c34]">>></a> Lcd_PutChar
<LI><a href="#[c04cac]">>></a> Lcd_PutHz16
<LI><a href="#[10870c0]">>></a> strlen (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[c2bbec]"><<</a> main
</UL>
<P><STRONG><a name="[c04b40]"></a>Lcd_DrawImage</STRONG> (ARM, 120 bytes, Stack size 16 bytes, lcd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1086828]">>></a> __aeabi_uidivmod
</UL>
<P><STRONG><a name="[c2bc60]"></a>wait</STRONG> (ARM, 36 bytes, Stack size 0 bytes, hello.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c2bbec]"><<</a> main
</UL>
<P><STRONG><a name="[c2bbec]"></a>main</STRONG> (ARM, 316 bytes, Stack size 8 bytes, hello.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 108<LI>Call Chain = main -> Lcd_DrawLine -> Lcd_DrawVline -> Lcd_PutPixel</UL>
<BR>[Calls]<UL><LI><a href="#[c04bbc]">>></a> Lcd_Print
<LI><a href="#[c04d24]">>></a> Lcd_DrawLine
<LI><a href="#[c04e98]">>></a> Lcd_DrawBox
<LI><a href="#[c04f8c]">>></a> Lcd_DrawBackground
<LI><a href="#[c0500c]">>></a> Lcd_Initial
<LI><a href="#[c08614]">>></a> init_timer
<LI><a href="#[c13e98]">>></a> init_serial
<LI><a href="#[c2bc60]">>></a> wait
</UL>
<BR>[Address Reference Count : 1]<UL><LI> kernel.o(.text)
</UL>
<P><STRONG><a name="[10875d8]"></a>__I_use_semihosting</STRONG> (ARM, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[1087588]"></a>__use_no_semihosting_swi</STRONG> (ARM, 4 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[10870c0]"></a>strlen</STRONG> (Thumb, 68 bytes, Stack size 8 bytes, strlen.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = strlen</UL>
<BR>[Called By]<UL><LI><a href="#[c04bbc]"><<</a> Lcd_Print (via Veneer)
</UL>
<P><STRONG><a name="[1086970]"></a>__aeabi_idiv</STRONG> (ARM, 0 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text), UNUSED)
<P><STRONG><a name="[10868f4]"></a>__aeabi_idivmod</STRONG> (ARM, 364 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1081d10]">>></a> __aeabi_idiv0
</UL>
<P><STRONG><a name="[1083ba4]"></a>__use_two_region_memory</STRONG> (ARM, 4 bytes, Stack size 0 bytes, stkheap2.o(.text), UNUSED)
<P><STRONG><a name="[1083b1c]"></a>__rt_stackheap_init</STRONG> (ARM, 60 bytes, Stack size 24 bytes, stkheap2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32 + Unknown Stack Size
<LI>Call Chain = __rt_stackheap_init -> __user_setup_stackheap</UL>
<BR>[Calls]<UL><LI><a href="#[1080e38]">>></a> __rt_stackheap_storage
<LI><a href="#[1082194]">>></a> __user_setup_stackheap
</UL>
<BR>[Called By]<UL><LI><a href="#[1082ae4]"><<</a> __rt_entry
</UL>
<P><STRONG><a name="[1083a94]"></a>__rt_heap_extend</STRONG> (ARM, 24 bytes, Stack size 8 bytes, stkheap2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1083c78]">>></a> __user_heap_extend (Weak Reference)
</UL>
<P><STRONG><a name="[1082ae4]"></a>__rt_entry</STRONG> (ARM, 76 bytes, Stack size 16 bytes, kernel.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64 + Unknown Stack Size
<LI>Call Chain = __rt_entry -> __rt_lib_init -> _fp_init</UL>
<BR>[Calls]<UL><LI><a href="#[107c484]">>></a> __rt_lib_init (via Veneer)
<LI><a href="#[107f610]">>></a> exit (via BX)
<LI><a href="#[1083b1c]">>></a> __rt_stackheap_init
<LI><a href="#[10aa7f8]">>></a> _platform_post_lib_init
<LI><a href="#[10aac4c]">>></a> _platform_post_stackheap_init
</UL>
<BR>[Called By]<UL><LI><a href="#[1083464]"><<</a> __main
<LI><a href="#[109a680]"><<</a> __scatterload_rt2
</UL>
<P><STRONG><a name="[108299c]"></a>__rt_exit</STRONG> (ARM, 20 bytes, Stack size 8 bytes, kernel.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __rt_exit -> __rt_lib_shutdown</UL>
<BR>[Calls]<UL><LI><a href="#[107c434]">>></a> __rt_lib_shutdown (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[107f610]"><<</a> exit (via Veneer)
</UL>
<P><STRONG><a name="[1082924]"></a>__rt_abort</STRONG> (ARM, 8 bytes, Stack size 0 bytes, kernel.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b65780]">>></a> _sys_exit
</UL>
<P><STRONG><a name="[1082194]"></a>__user_setup_stackheap</STRONG> (ARM, 96 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __user_setup_stackheap</UL>
<BR>[Calls]<UL><LI><a href="#[b67e6c]">>></a> __user_initial_stackheap
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -