📄 arm_lcd12232.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [E:\ChengJiang\ARM_LCD12232\ARM_LCD12232.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image E:\ChengJiang\ARM_LCD12232\ARM_LCD12232.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.0 [Build 942]: Last Updated: Mon Aug 11 00:23:17 2008
<BR><P>
<H3>Maximum Stack Usage = 64 bytes + Unknown(Functions without stacksize,Cycles,Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
__main -> __rt_entry -> __rt_lib_init -> _fp_init<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[b28414]">Reset_Handler</a>
<LI><a href="#[c050e0]">__scatterload</a>
<LI><a href="#[c05010]">__scatterload_rt2</a>
<LI><a href="#[c05060]">__scatterload_null</a>
<LI><a href="#[c049c4]">__scatterload_copy</a>
<LI><a href="#[c0440c]">__scatterload_zeroinit</a>
<LI><a href="#[b28294]">__user_initial_stackheap</a>
<LI><a href="#[c11920]">__fplib_config_pureend_doubles</a>
<LI><a href="#[b28a7c]">Undef_Handler</a>
<LI><a href="#[b28a04]">SWI_Handler</a>
<LI><a href="#[b28988]">PAbt_Handler</a>
<LI><a href="#[b2890c]">DAbt_Handler</a>
<LI><a href="#[b28894]">IRQ_Handler</a>
<LI><a href="#[b2881c]">FIQ_Handler</a>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3><UL>
<LI><a href="#[b28a7c]">Undef_Handler</a> -> <a href="#[b28a7c]">Undef_Handler</a><BR>
<LI><a href="#[b28a04]">SWI_Handler</a> -> <a href="#[b28a04]">SWI_Handler</a><BR>
<LI><a href="#[b28988]">PAbt_Handler</a> -> <a href="#[b28988]">PAbt_Handler</a><BR>
<LI><a href="#[b2890c]">DAbt_Handler</a> -> <a href="#[b2890c]">DAbt_Handler</a><BR>
<LI><a href="#[b28894]">IRQ_Handler</a> -> <a href="#[b28894]">IRQ_Handler</a><BR>
<LI><a href="#[b2881c]">FIQ_Handler</a> -> <a href="#[b2881c]">FIQ_Handler</a><BR>
</UL>
<BR>
<P><STRONG><a name="[b28414]"></a>Reset_Handler</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(RESET))
<BR>[Address Reference Count : 1]<UL><LI> startup.o(RESET)
</UL>
<P><STRONG><a name="[bf09f8]"></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="#[befef0]">>></a> __rt_entry
<LI><a href="#[c050e0]">>></a> __scatterload
</UL>
<P><STRONG><a name="[c050e0]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[bf09f8]"><<</a> __main
</UL>
<P><STRONG><a name="[c05010]"></a>__scatterload_rt2</STRONG> (ARM, 48 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[befef0]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[c05060]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[c049c4]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c049c4]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[c049c4]"><<</a> __scatterload_copy
</UL>
<P><STRONG><a name="[c0440c]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[be8c50]"></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="#[be8b84]"><<</a> __rt_lib_init (via Veneer)
</UL>
<P><STRONG><a name="[b28294]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bef3e4]"><<</a> __user_setup_stackheap
</UL>
<P><STRONG><a name="[b25b2c]"></a>delay</STRONG> (ARM, 44 bytes, Stack size 0 bytes, arm_lcd12232.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b259d0]"><<</a> Task1
<LI><a href="#[b25a44]"><<</a> Task2
<LI><a href="#[b25ab8]"><<</a> Task3
</UL>
<P><STRONG><a name="[b25ab8]"></a>Task3</STRONG> (ARM, 84 bytes, Stack size 16 bytes, arm_lcd12232.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b25874]">>></a> DrawBmp
<LI><a href="#[b25b2c]">>></a> delay
</UL>
<P><STRONG><a name="[b25a44]"></a>Task2</STRONG> (ARM, 296 bytes, Stack size 16 bytes, arm_lcd12232.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b25874]">>></a> DrawBmp
<LI><a href="#[b258e8]">>></a> ClrScr
<LI><a href="#[b25b2c]">>></a> delay
</UL>
<P><STRONG><a name="[b259d0]"></a>Task1</STRONG> (ARM, 424 bytes, Stack size 16 bytes, arm_lcd12232.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = Task1 -> DrawBmp -> SetPage</UL>
<BR>[Calls]<UL><LI><a href="#[b25874]">>></a> DrawBmp
<LI><a href="#[b258e8]">>></a> ClrScr
<LI><a href="#[b25b2c]">>></a> delay
</UL>
<BR>[Address Reference Count : 1]<UL><LI> arm_lcd12232.o(.text)
</UL>
<P><STRONG><a name="[b2595c]"></a>main</STRONG> (ARM, 52 bytes, Stack size 8 bytes, arm_lcd12232.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = main -> LcdIni</UL>
<BR>[Calls]<UL><LI><a href="#[b25788]">>></a> LcdIni
<LI><a href="#[b257fc]">>></a> GPIOInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> kernel.o(.text)
</UL>
<P><STRONG><a name="[bce78c]"></a>OutMD</STRONG> (ARM, 40 bytes, Stack size 0 bytes, lcd12232_drive.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b25874]"><<</a> DrawBmp
<LI><a href="#[b258e8]"><<</a> ClrScr
</UL>
<P><STRONG><a name="[bce718]"></a>OutSD</STRONG> (ARM, 40 bytes, Stack size 0 bytes, lcd12232_drive.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b25874]"><<</a> DrawBmp
<LI><a href="#[b258e8]"><<</a> ClrScr
</UL>
<P><STRONG><a name="[bce6a4]"></a>OutSI</STRONG> (ARM, 44 bytes, Stack size 0 bytes, lcd12232_drive.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b25788]"><<</a> LcdIni
<LI><a href="#[bce544]"><<</a> SetPage
<LI><a href="#[bce5b8]"><<</a> SetAddress
</UL>
<P><STRONG><a name="[bce630]"></a>OutMI</STRONG> (ARM, 44 bytes, Stack size 0 bytes, lcd12232_drive.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b25788]"><<</a> LcdIni
<LI><a href="#[bce544]"><<</a> SetPage
<LI><a href="#[bce5b8]"><<</a> SetAddress
</UL>
<P><STRONG><a name="[bce5b8]"></a>SetAddress</STRONG> (ARM, 36 bytes, Stack size 8 bytes, lcd12232_drive.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SetAddress</UL>
<BR>[Calls]<UL><LI><a href="#[bce630]">>></a> OutMI
<LI><a href="#[bce6a4]">>></a> OutSI
</UL>
<BR>[Called By]<UL><LI><a href="#[b25874]"><<</a> DrawBmp
<LI><a href="#[b258e8]"><<</a> ClrScr
</UL>
<P><STRONG><a name="[bce544]"></a>SetPage</STRONG> (ARM, 36 bytes, Stack size 8 bytes, lcd12232_drive.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SetPage</UL>
<BR>[Calls]<UL><LI><a href="#[bce630]">>></a> OutMI
<LI><a href="#[bce6a4]">>></a> OutSI
</UL>
<BR>[Called By]<UL><LI><a href="#[b25874]"><<</a> DrawBmp
<LI><a href="#[b258e8]"><<</a> ClrScr
</UL>
<P><STRONG><a name="[b25874]"></a>DrawBmp</STRONG> (ARM, 256 bytes, Stack size 36 bytes, lcd12232_drive.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = DrawBmp -> SetPage</UL>
<BR>[Calls]<UL><LI><a href="#[bce544]">>></a> SetPage
<LI><a href="#[bce5b8]">>></a> SetAddress
<LI><a href="#[bce718]">>></a> OutSD
<LI><a href="#[bce78c]">>></a> OutMD
</UL>
<BR>[Called By]<UL><LI><a href="#[b259d0]"><<</a> Task1
<LI><a href="#[b25a44]"><<</a> Task2
<LI><a href="#[b25ab8]"><<</a> Task3
</UL>
<P><STRONG><a name="[b25788]"></a>LcdIni</STRONG> (ARM, 156 bytes, Stack size 4 bytes, lcd12232_drive.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = LcdIni</UL>
<BR>[Calls]<UL><LI><a href="#[bce630]">>></a> OutMI
<LI><a href="#[bce6a4]">>></a> OutSI
</UL>
<BR>[Called By]<UL><LI><a href="#[b2595c]"><<</a> main
</UL>
<P><STRONG><a name="[b258e8]"></a>ClrScr</STRONG> (ARM, 92 bytes, Stack size 12 bytes, lcd12232_drive.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = ClrScr -> SetPage</UL>
<BR>[Calls]<UL><LI><a href="#[bce544]">>></a> SetPage
<LI><a href="#[bce5b8]">>></a> SetAddress
<LI><a href="#[bce718]">>></a> OutSD
<LI><a href="#[bce78c]">>></a> OutMD
</UL>
<BR>[Called By]<UL><LI><a href="#[b259d0]"><<</a> Task1
<LI><a href="#[b25a44]"><<</a> Task2
</UL>
<P><STRONG><a name="[b257fc]"></a>GPIOInit</STRONG> (ARM, 48 bytes, Stack size 0 bytes, lcd12232_drive.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b2595c]"><<</a> main
</UL>
<P><STRONG><a name="[bf12a0]"></a>__use_two_region_memory</STRONG> (ARM, 4 bytes, Stack size 0 bytes, stkheap2.o(.text), UNUSED)
<P><STRONG><a name="[bf1218]"></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="#[bee5d0]">>></a> __rt_stackheap_storage
<LI><a href="#[bef3e4]">>></a> __user_setup_stackheap
</UL>
<BR>[Called By]<UL><LI><a href="#[befef0]"><<</a> __rt_entry
</UL>
<P><STRONG><a name="[bf1190]"></a>__rt_heap_extend</STRONG> (ARM, 24 bytes, Stack size 8 bytes, stkheap2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bf1374]">>></a> __user_heap_extend (Weak Reference)
</UL>
<P><STRONG><a name="[befef0]"></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="#[be6958]">>></a> _platform_post_lib_init
<LI><a href="#[be6f14]">>></a> _platform_post_stackheap_init
<LI><a href="#[be744c]">>></a> _platform_pre_stackheap_init
<LI><a href="#[be8b84]">>></a> __rt_lib_init (via Veneer)
<LI><a href="#[bec5c4]">>></a> exit (via BX)
<LI><a href="#[bf1218]">>></a> __rt_stackheap_init
</UL>
<BR>[Called By]<UL><LI><a href="#[bf09f8]"><<</a> __main
<LI><a href="#[c05010]"><<</a> __scatterload_rt2
</UL>
<P><STRONG><a name="[befda8]"></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="#[be63fc]">>></a> _platform_pre_lib_shutdown
<LI><a href="#[be8b34]">>></a> __rt_lib_shutdown (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[bec5c4]"><<</a> exit (via Veneer)
</UL>
<P><STRONG><a name="[befd30]"></a>__rt_abort</STRONG> (ARM, 8 bytes, Stack size 0 bytes, kernel.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[bed464]">>></a> _sys_exit
</UL>
<P><STRONG><a name="[bef3e4]"></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="#[b28294]">>></a> __user_initial_stackheap
<LI><a href="#[bece20]">>></a> __user_perproc_libspace
</UL>
<BR>[Called By]<UL><LI><a href="#[bf1218]"><<</a> __rt_stackheap_init
</UL>
<P><STRONG><a name="[bee5d0]"></a>__rt_stackheap_storage</STRONG> (ARM, 12 bytes, Stack size 0 bytes, rt_stackheap_storage_intlibspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[bf1218]"><<</a> __rt_stackheap_init
</UL>
<P><STRONG><a name="[bed464]"></a>_sys_exit</STRONG> (ARM, 20 bytes, Stack size 0 bytes, sys_exit.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[befd30]"><<</a> __rt_abort
</UL>
<P><STRONG><a name="[beccf8]"></a>__user_libspace</STRONG> (ARM, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -