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**** 2608275 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/984448/tms320f28388d-firmware-update

器件型号:TMS320F28388D

您好!
客户想要对固件更新程序进行编程。  

他们选择使用默认引导引脚进行闪存引导。 F28x 引导其主引导加载程序并按照预定义的方式分支到0x0008 0000。 然后、他们希望放置一个自定义的第二引导加载程序、该加载程序将检查 UART 是否接收到数据、否则启动应用程序。 因此、如果没有数据传入、它们将分支到闪存中应用代码所在的另一个扇区。 第2个引导加载程序应放置在扇区0中、应用程序应放置在扇区4中。

为了进行评估、他尝试了编程到闪存中的2个项目。 第一个 LED 点亮 GPIO 31、一段时间后熄灭、并分支到第二个软件的起始地址、其中 GPIO34上的 LED 持续闪烁。 他将 SW1的闪存0-3中的链接器 cmd 映射到 SW2的闪存扇区4-9。 这两个项目都是单独的项目,并使用闪存选项更改为‘只擦除必要的扇区’进行编译和写入。

编程后、可以在相应位置看到两个软件的操作码。 它们使用 asm ( “LB 0x00088000”)函数分支到第二个软件。 问题在于成功完成第一个软件后第二个软件未启动。

此过程是否正常?
是否可以分支到主函数的起始地址? 或如何使用 asm (“lb 0x……”) 功能?

此致、Holger

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

    您好、Holger、  

    您描述的过程看起来正确、应该正常工作。  您能否确认 SW1和 SW2都位于同一 CPU 上。  这可能不是问题、但 asm 指令的语法可能不正确。  它应该是 asm (" lb 0x00088000")。  请注意、空格位于未结报价后(" lb...)。  但是、正如我所说的、这可能与问题无关、因为如果您尝试使用您拥有的语法进行编译、编译器将生成错误。  

    您说过您可以在其相应的位置看到 SW2。  在 CCS 中、您能否将 PC 设置为 SW2起始地址(0x00088000)并单步运行?  这是否正常?

    请告诉我、我们可以继续进一步调试。  

    此致、
    Krishna

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

    您好、Krishna、
    他们现在取得了成功。 他们能否通过以太网实现固件更新程序? 他们如何以最佳方式更新 CPU1、CPU2和 CM 闪存? 我们有示例吗?

    进一步的问题:是否可以单独重新发送 CPU1、CPU2和 CM? CPU1、CPU2和 CM 闪存的固件更新后需要执行此操作。

    此致、Holger

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

    您好、Holger、  

    我们不支持基于以太网的固件更新。  关于复位、请参阅 TRM 的第3.3节"重置"、网址  为:https://www.ti.com/lit/pdf/spruii0c/

    谢谢、  

    Krishna

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

    是的、我知道、但客户可以通过以太网编写自己的固件更新程序(第二个引导加载程序)、对吧?

    此致、Holger

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

    Holger、

    客户可以使用以太网作为次级引导加载程序、但请注意、以太网仅可从 CM 访问、而不能从 CPU1/CPU2访问。 因此、客户需要引导 CM、然后通过 IPC 将数据传递到 CPU1。

    此致、

    Vivek Singh

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

    您好、Holger、您对此主题还有其他问题吗? 此致、Krishna