This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x NAND中u-boot-spl运行一段时间后无法启动问题



用AM335x开发的控制产品,出厂程序烧写在NANDFLASH中,批量生产使用一段时间后发现有一定的不良率,根据返回品跟踪分析后发现是NAND中的u-boot-spl(ML0)存在位跳变后导致无法启动的问题。具体检查过程如下:

①先利用UART启动模式把u-boot功能加载至DDR RAM中运行,然后利用nand dump 读取NAND中u-boot-spl(ML0)的原始数据信息(包括ECC校验数据),同时,对无法启动和正常启动的NAND中数据内容进行比较,发现无法启动的存在一处NAND数据改变(ML0),FLASH地址0x1800-0x1FFF空间:。

②u-boot-SPL镜像时按BCH8校验模式烧写至NAND,u-boot版本为u-boot-2011.09-psp04.06.00.07,这个问题应该跟u-boot还无关。疑惑的问题上电启动时AM335x ROM Code从NAND中读取spl镜像时是否带ECC纠错功能呢,或者存在缺陷?按照ECC的特性1bit的错误应该能纠错才对呀。

③看了AM335x U-BOOT Guide手册,烧至NAND的u-boot-spl是有4份的,ROM Code是否有损坏自动切换至读取下一备份区SPL功能?!(此功能我把第一个区块的SPL擦除验证测试下应该是正常的)