这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » Nand Flash 启动 时的 ECC问题

共2条 1/1 1 跳转至

Nand Flash 启动 时的 ECC问题

菜鸟
2006-03-17 23:56:13     打赏

为了支持NAND FLASH 的系统引导,S3C2410A具备了一个叫做“Stepping Stone"的内部SRAM缓冲器。当系统启动时,NAND FLASH的前4KB代码自动载入到“Steppingstone”中,然后系统自动执行这些载入的代码。一般这4KB引导代码需要将NAND FLASH 中的程序内容拷贝到SDRAM中,拷贝完后程序会转入到SDRAM中继续执行。

因为考虑到NAND FLASH的位交换问题,在NAND FLASH 向SDRAM拷贝数据时,我加入了ECC校验代码。ECC校验代码我是搬移U-BOOT的ECC部分的(这个ECC算法和VIVIBOOTLOADER的ECC算法以及YAFFS中的ECC算法是一样的)。反复测试程序显示:一旦加入ECC算法,读页数据时很多时候会出现位错误(一位或两位或两位以上的位错误),程序运行不稳定。

问题:1. 为什么多数启动代码中的Nand Flash 的数据拷贝部分没有ECC校验,是不是硬件不支持?

2. 问题会不会和NAND FLASH + SRAM 的启动方式有关呢?

[align=right][color=#000066][此贴子已经被作者于2006-3-17 15:59:05编辑过][/color][/align]



关键词: Flash     启动     时的     问题    

菜鸟
2006-03-18 00:58:00     打赏
2楼

2410a有NAND FLASH控制器,可以自己生成ECC码。也就是说在不考虑纠错的情况下,在读数据页的时候,比较NAND控制寄存器产生的ECC和FLASH中保存的ECC,就可以知道数据是否正确。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]