ARM主板使用一段时间,出现内核镜像checksum error是怎么回事
本帖最后由 ziruo2002ab 于 2015-4-19 17:01 编辑ARM主板使用一段时间后,在系统启动uboot去读内核Image时,提示出现checksum error是怎么回事,
提示:Verifying checksum... Bad Data crc.
是nandflash坏了吗?怎么好好的就坏了呢?如何解决?
一批十几块的板子,就2、3块会出现这样的问题。
nandflash只保证前4K是不会损坏,其他的只能通过其他方法校验和出错恢复,单纯的验证CRC只能检验而不能纠错。
选择质量好点的flash可能会好点。
我目前的解决办法是不使用nand,虽然会增加成本,但是省心 DDR 不稳定的可能性很大, 一般要到RAM里来解压。
咖啡可乐 发表于 2015-4-19 17:46
nandflash只保证前4K是不会损坏,其他的只能通过其他方法校验和出错恢复,单纯的验证CRC只能检验而不能纠错 ...
不使用nand不是解决办法啊
那么大的内核镜像+文件系统+。。。,不可能全部用nor flash 吹下来用编程器读一下看看 starli 发表于 2015-4-19 18:17
DDR 不稳定的可能性很大, 一般要到RAM里来解压。
不像是ram的问题,因为有故障的板子,重新烧下内核就又全部可以正常运行了,
但是说不准过个一段时间又是同样的故障!! NAND Flash 位反转的缘故。
u-boot下读写kernel和rootfs需要做ECC,避免直接使用“nand read”命令。 有可能是系统掉电的时候不稳定,一些数据被改写。我们原来有个做电力的客户需要过这方面的问题。
解决起来挺棘手的,需要从硬件与软件方面联手来解决。 把坏的做标记多跑一段时间看看,找找故障规律,先确定是不是硬件问题。
这类问题的确比较棘手,解决起来的确需要软硬件一并来搞.
我估计是数据在一定情况下被篡改或者本身文件系统存在问题.
建议您用只读文件系统跑一下,把需要变动的文件放到单独一个目录下(单独一个flash空间) 我看好像是pxa270的板,这个处理器不知道nand拉,除非是通过扩展方式; wenming 发表于 2015-4-19 19:52
有可能是系统掉电的时候不稳定,一些数据被改写。我们原来有个做电力的客户需要过这方面的问题。
解决起来 ...
我也怀疑是这方面的问题,
在系统掉电的瞬间,我用示波器测电源引脚,发现会有一个瞬时的高电压脉冲(VCC+2V),
可能这个瞬时脉冲对nandflash有影响,引起误写nand了?
所以我考虑对arm主板电源做滤波,滤掉由于掉电引起的瞬时脉冲电压,保护arm主板
至于软件方面就不是特别懂(上面有个大侠说的有道理,就是ECC,不要直接nand read,但这在系统层面如何实现的呢?)
你说的在硬件和软件上进行双重保护,是类似这样的操作么? image镜像应该是不会改变的吧,就算是系统启动后也会保持不变对吧。。。把这个文件从系统中读出来,和原始文件对比,看看什么地方发生了改变
页:
[1]