linux kernel 如何设置nand 的ECC校验方式(TI AM335X硬件)

一、软硬件说明

硬件平台:TI  AM335X系类

Linux kernel 版本:linux-3.2.0-psp04.06.00.11


二、修改kernel 的nand ECC校验方式

(1)源文件:
linux-3.2.0-psp04.06.00.11\arch\arm\mach-omap2\board-am335xevm.c


(2)nand 设置ECC校验方式的函数

static void evm_nand_init(int evm_id, int profile) 
 // 函数功能:nand初始化(含有ECC校验设置)

TI原版代码设置nand 的ECC校验方式(默认采用BCH8的ECC校验方式):

pdata->ecc_opt = OMAP_ECC_BCH8_CODE_HW;

(3)修改方法:

修改 pdata->ecc_opt 的数值(根据用户的实际需要,修改不同的数值),如下

pdata->ecc_opt = OMAP_ECC_HAMMING_CODE_HW; 

(4)ECC校验方式说明:

具体 的ECC校验方式,请参考文件:  \linux-3.2.0-psp04.06.00.11\arch\arm\plat-omap\include\plat\gpmc.h
以下是ECC校验方式的源码:

enum omap_ecc 
{
	/* 1-bit ecc: stored at end of spare area */
	OMAP_ECC_HAMMING_CODE_DEFAULT = 0, /* Default, s/w method */
	OMAP_ECC_HAMMING_CODE_HW, /* gpmc to detect the error */
	/* 1-bit ecc: stored at beginning of spare area as romcode */
	OMAP_ECC_HAMMING_CODE_HW_ROMCODE, /* gpmc method & romcode layout */
	OMAP_ECC_BCH4_CODE_HW, /* gpmc bch detection & s/w method correction */
	OMAP_ECC_BCH8_CODE_HW, /* gpmc bch detection & s/w method correction */
};


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值