📄 sd_file.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Obj\SD_File.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Obj\SD_File.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.1 [Build 919]: Last Updated: Wed Jun 11 21:55:32 2008
<BR><P>
<H3>Maximum Stack Usage = 1032 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
cmd_copy ⇒ fopen ⇒ freopen ⇒ _sys_open ⇒ __fopen ⇒ fat_find_file ⇒ fat_find_dir ⇒ write_entries ⇒ search_for_name ⇒ alloc_new_clus ⇒ get_free_clus ⇒ cache_fat ⇒ mmc_write_sect ⇒ mci_read_status ⇒ mci_command
<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[d808c8]">Reset_Handler</a>
<LI><a href="#[d80910]">__user_initial_stackheap</a>
<LI><a href="#[d80b98]">Undef_Handler</a>
<LI><a href="#[d80b50]">SWI_Handler</a>
<LI><a href="#[d80b08]">PAbt_Handler</a>
<LI><a href="#[d80ac0]">DAbt_Handler</a>
<LI><a href="#[d80a78]">IRQ_Handler</a>
<LI><a href="#[d80a30]">FIQ_Handler</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[d7c940]">_sys_exit</a> ⇒ <a href="#[d7c940]">_sys_exit</a><BR>
<LI><a href="#[11ffc50]">set_var</a> ⇒ <a href="#[11ffc50]">set_var</a><BR>
<LI><a href="#[d80b98]">Undef_Handler</a> ⇒ <a href="#[d80b98]">Undef_Handler</a><BR>
<LI><a href="#[d80b50]">SWI_Handler</a> ⇒ <a href="#[d80b50]">SWI_Handler</a><BR>
<LI><a href="#[d80b08]">PAbt_Handler</a> ⇒ <a href="#[d80b08]">PAbt_Handler</a><BR>
<LI><a href="#[d80ac0]">DAbt_Handler</a> ⇒ <a href="#[d80ac0]">DAbt_Handler</a><BR>
<LI><a href="#[d80a78]">IRQ_Handler</a> ⇒ <a href="#[d80a78]">IRQ_Handler</a><BR>
<LI><a href="#[d80a30]">FIQ_Handler</a> ⇒ <a href="#[d80a30]">FIQ_Handler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
<LI><a href="#[d808c8]">Reset_Handler</a>
<LI><a href="#[d80b98]">Undef_Handler</a>
<LI><a href="#[d80b50]">SWI_Handler</a>
<LI><a href="#[d80b08]">PAbt_Handler</a>
<LI><a href="#[d80ac0]">DAbt_Handler</a>
<LI><a href="#[d80a78]">IRQ_Handler</a>
<LI><a href="#[d80a30]">FIQ_Handler</a>
<LI><a href="#[12189a0]">__main</a>
<LI><a href="#[120c728]">__ARM_get_argv</a>
<LI><a href="#[1213000]">fputc</a>
<LI><a href="#[1213000]">fputc</a>
<LI><a href="#[1213a80]">_sputc</a>
<LI><a href="#[1213840]">_sgetc</a>
<LI><a href="#[12137f8]">_sbackspace</a>
<LI><a href="#[d82708]">main</a>
<LI><a href="#[120f358]">_get_lc_ctype</a>
<LI><a href="#[12102c0]">_printf_outstr_char</a>
<LI><a href="#[1210148]">_printf_input_char</a>
<LI><a href="#[1213640]">_scanf_char_input</a>
<LI><a href="#[1210430]">isspace</a>
<LI><a href="#[d82e58]">cmd_capture</a>
<LI><a href="#[d82dc8]">cmd_type</a>
<LI><a href="#[d82d80]">cmd_rename</a>
<LI><a href="#[d82d38]">cmd_copy</a>
<LI><a href="#[d82cf0]">cmd_delete</a>
<LI><a href="#[d82ca8]">cmd_dir</a>
<LI><a href="#[d82c60]">cmd_format</a>
<LI><a href="#[d82c18]">cmd_help</a>
<LI><a href="#[d82e10]">cmd_fill</a>
<LI><a href="#[d82c18]">cmd_help</a>
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[d808c8]"></a>Reset_Handler</STRONG> (ARM, 0 bytes, Stack size unknown bytes, lpc2300.o(RESET))
<BR>[Address Reference Count : 1]<UL><LI> lpc2300.o(RESET)
</UL>
<P><STRONG><a name="[12189a0]"></a>__main</STRONG> (ARM, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Stack]<UL><LI>Max Depth = 536 + Unknown Stack Size
<LI>Call Chain = __main ⇒ __rt_entry ⇒ __rt_lib_init ⇒ _initio ⇒ freopen ⇒ _sys_open ⇒ __fopen ⇒ fat_find_file ⇒ fat_find_dir ⇒ write_entries ⇒ search_for_name ⇒ alloc_new_clus ⇒ get_free_clus ⇒ cache_fat ⇒ mmc_write_sect ⇒ mci_read_status ⇒ mci_command
</UL>
<BR>[Calls]<UL><LI><a href="#[120b418]">>></a> __scatterload
<LI><a href="#[1218020]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[120b418]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[12189a0]">>></a> __main
</UL>
<P><STRONG><a name="[120b3d0]"></a>__scatterload_rt2</STRONG> (ARM, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[1218020]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[120b388]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[120b148]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[120b148]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[120b148]">>></a> __scatterload_copy
</UL>
<P><STRONG><a name="[120afe0]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[120e860]"></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="#[120e7d0]">>></a> __rt_lib_init (via Veneer)
</UL>
<P><STRONG><a name="[d82708]"></a>main</STRONG> (Thumb, 152 bytes, Stack size 24 bytes, sd_file.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 344 + Unknown Stack Size
<LI>Call Chain = main ⇒ getline ⇒ putc ⇒ fputc ⇒ __flsbuf ⇒ _deferredlazyseek ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ __write ⇒ fat_write ⇒ get_free_clus ⇒ cache_fat ⇒ mmc_write_sect ⇒ mci_read_status ⇒ mci_command
</UL>
<BR>[Calls]<UL><LI><a href="#[d81dc0]">>></a> init_serial
<LI><a href="#[d81e08]">>></a> getline
<LI><a href="#[d82bd0]">>></a> init_card
<LI><a href="#[d82ee8]">>></a> get_entry
<LI><a href="#[12185b0]">>></a> __ARM_call_via_r1
<LI><a href="#[1219c98]">>></a> strcmp (via Veneer)
<LI><a href="#[121c1b8]">>></a> fflush
<LI><a href="#[121ced0]">>></a> __1printf
<LI><a href="#[121e120]">>></a> toupper
</UL>
<BR>[Address Reference Count : 1]<UL><LI> kernel.o(.text)
</UL>
<P><STRONG><a name="[d81e08]"></a>getline</STRONG> (Thumb, 140 bytes, Stack size 24 bytes, getline.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 320 + Unknown Stack Size
<LI>Call Chain = getline ⇒ putc ⇒ fputc ⇒ __flsbuf ⇒ _deferredlazyseek ⇒ _fflush ⇒ _writebuf ⇒ _sys_write ⇒ __write ⇒ fat_write ⇒ get_free_clus ⇒ cache_fat ⇒ mmc_write_sect ⇒ mci_read_status ⇒ mci_command
</UL>
<BR>[Calls]<UL><LI><a href="#[d81e50]">>></a> getkey
<LI><a href="#[121b7a8]">>></a> putc
<LI><a href="#[121c1b8]">>></a> fflush
</UL>
<BR>[Called By]<UL><LI><a href="#[d82708]">>></a> main
<LI><a href="#[d82e58]">>></a> cmd_capture
</UL>
<P><STRONG><a name="[d80910]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, lpc2300.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1217888]">>></a> __user_setup_stackheap
</UL>
<P><STRONG><a name="[d7e5e8]"></a>mmc_init</STRONG> (Thumb, 552 bytes, Stack size 56 bytes, mci_lpc23xx.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 92<LI>Call Chain = mmc_init ⇒ mci_read_csd ⇒ mci_command
</UL>
<BR>[Calls]<UL><LI><a href="#[d7e990]">>></a> mci_set_speed
<LI><a href="#[d7e9d8]">>></a> mci_read_csd
<LI><a href="#[d7eab0]">>></a> mci_bus_mode
<LI><a href="#[d7eaf8]">>></a> mci_send_acmd
<LI><a href="#[d7eb40]">>></a> mci_command
</UL>
<BR>[Called By]<UL><LI><a href="#[11ff428]">>></a> fat_init
</UL>
<P><STRONG><a name="[d7e5a0]"></a>mmc_read_sect</STRONG> (Thumb, 218 bytes, Stack size 24 bytes, mci_lpc23xx.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = mmc_read_sect ⇒ mci_read_status ⇒ mci_command
</UL>
<BR>[Calls]<UL><LI><a href="#[d7e948]">>></a> mci_send_stop
<LI><a href="#[d7ea20]">>></a> mci_dma_start
<LI><a href="#[d7ea68]">>></a> mci_read_status
<LI><a href="#[d7eb40]">>></a> mci_command
</UL>
<BR>[Called By]<UL><LI><a href="#[11ffd70]">>></a> read_sector
<LI><a href="#[12003e8]">>></a> cache_fat
</UL>
<P><STRONG><a name="[d7e558]"></a>mmc_write_sect</STRONG> (Thumb, 174 bytes, Stack size 24 bytes, mci_lpc23xx.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = mmc_write_sect ⇒ mci_read_status ⇒ mci_command
</UL>
<BR>[Calls]<UL><LI><a href="#[d7e948]">>></a> mci_send_stop
<LI><a href="#[d7ea20]">>></a> mci_dma_start
<LI><a href="#[d7ea68]">>></a> mci_read_status
<LI><a href="#[d7eb40]">>></a> mci_command
</UL>
<BR>[Called By]<UL><LI><a href="#[11ff8f0]">>></a> write_sector
<LI><a href="#[11ffae8]">>></a> write_cache
<LI><a href="#[12003e8]">>></a> cache_fat
</UL>
<P><STRONG><a name="[d7e510]"></a>mmc_read_config</STRONG> (Thumb, 14 bytes, Stack size 4 bytes, mci_lpc23xx.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = mmc_read_config
</UL>
<BR>[Called By]<UL><LI><a href="#[11ff4b8]">>></a> fat_format
</UL>
<P><STRONG><a name="[d81dc0]"></a>init_serial</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, serial.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d82708]">>></a> main
</UL>
<P><STRONG><a name="[d7dd80]"></a>sendchar</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, serial.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d7cb80]">>></a> _sys_write
<LI><a href="#[d7cc58]">>></a> _ttywrch
</UL>
<P><STRONG><a name="[d81e50]"></a>getkey</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, serial.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[d7cb38]">>></a> _sys_read
<LI><a href="#[d81e08]">>></a> getline
<LI><a href="#[d82bd0]">>></a> init_card
<LI><a href="#[d82c60]">>></a> cmd_format
</UL>
<P><STRONG><a name="[d7cc58]"></a>_ttywrch</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, retarget.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _ttywrch
</UL>
<BR>[Calls]<UL><LI><a href="#[d7dd80]">>></a> sendchar
</UL>
<BR>[Called By]<UL><LI><a href="#[120d4f8]">>></a> __default_signal_display
</UL>
<P><STRONG><a name="[d7cc10]"></a>_sys_open</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, retarget.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 416 + Unknown Stack Size
<LI>Call Chain = _sys_open ⇒ __fopen ⇒ fat_find_file ⇒ fat_find_dir ⇒ write_entries ⇒ search_for_name ⇒ alloc_new_clus ⇒ get_free_clus ⇒ cache_fat ⇒ mmc_write_sect ⇒ mci_read_status ⇒ mci_command
</UL>
<BR>[Calls]<UL><LI><a href="#[d76760]">>></a> __fopen
<LI><a href="#[1219c98]">>></a> strcmp (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[121b200]">>></a> freopen
</UL>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -