加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如果flash 容易出现ECC 校验错误导致wince 系统不启动,有可能是

发布时间:2020-12-15 07:09:42 所属栏目:百科 来源:网络整理
导读:问题现象,不是所有机器都这样的。有一批机器是这样,客户用了一段时间就不启动了,甚至有些在仓库放一段时间就不动了,后来回来拆机发现很多ecc 错误。 这个机器已经量产了有一年多,以前卖很多都没有问题。现在突然频繁出现,超过30% 的机器会出现。 首先

 

问题现象,不是所有机器都这样的。有一批机器是这样,客户用了一段时间就不启动了,甚至有些在仓库放一段时间就不动了,后来回来拆机发现很多ecc 错误。

这个机器已经量产了有一年多,以前卖很多都没有问题。现在突然频繁出现,超过30% 的机器会出现。

首先怀疑是来料问题,因为别的一个同CPU的机器不会,果然换掉nandflash 就不会了,出问题的机器换到不出问题的机器也会有这种现象。

所以第一步是换料

第二步是重新格式化整个flash,把坏块处理一下。



是否也有一些是硬件原因呢?

这个帖子里面说的现象和我的太像了,虽然我的是SLC nandflash

http://topic.csdn.net/u/20100709/11/74da915c-d800-404e-bd5f-f6a996c3099c.html?seed=1778424306&r=79669232#r_79669232

CPU用的是S3C2451,和S3C2450没什么区别,BSP用的是S3C2450的,CE6.0,在烧录BOOTLOADER和OS以及启动OS等过程中,只要涉及到ECC的校验就容易出错。用的是MLC的NAND FLASH。

当我把TACLS、TWRPH0、TWRPH1三个值设置成BSP自带的数值时ECC每次都出错,EBOOT和OS根本无法启动。
// Default NAND Flash timing @HCLK 133MHz (tHCLK = 7.5ns)
#define	 DEFAULT_TACLS	 (1)	// 1 HCLK (7.5ns)
#define	 DEFAULT_TWRPH0	(4)	// 5 HCLK (37.5ns)
#define	 DEFAULT_TWRPH1	(1)	// 2 HCLK (15ns)

// for ECC decoding with Dummy Data
#define	 DUMMY_R_TACLS	(0)
#define	 DUMMY_R_TWRPH0	(1)
#define	 DUMMY_R_TWRPH1	(1)

// for ECC encoding with Dummy Data
#define	 DUMMY_W_TACLS	(0)
#define	 DUMMY_W_TWRPH0	(0)
#define	 DUMMY_W_TWRPH1	(0)

---------------------------------------------------------------------------------
而当我把以上9个值都设置成最大值7的时候,ECC出错的问题才能得到一定的改善,但是偶尔仍然会出错导致无法启动OS,7已经是寄存器能够设置的最大值。

在另一个产品中用的是S3C2416,使用同样的MLC NAND FLASH,CE5.0,用BSP自带的数值就不会有错。

所以麻烦大家指点一下可能是什么原因。
硬件上可能会导致这样的问题,但是估计不会这么严重,是否其它的一些寄存器配置还需要注意呢?比如一些时钟配置之类的?

谢谢!


结帖了,是VDD_SRAM的电压不足导致的,因为NAND相应的读写控制信号是GPA,而GPA的相应电压与VDD_SRAM有关。



这位兄弟的现象和我的很像,现在先测试一下看是否对先。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读