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.

[参考译文] TMS320F280037C:无需更改引导引脚配置即可通过 MCAN 模块进行固件更新

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1277588/tms320f280037c-firmware-update-over-mcan-module-without-changing-bootpin-config

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

您好!

我有兴趣基于 CAN FD 的 CAN 开发固件更新工具、而无需更改引导引脚配置。

要求如下:

-应用程序默认引导至闪存。

-通过 MCAN 模块接收命令时,设备进入固件更新模式,如果我正确,设备应切换到 CAN 引导加载程序并接收程序。

-设备可以根据需要重新启动

-我们有兴趣立即运行应用程序,所以闪存引导是默认配置

我有以下问题:

-完成从主应用程序到内核的切换的机制是什么?

- MCAN 是否可用于固件更新?

-你有和 PC 端已经开发的工具,发送 aplcaion 和命令?

-有没有更好的方法来执行固件更新?

-从我在另一篇文章中看到的内容来看,在 SCI bootloader 实例中有可能发送一条无效消息以在闪存模式中引导,但我们对该解决方案不感兴趣。 是否可以保留刷写的默认僵尸选项、并通过软件更改引导模式并开始固件更新?

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

    更新:

    我找到了另一个类似于我的案例的帖子。 https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/984448/tms320f28388d-firmware-update 。 但是,我不能正确地理解这个帖子。 似乎有两个引导加载程序、但我无法展示如何实现它们以及它们如何决定选择哪个引导选项。 您能否确认该选项是否可行?  

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

    尊敬的 David:

    我们在  {C2000Ware_root}\utilities\flash_programmers\can_flash_programmer 下有用于 F28003x 的 CAN 闪存编程器。  can_flash_programmer 需要与 F28003x 器件的 C2000Ware 中提供的 CAN 闪存内核工程一同使用、网址为{C2000Ware_root}/driverlib/f28003x/examples/flash.  

    CAN 闪存编程器可用于通过 F28003x 器件上的 MCAN 执行固件更新。  

     可从 https://www.ti.com/tool/download/C2000WARE/5.00.00.00下载 C2000ware

    有关更多详细信息、请参阅以下文档。

    https://www.ti.com/lit/an/sprabv4f/sprabv4f.pdf?ts = 1696523424059

    希望这将有所帮助。

    此致、

    拉杰什怀特

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

    您好、Rajeshwarm:

    感谢您提供应用手册、我觉得它很有趣。 不过,我相信在我们发展的阶段,这是相当复杂的。 其他哪些选项是可行的? 在 TI 关于引导加载101的视频中、介绍了几个选项。 其中之一是在不会被擦除的扇区中刷写引导加载程序、并在满足条件时从应用程序中调用引导加载程序。 对于我们的要求、您认为哪一项是最佳的实现方式?

    此致、

    大卫

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

    尊敬的 David:

    在永远不会被擦除的扇区中刷写引导加载程序的方法、如果满足条件、只需在 引导加载程序和应用程序不在同一存储块上运行时从应用程序调用引导加载程序即可、  这与 LFU 参考设计类似。

    我们提供了 LFU 参考设计、

    https://www.ti.com/lit/ug/tiduey4d/tiduey4d.pdf?ts = 1697494290171

    此致、

    拉杰什怀特

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

    您好、Rajeshwarm:

    感谢您的答复。 我也将学习此应用手册。 我还想从您的角度了解哪种方法在复杂性和功能方面更有趣

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

    "只要引导加载程序和应用程序不在同一组上运行、就不需要这种条件。"

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

    是否可以在 RAM 中复制该闪存扇区、擦除它并正确恢复引导加载程序?

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

    尊敬的 David:

    而不是将引导加载程序扇区复制到 RAM 并擦除存储体和恢复。 您只能擦除存在应用程序的扇区并对其进行编程。

    此致、

    拉杰什怀特

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

    您好、Rajeshwarm:

    感谢您的建议。 我想我可以开始工作,我可能会在未来创建另一个职位,以获得进一步的帮助。

    此致、

    大卫