Part Number:AM3352
当sysboot9设定为ECC DONE BY ROM时,启动失败,设定为ECC handled by nand时,启动成功,所以目前怀疑是ECC校验的问题,目前看手册GPMC的ECC校验默认时BCH8,使用ELM硬件校验。
目前我的nand)flash的ID manId: 2C DEVICE_ID :DA,这个ID号也不会转变ECC校验的选项,不知道rom_code读取nand_flash的检验是如何选择的?是否会根据NAND的spare的空间大小更改为BCH16?(我这边的nand_flash的spare足够BCH16检验)
Shine:
l两者的区别请看下面的帖子。ECC done by ROM code is the exactly the above procedure: for each 512 byte sector the ELM module inside the GPMC calculates the ECC and compares against the value stored in the spare area for this sector.
ECC done by NAND means that the ECC correction is done internally in the NAND, and the ROM code simply reads the 512 byte sector without doing any ECC. Not all NAND memories support this feature though.https://e2e.ti.com/support/processors-group/processors/f/processors-forum/823910/linux-am3359-nand-boot-issue
,
MENGDONG FENG:
OK,看起来spare空间大的时候会采用BCH16的方式
,
Shine:
是的。