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 芯片调试接口的更多相关文章

  1. 浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别

    JTAG协议 JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试.现在多数的高级器件都支持JTAG协 ...

  2. c语言调试接口

    http://blog.chinaunix.net/uid-10106787-id-2985587.html 在C语言程序设计中,常会出现各种各样的bug:段错误.参数异常等等.我们需要尽快定位错误, ...

  3. 用SWD调试接口测量代码运行时间 ( SWO )

    用SWD调试接口测量代码运行时间 关于时间测量的种种问题 在嵌入式中,我们经常需要测量某段代码的执行时间或测量事件触发的时间,常规的思路是: 1:在测量起始点,反转电平2:在测量结束点,再次反转电平 ...

  4. 调试接口,返回的json数据,我定义了一个类,用来序列化,其中有一个字段定义为string 然后序列化的时候报错

    调试接口,返回的json数据,我定义了一个类,用来序列化,其中有一个字段定义为string 然后序列化的时候报错 在需要解析的类型类上加上声明 eg:

  5. 调试接口你还在用postman吗

    作者 | 陈凯玲 来源 | my.oschina.net/keking/blog/3104972 接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代 ...

  6. js 调试接口

    在我们做完前端的工作后,很多情况下需要把我们的数据与后端得接口进行对接,说以我们就得掌握调试接口的方法 一.建立对象数组(一般是后端的工作) 代码如下: [ {"name":&qu ...

  7. Jetson Nano 系列教程2:串口调试接口登录Jetson Nano

    连接Jetson Nano可以有多种方法,这里我们一一介绍一下.开始本章节前,请先参考上一章,烧写好镜像 直接连接 所谓直接连接,就是将Jetson Nano当做主机,连接HDMI屏幕,连接键盘和鼠标 ...

  8. VKD224B触摸芯片调试笔记

    1.通过阅读datasheet了解芯片怎么使用,一般datasheet会提供参考电路.和相应的电气参数. 通过上面的表格可以知道芯片的供电,所需电流. 这个芯片可以通过引脚选择模式.通过上面的选项设置 ...

  9. 本地调试接口返回信息不对 以及 jar冲突问题

    今天下午在本地调试的时候碰到个很奇怪的问题:服务调用接口,返回的明明是有数据的,然后通过gson转换对象后,对象里面并没有自己想要的数据.看了代码什么的都没有问题.思考到底是哪里出了问题,想了半天想到 ...

随机推荐

  1. memge和saveOrUpdate的区别

    今天做hibernate开发的时候遇到这样一个错误: a different object with the same identifier value was already associated ...

  2. DAY5:字典

    无序性: # -*- coding:utf-8 -*- # Author: TanJincheng room = { "s2": "han meimei", & ...

  3. zabbix添加IIS网站计数器(并发连接数)详解

    环境:windows server 2012 前提:IIS上要添加好配置   1,在被监控主机,powershell输入perfmon.msc   2,点击添加按钮     3,在下拉菜单中点击小箭头 ...

  4. vue启动报错

    在安装依赖后,启动时报错 修复方法:将项目node_modules文件夹删除掉,重新cnpm install即可

  5. 搞Java

    上班之余,开始研究Java了. 想想从三月份开始自己啃书以来,Spring+Mybatis+公司框架的用法,基本都是速成来的,还是有些恐惧的. Spring万般爽,annotion用的很舒服,但还是想 ...

  6. Python字符串练习

    1. 确定一个字符串中有多少个元音字母 def getCount(inputStr): return len([a for a in inputStr if a in "aeiou" ...

  7. redis持久化方案(十)

    方案分为两种方式: 1>Rdb方式 介绍:redis默认的方式,redis通过快照来将数据持久化到磁盘中 a.设置持久化快照的条件 在redis.conf中修改持久化快照的条件,如下: 比如:如 ...

  8. 自定义注解(spring)

    终于有时间可以在这里写一篇博文了,今天写一下我在项目中用到的自定义注解,就是在每次操作项目的时候,想把它的操作加在我的数据库中,简单地说就是日志管理,这些东西都写完之后,我就问我自己,问什么要自定义注 ...

  9. silverlight 从数据库获取到数据,动态生成XMLWEN文件,并获取文件进行操作

    // Silverlight中的独立存储是其内部的可信任的可访问文件空间,在这里你可以使用Silverlight随意的创建.读取.写入.删除目录和文件,它有一些类似于Cookie,但是它可以在客户端保 ...

  10. MySQL 相关记录

    删除courseID_tr之前: 新建之后: show create trigger: 下面是mysql-5.7.21-win64解压目录下的my.ini文件中的内容 [client] default ...