Freescale MKL16Z1288VF4 芯片调试接口

WDOG监视内部系统操作,并在发生故障时强制复位。它可以运行在一个独立的1 kHz低功率振荡器,具有可编程刷新窗口,以检测程序流或系统频率的偏差。

看门狗计时器保持一个时间在系统上运行,并重置它,以防其故障。

COP 时钟有 1KHZ时钟 和总线时钟两个来源。

COP看门狗旨在在应用软件出现故障时强制重置系统 按预期执行。 防止系统从COP定时器复位(当它是 启用),应用软件必须定期复位COP计数器。 如果 应用程序丢失并且在超时之前无法重置COP计数器,a 生成系统重置以强制系统返回已知的起始点。
任何复位后,COP看门狗都会启用。 如果没有使用COP看门狗 应用程序,可以通过清除SIM_COPC [COPT]来禁用它。
下面的是喂狗操作: 在选定的超时期间,通过将0x55和0xaa(按该顺序)写入sim服务COP(SrvCOP)寄存器的地址来重置COP计数器。写入不会影响srvCOP寄存器中的数据。一旦写入序列完成,COP超时周期就会重新启动。如果程序无法在超时期间执行此重新启动,则微控制器将重置。此外,如果将0x55或0xaa以外的任何值写入srvCOP寄存器,则微控制器立即重置。
SIM_COPC[COPCLKS]选择用于COP计时器的时钟源。时钟源选项要么是总线时钟,要么是内部1 kHz时钟源。对于每个时钟源,相关的超时由SIM_COPC[COPT]控制。下表总结了SIM_COPCTRL[COPCLKS]和SIM_COPC[COPT]字段的控制功能。COP看门狗默认从1 kHz时钟源运行,最长超时是2的10次方 个周期。


选择总线时钟源后,可以通过设置SIM_COPC[COPW]进行窗口COP操作。在此模式下,写入SIM_SRVCOP以清除COP定时器必须发生在所选超时时间的最后25%。过早的写入会立即重置芯片。当选择1 kHz时钟源时,窗口COP操作不可用
下面这段很重要: COP计数器由对SIM_COPC的第一次写入和任何系统重置后初始化。后续写入SIM_COPC对COP操作没有任何影响。即使应用程序使用SIM_COPC[COPCLKS],SIM_COPC[COPT],和SIM_COPC[COPW]字段的重置默认设置,用户也应该在重置初始化期间写入写一次SIM_COPC寄存器以锁定设置。如果应用程序丢失,此方法可防止意外更改。
(翻译过来就是COP计数寄存器只能写入一次,这个过程可以是系统启动时设置,也可以是之后,但是只有一次写入的机会。)
对于SIM_SRVCOP来说,服务(清除)COP计数器刷新不应该放在中断服务例程(ISR)中,因为即使主应用程序失败,ISR也可以继续定期执行。
如果所选时钟不是1 kHz时钟源,则在微控制器处于调试模式或系统处于停止(包括VLPS或LLS)模式时,COP计数器不会增加。当微控制器退出调试或停止模式时,COP计数器将恢复。
如果选择1 kHz时钟源,COP计数器在进入调试模式或停止模式(包括VLPs或LLS)时重新初始化为0。计数器在退出调试模式或停止模式时从0开始。
无论选择哪个时钟,当芯片进入VLLSx模式时,COP都会被禁用。在从VLLSx模式唤醒芯片的重置后,COP将被重新初始化并启用,就像任何重置一样。
COPT这个写一次字段选择COP的超时时间。COPT和COPCLKS字段一起定义COP超时时间。


编写0x55和0xaa(按该顺序)重置COP超时计数器,写入任何其他值将生成系统重置。
下面的寄存器可以查看系统重置原因;

