读取SD卡Sector0,返回的数据是0

2019-07-21 01:53发布

在407的开发板上调试SDIO,无论用1bit还是4bit、轮询方式或者DMA方式,读取Sector0时返回的数据都是0,只有最后两个字节正确,有人遇到这个问题吗?

我用原子的示例程序,读出的数据还是不对。


这个是用WinHEX打开SD卡,读出的Sector0的512个字节数据,



这个是SDIO读出的512字节数据,前面全是0,下面的82 03 00 0B等数据在WINHEX应该是0,但SDIO返回了数据。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
tw919
1楼-- · 2019-07-21 01:55
 精彩回答 2  元偷偷看……
aozima
2楼-- · 2019-07-21 06:37
物理0扇区
or
分区的0扇区
tw919
3楼-- · 2019-07-21 09:12
回复【2楼】aozima:
---------------------------------
是SD卡的物理扇区,我还没有使用fatfs,直接读SD卡的原始数据。
aozima
4楼-- · 2019-07-21 14:22
回复【3楼】tw919:
---------------------------------
winhex读取的末必是物理扇区呀
tw919
5楼-- · 2019-07-21 14:57
aozima,

我用WinHex的“打开磁盘”功能,打开SD卡,截图如下,Offset = 0x00000000的地方应该就是Sector0的起始位置吧?我的理解在WinHex里显示的offset 0x00000000 ~ 0x00000200这512个字节应该就是Sector0。请问这样理解对吗?

STM32里SD_ReadBlock函数的Addr我赋值为0,我分析了这个函数,发现它会把这个绝对地址变成Sector编号,所以我请求0x00000000处的数据,应该就是Sector0的数据吧。

tw919
6楼-- · 2019-07-21 18:46
 精彩回答 2  元偷偷看……

一周热门 更多>