tq210 nand8位HWECC与YAFFS2的OOB布局

来源:互联网 发布:装修省钱 淘宝 编辑:程序博客网 时间:2024/06/06 04:00

最近又重新调试了下8位的HWECC,最后发现S5PV210的8位HWECC的确是可以用的,但是,使用yaffs2文件系统的时候的时候仍然会出问题,这是由于yaffs2文件系统与mtd层的oob布局冲突导致的。

当我们使用8位HWECC时,会生成52字节的ECC校验数据并写入oob,而yaffs2自身也有28字节的数据写日oob,也就是说,至少需要28+52=80字节的oob空间,而对于我们的nand flash,页大小为2048字节,oob空间为64字节,明显空间不足,进而导致了我们前面看到的问题,所以,采用8位HWECC时应该选用不使用oob空间的文件系统,如jffs2,但是jffs2文件系统在挂载时比较慢,感觉上不如yaffs2轻巧。

yaffs2文件系统的oob布局如下:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. 字节0: 坏块标记  
  2. 字节1: 保留  
  3. 2-0x27: 给上层使用(yaffs)  
  4. 0x28-0x3F: ECC  
有了上面这个布局,编写nand驱动时候就可以确定一个最佳ECC方案了,只要ECC校验数据存储在0x28~0x3F内就可以。
0 0
原创粉丝点击