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.

[参考译文] TMS570LS3137:在 Boo Loadet 应用程序中解定义

Guru**** 2589275 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1077086/tms570ls3137-undefentry-in-boo-loadet-app

部件号:TMS570LS3137

你好! 我对 bootloader 应用程序有疑问。

我正在使用 TI 的通过 CAN 总线引导加载器示例。

当我调用任何 Flash API 函数(第一个函数是 BLInternalFlashStartAddrCheck)时,该程序将跳到 UndefEntry。 它使用任何 Flash API 函数执行此操作。

我尝试使用 CCS 作为管理员,但它不起作用。 我不明白我的问题在哪里。

如果代码对您有帮助,我会留下代码。

非常感谢!e2e.ti.com/.../bootloader_2D00_master.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Federico,

    由于引导加载程序位于闪存库0,要擦除 Bank0中的任何扇区,应将闪存 API 相关功能复制到 SRAM 并从 SRAM 执行。

    能否检查这些功能是否已复制到 SRAM 中?

    您可以使用 CCS 内存浏览器在 apiRunStart 检查内存。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    王一杰! 感谢你的回复。 显然,这些函数是在 SRAM 上复制的。

    /*内存映射*/

    内存

    引导程序(X):Origal=0x00000000 length=0x00000020 vfill = 0xffffffff
    FLASH0 (RX):Origin =0x00000020 Length=0x00010000 vfill = 0xffffffff
    FLASH1 (RX):Origal=0x00010020 length=0x07FF1FE0 vfill = 0xffffffff
    SRAM (rwx):origy=0x08002000 length=0x00002000
    堆栈(RW):原点=0x08004000长度=0x00002000

    /*用户代码开始(2)*/
    错误1
    ECC_VEC (R):Original=(0xf0400000 +(START(向量)>> 3))
    长度=(大小(向量)>3)
    ecc={算法=algoL2R5F021,input_range=vectors}

    ECC_FLA0 (R):Original=(0xf0400000 +)(开始(FLASH0)>> 3)
    长度=(大小(FLASH0)>> 3)
    ecc={算法=algoL2R5F021,input_range=FLASH0}

    ECC_FLA1 (R):Original=(0xf0400000 +)(开始(FLASH1)>> 3)
    长度=(大小(FLASH1)>> 3)
    ecc={算法=algoL2R5F021,input_range=FLASH1 }
    #endif
    /*用户代码结束*/

    }

    内存浏览器:

    我已经用过这个例子,但它是有效的,但对于 CCS V 10.0。 现在,我有 CCS v11.0。  这可能是问题吗? 我 认为 它甚至没有进入功能是很奇怪的。  谢谢!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Federico,

    如果它适用于 CCS10.0,但不适用于 CCS11.0。 我认为这是 CCS11.0问题。 我将与 CCS 团队联系。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,王启杰! 我安装了 CCS10.0,现在该程序可以运行! Apparentaly 是一个11.0版本的问题。 感谢您的回复!!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="45190" url="~ë/support/icros/arm-based 微处理器-组/基于 ARM 的微控制器/f/基于 ARM 的微控制器- forum/1077086/tms570ls3137-undefentry-in-toum-loadet-app/3988384#3988384]11.0,它可以与 CCS10.0配合使用,但不能与 CCS10.0配合使用。 [/引用]

    这可能是 CCS11无法从调试 器加载 F021闪存 API 的问题,因为 CCS 未能在大型 endian 设备上将某些部分正确编程为闪存。

    https://sir.ext.ti.com/jira/browse/EXT_EP-10633 被提出,CCS 11.1中报告了该问题的固定位置