📄 lpc213x_sd.htm
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [D:\BACKUP\DESIGN\LPC213X_SD\MAIN\LPC213X_SD.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image D:\BACKUP\DESIGN\LPC213X_SD\MAIN\LPC213X_SD.axf</H1><HR>
<BR><P>#<CALLGRAPH># ARM Linker, RVCT3.0 [Build 951]: Last Updated: Fri Aug 10 17:30:59 2007
<BR><P>
<H3>Maximum Stack Usage = 604 bytes + Unknown(Functions without stacksize,Cycles,Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
SDCammand -> GetVolumeFirstSect -> SD_ReadBlock -> SD_ReadSingleBlock -> SD_BlockCommand -> SD_SendCmd -> SD_GetCmdByte6<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[bec22c]">Reset_Handler</a>
<LI><a href="#[103fb88]">__scatterload</a>
<LI><a href="#[103fab8]">__scatterload_rt2</a>
<LI><a href="#[103fb08]">__scatterload_null</a>
<LI><a href="#[103f5d4]">__scatterload_copy</a>
<LI><a href="#[103f184]">__scatterload_zeroinit</a>
<LI><a href="#[bec0ac]">__user_initial_stackheap</a>
<LI><a href="#[106d9c4]">__fplib_config_pureend_doubles</a>
<LI><a href="#[bec7f8]">Undef_Handler</a>
<LI><a href="#[bec780]">SWI_Handler</a>
<LI><a href="#[bec704]">PAbt_Handler</a>
<LI><a href="#[bec688]">DAbt_Handler</a>
<LI><a href="#[bec610]">IRQ_Handler</a>
<LI><a href="#[bec598]">FIQ_Handler</a>
<LI><a href="#[102e3cc]">__arm_div4</a>
<LI><a href="#[102e354]">__arm_div8</a>
<LI><a href="#[102e2d8]">__arm_div_large</a>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3><UL>
<LI><a href="#[bec7f8]">Undef_Handler</a> -> <a href="#[bec7f8]">Undef_Handler</a><BR>
<LI><a href="#[bec780]">SWI_Handler</a> -> <a href="#[bec780]">SWI_Handler</a><BR>
<LI><a href="#[bec704]">PAbt_Handler</a> -> <a href="#[bec704]">PAbt_Handler</a><BR>
<LI><a href="#[bec688]">DAbt_Handler</a> -> <a href="#[bec688]">DAbt_Handler</a><BR>
<LI><a href="#[bec610]">IRQ_Handler</a> -> <a href="#[bec610]">IRQ_Handler</a><BR>
<LI><a href="#[bec598]">FIQ_Handler</a> -> <a href="#[bec598]">FIQ_Handler</a><BR>
</UL>
<BR>
<P><STRONG><a name="[bec22c]"></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="[102ac34]"></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="#[102a28c]">>></a> __rt_entry
<LI><a href="#[103fb88]">>></a> __scatterload
</UL>
<P><STRONG><a name="[103fb88]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[102ac34]"><<</a> __main
</UL>
<P><STRONG><a name="[103fab8]"></a>__scatterload_rt2</STRONG> (ARM, 48 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[102a28c]">>></a> __rt_entry
</UL>
<P><STRONG><a name="[103fb08]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[103f5d4]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[103f5d4]">>></a> __scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[103f5d4]"><<</a> __scatterload_copy
</UL>
<P><STRONG><a name="[103f184]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[1023754]"></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="#[1023688]"><<</a> __rt_lib_init (via Veneer)
</UL>
<P><STRONG><a name="[b463f4]"></a>strupr</STRONG> (ARM, 44 bytes, Stack size 0 bytes, main.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b45ec8]"><<</a> RemoveDir
<LI><a href="#[b45f40]"><<</a> MakeDir
<LI><a href="#[b460a4]"><<</a> FileOpen
<LI><a href="#[be90b8]"><<</a> GetDirClusIndex
<LI><a href="#[be9134]"><<</a> GetDrive
<LI><a href="#[be9228]"><<</a> ChangeDrive
<LI><a href="#[bf42c8]"><<</a> RemoveFile
</UL>
<P><STRONG><a name="[b46380]"></a>main</STRONG> (ARM, 120 bytes, Stack size 8 bytes, main.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 424 + Unknown Stack Size
<LI>Call Chain = main -> FileOpen -> _FileOpenRW -> _FileOpenW -> RemoveFile -> _GetFDTInfo -> GetDirClusIndex -> FindFDTInfo -> GetFDTInfo -> GetRootFDTInfo -> ReadFDTInfo -> OpenSec -> GetCache -> CacheWriteBack2</UL>
<BR>[Calls]<UL><LI><a href="#[b45e48]">>></a> RemoveFileDriver
<LI><a href="#[b45ec8]">>></a> RemoveDir
<LI><a href="#[b45f40]">>></a> MakeDir
<LI><a href="#[b45fb4]">>></a> FileWrite
<LI><a href="#[b4602c]">>></a> FileSeek
<LI><a href="#[b460a4]">>></a> FileOpen
<LI><a href="#[b4611c]">>></a> FileInit
<LI><a href="#[b46194]">>></a> FileClose
<LI><a href="#[b4620c]">>></a> DiskInit
<LI><a href="#[b46284]">>></a> AllCacheWriteBack
<LI><a href="#[b46304]">>></a> AddFileDriver
</UL>
<BR>[Address Reference Count : 1]<UL><LI> kernel.o(.text)
</UL>
<P><STRONG><a name="[bec0ac]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, startup.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[10298ec]"><<</a> __user_setup_stackheap
</UL>
<P><STRONG><a name="[be91ac]"></a>StrToFDTName</STRONG> (ARM, 204 bytes, Stack size 0 bytes, dir.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[be9040]"><<</a> _GetFDTInfo
<LI><a href="#[be90b8]"><<</a> GetDirClusIndex
</UL>
<P><STRONG><a name="[be9134]"></a>GetDrive</STRONG> (ARM, 60 bytes, Stack size 16 bytes, dir.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = GetDrive</UL>
<BR>[Calls]<UL><LI><a href="#[b463f4]">>></a> strupr
</UL>
<BR>[Called By]<UL><LI><a href="#[b45ec8]"><<</a> RemoveDir
<LI><a href="#[b45f40]"><<</a> MakeDir
<LI><a href="#[be90b8]"><<</a> GetDirClusIndex
<LI><a href="#[be92a0]"><<</a> ChangeDir
<LI><a href="#[bf415c]"><<</a> _FileOpenW
<LI><a href="#[bf41d4]"><<</a> _FileOpenR
<LI><a href="#[bf42c8]"><<</a> RemoveFile
</UL>
<P><STRONG><a name="[be90b8]"></a>GetDirClusIndex</STRONG> (ARM, 336 bytes, Stack size 64 bytes, dir.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 256 + Unknown Stack Size
<LI>Call Chain = GetDirClusIndex -> FindFDTInfo -> GetFDTInfo -> GetRootFDTInfo -> ReadFDTInfo -> OpenSec -> GetCache -> CacheWriteBack2</UL>
<BR>[Calls]<UL><LI><a href="#[b463f4]">>></a> strupr
<LI><a href="#[be8c0c]">>></a> GetDiskInfo
<LI><a href="#[be8c84]">>></a> FindFDTInfo
<LI><a href="#[be9134]">>></a> GetDrive
<LI><a href="#[be91ac]">>></a> StrToFDTName
</UL>
<BR>[Called By]<UL><LI><a href="#[be9040]"><<</a> _GetFDTInfo
<LI><a href="#[be92a0]"><<</a> ChangeDir
</UL>
<P><STRONG><a name="[be9040]"></a>_GetFDTInfo</STRONG> (ARM, 160 bytes, Stack size 16 bytes, dir.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 272 + Unknown Stack Size
<LI>Call Chain = _GetFDTInfo -> GetDirClusIndex -> FindFDTInfo -> GetFDTInfo -> GetRootFDTInfo -> ReadFDTInfo -> OpenSec -> GetCache -> CacheWriteBack2</UL>
<BR>[Calls]<UL><LI><a href="#[be90b8]">>></a> GetDirClusIndex
<LI><a href="#[be91ac]">>></a> StrToFDTName
</UL>
<BR>[Called By]<UL><LI><a href="#[b45ec8]"><<</a> RemoveDir
<LI><a href="#[b45f40]"><<</a> MakeDir
<LI><a href="#[bf415c]"><<</a> _FileOpenW
<LI><a href="#[bf41d4]"><<</a> _FileOpenR
<LI><a href="#[bf42c8]"><<</a> RemoveFile
</UL>
<P><STRONG><a name="[b45f40]"></a>MakeDir</STRONG> (ARM, 344 bytes, Stack size 56 bytes, dir.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 328 + Unknown Stack Size
<LI>Call Chain = MakeDir -> _GetFDTInfo -> GetDirClusIndex -> FindFDTInfo -> GetFDTInfo -> GetRootFDTInfo -> ReadFDTInfo -> OpenSec -> GetCache -> CacheWriteBack2</UL>
<BR>[Calls]<UL><LI><a href="#[b463f4]">>></a> strupr
<LI><a href="#[be8cfc]">>></a> FDTIsLie
<LI><a href="#[be8d74]">>></a> FATDelClusChain
<LI><a href="#[be8df0]">>></a> FATAddClus
<LI><a href="#[be8f54]">>></a> ClearClus
<LI><a href="#[be8fcc]">>></a> AddFDT
<LI><a href="#[be9040]">>></a> _GetFDTInfo
<LI><a href="#[be9134]">>></a> GetDrive
</UL>
<BR>[Called By]<UL><LI><a href="#[b46380]"><<</a> main
</UL>
<P><STRONG><a name="[b45ec8]"></a>RemoveDir</STRONG> (ARM, 180 bytes, Stack size 64 bytes, dir.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 336 + Unknown Stack Size
<LI>Call Chain = RemoveDir -> _GetFDTInfo -> GetDirClusIndex -> FindFDTInfo -> GetFDTInfo -> GetRootFDTInfo -> ReadFDTInfo -> OpenSec -> GetCache -> CacheWriteBack2</UL>
<BR>[Calls]<UL><LI><a href="#[b463f4]">>></a> strupr
<LI><a href="#[be8c84]">>></a> FindFDTInfo
<LI><a href="#[be8d74]">>></a> FATDelClusChain
<LI><a href="#[be8e68]">>></a> DirIsEmpty
<LI><a href="#[be8ee0]">>></a> DelFDT
<LI><a href="#[be9040]">>></a> _GetFDTInfo
<LI><a href="#[be9134]">>></a> GetDrive
</UL>
<BR>[Called By]<UL><LI><a href="#[b46380]"><<</a> main
</UL>
<P><STRONG><a name="[b4620c]"></a>DiskInit</STRONG> (ARM, 108 bytes, Stack size 8 bytes, disk.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = DiskInit -> CacheInit</UL>
<BR>[Calls]<UL><LI><a href="#[c01040]">>></a> CacheInit
</UL>
<BR>[Called By]<UL><LI><a href="#[b46380]"><<</a> main
</UL>
<P><STRONG><a name="[be8c0c]"></a>GetDiskInfo</STRONG> (ARM, 40 bytes, Stack size 0 bytes, disk.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b4602c]"><<</a> FileSeek
<LI><a href="#[be4124]"><<</a> FilePutCh
<LI><a href="#[be8df0]"><<</a> FATAddClus
<LI><a href="#[be8e68]"><<</a> DirIsEmpty
<LI><a href="#[be8f54]"><<</a> ClearClus
<LI><a href="#[be8fcc]"><<</a> AddFDT
<LI><a href="#[be90b8]"><<</a> GetDirClusIndex
<LI><a href="#[be9228]"><<</a> ChangeDrive
<LI><a href="#[be92a0]"><<</a> ChangeDir
<LI><a href="#[bf4434]"><<</a> FileGetCh
<LI><a href="#[bfa81c]"><<</a> SetFDTInfo
<LI><a href="#[bfa894]"><<</a> SetRootFDTInfo
<LI><a href="#[bfa910]"><<</a> GetFDTInfo
<LI><a href="#[bfa988]"><<</a> GetRootFDTInfo
<LI><a href="#[bfdff4]"><<</a> FATSetNextClus
<LI><a href="#[bfe070]"><<</a> FATGetNextClus
<LI><a href="#[c00ee0]"><<</a> ReadSec
<LI><a href="#[c00f54]"><<</a> OpenSec
<LI><a href="#[c19990]"><<</a> CacheWriteBack2
<LI><a href="#[c1d05c]"><<</a> Format
</UL>
<P><STRONG><a name="[c010b8]"></a>GetEmptyDiskInfoAddr</STRONG> (ARM, 60 bytes, Stack size 0 bytes, disk.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[b45dd0]"><<</a> SDCammand
</UL>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -