Linux 内核关掉校验ecc,烧写kernel后出现ECC校验出错的问题

通过观看其他人的问题与处理(s3c-nand: ECC uncorrectable error

detected)。最后通过在uboot下擦除整个nand后重新烧写解决。在擦除之前大家最后先准备后一张可以启动uboot的SD卡。

具体方法为:

1.uboot命令行中运行下面命令:

nand erase 0

该命令将删除整块nandflash。

2.使用SD启动的uboot重新烧写各个镜像文件。

请按照下面的步骤调试:

1.使用uboot下使用nand erase 0擦除flash。

2.使用SD启动的uboot烧写nand启动的uboot。

3.使用nand启动的uboot烧写linux内核与cramfs

上面可以解决的下面不要进行修改

​=====================================================

我使用这个方法试了好几次,可是问题依然存在,无奈之下只好看一下内核启动的代码,发现这个问题是因为nand

flash驱动启动了HW_ECC校验,具体HW_ECC哪里有问题没有细看,我把ECC改为none,重新编译了一下内核,启动以后问题得到解决,具体修改的代码如下为/drivers/mtd/nand/S3c_nand.c,大概是812行左右,具体代码如下:

#if defined(CONFIG_MTD_NAND_S3C_HWECC)

nand->ecc.mode =

NAND_ECC_NONE;(以前是NAND_ECC_HW)

nand->ecc.hwctl =

s3c_nand_enable_hwecc;

nand->ecc.calculate =

s3c_nand_calculate_ecc;

nand->ecc.correct =

s3c_nand_correct_data;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值