嵌入式软件设计(看门狗)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
看门狗是嵌入式软件设计的重要一个环节。记得还在上海上班的时候,当时开发就涉及到看门狗的操作了,印象非常深刻。我们开发的设备因为是电信类的设备,本身电信系统使用的就是vxworks os,硬件也是双备份的,按道理非常稳定才对,但就是这样还是会经常发生系统程序跑飞的情况。因此,在mcu软件里面添加定时喂狗的操作代码是非常重要的。
watchdog,中文翻译为看门狗。它的原理非常简单,但是意义却非常重大,就是reset cpu置位。再稳定健壮的代码,也会有程序跑飞的情形发生。这主要是因为,在现实场景下,客户的需求是不断变化的,甚至很多时候,前后需求是很矛盾的,这就要软件设计同学及时对客户的需求做出响应的同时,还要保证代码的正确性。当然,如果变更的代码过多,就很容易造成代码不稳定的情况发生。因此,实际开发中一般默认程序有一个最大执行时间,比如500ms,那么可以设置一个600~800ms的看门狗,只要整个系统没有在规定的时间内喂狗,那么软件就会自动复位重启。
有的同学也许会说,何必如此麻烦,直接派人去维护重启不就好了。有这种想法的同学可能对嵌入式设备的部署环境缺少认识。很多嵌入式设备都是放在很复杂、很危险的地方,除了必要的电源和散热设备外,很多时候都是无人值守的。这些设备不要说派人保养,就是周期去检查一遍也是不太容易的一件事情。
嵌入式软件设计(看门狗)相关推荐
- AD硬件电路模块设计——看门狗电路
看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个大数,程序开始运行后看门狗开始倒计数.如果程序运行正常,过一段时间CPU应发出指令让 ...
- 嵌入式系统 - 看门狗设计浅谈
术语介绍 嵌入式: 指嵌入式系统,编程领域下的一个特定的方向.和一般的编程不同,嵌入式编程的对象通常直接是CPU.内存.磁盘:实际产物 通常是可以单独独立运行的设备.例如:冰箱.空调.遥控器.DVD. ...
- arm linux下看门狗应用,arm linux watchdog 看门狗
目前手上有个项目需要设计看门狗,是arm+CPLD 方式.由于对看门狗要求很高,打算做一个双看门狗,arm CPLD互相为 对方的看门狗.理论上CPLD是不需要看门狗的,还是这么去设计了.接下来对看门 ...
- 启动定时器t0的工作指令是_看门狗的工作原理、应用和设计思路
看门狗(watchdog timer)是一个定时器电路.一般有一个输入叫喂狗,一个输出到MCU的RST端.MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT清零.如果超过规定的时间不喂狗 ...
- 基于ARM IP的看门狗设计与功能验证
看门狗是一个定时器, ARM提供了一个32位向下计数的看门狗IP,它会不断地计数.通过软件可以设置计数值,计数到某一设定值重新开始计数,这一过程也被称为喂狗,如果没有正常喂狗,说明出现系统故障,看门狗 ...
- 3G/4G路由器方案之外置硬件看门狗设计
看门狗电路 为了确保设备可长时间稳定工作,增加看门狗电路.为简化设计,看门狗采用芯片MAX823TEUK,其最长喂狗时间为1.6s.当设备运行Linux或WinCE系统时,启动时间长(远大于1.6s) ...
- 硬件看门狗的选择与设计
看门狗定时器(WatchDog Timer)在出现程序跑飞卡死的时候用来强制复位处理器或控制器.具体操作是:通常程序正常循环会在一定周期内进行"喂狗",若程序执行一个错误代码或者程 ...
- 辉为科技 ARM主板如何设计外部看门狗电路
Atmel ARM9 系列 CPU 包括at91sam9260. at91sam9261. at91sam9263 等芯片都设计了内部看门狗,但由于该看门狗配置寄存器在上电后只能配置一次,而且系统启动 ...
- Linux高级应用(十四)看门狗的驱动设计
一.什么是看门狗定时器 看门狗是一个定时器(倒计时),有计时的功能.当看门狗的计数值减为0,会产生一个复位信号给处理器,这样处理器就会重启,软件就会重新运行. 二.看门狗定时器的作用 当系统在运行的过 ...
最新文章
- Redis 高级特性(2)—— 发布 订阅模式
- mysql册_Mysql手册
- MongoDB之副本集
- Android获取网速的方法
- kvm虚拟机设置万兆网卡_SR-IOV 10Gb 万兆网卡支持
- C++3个汉诺塔递归问题
- Java转型,多态和契约设计
- java学习过程记录
- DXUT实战3:HLSL(withEffect)+D3D9+DXUT(june_2010) . .
- typedef struct
- 【自动驾驶技术概论】自动驾驶技术之汽车构造基础
- Python项目(Django):国内新冠肺炎疫情大数据可视化平台
- 如何在 Word 的方框中打勾 √ ?☑ ☒
- Mapbox使用之glyphs(字体符号)
- 折腾6年高龄笔记本-宏碁E5-572G-57MX-加固态-解决磁盘自检-坏道
- Java中的方法(method)
- pip换源工具pqi
- Go语言核心之美 1.5-作用域
- 蘑菇街暑期实习生一面面经 大三
- 三大分析法——SWOT、PEST、波特五力
热门文章
- Vue 顶部栏滚动控制显隐和文字字体闪光动画效果随笔
- usercf itemcf java_UserCF和ItemCF都依赖于相似度的计算,因为只有通过衡量用户之.docx...
- Python(自学之旅四)
- storm throw 口袋妖怪_斯平达(Spinda)——欧美十大最差普通型口袋妖怪
- [转]text和content方法的区别
- 尚硅谷阳哥SpringCloud第二季学习笔记(一)
- 南大周志华教授写给学生的话
- 软件需求分析之猫咪记单词
- 我是女孩子,我适合学前端开发吗?
- WPS——excel单元格格式设置笔记(小白)