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.

[参考译文] TMS320F28379D:通过应用配置 OTP BOOTCTRL 寄存器

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/946064/tms320f28379d-configuring-otp-bootctrl-register-via-application

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

大家好、

我的应用需要从闪存引导、但我也希望通过 CAN 更新我的固件(程序到闪存)。

我找到了一个解决方案、它与我的要求 C2000软件控制固件更新过程(SPRACN1)非常相似、但在本文档中、它完全用于 TMS320F28004x 器件。 因此、它们在引导模式引脚上具有两种不同的引导模式配置。 在我的应用中、闪存引导和获取模式使用相同的 GPIO 引导模式配置。  

我有疑问、能否从应用程序配置 OTP BOOTCTRL 寄存器、即何时通过 CAN 接收更新请求、仅用于固件更新? 复位后对 OTP 寄存器进行编程是否可行、CPU 仍将等待从 CAN 引导?

谢谢、

Mateusz Stasiak

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

    您好!

    [引用] 我有一个查询、能否从应用程序配置 OTP BOOTCTRL 寄存器、即何时通过 CAN 接收更新请求仅用于固件更新?  [/报价]

    是的、您可以在对应用程序进行编程时更新 OTP BOOTCTRL。 您需要在.out 文件中包含这些设置。 我建议查看 安全工具 、它有助于生成您可以包含在项目中的所需文件。  

    [引用] 是否可能、或者如果我在复位后对 OTP 寄存器进行编程、CPU 仍将等待从 CAN 进行引导? [/报价]

    在这种情况下、除非您将引导模式引脚设置更改为"获取模式"、否则它将以 CAN 引导方式引导(基于引导模式引脚设置)。 更新 OTP 设置时、您也可以更改引导模式引脚、并将这些引脚值驱动为 Get Mode、但这意味着您最终将使用4个引脚作为引导。

    此致、

    Vivek Singh

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

    在本例中、我必须使用一个引导引脚位置。 GET 模式(CAN)和闪存引导都需要将 GPIO71和 GPIO84设置为1。 对于 CAN 和闪存引导、DMODE 值0x07唯一不同的地方。

    在我的情况下、我要从闪存启动应用、然后通过工作程序启动 CAN 固件更新。 此时、我应该为 CAN 引导配置 BOOTCTRL 寄存器、并在更新后的应用程序配置中配置该值以从闪存引导吗? 是否应保证在下次复位后从闪存引导?

    我了解了自定义引导加载程序、但找不到适用于 CAN 引导加载程序的特定解决方案。

    最棒的

    Mateusz Stasiak

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

    您好!

    请注意、OTP 是"一次性可编程"设置、因此您只能在 OTP 中更新一次设置、之后不能在该器件中更改这些设置。 在这种情况下、您需要在闪存中将次级引导加载程序作为工作代码的一部分、并根据某些特定命令调用该引导加载程序。

    您可以在 C2000Ware ( \libraries\boot_rom\f2837xd\revB\rom_sources\F2837x_bootrom\cpu01-bootrom\source)。

    此致、

    Vivek Singh

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

    您好、Vivek、

    感谢您的回复。 这对我们非常清楚。 我还有两个问题。

    1.您是否有任何应用手册或示例,说明如何使用这些库?

    2.您是否建议使用任何 Windows/Linux 应用程序将 hex2000输出文件中的数据转换为 CAN 引导加载程序可接受的格式、然后使用 CANbus 分析器进行发送?  

    最棒的

    Mateusz Stasiak

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

    我正在邀请其他专家回答这些问题。

    此致、

    Vivek Singh

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

    你好

    相关问题。

    1.你所指的是哪些库? Vivek 链接了引导 ROM 源代码。 您需要参考源代码中的注释/详细信息。 如果您有疑问、我们可以在论坛上澄清问题。

    2.十六进制实用程序会将应用程序数据放入 CAN 引导加载程序支持的格式。 您可以创建一个 Windows 应用程序、该应用程序使用它们提供的 Peaksystem PCAN 库通过 PCAN USB 分析器发送数据。

    此致

    Chris