Kinetis“喂狗”的问题.doc
《Kinetis“喂狗”的问题.doc》由会员分享,可在线阅读,更多相关《Kinetis“喂狗”的问题.doc(2页珍藏版)》请在三一文库上搜索。
1、Kinetis“喂狗”的问题我最近有点标题党了,老是喜欢起这种赤裸裸的标题,呵呵,不过相信点进来的博友应该懂此“喂狗”的意思,下面咱们好好聊聊Kinetis“喂狗”的问题,走着看门狗功能大家都耳熟能详了,产品在最后量产之前,为了保证系统可靠性我们一般会把看门狗功能加进去,防止代码在某些意外情况下进入死锁状态从而导致整个系统的瘫痪(看门狗超时产生复位信号将系统重启),甚至有些对可靠性要求更严格的领域,都需要加入外部看门狗来保证产品稳定性。Kinetis系列的看门狗使用起来是比较简单的,具体的配置我这里就不多说了,可以直接参考官方的参考代码配置,本篇文章的目的是需要提醒广大用户在使用Kinetis
2、的时候需要特别注意的问题:1. 看门狗配置寄存器需要在解锁看门狗之后的256个总线时钟周期时间之内完成,也就是说在这256个总线周期之内我们需要快速完成看门狗功能的初始化,正常来讲这个配置的时间肯定足够了,还是强烈建议在配置看门狗之前把全局中断关掉,配置之后再打开全局中断,老话说的好,不怕一万就怕万一啊,万一就那么赶巧在配置过程中来一个中断把时间耗费掉就完了,是吧,安全重要,安全重要,安全重要啊,重要事情得讲三遍,呵呵;2.我们喂狗的函数也不能被打断,在往看门狗寄存器连续写入0xA602和0xB480两个数据是需要在20个总线周期内必须完成的,so在刷狗喂狗的过程中也不能打开中断;3. 第三个问题实际上我写这篇文章的初衷,这个问题我们手册里没有像前两点那样在手册中特别标注,但是对我们用户来说却不能忽视的。很多用户为了简单方便起见,会直接在主程序或者某个专门的任务中while(1)或者for死循环加入一个喂狗程序专门负责不断的喂狗,这样简单明了,但是这样是有潜在风险的,对Kinetis来说,每次喂狗的间隔还需要保证至少4个看门狗时钟以上的时间,这个在软件喂狗的时候需要额外注意的。好了,由于问题比较简单,所以就写到这了,大家知道这个事就行了,哈哈。未完待续
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Kinetis 喂狗 问题
链接地址:https://www.31doc.com/p-3253458.html