看门狗定时器在DA14580 中的用法
来源:互联网 发布:强袭魔女 知乎 编辑:程序博客网 时间:2024/06/05 02:17
看门狗定时器是一个计数器,基本功能是在发生软件问题和程序跑飞后使系统重新启动。看门狗程序正常工作时自动计数,程序流程定期将其复位清零,如果系统在某处卡死或跑飞,该定时器将溢出,并将进入中断,在中断中执行一些复位操作,从而使系统恢复正常的工作状态。
Watchdog timer在datasheet中的定义:
看门狗定时器是一个八位的定时器,通过设置位用于发现由软件跑飞产生的意料不到的执行序列,并且能够产生一个完全系统重启或者一个不可屏蔽的中断。
特点:
8位计时,时钟为10.24ms,最大是2.6s的超时。
不可屏蔽中断或看门狗重启;
可选的自动看门狗重启,如果在不可屏蔽中断中更新看门狗寄存器失败。
不可屏蔽看门狗冻结Cortex-M0调试模块,当Cortex-M0在调试过程中停止。
可屏蔽中断被用户程序冻结,注意,如果系统不是重新开始的等,SysRAM位于0x20000000,看门狗将触发BootROM代码再次执行。
找到寄存器的具体说明:
Watchdog timer在datasheet中的定义:
看门狗定时器是一个八位的定时器,通过设置位用于发现由软件跑飞产生的意料不到的执行序列,并且能够产生一个完全系统重启或者一个不可屏蔽的中断。
特点:
8位计时,时钟为10.24ms,最大是2.6s的超时。
不可屏蔽中断或看门狗重启;
可选的自动看门狗重启,如果在不可屏蔽中断中更新看门狗寄存器失败。
不可屏蔽看门狗冻结Cortex-M0调试模块,当Cortex-M0在调试过程中停止。
可屏蔽中断被用户程序冻结,注意,如果系统不是重新开始的等,SysRAM位于0x20000000,看门狗将触发BootROM代码再次执行。
找到寄存器的具体说明:
Write:看门狗定时器重载值,注意所有的15-9位都必须是0才能重载该寄存器。
Read:确切的看门狗定时器值,每10.24ms减少一个
一个NMI或是WDOG重启产生在下述条件下:
WATCHDOG_CTRL_REG[NMI_RST] = 0 ,然后是
如果WDOG_VAL=0,则产生NMI中断
如果WDOG_VAL=1F0,则产生WDOG重启,重新加载FF,
如果WATCHDOG_CTRL_REG[NMI_RST] =1 且WDOG_VAL<=0,则WDOG重启,重新加载FF。
看下例子,0xC8是1100 1000,所以是200*10.24ms =2s。
WATCHDOG_CTRL_REG是0,由下图可知,看门狗定时器产生NMI在其值为0时,这时能被软件冻结,当为1的时候,无法被冻结
1 0
- 看门狗定时器在DA14580 中的用法
- 看门狗定时器
- 看门狗定时器
- MFC中的定时器用法
- spring中的定时器用法
- 看门狗在多进程应用程序中的应用。
- 看门狗在多线程程序中的使用
- S3C2440看门狗定时器
- AT89S52的看门狗定时器
- S3C2440看门狗定时器
- S5PC100看门狗定时器
- ARM看门狗定时器设置
- 【转载】DSP看门狗定时器
- 9.0 看门狗定时器WDT
- MSP430--看门狗定时器
- s3c2440看门狗定时器
- 看门狗定时器学习笔记
- 看门狗定时器WDT
- git常用命令整理
- [Linux] NFSv4 and Autofs caveats
- IOS手势识别,捏合,旋转,轻扫等
- 异常值的观测
- 时间序列数据库的秘密(1)—— 介绍
- 看门狗定时器在DA14580 中的用法
- RocketMQ(二)集群配置
- ssl的应用
- javaweb学习总结(九)—— 通过Servlet生成验证码图片
- ssl的应用
- 查找两个字符串a,b中的最长公共子串
- Java项目经验
- 时间序列数据库的秘密(2)——索引
- javaweb学习总结(十)——HttpServletRequest对象(一)