ecos嵌入式操作系统的flash闪存固件的ECC校验初探
由于使用eCos还不是很普遍,几乎找不到相关的资料。
以一个块block为例,对于2k的块,我们把它的数据区填充成0x32H,得到的校验区数据如下
flash型号Hynix H27U4G8F2
地址0到0x7ff是数据区,全部为0x32
捕获1.JPG地址0x800到0x83f OOB区域,全部为ECC校验数据,没有块ID一类的其他信息
地址0x840到0x87f 出现64字节的0xff 不知道是编程器读取错误还是别的原因,属于无用数据
OOB数据如下,资料不足无法了解具体的ECC算法。该算法具有很强的纠错能力
捕2.JPG
{0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x9C, 0x7C, 0x1B, 0x89, 0x8B, 0x70, 0x93, 0x62, 0x29, 0xD6, 0x7B,
0xF0, 0xED, 0xDE, 0x3C, 0x31, 0xD9, 0xA1, 0xC0, 0x99, 0x41, 0xF3, 0xF2, 0x8C, 0x19, 0xFE,0x5D,
0xFF, 0xFF, 0xFF, 0xFF, 0xC8, 0x9C, 0x7C, 0x1B, 0x89, 0x8B, 0x70, 0x93, 0x62, 0x29, 0xD6, 0x7B,
0xF0, 0xED, 0xDE, 0x3C, 0x31, 0xD9, 0xA1, 0xC0, 0x99, 0x41, 0xF3, 0xF2, 0x8C, 0x19, 0xFE,0x5D,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}
网友评论