Freescale MKL16Z1288VF4 芯片调试接口的更多相关文章
- 浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.现在多数的高级器件都支持JTAG协 ...
- c语言调试接口
http://blog.chinaunix.net/uid-10106787-id-2985587.html 在C语言程序设计中,常会出现各种各样的bug:段错误.参数异常等等.我们需要尽快定位错误, ...
- 用SWD调试接口测量代码运行时间 ( SWO )
用SWD调试接口测量代码运行时间 关于时间测量的种种问题 在嵌入式中,我们经常需要测量某段代码的执行时间或测量事件触发的时间,常规的思路是: 1:在测量起始点,反转电平2:在测量结束点,再次反转电平 ...
- 调试接口,返回的json数据,我定义了一个类,用来序列化,其中有一个字段定义为string 然后序列化的时候报错
调试接口,返回的json数据,我定义了一个类,用来序列化,其中有一个字段定义为string 然后序列化的时候报错 在需要解析的类型类上加上声明 eg:
- 调试接口你还在用postman吗
作者 | 陈凯玲 来源 | my.oschina.net/keking/blog/3104972 接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代 ...
- js 调试接口
在我们做完前端的工作后,很多情况下需要把我们的数据与后端得接口进行对接,说以我们就得掌握调试接口的方法 一.建立对象数组(一般是后端的工作) 代码如下: [ {"name":&qu ...
- Jetson Nano 系列教程2:串口调试接口登录Jetson Nano
连接Jetson Nano可以有多种方法,这里我们一一介绍一下.开始本章节前,请先参考上一章,烧写好镜像 直接连接 所谓直接连接,就是将Jetson Nano当做主机,连接HDMI屏幕,连接键盘和鼠标 ...
- VKD224B触摸芯片调试笔记
1.通过阅读datasheet了解芯片怎么使用,一般datasheet会提供参考电路.和相应的电气参数. 通过上面的表格可以知道芯片的供电,所需电流. 这个芯片可以通过引脚选择模式.通过上面的选项设置 ...
- 本地调试接口返回信息不对 以及 jar冲突问题
今天下午在本地调试的时候碰到个很奇怪的问题:服务调用接口,返回的明明是有数据的,然后通过gson转换对象后,对象里面并没有自己想要的数据.看了代码什么的都没有问题.思考到底是哪里出了问题,想了半天想到 ...
随机推荐
- SharePoint Framework 基于团队的开发(五)
博客地址:http://blog.csdn.net/FoxDave 升级SharePoint Framework项目 部署SharePoint自定制解决方案到生产环境并不意味着生命周期的结束,因为还有 ...
- sklearn-adaboost
sklearn中实现了adaboost分类和回归,即AdaBoostClassifier和AdaBoostRegressor, AdaBoostClassifier 实现了两种方法,即 SAMME 和 ...
- Vue源码之 Vue的生命周期
天地初开就是new Vue(options),里面就一句话 this._init(options); (Vue.prototype.init 的赋值在initMixin(Vue)方法里) _init方 ...
- Oracle 多行变一行
https://blog.csdn.net/rainyspring4540/article/details/50231521
- Vue框架是什么,有什么特点,怎么用
一.Vue基本介绍 1.vue是渐进式的JavaScript框架 2.作者:尤雨溪(一位华裔前Google工程师) 3.作用:动态构建用户界面 二:Vue的特点 1.遵循MVVM模式(m->mo ...
- python写mapReduce初步
最近在学了python了,从mapReduce开始 ,话不多说了,直接上代码了哈 map阶段,map.py文件 import sys # 标准输入 # 在终端的话,就需要这样了 cat a.txt | ...
- Map、Set、List区别
转:https://www.cnblogs.com/jing99/p/6947549.html 提到集合之前,先说说数组Array和集合的区别: (1)数组是大小固定的,并且同一个数组只能存放类型 ...
- div嵌套,常见左右分类栏目
最终效果图如下: html代码如下: <div class="smalItem"> <div class="leftnav"> < ...
- postman的安装和使用
在后端开发的过程中,没有前端代码可以配合测试已完成的代码是否有问题,这个时候就需要postman来帮忙解决.对于后端人员来说,postman是很好的测试工具,下面具体讲下怎么安装postman,本次安 ...
- tcpdump 交叉编译
1下载源码:http://www.tcpdump.org/release/ libpcap-1.4.0.tar.gz tcpdump-4.4.0.tar.gz export PATH=/opt_gcc ...