ziruo2002ab 发表于 2015-4-19 16:31:24

ARM主板使用一段时间,出现内核镜像checksum error是怎么回事

本帖最后由 ziruo2002ab 于 2015-4-19 17:01 编辑

ARM主板使用一段时间后,在系统启动uboot去读内核Image时,提示出现checksum error是怎么回事,
提示:Verifying checksum... Bad Data crc.
是nandflash坏了吗?怎么好好的就坏了呢?如何解决?

一批十几块的板子,就2、3块会出现这样的问题。

咖啡可乐 发表于 2015-4-19 17:46:23

nandflash只保证前4K是不会损坏,其他的只能通过其他方法校验和出错恢复,单纯的验证CRC只能检验而不能纠错。
选择质量好点的flash可能会好点。
我目前的解决办法是不使用nand,虽然会增加成本,但是省心

starli 发表于 2015-4-19 18:17:33

DDR 不稳定的可能性很大, 一般要到RAM里来解压。

ziruo2002ab 发表于 2015-4-19 18:35:07

咖啡可乐 发表于 2015-4-19 17:46
nandflash只保证前4K是不会损坏,其他的只能通过其他方法校验和出错恢复,单纯的验证CRC只能检验而不能纠错 ...

不使用nand不是解决办法啊
那么大的内核镜像+文件系统+。。。,不可能全部用nor flash

dreampet 发表于 2015-4-19 18:39:45

吹下来用编程器读一下看看

ziruo2002ab 发表于 2015-4-19 19:29:37

starli 发表于 2015-4-19 18:17
DDR 不稳定的可能性很大, 一般要到RAM里来解压。

不像是ram的问题,因为有故障的板子,重新烧下内核就又全部可以正常运行了,
但是说不准过个一段时间又是同样的故障!!

zlei 发表于 2015-4-19 19:45:01

NAND Flash 位反转的缘故。
u-boot下读写kernel和rootfs需要做ECC,避免直接使用“nand read”命令。

wenming 发表于 2015-4-19 19:52:50

有可能是系统掉电的时候不稳定,一些数据被改写。我们原来有个做电力的客户需要过这方面的问题。
解决起来挺棘手的,需要从硬件与软件方面联手来解决。

tennokoe 发表于 2015-4-19 20:58:53

把坏的做标记多跑一段时间看看,找找故障规律,先确定是不是硬件问题。

szartcor 发表于 2015-4-19 21:42:22

这类问题的确比较棘手,解决起来的确需要软硬件一并来搞.
我估计是数据在一定情况下被篡改或者本身文件系统存在问题.

建议您用只读文件系统跑一下,把需要变动的文件放到单独一个目录下(单独一个flash空间)

szartcor 发表于 2015-4-19 21:43:08

我看好像是pxa270的板,这个处理器不知道nand拉,除非是通过扩展方式;

ziruo2002ab 发表于 2015-4-20 10:03:48

wenming 发表于 2015-4-19 19:52
有可能是系统掉电的时候不稳定,一些数据被改写。我们原来有个做电力的客户需要过这方面的问题。
解决起来 ...

我也怀疑是这方面的问题,
在系统掉电的瞬间,我用示波器测电源引脚,发现会有一个瞬时的高电压脉冲(VCC+2V),
可能这个瞬时脉冲对nandflash有影响,引起误写nand了?
所以我考虑对arm主板电源做滤波,滤掉由于掉电引起的瞬时脉冲电压,保护arm主板
至于软件方面就不是特别懂(上面有个大侠说的有道理,就是ECC,不要直接nand read,但这在系统层面如何实现的呢?)
你说的在硬件和软件上进行双重保护,是类似这样的操作么?

myxiaonia 发表于 2015-4-20 10:28:40

image镜像应该是不会改变的吧,就算是系统启动后也会保持不变对吧。。。把这个文件从系统中读出来,和原始文件对比,看看什么地方发生了改变
页: [1]
查看完整版本: ARM主板使用一段时间,出现内核镜像checksum error是怎么回事