我把用 AISgen_d800k008生成的AIS文件, 烧入NAND,写入正确时, 正常启动.
但发现以下问题.
(1) NAND 第一页的数据, 出现 1~4 BIT的错误, 也能正常启动.
(2) 但 第二页开始,只要出现 1 BIT的错误, 就根本不启动.
请问这是什么原因?
是否要写一个带 ECC恢复功能的BOOTLOAD, 放在第一页, 让它LOAD以后的页?
请高手们指点!
Tony Tang:
C6748的bootloader带ECC及修复功能。请问你是如何测试的呢?人为修改导致错误?
YongGen Li:
回复 Tony Tang:
你好.
这是个老问题.
C6748的硬件bootloader, 正常启动时(300MHZ),没问题.
速度提到456MHZ 时, ECC修复功能失效。
只要NAND数据的 1 BIT 被改写, 就不起动.
不知道 TI 解决没有?
(ECC区域和数据区域整块地烧, 就可以"人为地破坏1BIT")
Tony Tang:
回复 YongGen Li:
YongGen,
在PG2.1 and PG2.2的ROM bootloader中,page 0是好的,如果当page 1的错误超过4bit,或者ECC本身哪怕只有1bit错误时,就会Abort。
如果page 1的数据的错误小于4bit,是可以纠正的。
对于ROM bootloader来讲,错误的条件是:多于4bit的数据错误,或者有任何的ECC本身的错误。
YongGen Li:
回复 Tony Tang:
你说的对.
CPU CLOCK = 300MHZ 时, 这些都没问题.
不过 CPU CLOCK = 456MHZ 时, ECC 修复功能失效.
Tony Tang:
回复 YongGen Li:
Yongen,
你是说同一颗芯片将频率配置到456MHz后,ECC修复功能就失效了吗?还是说某个版本后才有这个问题?
或者说456MHz的芯片工作在300MHz或者375MHz时,也有这个问题,还是就没有问题了?
YongGen Li:
回复 Tony Tang:
将频率配置到456MHz后,ECC修复功能就失效.
300MHz时正常.
我买的几百个片都一样, LCDK6748也一样.