主题中讨论的其他器件:HALCOGEN、
解释如何在无法馈入看门狗的情况下、使用数字看门狗创建 NMI 中断和生成复位!
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.
解释如何在无法馈入看门狗的情况下、使用数字看门狗创建 NMI 中断和生成复位!
1. NMI 中断:
实际上、在 HALCoGen 中有一个关于此用例的示例。 但这段代码中有一个小错误。
在本例中、您可以看到它们正在启用 IRQ 中断、但问题是看门狗 NMI 不是 IRQ 中断、而是 FIQ 中断。
您可以看到 NMI 中断在中断通道0上
看门狗 NMI 中断将 进入 ESM2.24通道。 因此、只要看门狗时间到期、您就会通过设置 ESM2.24通道来获得"esmHighInterrupt"。
但您可以看到该 ESM High 中断是一个 FIQ 中断:
此处、我们应启用 FIQ 中断、然后只要看门狗无法 馈送、就只会生成 NMI 中断。
您会看到我调用 _enable_interrupt_而不是 _enable_IRQ 来启用 IRQ 和 FIQ 中断。
下面是在 TMS570LC4357 Launchpad 上测试的项目:
e2e.ti.com/.../6433.Digital_5F00_Watchdog_5F00_NMI_5F00_Test_5F00_LC4357.zip
看门狗复位:
只需对上面的代码进行很少的更改、我们就可以创建用于复位的代码而不是 NMI 生成:
但此复位生成也有以下几个问题:
i) 看门狗复位只能工作一次、在首次看门狗复位后将无法正常工作(我的意思是不会创建中断、因此这意味着第二次之后将不会发生馈送)
ii)在 HDK 电路板上、"EXTRST"标志在看门狗复位后不会被置位、仅"WDRST"将被置位、但在 Launchpad 上、这两个复位都将被置位。
下面的主题中介绍了上述问题的根本原因、还针对这两个问题建议了必要的权变措施:
(+) TMS570LC4357:看门狗复位时的 WDT 处理-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