📄 sd_spi.htm
字号:
<BR>[Called By]<UL><LI><a href="#[c7d678]">>></a> SD_GetCardInfo
</UL>
<P><STRONG><a name="[c80318]"></a>SD_StopTransmission</STRONG> (Thumb, 20 bytes, Stack size 16 bytes, sdcmd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c804c8]">>></a> SD_SendCmd
</UL>
<P><STRONG><a name="[c802d0]"></a>SD_ReadCard_Status</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = SD_ReadCard_Status ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c804c8]">>></a> SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c81ce0]">>></a> SD_WriteBlock
</UL>
<P><STRONG><a name="[c80288]"></a>SD_SetBlockLen</STRONG> (Thumb, 46 bytes, Stack size 24 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = SD_SetBlockLen ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c80480]">>></a> SD_PackParam
<LI><a href="#[c804c8]">>></a> SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c81d70]">>></a> SD_Initialize
</UL>
<P><STRONG><a name="[c80240]"></a>SD_ReadSingleBlock</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = SD_ReadSingleBlock ⇒ SD_BlockCommand ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c80438]">>></a> SD_BlockCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[c81d28]">>></a> SD_ReadBlock
</UL>
<P><STRONG><a name="[c801f8]"></a>SD_ReadMultipleBlock</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, sdcmd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c80438]">>></a> SD_BlockCommand
</UL>
<P><STRONG><a name="[c801b0]"></a>SD_WriteSingleBlock</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = SD_WriteSingleBlock ⇒ SD_BlockCommand ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c80438]">>></a> SD_BlockCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[c81ce0]">>></a> SD_WriteBlock
</UL>
<P><STRONG><a name="[c80168]"></a>SD_WriteMultipleBlock</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, sdcmd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c80438]">>></a> SD_BlockCommand
</UL>
<P><STRONG><a name="[c80120]"></a>SD_EraseStartBlock</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = SD_EraseStartBlock ⇒ SD_BlockCommand ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c80438]">>></a> SD_BlockCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[c81db8]">>></a> SD_EraseBlock
</UL>
<P><STRONG><a name="[c800d8]"></a>SD_EraseEndBlock</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = SD_EraseEndBlock ⇒ SD_BlockCommand ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c80438]">>></a> SD_BlockCommand
</UL>
<BR>[Called By]<UL><LI><a href="#[c81db8]">>></a> SD_EraseBlock
</UL>
<P><STRONG><a name="[c80090]"></a>SD_WaitBusy</STRONG> (Thumb, 70 bytes, Stack size 24 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = SD_WaitBusy ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c7fdc0]">>></a> SPI_SendByte
<LI><a href="#[c7fe08]">>></a> SPI_RecByte
<LI><a href="#[c7fe50]">>></a> SPI_CS_Deassert
<LI><a href="#[c7fe98]">>></a> SPI_CS_Assert
</UL>
<BR>[Called By]<UL><LI><a href="#[c7ff70]">>></a> SD_WriteBlockData
<LI><a href="#[c80048]">>></a> SD_EraseSelectedBlock
</UL>
<P><STRONG><a name="[c80048]"></a>SD_EraseSelectedBlock</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = SD_EraseSelectedBlock ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c80090]">>></a> SD_WaitBusy
<LI><a href="#[c80480]">>></a> SD_PackParam
<LI><a href="#[c804c8]">>></a> SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c81db8]">>></a> SD_EraseBlock
</UL>
<P><STRONG><a name="[c80000]"></a>SD_ReadOCR</STRONG> (Thumb, 64 bytes, Stack size 32 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = SD_ReadOCR ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c804c8]">>></a> SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c81d70]">>></a> SD_Initialize
</UL>
<P><STRONG><a name="[c7ffb8]"></a>SD_ReadBlockData</STRONG> (Thumb, 114 bytes, Stack size 24 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = SD_ReadBlockData ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c7fdc0]">>></a> SPI_SendByte
<LI><a href="#[c7fe08]">>></a> SPI_RecByte
<LI><a href="#[c7fe50]">>></a> SPI_CS_Deassert
<LI><a href="#[c7fe98]">>></a> SPI_CS_Assert
</UL>
<BR>[Called By]<UL><LI><a href="#[c81d28]">>></a> SD_ReadBlock
</UL>
<P><STRONG><a name="[c7ff70]"></a>SD_WriteBlockData</STRONG> (Thumb, 158 bytes, Stack size 24 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = SD_WriteBlockData ⇒ SD_WaitBusy ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c7fdc0]">>></a> SPI_SendByte
<LI><a href="#[c7fe08]">>></a> SPI_RecByte
<LI><a href="#[c7fe50]">>></a> SPI_CS_Deassert
<LI><a href="#[c7fe98]">>></a> SPI_CS_Assert
<LI><a href="#[c80090]">>></a> SD_WaitBusy
</UL>
<BR>[Called By]<UL><LI><a href="#[c81ce0]">>></a> SD_WriteBlock
</UL>
<P><STRONG><a name="[c7ff28]"></a>SD_StopMultiToken</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, sdcmd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c7fdc0]">>></a> SPI_SendByte
<LI><a href="#[c7fe08]">>></a> SPI_RecByte
<LI><a href="#[c7fe50]">>></a> SPI_CS_Deassert
<LI><a href="#[c7fe98]">>></a> SPI_CS_Assert
</UL>
<P><STRONG><a name="[c7fee0]"></a>SD_SPIDelay</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, sdcmd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SD_SPIDelay ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c7fdc0]">>></a> SPI_SendByte
</UL>
<BR>[Called By]<UL><LI><a href="#[c81d70]">>></a> SD_Initialize
</UL>
<P><STRONG><a name="[c7d708]"></a>SD_EndSD</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, sddriver.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c81ce0]">>></a> SD_WriteBlock
<LI><a href="#[c81d28]">>></a> SD_ReadBlock
<LI><a href="#[c81d70]">>></a> SD_Initialize
<LI><a href="#[c81db8]">>></a> SD_EraseBlock
</UL>
<P><STRONG><a name="[c7d6c0]"></a>SD_CalTimeout</STRONG> (Thumb, 208 bytes, Stack size 16 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = SD_CalTimeout
</UL>
<BR>[Called By]<UL><LI><a href="#[c7d678]">>></a> SD_GetCardInfo
</UL>
<P><STRONG><a name="[c7d678]"></a>SD_GetCardInfo</STRONG> (Thumb, 174 bytes, Stack size 32 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = SD_GetCardInfo ⇒ SD_ReadCSD ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d6c0]">>></a> SD_CalTimeout
<LI><a href="#[c80360]">>></a> SD_ReadCSD
</UL>
<BR>[Called By]<UL><LI><a href="#[c81d70]">>></a> SD_Initialize
</UL>
<P><STRONG><a name="[c7d630]"></a>SD_ActiveInit</STRONG> (Thumb, 128 bytes, Stack size 24 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = SD_ActiveInit ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c804c8]">>></a> SD_SendCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[c81d70]">>></a> SD_Initialize
</UL>
<P><STRONG><a name="[c7d5e8]"></a>SD_StartSD</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, sddriver.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c81ce0]">>></a> SD_WriteBlock
<LI><a href="#[c81d28]">>></a> SD_ReadBlock
<LI><a href="#[c81d70]">>></a> SD_Initialize
<LI><a href="#[c81db8]">>></a> SD_EraseBlock
</UL>
<P><STRONG><a name="[c81d70]"></a>SD_Initialize</STRONG> (Thumb, 136 bytes, Stack size 16 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = SD_Initialize ⇒ SD_GetCardInfo ⇒ SD_ReadCSD ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d480]">>></a> SPI_ClkToMax
<LI><a href="#[c7d4c8]">>></a> SD_HardWareInit
<LI><a href="#[c7d558]">>></a> SD_ChkCard
<LI><a href="#[c7d5e8]">>></a> SD_StartSD
<LI><a href="#[c7d630]">>></a> SD_ActiveInit
<LI><a href="#[c7d678]">>></a> SD_GetCardInfo
<LI><a href="#[c7d708]">>></a> SD_EndSD
<LI><a href="#[c7fe50]">>></a> SPI_CS_Deassert
<LI><a href="#[c7fe98]">>></a> SPI_CS_Assert
<LI><a href="#[c7fee0]">>></a> SD_SPIDelay
<LI><a href="#[c80000]">>></a> SD_ReadOCR
<LI><a href="#[c80288]">>></a> SD_SetBlockLen
<LI><a href="#[c803f0]">>></a> SD_ResetSD
</UL>
<BR>[Called By]<UL><LI><a href="#[c81e90]">>></a> main
</UL>
<P><STRONG><a name="[c81d28]"></a>SD_ReadBlock</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = SD_ReadBlock ⇒ SD_ReadSingleBlock ⇒ SD_BlockCommand ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d558]">>></a> SD_ChkCard
<LI><a href="#[c7d5e8]">>></a> SD_StartSD
<LI><a href="#[c7d708]">>></a> SD_EndSD
<LI><a href="#[c7ffb8]">>></a> SD_ReadBlockData
<LI><a href="#[c80240]">>></a> SD_ReadSingleBlock
</UL>
<BR>[Called By]<UL><LI><a href="#[c81e90]">>></a> main
</UL>
<P><STRONG><a name="[c81ce0]"></a>SD_WriteBlock</STRONG> (Thumb, 178 bytes, Stack size 32 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = SD_WriteBlock ⇒ SD_WriteSingleBlock ⇒ SD_BlockCommand ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d510]">>></a> SD_ChkCardWP
<LI><a href="#[c7d558]">>></a> SD_ChkCard
<LI><a href="#[c7d5e8]">>></a> SD_StartSD
<LI><a href="#[c7d708]">>></a> SD_EndSD
<LI><a href="#[c7ff70]">>></a> SD_WriteBlockData
<LI><a href="#[c801b0]">>></a> SD_WriteSingleBlock
<LI><a href="#[c802d0]">>></a> SD_ReadCard_Status
</UL>
<BR>[Called By]<UL><LI><a href="#[c81e90]">>></a> main
</UL>
<P><STRONG><a name="[c81db8]"></a>SD_EraseBlock</STRONG> (Thumb, 238 bytes, Stack size 24 bytes, sddriver.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = SD_EraseBlock ⇒ SD_EraseEndBlock ⇒ SD_BlockCommand ⇒ SD_SendCmd ⇒ SPI_SendByte
</UL>
<BR>[Calls]<UL><LI><a href="#[c7d510]">>></a> SD_ChkCardWP
<LI><a href="#[c7d558]">>></a> SD_ChkCard
<LI><a href="#[c7d5e8]">>></a> SD_StartSD
<LI><a href="#[c7d708]">>></a> SD_EndSD
<LI><a href="#[c80048]">>></a> SD_EraseSelectedBlock
<LI><a href="#[c800d8]">>></a> SD_EraseEndBlock
<LI><a href="#[c80120]">>></a> SD_EraseStartBlock
</UL>
<BR>[Called By]<UL><LI><a href="#[c81e90]">>></a> main
</UL>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -