主题中讨论的其他器件:CC3220SF、 CC3200
工具/软件:TI C/C++编译器
团队、
对于 CC3220中看门狗的使用、我们几乎没有什么疑问、这些问题对于构建一个稳定的系统是必要的、该系统可以随时从崩溃中恢复。 感谢您能帮助我们详细了解这些内容、如果您在 CC3220中使用看门狗有没有最佳做法、敬请告知。 该示例运行良好、但我们有一个多线程应用程序、因此实现过程有点复杂。
- 建议在主线程本身中启动看门狗,即 在 Board_initGeneral()之后不久以及在初始化任何其他线程之前从 int main (void)启动看门狗。
- 如果看门狗必须在单独的分离线程中启动,那么它是否具有最低的优先级(1),并且堆栈大小1024是否足够,如示例所示?
- 是否可以将看门狗的超时/重新加载间隔增加到5秒? 我还有其他线程、它们在3到4秒之间循环、因此5秒似乎是最佳的。
- 回调函数是否始终需要 while (1){}循环?
- 在我们的多线程应用中、我们使用 kicker 线程、该线程检查所有其他线程的运行状况、如果为 TRUE、则清除看门狗中断。 这种方法是否正确、如果正确、该线程的理想优先级应该是什么?
- watchdog.c 示例显示了在 Power_disablePolicy()和 Power_enablePolicy()之后清除中断两次。 这是始终必要的。 您能解释一下这种用法吗?
- 应用程序中的 while (1){}用途(主要用于处理错误)是否会触发看门狗复位?
- 看门狗是否保证在超时期间对 CC3220进行完全复位? 是否需要遵循任何其他注意事项或步骤?
- 在任何情况下、看门狗可能会因应用程序错误、存储器问题或一些与硬件相关的问题而失败?
非常感谢您的帮助。
Zac
