Kinetis的"喂狗"时间不能太短了

分享到:

 我最近有点标题党了,老是喜欢起这种赤裸裸的标题,呵呵,不过相信点进来的博友应该懂此“喂狗”的意思,下面咱们好好聊聊Kinetis“喂狗”的问题,走着…

        看门狗功能大家都耳熟能详了,产品在最后量产之前,为了保证系统可靠性我们一般会把看门狗功能加进去,防止代码在某些意外情况下进入死锁状态从而导致整个系统的瘫痪(看门狗超时产生复位信号将系统重启),甚至有些对可靠性要求更严格的领域,都需要加入外部看门狗来保证产品稳定性。Kinetis系列的看门狗使用起来是比较简单的,具体的配置我这里就不多说了,可以直接参考官方的参考代码配置,本篇文章的目的是需要提醒广大用户在使用Kinetis的时候需要特别注意的问题:

1. 看门狗配置寄存器需要在解锁看门狗之后的256个总线时钟周期时间之内完成,也就是说在这256个总线周期之内我们需要快速完成看门狗功能的初始化,正常来讲这个配置的时间肯定足够了,还是强烈建议在配置看门狗之前把全局中断关掉,配置之后再打开全局中断,老话说的好,不怕一万就怕万一啊,万一就那么赶巧在配置过程中来一个中断把时间耗费掉就完了,是吧,安全重要,安全重要,安全重要啊,重要事情得讲三遍,呵呵;

635972221570890000093409.png-g560
2. 我们喂狗的函数也不能被打断,在往看门狗寄存器连续写入0xA602和0xB480两个数据是需要在20个总线周期内必须完成的,so…在刷狗喂狗的过程中也不能打开中断;
635972221601320000751084.png-g560

3. 第三个问题实际上我写这篇文章的初衷,这个问题我们手册里没有像前两点那样在手册中特别标注,但是对我们用户来说却不能忽视的。很多用户为了简单方便起见,会直接在主程序或者某个专门的任务中while(1)或者for死循环加入一个喂狗程序专门负责不断的喂狗,这样简单明了,但是这样是有潜在风险的,对Kinetis来说,每次喂狗的间隔还需要保证至少4个看门狗时钟以上的时间,这个在软件喂狗的时候需要额外注意的。

 

 

继续阅读
步步为营 白话 飞思卡尔 K60(第三期)

超核电子店主yandld倾力打造的 基于超核固件库版本的 飞思卡尔Kinetis 系列入门教程。包你一站式入门 飞思卡尔Kinetis -基于 MK60系列~ 《超核教你学ARM》第三季主要讲解了Kinetis的高级应用,如DMA在各类总线传输上的应用,FlexBUS的高级功能,以及IIC SPI等常用总线传输协议的编程。最后讲解了FTM模块的各类应用,诸如输入捕捉、输出比较、PWM调制等等。

飞思卡尔Kinetis MCU样品现已广泛供货

基于90nm ARM® Cortex™-M4微控制器,提供完善的开发工具和软件支持,适合消费电子和工业应用

飞思卡尔新利器--- Kinetis L 系列MCU整装待发(一)

飞思卡尔搭载着ARM最新32位处理器Cortex-M0+,推出了Kinetis L系列微控制器(MCU)。

飞思卡尔Kinetis MCU组合实现单芯片、多协议Bluetooth Smart和IEEE 802.15.4无线电

飞思卡尔半导体向其广受欢迎的Kinetis系列微控制器添加了无线、多协议产品成员,使支持并促进物联网(IoT)的MCU平台兼容最新的连接标准。作为MCU创新领域的全球领导者,飞思卡尔推出了Kinetis KW40Z无线MCU系列,适用于Bluetooth Smart/Bluetooth Low Energy(BLE) 及IEEE 802.15.4应用。

【学习笔记】为什么I2C从机地址要左移一位

对许多刚开始接触I2C的新手来说,最开始比较疑惑,当MCU做主机与一些I2C接口的从机(比如一些数字传感器,大多数仍为I2C接口)通信时,无论是用IO模拟I2C协议还是使用I2C模块,在发送从机地址时为什么都需要将从机手册的I2C地址左移一位发出去呢?当然这个问题是比较初级的了,高手直接略过,新手权且简单看一看作为学习资料吧。