⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lpc213x_sd.htm

📁 基于LPX213X微处理器与uC/OS-II操作系统下的SD卡读写与文件系统建立程序。
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!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>#&#060CALLGRAPH&#062# 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>&nbsp;&nbsp;&nbsp;->&nbsp;&nbsp;&nbsp;<a href="#[bec7f8]">Undef_Handler</a><BR>
 <LI><a href="#[bec780]">SWI_Handler</a>&nbsp;&nbsp;&nbsp;->&nbsp;&nbsp;&nbsp;<a href="#[bec780]">SWI_Handler</a><BR>
 <LI><a href="#[bec704]">PAbt_Handler</a>&nbsp;&nbsp;&nbsp;->&nbsp;&nbsp;&nbsp;<a href="#[bec704]">PAbt_Handler</a><BR>
 <LI><a href="#[bec688]">DAbt_Handler</a>&nbsp;&nbsp;&nbsp;->&nbsp;&nbsp;&nbsp;<a href="#[bec688]">DAbt_Handler</a><BR>
 <LI><a href="#[bec610]">IRQ_Handler</a>&nbsp;&nbsp;&nbsp;->&nbsp;&nbsp;&nbsp;<a href="#[bec610]">IRQ_Handler</a><BR>
 <LI><a href="#[bec598]">FIQ_Handler</a>&nbsp;&nbsp;&nbsp;->&nbsp;&nbsp;&nbsp;<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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<LI><a href="#[103fb88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[103f5d4]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;RemoveDir
<LI><a href="#[b45f40]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;MakeDir
<LI><a href="#[b460a4]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;FileOpen
<LI><a href="#[be90b8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;GetDirClusIndex
<LI><a href="#[be9134]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;GetDrive
<LI><a href="#[be9228]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;ChangeDrive
<LI><a href="#[bf42c8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RemoveFileDriver
<LI><a href="#[b45ec8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RemoveDir
<LI><a href="#[b45f40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MakeDir
<LI><a href="#[b45fb4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FileWrite
<LI><a href="#[b4602c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FileSeek
<LI><a href="#[b460a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FileOpen
<LI><a href="#[b4611c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FileInit
<LI><a href="#[b46194]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FileClose
<LI><a href="#[b4620c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiskInit
<LI><a href="#[b46284]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AllCacheWriteBack
<LI><a href="#[b46304]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;_GetFDTInfo
<LI><a href="#[be90b8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strupr
</UL>
<BR>[Called By]<UL><LI><a href="#[b45ec8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;RemoveDir
<LI><a href="#[b45f40]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;MakeDir
<LI><a href="#[be90b8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;GetDirClusIndex
<LI><a href="#[be92a0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;ChangeDir
<LI><a href="#[bf415c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;_FileOpenW
<LI><a href="#[bf41d4]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;_FileOpenR
<LI><a href="#[bf42c8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strupr
<LI><a href="#[be8c0c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetDiskInfo
<LI><a href="#[be8c84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FindFDTInfo
<LI><a href="#[be9134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetDrive
<LI><a href="#[be91ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;StrToFDTName
</UL>
<BR>[Called By]<UL><LI><a href="#[be9040]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;_GetFDTInfo
<LI><a href="#[be92a0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetDirClusIndex
<LI><a href="#[be91ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;StrToFDTName
</UL>
<BR>[Called By]<UL><LI><a href="#[b45ec8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;RemoveDir
<LI><a href="#[b45f40]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;MakeDir
<LI><a href="#[bf415c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;_FileOpenW
<LI><a href="#[bf41d4]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;_FileOpenR
<LI><a href="#[bf42c8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strupr
<LI><a href="#[be8cfc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FDTIsLie
<LI><a href="#[be8d74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FATDelClusChain
<LI><a href="#[be8df0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FATAddClus
<LI><a href="#[be8f54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ClearClus
<LI><a href="#[be8fcc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AddFDT
<LI><a href="#[be9040]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_GetFDTInfo
<LI><a href="#[be9134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetDrive
</UL>
<BR>[Called By]<UL><LI><a href="#[b46380]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strupr
<LI><a href="#[be8c84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FindFDTInfo
<LI><a href="#[be8d74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FATDelClusChain
<LI><a href="#[be8e68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DirIsEmpty
<LI><a href="#[be8ee0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DelFDT
<LI><a href="#[be9040]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_GetFDTInfo
<LI><a href="#[be9134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetDrive
</UL>
<BR>[Called By]<UL><LI><a href="#[b46380]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CacheInit
</UL>
<BR>[Called By]<UL><LI><a href="#[b46380]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;FileSeek
<LI><a href="#[be4124]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;FilePutCh
<LI><a href="#[be8df0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;FATAddClus
<LI><a href="#[be8e68]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;DirIsEmpty
<LI><a href="#[be8f54]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;ClearClus
<LI><a href="#[be8fcc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;AddFDT
<LI><a href="#[be90b8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;GetDirClusIndex
<LI><a href="#[be9228]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;ChangeDrive
<LI><a href="#[be92a0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;ChangeDir
<LI><a href="#[bf4434]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;FileGetCh
<LI><a href="#[bfa81c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SetFDTInfo
<LI><a href="#[bfa894]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SetRootFDTInfo
<LI><a href="#[bfa910]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;GetFDTInfo
<LI><a href="#[bfa988]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;GetRootFDTInfo
<LI><a href="#[bfdff4]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;FATSetNextClus
<LI><a href="#[bfe070]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;FATGetNextClus
<LI><a href="#[c00ee0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;ReadSec
<LI><a href="#[c00f54]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;OpenSec
<LI><a href="#[c19990]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;CacheWriteBack2
<LI><a href="#[c1d05c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;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]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SDCammand
</UL>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -