429开发板NAND的ECC那部分内容有几个地方不明白

2019-07-20 12:14发布

《STM32F429开发指南-HAL库版本_V1.1》这里面关于 NAND ECC那部分有点没看明白,主要是 STM32自带的 ECC的内部排列顺序的问题,如果512字节为单位验证 ECC,那么需要24位 ECC,我想知道这24位的内部是怎么排列的,开发指南里说的那个奇校验和偶校验和这个24位ECC的每个位是怎么个对应关系里面没说啊,看不懂... 原子大神能解释一下吗?

还有里面的这个函数也没看懂啥意思,主要是24bit的ECC没看明白里面具体是什么。。。

[mw_shl_code=c,true]//获取ECC的奇数位/偶数位
//oe:0,偶数位
// 1,奇数位
//eccval:输入的ecc值
//返回值:计算后的ecc值(最多16位)
u16 NAND_ECC_Get_OE(u8 oe,u32 eccval)
{
u8 i;
u16 ecctemp=0;
for(i=0;i<24;i++)
{
if((i%2)==oe) if((eccval>>i)&0X01)ecctemp+=1<<(i>>1);
}
return ecctemp;
}[/mw_shl_code]
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。