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

📄 lpc213x_sd.htm

📁 基于LPX213X微处理器与uC/OS-II操作系统下的SD卡读写与文件系统建立程序。
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<BR>[Calls]<UL><LI><a href="#[c010b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetEmptyDiskInfoAddr
<LI><a href="#[c15a54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_WriteBlock
<LI><a href="#[c15ad0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_ReadBlock
<LI><a href="#[c15b4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_Initialize
<LI><a href="#[c15bc8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetVolumeFirstSect
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(.text)
</UL>
<P><STRONG><a name="[c31e90]"></a>SD_SendCmd</STRONG> (ARM, 228 bytes, Stack size 24 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c312e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_SendByte
<LI><a href="#[c31364]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_RecByte
<LI><a href="#[c313dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Deassert
<LI><a href="#[c31458]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Assert
<LI><a href="#[c314d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_GetCmdByte6
</UL>
<BR>[Called By]<UL><LI><a href="#[c13950]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ActiveInit
<LI><a href="#[c31740]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_EnableCRC
<LI><a href="#[c317bc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadOCR
<LI><a href="#[c319ac]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_SetBlockLen
<LI><a href="#[c31a28]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadCard_Status
<LI><a href="#[c31aa8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadCSD
<LI><a href="#[c31b9c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ResetSD
<LI><a href="#[c31c14]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_BlockCommand
<LI><a href="#[c31d90]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_StopTransmission
<LI><a href="#[c3200c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_EraseSelectedBlock
</UL>

<P><STRONG><a name="[c31c90]"></a>SD_PackParam</STRONG> (ARM, 32 bytes, Stack size 0 bytes, sdcmd.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c319ac]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_SetBlockLen
<LI><a href="#[c31c14]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_BlockCommand
<LI><a href="#[c3200c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_EraseSelectedBlock
</UL>

<P><STRONG><a name="[c31c14]"></a>SD_BlockCommand</STRONG> (ARM, 72 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = SD_BlockCommand -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31c90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_PackParam
<LI><a href="#[c31e90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c318ac]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_WriteSingleBlock
<LI><a href="#[c3192c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadSingleBlock
<LI><a href="#[c31d0c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_WriteMultipleBlock
<LI><a href="#[c31f08]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadMultipleBlock
<LI><a href="#[c31f8c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_EraseStartBlock
<LI><a href="#[c32090]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_EraseEndBlock
</UL>

<P><STRONG><a name="[c31b9c]"></a>SD_ResetSD</STRONG> (ARM, 36 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = SD_ResetSD -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31e90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c15b4c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_Initialize
</UL>

<P><STRONG><a name="[c31b20]"></a>SD_ReadRegister</STRONG> (ARM, 188 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SD_ReadRegister -> SD_GetCRC16</UL>
<BR>[Calls]<UL><LI><a href="#[c312e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_SendByte
<LI><a href="#[c31364]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_RecByte
<LI><a href="#[c313dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Deassert
<LI><a href="#[c31458]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Assert
<LI><a href="#[c31550]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_GetCRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[c31aa8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadCSD
</UL>

<P><STRONG><a name="[c31aa8]"></a>SD_ReadCSD</STRONG> (ARM, 84 bytes, Stack size 24 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = SD_ReadCSD -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31b20]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_ReadRegister
<LI><a href="#[c31e90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c139cc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_GetCardInfo
</UL>

<P><STRONG><a name="[c31a28]"></a>SD_ReadCard_Status</STRONG> (ARM, 40 bytes, Stack size 8 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = SD_ReadCard_Status -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31e90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c15a54]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_WriteBlock
</UL>

<P><STRONG><a name="[c319ac]"></a>SD_SetBlockLen</STRONG> (ARM, 64 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = SD_SetBlockLen -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31c90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_PackParam
<LI><a href="#[c31e90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c15b4c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_Initialize
</UL>

<P><STRONG><a name="[c3192c]"></a>SD_ReadSingleBlock</STRONG> (ARM, 16 bytes, Stack size 0 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = SD_ReadSingleBlock -> SD_BlockCommand -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31c14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_BlockCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[c15ad0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadBlock
</UL>

<P><STRONG><a name="[c318ac]"></a>SD_WriteSingleBlock</STRONG> (ARM, 16 bytes, Stack size 0 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = SD_WriteSingleBlock -> SD_BlockCommand -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31c14]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_BlockCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[c15a54]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_WriteBlock
</UL>

<P><STRONG><a name="[c31834]"></a>SD_WaitBusy</STRONG> (ARM, 84 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = SD_WaitBusy</UL>
<BR>[Calls]<UL><LI><a href="#[c312e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_SendByte
<LI><a href="#[c31364]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_RecByte
<LI><a href="#[c313dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Deassert
<LI><a href="#[c31458]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Assert
</UL>
<BR>[Called By]<UL><LI><a href="#[c31640]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_WriteBlockData
<LI><a href="#[c3200c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_EraseSelectedBlock
</UL>

<P><STRONG><a name="[c317bc]"></a>SD_ReadOCR</STRONG> (ARM, 104 bytes, Stack size 24 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = SD_ReadOCR -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31e90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c15b4c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_Initialize
</UL>

<P><STRONG><a name="[c31740]"></a>SD_EnableCRC</STRONG> (ARM, 72 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = SD_EnableCRC -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31e90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c15b4c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_Initialize
</UL>

<P><STRONG><a name="[c316c0]"></a>SD_ReadBlockData</STRONG> (ARM, 204 bytes, Stack size 24 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = SD_ReadBlockData -> SD_GetCRC16</UL>
<BR>[Calls]<UL><LI><a href="#[c312e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_SendByte
<LI><a href="#[c31364]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_RecByte
<LI><a href="#[c313dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Deassert
<LI><a href="#[c31458]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Assert
<LI><a href="#[c31550]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_GetCRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[c15ad0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadBlock
</UL>

<P><STRONG><a name="[c31640]"></a>SD_WriteBlockData</STRONG> (ARM, 176 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = SD_WriteBlockData -> SD_WaitBusy</UL>
<BR>[Calls]<UL><LI><a href="#[c312e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_SendByte
<LI><a href="#[c31364]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_RecByte
<LI><a href="#[c313dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Deassert
<LI><a href="#[c31458]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Assert
<LI><a href="#[c31550]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_GetCRC16
<LI><a href="#[c31834]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_WaitBusy
</UL>
<BR>[Called By]<UL><LI><a href="#[c15a54]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_WriteBlock
</UL>

<P><STRONG><a name="[c315c8]"></a>SD_SPIDelay</STRONG> (ARM, 48 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = SD_SPIDelay</UL>
<BR>[Calls]<UL><LI><a href="#[c312e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_SendByte
</UL>
<BR>[Called By]<UL><LI><a href="#[c15b4c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_Initialize
</UL>

<P><STRONG><a name="[c31550]"></a>SD_GetCRC16</STRONG> (ARM, 72 bytes, Stack size 4 bytes, sdcrc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = SD_GetCRC16</UL>
<BR>[Called By]<UL><LI><a href="#[c31640]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_WriteBlockData
<LI><a href="#[c316c0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadBlockData
<LI><a href="#[c31b20]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_ReadRegister
</UL>

<P><STRONG><a name="[c314d4]"></a>SD_GetCmdByte6</STRONG> (ARM, 136 bytes, Stack size 12 bytes, sdcrc.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = SD_GetCmdByte6</UL>
<BR>[Called By]<UL><LI><a href="#[c31e90]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_SendCmd
</UL>

<P><STRONG><a name="[c13c30]"></a>SD_CalTimeout</STRONG> (ARM, 248 bytes, Stack size 32 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32 + Unknown Stack Size
<LI>Call Chain = SD_CalTimeout</UL>
<BR>[Calls]<UL><LI><a href="#[102dff8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[c139cc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_GetCardInfo
</UL>

<P><STRONG><a name="[c139cc]"></a>SD_GetCardInfo</STRONG> (ARM, 220 bytes, Stack size 24 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 84 + Unknown Stack Size
<LI>Call Chain = SD_GetCardInfo -> SD_ReadCSD -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c13c30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_CalTimeout
<LI><a href="#[c31aa8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_ReadCSD
</UL>
<BR>[Called By]<UL><LI><a href="#[c15b4c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_Initialize
</UL>

<P><STRONG><a name="[c13950]"></a>SD_ActiveInit</STRONG> (ARM, 184 bytes, Stack size 24 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = SD_ActiveInit -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c31e90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c15b4c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SD_Initialize
</UL>

<P><STRONG><a name="[c15b4c]"></a>SD_Initialize</STRONG> (ARM, 164 bytes, Stack size 8 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 92 + Unknown Stack Size
<LI>Call Chain = SD_Initialize -> SD_GetCardInfo -> SD_ReadCSD -> SD_SendCmd -> SD_GetCmdByte6</UL>
<BR>[Calls]<UL><LI><a href="#[c13764]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_ClkToMax
<LI><a href="#[c137e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_HardWareInit
<LI><a href="#[c138d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_ChkCard
<LI><a href="#[c13950]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_ActiveInit
<LI><a href="#[c139cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_GetCardInfo
<LI><a href="#[c313dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Deassert
<LI><a href="#[c31458]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_CS_Assert
<LI><a href="#[c315c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SPIDelay
<LI><a href="#[c31740]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_EnableCRC
<LI><a href="#[c317bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_ReadOCR
<LI><a href="#[c319ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_SetBlockLen
<LI><a href="#[c31b9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SD_ResetSD
</UL>
<BR>[Called By]<UL><LI><a href="#[b45dd0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;SDCammand
</UL>

<P><STRONG><a name="[c15ad0]"></a>SD_ReadBlock</STRONG> (ARM, 84 bytes, Stack size 16 bytes, sddriver.o(.text))

⌨️ 快捷键说明

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