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

分享到:

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

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

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

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

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

 

 

继续阅读
Kinetis启动分析

在对Kinetis 系列MCU开发应用程序或编写硬件模块的驱动程序之前,我们需要对其启动流程有所了解,对于像ARM这类的复杂的32位片上系统来说,在启动代码部分,需要通过软件对一些硬件资源进行配置和设置一定的工作状态,这样我们就不得不去认真的去了解它了。

轻松配置LPC175x系统时钟

LPC175x作为NXP公司主推的cortex-M3内核芯片,广泛应用于各工控、电子计量、报警系统等领域,无论何种应用,根据实际需求选择合适的时钟源并配置合理的系统时钟频率都是必不可少的。

恩智浦发布MCUXpresso软件和工具,为其强大的微控制器产品组合提供统一的开发支持

恩智浦半导体NXP Semiconductors N.V.(纳斯达克代码:NXPI)今天发布MCUXpresso软件和工具,这是一款全新的Kinetis和LPC微控制器(MCU)通用工具包,旨在为嵌入式设计人员提供高品质的工具,实现无缝协同工作,并配合ARM® Cortex®-M生态系统的最佳工具,从而大幅减少设计人员开发工作量、时间和成本。

当OpenSDA遭遇WIN10

目前使用Windows10操作系统的工程师越来越多,在使用Kinetis的FRDM板子OpenSDA时会碰到无法被系统识别的问题。如何能在Win10系统中继续使用FRDM板子上的OpenSD。

Kinetis中断使用技巧

Kinetis为了提高中断执行的速率,在启动代码部分把中断向量表copy了一份放到RAM里面,然后把向量中断寄存器重定位到该部分向量表,这样一定程度上缩短了Kinetis执行中断的时间。