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.

[参考译文] Concerto F28M35x 看门狗问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/700218/concerto-f28m35x-watchdog-issue

Thread 中讨论的其他器件:controlSUITE

大家好、

我正在尝试在基于 Concerto F28M35x 的项目中使用 WD timer0。

下面是我运行的初始化过程:

空看门狗定时器0初始化(空)

//配置看门狗计时器0
//禁用保护
HWREG (SYSCTL_MWRALLOW)= 0xA5A5A5;
//启用此示例使用的外设。
SysCtlPeripheralEnable (SYSCTL_Periph_WDOG0);
//解锁对看门狗配置的写入。
看门狗解锁(WATCHDOG0_BASE);
//设置看门狗计时器的周期。
WatchdogReloadSet (WATCHDOG0_BASE、WD_value_for_15sec_timeout);
//启用从看门狗计时器生成的复位。
#if WD_SYSTM_IN_DEBUG
//将看门狗计时器设置为在调试器停止处理器时停止计数,
WatchdogStallEnable (WATCHDOG0_BASE);
#endif
WatchdogResetEnable (WATCHDOG0_BASE);
//启用看门狗计时器。
WatchdogEnable (WATCHDOG0_BASE);
//锁定对看门狗配置的后续写入。
WatchdogLock (WATCHDOG0_BASE);
//禁用对受保护寄存器的写入。
HWREG (SYSCTL_MWRALLOW)= 0;

因此、我希望在超时后获得 wd 中断、并在另一个超时后进行复位。

实际上、我在 WD 计时器到期后获得了 wd 中断、但在该计时器到期后、看起来我会在无限循环中反复获得此中断。

看起来我从未获得复位。

出什么问题了?

注:在 wd ISR 内部,我只做增加中断计数器的操作。

谢谢、

Alex。

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更新:
    我写的无限循环不是无限的。
    它从第一个 wd 中断开始、并在第2个中断结束。
    在第2个 WD 中断之后、我希望两个内核(M#和 C28)都将被复位、但不会发生这种情况。
    相反、看起来 ProgramCounter 会获得一些未定义的值(垃圾)。

    1) 1)您能否澄清为什么我一直停留在从第1个中断到第2个中断的 WD ISR 中?
    2) 2)第2次中断后会发生什么情况?

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

    此问题仅与调试设置相关。
    在实际的系统上、它工作正常。

    我想这是关于 M3-C28同步、但不确定是否是100%。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    通过“调试设置”,您是否指的是连接 JTAG 连接器的情况? 通过“实系统”,您是否指的是闪存之外的独立操作? 如果是、请阅读此主题及其指向的链接:

     

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/639607

     

    您是否了解过 controlSUITE 示例?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    两个问题的答案都是肯定的。
    我查看了 controlSUITE、但未找到调试设置示例。 是否可以在连接 JTAG 时模拟 WD 事件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是指 WD 复位事件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一个问题:

    为了在下电上电后(或任何其他复位)运行、我所做的唯一更改是在 cfg 文件中添加以下行:
    boot.bootC28 = true;

    这说明了 C28在复位后卡住的原因、但也没有说明 M3卡住的原因。
    请您澄清一下吗?