nand flash ECC实战
发布时间:2020-12-15 17:26:09 所属栏目:百科 来源:网络整理
导读:nand flash ECC实战 2015-1-31 实战平台: 硬件环境:S3C2440 软件环境:裸机 static u8 ecc_t(const unsigned char *pData){unsigned int Line,Column;unsigned char ecc[8],ecc_tmp,ecc_column,ecc_line[256];// _CP_ //_LP_ecc_column = 0;for(Line = 0 ;
nand flash ECC实战 2015-1-31 实战平台: 硬件环境:S3C2440 软件环境:裸机 static u8 ecc_t(const unsigned char *pData) { unsigned int Line,Column; unsigned char ecc[8],ecc_tmp,ecc_column,ecc_line[256]; // _CP_ //_LP_ ecc_column = 0; for(Line = 0 ; Line < 256; Line ++ ){ ecc_column ^= pData[Line]; ecc_line[Line] = 0; for(Column = 0 ; Column < 8 ; Column ++ ){ ecc_line[Line] ^= (pData[Line] & (1<<Column))>>Column; } } //CP0:0,2,4,6 ecc[0]= ((ecc_column) & (1<<0)>>0) ^ ((ecc_column) & (1<<2)>>2) ^ ((ecc_column) & (1<<4)>>4) ^ ((ecc_column) & (1<<6)>>6); //CP1:1,3,5,7 ecc[1] =((ecc_column) & (1<<1)>>1) ^ ((ecc_column) & (1<<3)>>3) ^ ((ecc_column) & (1<<5)>>5) ^ ((ecc_column) & (1<<7)>>7); //CP2:0,1,5 ecc[2]= ((ecc_column) & (1<<0)>>0) ^ ((ecc_column) & (1<<1)>>1) ^ ((ecc_column) & (1<<4)>>4) ^ ((ecc_column) & (1<<5)>>5); //CP3:2,6,7 ecc[3] =((ecc_column) & (1<<2)>>2) ^ ((ecc_column) & (1<<3)>>3) ^ ((ecc_column) & (1<<6)>>6) ^ ((ecc_column) & (1<<7)>>7); //CP4:0,3 ecc[4]= ((ecc_column) & (1<<0)>>0) ^ ((ecc_column) & (1<<1)>>1) ^ ((ecc_column) & (1<<2)>>2) ^ ((ecc_column) & (1<<3)>>3); //CP5:4,7 ecc[5] =((ecc_column) & (1<<4)>>4) ^ ((ecc_column) & (1<<5)>>5) ^ ((ecc_column) & (1<<6)>>6) ^ ((ecc_column) & (1<<7)>>7); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |