TI中文支持网
TI专业的中文技术问题搜集分享网站

AM3352: SD卡更新nand_flash启动映像ECC校验

Part Number:AM3352

    目前AM3352从nand_flash启动,sysboot9=1,可以正常启动,sysboot9=0,不可以正常启动,nand_flash中的启动映像是由SD卡启动的u-boot更新的(编译u-boot2011.09,参照开发板和教程更改编译),采用的ECC校验为HW BCH8。nand_flash的spare=128byte,所以怀疑ROM_CODE在加载时采用的校验为BCH16。问题在于u-boot2011.09不支持HW BCH16。

    所以目前想更新u-boot来支持  HW BCH16  ,不清楚哪一版支持?我目前下载了u-boot2019.01,但是俩个u-boot差距很大,本人又不太熟悉(也没有教程案例),不知是否有该部分的案例可以参考(am3352利用SD卡启动的u-boot对NAND_FLASH更新映像)

Shine:

较新版本的processor SDK可以支持bch16。Nand flash的启动可以参考uboot手册。https://software-dl.ti.com/processor-sdk-linux/esd/docs/07_03_00_005/linux/Foundational_Components/U-Boot/UG-NAND.html

,

MENGDONG FENG:

感谢您的回复,还有一个疑问,u-boot中ECC的校验方式是哪个阶段生效的,比如选择HW BCH8,am3352从SD卡读取数据后,然后写入NAND的时候生效?是谁计算出的?AM3352?如果ECC是AM3352计算的话,那这个应该和U-boot没有关系 ,u-boot应该只是选择校验方式即可,为什么会出现不支持的情况?还是?关于这部分不太理解。如果是AM3352计算的话,那应该修改u-boot,支持设定为BCH16应该也是可以的      

,

Shine:

请看一下下面的帖子,讲得比较清楚。https://e2e.ti.com/support/processors-group/processors/f/processors-forum/823910/linux-am3359-nand-boot-issue

,

MENGDONG FENG:

这个帖子之前看过,讲的是从nand_flash启动的时候,ROM_code计算一个ECC,然后和存放在NAND中的ECC进行比较,我的问题是nand_flash中存放的ECC是怎么来的?AM3352从SD卡中读取数据后,再将数据写入nand_flash,同时会写入ECC,这个ECC是AM3352自身计算出的?还是AM3352通过编译出的镜像文件计算出的?

,

Shine:

我在e2e上发帖问了一下国外的工程师,请关注下面的帖子回复。e2e.ti.com/…/am3352-how-to-calculate-the-ecc-stored-in-nand-flash-when-using-sysboot9-1-ecc-done-by-rom

赞(0)
未经允许不得转载:TI中文支持网 » AM3352: SD卡更新nand_flash启动映像ECC校验
分享到: 更多 (0)