📄 uart_test.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\obj\uart_test.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\obj\uart_test.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.1 [Build 903]: Last Updated: Thu May 08 14:53:09 2008
<BR><P>
<H3>Maximum Stack Usage = 776 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main ⇒ sys_init ⇒ uart_printf ⇒ __c89vsprintf ⇒ _printf_char_common ⇒ __printf ⇒ _printf_fp_dec ⇒ _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[b83350]">Reset_Handler</a>
<LI><a href="#[b83398]">__user_initial_stackheap</a>
<LI><a href="#[b83620]">Undef_Handler</a>
<LI><a href="#[b835d8]">SWI_Handler</a>
<LI><a href="#[b83590]">PAbt_Handler</a>
<LI><a href="#[b83548]">DAbt_Handler</a>
<LI><a href="#[b83500]">IRQ_Handler</a>
<LI><a href="#[b834b8]">FIQ_Handler</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[b83620]">Undef_Handler</a> ⇒ <a href="#[b83620]">Undef_Handler</a><BR>
<LI><a href="#[b835d8]">SWI_Handler</a> ⇒ <a href="#[b835d8]">SWI_Handler</a><BR>
<LI><a href="#[b83590]">PAbt_Handler</a> ⇒ <a href="#[b83590]">PAbt_Handler</a><BR>
<LI><a href="#[b83548]">DAbt_Handler</a> ⇒ <a href="#[b83548]">DAbt_Handler</a><BR>
<LI><a href="#[b834b8]">FIQ_Handler</a> ⇒ <a href="#[b834b8]">FIQ_Handler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
<LI><a href="#[b83350]">Reset_Handler</a>
<LI><a href="#[b83620]">Undef_Handler</a>
<LI><a href="#[b835d8]">SWI_Handler</a>
<LI><a href="#[b83590]">PAbt_Handler</a>
<LI><a href="#[b83548]">DAbt_Handler</a>
<LI><a href="#[b83500]">IRQ_Handler</a>
<LI><a href="#[b834b8]">FIQ_Handler</a>
<LI><a href="#[b7bc10]">__main</a>
<LI><a href="#[1060d80]">__ARM_get_argv</a>
<LI><a href="#[b76d68]">_get_lc_ctype</a>
<LI><a href="#[b771e0]">_sputc</a>
<LI><a href="#[b822e8]">main</a>
<LI><a href="#[b75178]">_printf_outstr_char</a>
<LI><a href="#[b75000]">_printf_input_char</a>
<LI><a href="#[1062dd8]">__I_use_semihosting</a>
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[b83350]"></a>Reset_Handler</STRONG> (ARM, 0 bytes, Stack size unknown bytes, s3c2410a.o(RESET))
<BR>[Address Reference Count : 1]<UL><LI> s3c2410a.o(RESET)
</UL>
<P><STRONG><a name="[b7bc10]"></a>__main</STRONG> (ARM, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Stack]<UL><LI>Max Depth = 68 + Unknown Stack Size
<LI>Call Chain = __main ⇒ __rt_entry ⇒ __rt_lib_init ⇒ _get_lc_ctype ⇒ strcmp
</UL>
<BR>[Calls]<UL><LI><a href="#[b7a740]">>></a> __rt_entry
<LI><a href="#[105da70]">>></a> __scatterload
</UL>
<P><STRONG><a name="[105da70]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[b7bc10]">>></a> __main
</UL>
<P><STRONG><a name="[105da28]"></a>__scatterload_rt2</STRONG> (ARM, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b7a740]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[105d9e0]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[105d7a0]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[105d7a0]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[105d7a0]">>></a> __scatterload_copy
</UL>
<P><STRONG><a name="[105d638]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[b74470]"></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="#[b743e0]">>></a> __rt_lib_init (via Veneer)
</UL>
<P><STRONG><a name="[b83398]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, s3c2410a.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b7a118]">>></a> __user_setup_stackheap
</UL>
<P><STRONG><a name="[b82378]"></a>Uart0_AfcTx</STRONG> (ARM, 296 bytes, Stack size 8 bytes, main.o(.text), UNUSED)
<P><STRONG><a name="[b82330]"></a>init_uart</STRONG> (ARM, 176 bytes, Stack size 80 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = init_uart ⇒ __aeabi_memcpy4
</UL>
<BR>[Calls]<UL><LI><a href="#[b7d200]">>></a> __aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[b822e8]">>></a> main
</UL>
<P><STRONG><a name="[b822e8]"></a>main</STRONG> (ARM, 32 bytes, Stack size 16 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 776 + Unknown Stack Size
<LI>Call Chain = main ⇒ sys_init ⇒ uart_printf ⇒ __c89vsprintf ⇒ _printf_char_common ⇒ __printf ⇒ _printf_fp_dec ⇒ _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[b82258]">>></a> sys_init
<LI><a href="#[b82330]">>></a> init_uart
</UL>
<BR>[Address Reference Count : 1]<UL><LI> kernel.o(.text)
</UL>
<P><STRONG><a name="[b80c30]"></a>port_init</STRONG> (ARM, 152 bytes, Stack size 0 bytes, 2410lib.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b82258]">>></a> sys_init
</UL>
<P><STRONG><a name="[b80be8]"></a>uart_change_baud</STRONG> (ARM, 252 bytes, Stack size 40 bytes, 2410lib.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b7ab38]">>></a> __aeabi_i2d
<LI><a href="#[b7af28]">>></a> __aeabi_d2iz
<LI><a href="#[b7b250]">>></a> __aeabi_ddiv
<LI><a href="#[b7b7f8]">>></a> __aeabi_dadd
</UL>
<P><STRONG><a name="[b80ba0]"></a>delay</STRONG> (ARM, 180 bytes, Stack size 16 bytes, 2410lib.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = delay ⇒ __aeabi_idivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[b7cbd8]">>></a> __aeabi_idivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[b809f0]">>></a> uart_sendbyte
<LI><a href="#[b80b58]">>></a> uart_init
</UL>
<P><STRONG><a name="[b80b58]"></a>uart_init</STRONG> (ARM, 620 bytes, Stack size 64 bytes, 2410lib.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = uart_init ⇒ delay ⇒ __aeabi_idivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[b7ab38]">>></a> __aeabi_i2d
<LI><a href="#[b7af28]">>></a> __aeabi_d2iz
<LI><a href="#[b7b250]">>></a> __aeabi_ddiv
<LI><a href="#[b7b7f8]">>></a> __aeabi_dadd
<LI><a href="#[b80ba0]">>></a> delay
</UL>
<BR>[Called By]<UL><LI><a href="#[b82258]">>></a> sys_init
</UL>
<P><STRONG><a name="[b80b10]"></a>uart_select</STRONG> (ARM, 12 bytes, Stack size 0 bytes, 2410lib.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b82258]">>></a> sys_init
</UL>
<P><STRONG><a name="[b80ac8]"></a>uart_txempty</STRONG> (ARM, 96 bytes, Stack size 0 bytes, 2410lib.o(.text), UNUSED)
<P><STRONG><a name="[b80a80]"></a>uart_getch</STRONG> (ARM, 152 bytes, Stack size 0 bytes, 2410lib.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[b80918]">>></a> uart_getstring
</UL>
<P><STRONG><a name="[b80a38]"></a>uart_getkey</STRONG> (ARM, 164 bytes, Stack size 0 bytes, 2410lib.o(.text), UNUSED)
<P><STRONG><a name="[b809f0]"></a>uart_sendbyte</STRONG> (ARM, 324 bytes, Stack size 8 bytes, 2410lib.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = uart_sendbyte ⇒ delay ⇒ __aeabi_idivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[b80ba0]">>></a> delay
</UL>
<BR>[Called By]<UL><LI><a href="#[b80918]">>></a> uart_getstring
<LI><a href="#[b809a8]">>></a> uart_sendstring
</UL>
<P><STRONG><a name="[b809a8]"></a>uart_sendstring</STRONG> (ARM, 40 bytes, Stack size 8 bytes, 2410lib.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = uart_sendstring ⇒ uart_sendbyte ⇒ delay ⇒ __aeabi_idivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[b809f0]">>></a> uart_sendbyte
</UL>
<BR>[Called By]<UL><LI><a href="#[b80960]">>></a> uart_printf
</UL>
<P><STRONG><a name="[b80960]"></a>uart_printf</STRONG> (ARM, 56 bytes, Stack size 280 bytes, 2410lib.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 752 + Unknown Stack Size
<LI>Call Chain = uart_printf ⇒ __c89vsprintf ⇒ _printf_char_common ⇒ __printf ⇒ _printf_fp_dec ⇒ _printf_fp_dec_real ⇒ _fp_digits ⇒ _btod_etento ⇒ _btod_emul ⇒ _e2e
</UL>
<BR>[Calls]<UL><LI><a href="#[b7d760]">>></a> __c89vsprintf (via Veneer)
<LI><a href="#[b809a8]">>></a> uart_sendstring
</UL>
<BR>[Called By]<UL><LI><a href="#[b7eee8]">>></a> debug_fiq
<LI><a href="#[b7ef30]">>></a> debug_abort_p
<LI><a href="#[b7ef78]">>></a> debug_abort_d
<LI><a href="#[b7efc0]">>></a> debug_swi
<LI><a href="#[b7f008]">>></a> debug_undef
<LI><a href="#[b7f050]">>></a> break_point
<LI><a href="#[b80918]">>></a> uart_getstring
<LI><a href="#[b82258]">>></a> sys_init
</UL>
<P><STRONG><a name="[b80918]"></a>uart_getstring</STRONG> (ARM, 100 bytes, Stack size 16 bytes, 2410lib.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b80960]">>></a> uart_printf
<LI><a href="#[b809f0]">>></a> uart_sendbyte
<LI><a href="#[b80a80]">>></a> uart_getch
</UL>
<BR>[Called By]<UL><LI><a href="#[b808d0]">>></a> uart_getintnum
</UL>
<P><STRONG><a name="[b808d0]"></a>uart_getintnum</STRONG> (ARM, 364 bytes, Stack size 64 bytes, 2410lib.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b7cf40]">>></a> strlen (via Veneer)
<LI><a href="#[b7d968]">>></a> atoi (via Veneer)
<LI><a href="#[b7dbf8]">>></a> __rt_ctype_table
<LI><a href="#[b80918]">>></a> uart_getstring
</UL>
<P><STRONG><a name="[b80888]"></a>beep</STRONG> (ARM, 72 bytes, Stack size 0 bytes, 2410lib.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b7f050]">>></a> break_point
<LI><a href="#[b82258]">>></a> sys_init
</UL>
<P><STRONG><a name="[b80840]"></a>timer_start</STRONG> (ARM, 60 bytes, Stack size 0 bytes, 2410lib.o(.text), UNUSED)
<P><STRONG><a name="[b807f8]"></a>timer_stop</STRONG> (ARM, 32 bytes, Stack size 0 bytes, 2410lib.o(.text), UNUSED)
<P><STRONG><a name="[b807b0]"></a>change_value_MPLL</STRONG> (ARM, 24 bytes, Stack size 0 bytes, 2410lib.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b82258]">>></a> sys_init
</UL>
<P><STRONG><a name="[b80768]"></a>change_clock_divider</STRONG> (ARM, 16 bytes, Stack size 0 bytes, 2410lib.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b82258]">>></a> sys_init
</UL>
<P><STRONG><a name="[b80720]"></a>ChangeUPllValue</STRONG> (ARM, 24 bytes, Stack size 0 bytes, 2410lib.o(.text), UNUSED)
<P><STRONG><a name="[b806d8]"></a>__gccmain</STRONG> (ARM, 4 bytes, Stack size 0 bytes, 2410lib.o(.text), UNUSED)
<P><STRONG><a name="[b7f050]"></a>break_point</STRONG> (ARM, 152 bytes, Stack size 16 bytes, sys_init.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[b80888]">>></a> beep
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -