目录

  • 看门狗定义
  • 软硬件看门狗异同
    • 相同点
    • 不同点
  • `RT-Thread` 无法 "喂狗" 导致的原因
  • 看门狗的弊端

看门狗定义

硬件看门狗

一个定时器电路, 输入为喂狗, 输出为MCU复位端RST

软件看门狗

将硬件的处理机制用内部定时器代替

软硬件看门狗异同

启动时机不一样

硬件上电, 遇到第一个高脉冲, 看门狗启动

软件的需要先初始化配置

相同点

  1. 都是基于定时器实现
  2. 都需要在规定时间内喂狗
  3. 喂狗靠软件

不同点

软件 硬件
附加功能 一般有延迟复位 电源检测…
屏蔽方式 非常容易- 修改寄存器 电不断, 狗不歇
启动方式 初始化寄存器 上电 接收第一个脉冲
初始化 1. 配置相关寄存器
2. 调用相关子程序
上电接收第一个脉冲完成初始化

RT-Thread 无法 “喂狗” 导致的原因

  • 线程陷入无效死循环, 长时间占用资源, 导致调度器无法运行空闲线程, “喂狗” 的钩子函数无法执行
  • 线程 “跑飞” 导致不能及时 “喂狗” 系统 “被咬” 复位

看门狗的弊端

看门狗不能用来解决问题

只能发现一些程序的潜在错误恶劣环境下的干扰导致死机问题, 而在无人干预 下恢复正常

故障怠工期间的损失不可挽回

硬件看门狗

!!!贵!!!

软件看门狗

  1. 无法检测系统内部故障
  2. 可通过 双定时器 互相监视, 但会加大开销, 但由于中断故障导致的定时器故障也无法检测
  3. RTOS 中使用看门狗
    • 建立最低优先级的看门狗定时任务

      溢出时间要足够长
      单片机不是经常满负荷运行 – CPU不是一直被高优先级任务占用

    • 建立最高优先级任务

      保证喂狗及时性
      低优先级的任务故障无法起效

    • 多任务检测

      看门狗为最高优先级
      任务定时向看门狗发消息 – 只有在一定时间内收全所有任务发来的消息 才 喂狗

<WDT><1>认知看门狗相关推荐

  1. 启动定时器t0的工作指令是_看门狗的工作原理、应用和设计思路

    看门狗(watchdog timer)是一个定时器电路.一般有一个输入叫喂狗,一个输出到MCU的RST端.MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT清零.如果超过规定的时间不喂狗 ...

  2. 什么是看门狗(watchdog)?看门狗有什么作用?

    什么是看门狗(watchdog) 看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂 ...

  3. 什么是看门狗(watchdog)

    什么是看门狗(watchdog) 看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂 ...

  4. 硬件看门狗的选择与设计

    看门狗定时器(WatchDog Timer)在出现程序跑飞卡死的时候用来强制复位处理器或控制器.具体操作是:通常程序正常循环会在一定周期内进行"喂狗",若程序执行一个错误代码或者程 ...

  5. S5PC100看门狗定时器

    转自: S5PC100看门狗定时 作者:杨胜利,华清远见嵌入式培训讲师. 看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,在单片机程序的调试和运行中都有着重要的意义.它的 ...

  6. 【Linux】ARM篇七--WDT看门狗实验

    ARM篇七--WDT看门狗实验 一.前言 二.准备工作 三.看门狗简介 四.看门狗寄存器介绍 1.看门狗结构 2.看门狗寄存器 3.WTCON寄存器 4.WTCNT寄存器 五.看门狗代码编写 1.程序 ...

  7. ABOV单片机内部看门狗WDT的代码实现讲解及示例代码-[MC96F6332D]

    一.准备工作 1.KEIL C51编译环境 2.CodeGen8 代码生成器 3.MC96F6332D 开发板 4.USB-OCD II仿真器 二.内部看门狗代码生成 1.在CodeGen8 代码生成 ...

  8. 新唐Nuvoton NUC972 看门狗WatchDog(WDT)使用注意事项

      由于新唐系台湾厂商,NUC972 ARM MPU资料不是足够完善,笔者认为,一般ARM处理器的TRM手册至少要3000页以上才能够足以详细描述各种寄存器在不同情况下的功能描述.新唐的TRM只有区区 ...

  9. 嵌入式知识-ARM裸机-学习笔记(8):SoC定时器与看门狗(WDT)

    嵌入式知识-ARM裸机-学习笔记(8):SoC定时器与看门狗(WDT) 一.定时器 1. 定时器简介 定时器是SoC中最常见的外设 (1)定时器与计数器.计数器是用来计数的(每隔一个固定时间会计一个数 ...

最新文章

  1. Redis低成本高可用方案设计
  2. K近邻算法(KNN)原理小结
  3. Exchange 2013sp1邮件系统部署-(七)
  4. python字符串input输入_5.print()函数、转义字符、python注释、常量、字符串、格式化输出、input()输入...
  5. Java web之web.xml配置详解
  6. 【动态规划】农田个数 (ssl 1633)
  7. 30 个惊艳的Python开源项目
  8. (13)FPGA面试技能提升篇(Shell脚本)
  9. 你用Deepfakes给小电影换个脸,人脸识别AI也看不出来:95%萌混过关
  10. 数据结构上机实践第五周项目1- 建立顺序栈算法库
  11. RayData大数据可视化教程(3)——用逻辑控制颜色动画切换并打包
  12. sql语句大全+实例讲解
  13. 超市管理系统(JavaWeb版)
  14. 【自动驾驶】ROS机器人操作系统总结
  15. c++定义结构体队列
  16. [渝粤教育] 西南科技大学 中国古代文学〔2〕 在线考试复习资料
  17. SQL SERVER恢复数据库时出现Exclusive access could not be obtained because the database is in use
  18. summer框架API--summer.download
  19. pycharm插件translation 更新TTK失败,请检查网络连接的解决办法
  20. AVT Mako/Manta面阵相机开发小结

热门文章

  1. 是时候给你的产品配一个AI问答助手了!
  2. 国赛来咯!第十八届全国大学生智能汽车竞赛百度竞速赛正式开启
  3. php常见的五种设计模式,PHP常见的6种设计模式
  4. 机房收费系统——UML用例图
  5. GAN网络学习入门之:A Beginner's Guide to Generative Adversarial Networks (GANs)-翻译
  6. 由于找不到MSVCP140.dll,无法继续执行代码。重新安装程序可能会解决此问题
  7. kotlin高阶函数的初级理解
  8. 64位系统能使用多少内存
  9. 台式计算机的日常保养,台式电脑怎么保养
  10. JavaScript 异步编程的前世今生(下)