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.

[参考译文] TMS570LC4357:看门狗强制 MCU 重新启动

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1615212/tms570lc4357-watchdog-forces-mcu-restart

器件型号: TMS570LC4357

嗨、 gundavarapu

我遇到了另一个新问题。

首先、我的配置如下:

初始化看门狗和 RTI 模块

2.定期喂狗

3.在 MCU 上进入 SYS 模式

4.编写一个函数来强制 MCU 的看门狗复位

5. MCU 运行时错误检测(如果触发了来自 ESM 组 2 的中断,立即执行复位并重新启动操作)

------------------------------------------------------------------------------------------------

我目前正在验证强制看门狗重启功能。 在执行时、它会导致 DataEntry 出现异常。 我实施的功能是否存在问题?

以下是程序执行期间的串行端口输出:

此外、我想问一问、MCU 运行期间是否需要进行错误检测。 如果是、是否应同时监控 ESM 组 1 和组 2 中的所有通道? 如果为错误检测启用中断、这是否会影响 RAM?中 F021 API 功能的执行

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

    嗨、Shuo、

    我在您的屏幕截图中没有发现任何问题、它们对我来说似乎没问题。 是否可以提供一次完整的项目?

    --
    此致、
    Jagadish。

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

    嗨、 gundavarapu

    我遇到的问题是执行 Force_Watchdog_Reset 函数会导致 DataEntry 异常。

    如串行端口输出中所示、在 RTI 中断期间向看门狗馈送看门狗。 执行 Force_Watchdog_Reset 函数后、发生了异常、因此看门狗馈送信息丢失。

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

    嗨、Shuo、

    我在您的屏幕截图中没有发现任何问题、它们对我来说似乎很好。 是否可以提供一次完整的项目?

    我的意思是,我在屏幕截图中验证了您的代码,我没有看到任何问题,代码对我来说似乎很好。 您是否可以共享您的完整项目?

    --
    此致、
    Jagadish。

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

    嗨、 gundavarapu

    很抱歉晚才回复。

    我将按如下方式附上我的项目:

    e2e.ti.com/.../TMS_5F00_95_5F00_Watch_5F00_Dog_5F00_Reset_5F00_Test.rar

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

    嗨、Shuo、

    我了解了问题的根本原因。

    这是由于 SCI、我的意思是看门狗复位后外设再次被禁用。

    并且由于复位源是看门狗、未调用以下 API:

    如果复位源是看门狗、则执行将直接跳转到红色突出显示的行、并且不会执行所有蓝色突出显示的行。

    这意味着外设不会通过看门狗复位启用、但是我们尝试直接调用 SCI 初始化、而不启用相应外设的时钟并生成 DATA_ABORT。

    在看门狗复位情况下、解决方案很简单、只需调用系统初始化、VIM 初始化等、同样如下所示:

    现在、您可以看到在没有数据中止的情况下它正在重复。

    以下是修改后的工程供您参考:

    e2e.ti.com/.../TMS_5F00_95_5F00_Watch_5F00_Dog_5F00_Reset_5F00_Test.zip

    --
    此致、
    Jagadish。

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

    嗨、 gundavarapu

    我的错误—我认为这会触发 NMI 中断。 谢谢、这完全解决了我的问题。