Thread 中讨论的其他器件: CC3235SF
工具/软件:
尊敬的 TI 团队:
我目前正在使用 FreeRTOS 处理 CC3230SF 项目。 我已经在Watchdog_RESET_ON模式中配置了看门狗计时器、并且看门狗在一个单独的任务中被清除 (watchdogTask)。 正常运行时、一切正常、并且馈送看门狗 一致。
现在我想 有意模拟系统挂起 以测试看门狗复位机制是否按预期运行。
我面临的问题如下:
-
当我特意引入一个像一秒钟的故障调用
initI2C()(失败但不会崩溃)时、系统不会完全挂起、watchdogTask仍然会运行、并且看门狗会继续馈送。 -
因此、即使主逻辑无响应、系统永远不会复位。
我的问题:
-
如何特意挂起系统 (例如,模拟死锁,无限阻塞,外设失速等)、防止看门狗被清除?
-
是否有任何已知的方法 导致外设导致的系统挂起 例如强制 I2C/SPI 或 UART 无限期阻止?
-
将
Watchdog_clear()呼叫从单独的任务转移到我的中mainThread()、以便更有效地捕获应用程序挂起、这是否更好? -
是否有任何最佳实践或 TI 建议的测试方法可供使用 验证看门狗复位行为 ?
最后、我正在寻找任何可靠的方法来强制系统挂起或死锁、以便可以观察看门狗是否正确复位 CC3230SF 器件。
提前感谢您的帮助和建议!