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.

[参考译文] CCS/TMS570LS0432:需要从应用程序热重启到引导加载程序。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/794657/ccs-tms570ls0432-need-to-warm-reboot-from-application-to-bootloader

器件型号:TMS570LS0432

工具/软件:Code Composer Studio

在我的应用中、我实现了一个 Modbus 寄存器、用于热启动到引导加载程序。 当 Modbus 向该寄存器写入幻数时、应用程序应在引导加载程序中执行热引导、等待来自 PC 上升级程序的命令。

我尚未找到如何从应用程序成功执行热启动或任何其他到引导加载程序的传输。

我看到过一些文章说要在 systemREG1->SYSECR 中设置位14和位15。 这不奏效。 我的应用程序在 prefetchEntry 中挂起循环。

我们的设备将安装在不方便且经常处于危险的位置。 我们不能要求客户按下器件上的按钮。 它们必须能够通过 RS-485进行固件升级。

感谢您的帮助。

   Ken

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

    这是重置器件的正确方法:
    systemREG1->SYSECR =(0x10)<<14;

    请检查包含导致预取中止的指令地址的指令故障地址寄存器(IFAR)、并检查包含有关最后指令中止源的状态信息的指令故障状态寄存器(IFSR)。

    BTW、将值写入 SYSECR 的任务的工作模式是什么? SYSECR 不能在用户模式下被写入。