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.

[参考译文] TMS320F28388D:自定义引导引脚后仿真引导失败

Guru**** 2589280 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1124064/tms320f28388d-emulation-boot-fails-after-customizing-boot-pin

器件型号:TMS320F28388D
主题中讨论的其他器件:C2000WARE

各位专家、您好!

我定制了引导引脚、现在控制卡无法仿真引导。

BOOT 引脚具有以下设置。

当我使用 CCS 将示例(led_ex1_blinky)加载到 RAM 并运行器件时、器件无法到达 main。

调试时、CPU 在以下几点停止(0x3fe96f)。

在跳转到"0x3fe96f"之前调用以下"handler (load_addr、run_addr)"函数。

当我定制引导引脚时、为什么仿真引导失败?  我想知道原因。

此致、
Sasaki

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

    您显示的第一个映像是用于写入用户 OTP 设置的配置、而不是用于仿真引导的配置。

    对于仿真启动、您需要写入0xD00、D04、D06。

    此外、当您将应用程序从 CCS 加载到 RAM 时、不会涉及引导模式识别逻辑。 CCS 将在加载后直接控制应用程序。

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

    Baskaran-San、您好!

    感谢你的答复。

    [引用 userid="65565" URL"~/support/microcontrollers/C2000-microcontrollers-group/C2000/f/C2000-microcontrollers-forume/1124064/tms320f28388d-emulation-boot-failure-after 自定义引导引脚/4168738#4168738"]您显示的第一个映像是用于写入用户引导设置的配置,而不是用于引用 OTP。]

    是的、我理解。

    到目前为止、我在没有设置用户 OTP 的情况下进行了评估、当时我能够顺利进行调试。
    但是、在设置 OTP 一次之后、我无法再进行调试。
    我想知道这方面的权变措施。

    此致、
    Sasaki

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

    请分享这些位置的值。 我不确定这是导致问题还是其他问题、

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

    好的。 我共享这个。

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

    为什么你有5AFFFFF -我认为这不会导致你看到的问题。 但我只能理解这一点。

    此外、当您通过 CCS 加载时、仿真/独立启动流程根本不会产生影响。 尝试其他一些示例并检查其是否正常工作。

    或者 、如果您有另一个设置、您可以尝试加载同一示例并查看其是否正常工作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="65565" URL"~/support/microcontrollers/C2000-microcontrollers-group/C2000/f/C2000-microcontrollers-forume/1124064/tms320f28388d-emulation-boot-failure-after 自定义引导引脚/4168833#4168833"]为什么您有5AFFFFF -我认为这不是导致问题的原因。 但我只能理解。

    之所以更改了此设置、是因为我想更改独立引导设置。

    [~ userid="65565" URL"/support/microcontrollers/C2000-microcontrollers-group/C2000/f/C2000-microcontrollers-forume/1124064/tms320f28388d-emulation-boot-failure-after 自定义引导引脚/4168833#4168833"]此外、通过 CCS 加载时仿真/引导流程完全不会显示独立的情况。 尝试一些其他示例并检查其是否正常工作。

    我已经尝试过 C2000ware 示例文件夹中的 SPI 和 LED 程序、但它们都是相同的、无法正常工作。

    当我加载程序时、器件在0x3fe96f 停止。 然后使用 CCS 复位并重新启动、它仍然在0x3fe96f 停止。

    我已经阅读了 TRM 的引导章节、不明白它为什么这么做。

    此致、
    Sasaki

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

    您似乎遇到了 itrap 异常。 您能否从内存窗口中检查地址0x5e 的值-这是导致 itrap 异常的地址。

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

    当我今天再次检查该操作时、示例(led_ex1_blinky)工作正常、没有任何问题。 但客户的程序仍然无法正常工作。

    当我调试他们的代码时、地址0x5E 包含0x0005。

    器件能够在 RAM 引导中执行_c_int00()。
    当我通过"汇编步骤"调试_c_int00 ()时、我在单步执行下面的_TI_auto_init 时会收到一个陷阱。

    我在_TI_auto_init 内部进行调查、并在以下代码处进行陷波。

    您知道是什么导致了这种情况吗?

    此致、
    Sasaki

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

    您能否比较以下工作(您的)和非工作(客户)设置之间的位置内容。

    在客户设置中、这些位置中的一个似乎编程不正确。

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

    您好!

    我比较了这些值、它们是相同的。两个仿真启动都是闪存启动。

    非工作(客户)设置

    工作(MY)设置

    顺便说一下、我的项目是 LED_ex2_blinky_DCSM、其编译配置设置为 CPU1_FLASH。

    此外、在我的项目 LED_ex2_blinky_DCSM 中、如果编译配置设置为 CPU1_RAM、它将不会像客户的项目那样进入 main。

    此致、
    Sasaki

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

     LED_ex2_blinky_DCSM 应该只执行一次、以便将值编程到我之前响应中给定的 OTP 位置。

    对这些值进行编程后、您可以尝试任何其他示例以检查其是否正常工作。

    并且不 需要 CPU1_RAM 配置、因为本示例的目的是对 OTP 值进行编程。

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

    感谢您的支持。

    我还尝试了另一个项目(GPIO_ex3_interrupt)、它的工作正常、LED_ex2_blinky_DCSM 也是如此。 类似地、这些寄存器如下所示。

    您知道是什么导致了这种情况吗?

    此致、
    Sasaki

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

    正如我之前提到的、DCSM 项目涉及到写入 OTP 位置、您只能执行一次。 所以这不是问题。

    看起来您在运行其他项目时没有遇到问题。因此、这很好。

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

    我想知道该程序为什么不跳转到 main。您知道该程序为什么不跳转到 main 吗?

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

    我不确定如何实现 c_init 函数。 我怀疑有一些对 DCSM 寄存器或相应 OTP 的访问、这会导致 ECC 错误。这可能是程序无法到达 main 的原因。