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.

关于UBL1.50版本的ECC校验功能

发现UBL1.50的4-bit ECC校验功能是失败的,虽然自己调试成功了

请问Ti有没有官发的新版本UBL代码,修复了ECC校验功能?还是想用官发的版本

谢谢

  • Frey,

    请问你使用的是DM36x芯片么?

  • Chris,

       恩,在DM368 DM365上均验证过,UBL1.50版本,4bit ECC校验失效 RBL的4bit ECC是OK的

    当有bit error时,ECC被激活,但是从

    corrState = (AEMIF->NANDFSR & DEVICE_EMIF_NANDFSR_ECC_STATE_MASK) >> DEVICE_EMIF_NANDFSR_ECC_STATE_SHIFT;

    if ((corrState == 1) || (corrState > 3))
    {
    temp = AEMIF->NANDERRADD1;
    return E_FAIL;
    }

    退出,返回值0x5, 导致correction没有被执行。

    代码中似乎缺少文档中提到的Step.9 Clear any previous address calculation by doing a dummy read of an error address register

    通过增加deley能使其起OK

    不过还有些代码似乎和SPRUF11C文档P28的描述不一致,不敢乱改

    不知是否有新版本的UBL

  • Frey,

    最新的ubl是在DM36x IPNC v5.1软件包里面。

    对于ECC部分的代码修正,你还可以DM36x参考勘误表里面的Bootloader: RBL Code 4bit ECC Mode Limitation相关信息。

  • 非常感谢回答。

    目前拿IPNC 5.1有难度

    文档中提到了 4bits ECC的内容,我参考着试试看

    再请教一个问题:通过串口想让UBL在IRAM中运行,而不是烧写到Nandflash中(破坏现场)

    是否是使用slh命令 (目前是用过sfh来烧录)

    slh_<DEVICENAME>.exe -load2IRAM <UBL binary file>
    运行后RBL会自动跳转到UBL吗
    目前设备不在手上,无法尝试
    谢谢
  • Frey.Xia 说:

    再请教一个问题:通过串口想让UBL在IRAM中运行,而不是烧写到Nandflash中(破坏现场)

    是否是使用slh命令 (目前是用过sfh来烧录)

    slh_<DEVICENAME>.exe -load2IRAM <UBL binary file>
    运行后RBL会自动跳转到UBL吗

    从下面文档里面对该命令的解释,应该是可以完成你说的功能。

    http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility

  • 谢谢Chris

  • 你好,你说通过增加deley能使其起OK,请问你曾加的是那个,我也遇到了这个问题,求助

  • 你好,请问是如何解决的,如何增加的delay的时间