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:如何为看门狗配置 NMI 中断处理程序?

Guru**** 2425240 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1308037/tms570lc4357-how-to-configure-nmi-interrupt-handler-for-watchdog

器件型号:TMS570LC4357

尊敬的 IT 支持:

我们要使用 NMI、而不是看门狗中的复位。

 dwwdInit (rtiREG1、generate_NMI、3900、size_100_percent);

如何配置 NMI  中断处理程序?

NMI 中断 API 将在哪里创建?

应使用哪个 VIM 通道?

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

    尊敬的 Manoraj:

    请参阅我最近创建的以下常见问题解答:

    (+)[常见问题解答] TMS570LC4357:如何使用数字看门狗-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    在上面的常见问题解答中、我讨论了如何使用内部数字看门狗创建 NMI 和复位。

    --
    谢谢。此致、
    Jagadish。

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

    Jagadish、您好!

    感谢您的回复

    看门狗_NMI 在运行时不更新。

    只有当我将断点放在第105行、它才会更新

    为什么  WATCHDOG_NMI 在运行时未更新?

    是否有任何编译器优化?

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

    尊敬的 Manoraj Selvaraj:

    我理解这个问题、下面突出显示的行是错误的:

    这是不对的、因为 SR1[1](ESMSR2寄存器) 在调用"esmGroup2Notification"之前、"vimECCErrorHandler"函数中的状态已被清除。 所以、我们不应该通过检查  SR1[1] 寄存器来找出 ESM 错误。

    这由以下行清除:

    以上任一行都可以清除 SR1[1]寄存器。 在第二行、你可以看到我们正在强制写入以清除 SR1[1]寄存器中的相应位、但在我的测试中、我还发现读取 IOFFHR 也会清除 SR1[1]寄存器。

    正确的方法是执行以下操作:

    只需使用24验证"通道"参数传递给该函数(即 RTI_WWD_NMI)。

    但你可能会怀疑, 如果 你保留了断点,为什么你会设置 SR1[1]标志? 这是因为这不是旧状态这是由断点创建的新状态、我的意思是、如果我们设置一个断点、看门狗超时将再次过期、这将再次设置 SR1[1]寄存器。

    感谢您指出这个错误、我会再次将修改后的代码上传到常见问题解答中。

    还要记住以下几点:

    即使进行了上述修改、即使您在表达式窗口中设置了"continuous refresh"、但在运行代码时也不会更新变量、要查看您只需要暂停它的状态。 "持续刷新"只能 在仅暂停代码时进行持续刷新。

    现在您可以在代码中看到的区别是、您可以直接在下面的行中设置断点

    无需在这一行之前设置断点并且无需进行逐步调试、这是因为现在变量"watchdog_NMI"将每次都被设置。

     --
    谢谢。此致、
    Jagadish。

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

    Jagadish、您好!

    非常感谢您的详细讲解。