STM32F429 SD卡,NAND挂载FATFS问题

2019-07-20 04:17发布

我的开发板是阿波罗STM32F429 ,所有例程全部是寄存器版,并没有修改任何代码。
1. SD卡问题,例程是 实验39 SD卡实验 寄存器版。我SD卡是以前32M的老卡,用sdio能够初始化成功,并能够读出卡的容量。用sd_test_read(0,1) 能够读出数据,虽然最后2位数据是55 AA但感觉FAT表数据不对,但是用sd_test_read(1,1)就无法读出数据,卡在 SD_ReadBlocks函数的 “while(!(SDIO->STA&((1<<5)|(1<<1)|(1<<3)|(1<<8)|(1<<9))))//无上溢/CRC/超时/完成(标志)/起始位错误“  这个超时里,挂载FATFS也是卡在这里。
2. NAND FLSH问题,我用例程 实验53 USB读卡器(Slave)实验 寄存器版能够正常初始化NAND,并能够在电脑上读写NAND,用 实验41 FATFS实验,也能正常挂载NAND,串口命令回复:
mf_scan_files("2:")
2:/测试用文件
=0X0;

但是我在  实验56 USB U盘实验(Host) 中NAND初始化就失败无法挂载FATFS. 串口命令回复:
mf_scan_files("2:")bad block index:689
bad block index:945
format nand flash...
good_blocknum:2687
format failed!
=0X3;
其他的SPI FALSH和U盘HOST都挂载正常。

我想问下出现这些问题的大概原因是什么。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
zgp0518
1楼-- · 2019-07-20 05:10
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-20 06:26
1,换个新卡试试。不一定所有的卡都能支持的。2,下载NAND FLASH实验,全片擦除NAND,然后下载FATFS实验,重新格式化NAND,再试试。
zgp0518
3楼-- · 2019-07-20 07:03

实验40 NAND FLASH实验 串口回复:
total block num:4096
good block num:4096
valid block num:3809
err hd,rd:0x0,0xffffffff
eccnum,eccstart:1,2
PageNum,ColNum:0,1024
2bit ecc error or more
系统正常。
实验41 FATFS实验:

total block num:4096
good block num:4096
valid block num:3809
total block num:4096
good block num:4096
valid block num:3809

mf_scan_files("2:")
=0X0;
系统正常

实验56 USB U盘实验(Host) 串口回复:
USB OTG HS MSC Host
> USB Host library started.
  USB Host Library v2.1.0

复位设备...
检测到USB设备插入!
复位设备...
全速(FS)USB设备!
VID: 0781h
PID: 5567h
从机地址分配成功!
可移动存储器设备!
Manufacturer: SanDisk
Product: Cruzer Blade
Serial Number: 4C530001290110113523
设备枚举完成!

跳过用户确认步骤!
开始执行用户程序!!!

mf_scan_files("2:")bad block index:212
format nand flash...
good_blocknum:2769
bad block index:540
bad block index:1043
bad block index:2806
bad block index:3936
format failed!
=0X3;
NAND不正常,不能format。
所有程序为寄存器版,只是把SD卡的初始化和挂载FATFS注释掉,其他没改东西,U盘HOST试验NAND就是过不去。

一周热门 更多>