|
通过调试发现,系统也不是每个sector都去读,nand flash一共有290万个sector,只读到大概160万个的时候,就不再读了。
而且读的时候,也不是连续的读,而是跳跃式的,如下所示(第一个数字表示sector序号):
FMD_ReadSector(50000,0,40AEE54,1)
FMD_ReadSector(100000,0,40AEE54,1)
FMD_ReadSector(150000,0,40AEE54,1)
FMD_ReadSector(200000,0,40AEE54,1)
FMD_ReadSector(250000,0,40AEE54,1)
FMD_ReadSector(300000,0,40AEE54,1)
FMD_ReadSector(350000,0,40AEE54,1)
FMD_ReadSector(800000,0,40AEE54,1)
FMD_ReadSector(1600000,0,40AEE54,1)
我每隔50000打印一次信息,但是到了350000的时候,就直接跳到800000,然后就1600000,接着就不读了。
系统读sector时为什么不是连续的?而且也不是读到最后一个sector?是不是因为后续的sector没有存放数据,所以不读了?中间不连续的部分也是因为没有有效数据?
另外,系统要知道当前nand flash上存放了什么数据,可以通过读取FAT表什么的(FAT文件系统提供的),肯定比读那么多sector要来得快吧? |
|