2019-07-21 01:04发布
正点原子 发表于 2018-12-8 01:28 多看几遍。 第一次写的时候,根本就没有数据,全部是0XFF,读出来ECC校验值的位置,也是0XFFF 自然就有 ...
最多设置5个标签!
串口发上来调试信息:
bad block index:2440
bad block index:3940
total block num:4096
good block num:4094
valid block num:3807
bad block index:2440
bad block index:3940
total block num:4096
good block num:4094
valid block num:3807
err hd,rd:0xff9a5999,0xff96a69a
eccnum,eccstart:1,0
PageNum,ColNum:261888,0
2bit ecc error or more
err hd,rd:0xffaaa599,0xffaaa6a5
eccnum,eccstart:1,1
PageNum,ColNum:261888,512
2bit ecc error or more
容量
disk total volume:950 MB
disk valid volume:950 MB
扫描到文件
err hd,rd:0xff9966a5,0xbedede4c
eccnum,eccstart:1,0
PageNum,ColNum:262002,0
2bit ecc error or more
1:/0
1:/1
1:/2
1:/3
读文件0:
Read file data is:
err hd,rd:0xff033cc0,0xf7ff9e4c
eccnum,eccstart:1,0
PageNum,ColNum:262003,0
2bit ecc error or more
0031 0032 0033 0034 0035 0036 0037 0038 0039 0000
Readed data len:10
Read data over
读文件3:
Read file data is:
err hd,rd:0xffffffff,0x00
eccnum,eccstart:1,0
PageNum,ColNum:262004,0
2bit ecc error or more
0000 0001 0002 0003 0004 0005 0006 0007 0008 0009
000A 000B 000C 000D 000E 000F 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F 0020 0021 0022 0023 0024 002…………后面还有很多数据,但每512字节就有>2bit的ECC错误
下面是测试函数:
FTL_Init();
fatfs_init();
res=f_mount(fs[1],"1:",1); //挂载NAND FLASH.
if(res==0X0D)//NAND FLASH磁盘,FAT文件系统错误,重新格式化NAND FLASH
{
printf("%s ","NAND Disk Formatting...");//格式化NAND
res=f_mkfs("1:",1,4096);//格式化FLASH,2,盘符;1,不需要引导区,8个扇区为1个簇
if(res==0)
{
f_setlabel((const TCHAR *)"0:NANDDISK"); //设置Flash磁盘的名字为:NANDDISK
printf("%s ","NAND Disk Format Finish"); //格式化完成
}else printf("%s ","NAND Disk Format Error "); //格式化失败
delay_200ns();delay_200ns();delay_200ns();delay_200ns();delay_200ns();delay_200ns();
}
DELAY_US(1000000L);
//fatfs_unlink((u8*)"1:/3");
fatfs_showfree((u8*)"1:");//显示剩余容量
fatfs_scan_files((u8*)"1:");//遍历文件
fatfs_open((u8*)"1:/0",0x01);//打开、读取文件
fatfs_read(10);
fatfs_close();
fatfs_open((u8*)"1:/3",0x01);
fatfs_size();
fatfs_read(8192);
fatfs_close();
一周热门 更多>