全程watchdog喂狗blogernice

本文提出了一种嵌入式系统全程喂狗策略及实现方法,从系统上电、引导程序(Bootloader)、操作系统内核直至应用阶段都启用看门狗。实验表明,该方法简单可行,成本较低,在嵌入式系统的全过程中都可以实现喂狗策略,提高了系统可靠性。

1系统总体设计

1.1看门狗电路设计

图1为看门狗电路原理,采用IMP706芯片组成硬件看门狗电路,通过电平转换器件74AVClT45,硬件看门狗器件的ST脚与中央处理器(CPU)的GPIO3脚相连。看门狗器件的PRST脚与IN脚接到复位开关,RST脚接到CPU的RESET脚,当复位开关被触动或看门狗器件的计数器溢出时,看门狗器件的RST脚输出复位信号给CPU的RESET脚,CPU复位重启。

1.2喂狗策略及实现

1.2.1Bootloader阶段

在Boot1oader阶段(本设计采用U—boot,但不限于此),喂狗策略是在Bootloader的程序中不同位置插入喂狗程序。具体做法是:由于Bootoader第一阶段的启动不会超过1.6s,因此只需在Bootoader的第二阶段,如Flash读写、CRC校验、循环等待等处,插入喂狗代码。喂狗代码采用直接置位中央处理器的GPIO3状态寄存器的方式进行。

首先在特定平台的定义头文件include/conffigs/xxx.h中加入看门狗的宏定义:

在lib_generic下的CRC校验阶段代码crc32.c中加入如下代码,实现CRC校验阶段喂狗:

1.2.2Linux内核阶段

在Linux内核加载阶段(采用MontaVistaLinux操作系统,但不限于此),喂狗策略是在Linux内核程序的不同位置插入喂狗程序。具体做法是:首先在Linux内核阶段1的内核解压缩程序、RTC驱动加载程序、GPIO驱动加载程序适当代码处插入喂狗代码,喂狗代码以直接取反中央处理器的GPIO3状态寄存器的方式进行;在Linux内核阶段2的Watchdog驱动加载程序适当代码处插入喂狗代码,喂狗代码调用GPIO驱动,GPIO驱动内含取反中央处理器的GPIO3状态寄存器的操作;在Linux内核阶段3的内核加载根文件系统程序、init程序的适当代码处调用Linux的Watchdog驱动,Watchdog驱动内含取反中央处理器的GPIO3状态寄存器的操作。

以上内核阶段的划分是以GPIO及Watchdog驱动的加载为标志的。GPIO驱动加载之前为内核阶段1,GPIO驱动加载之后至Watchdog驱动加载之前为内核阶段2,Watchdog驱动加载之后为内核阶段3。

下面示例说明内核解压缩asm/arch/boot/compressed.c中喂狗的实现代码:

从以上代码可以看出,它是内核阶段l喂狗的典型方法,是直接取反GPIO3状态寄存器的。

下面示例说明内核阶段2的喂狗方法(仅以加载RTC驱动为例):首先让RTC驱动中包含GPIO的头文件,然后在读取RTC当前值的函数中调用GPIO驱动进行喂狗。

为了能够在内核阶段3调用Watchdog驱动进行喂狗,需要在Watchdog驱动中导出喂狗函数以供内核阶段3使用。Watchdog驱动喂狗也是调用GPIO驱动实现的,但Watchdog驱动一旦加载完成,以后的喂狗都通过调用Watchdog驱动完成。

1.2.3程序运行阶段

以下示例说明在应用中如何调用Watchdog驱动实现喂狗:

总之,在系统不同阶段,由于系统调用和封装程度不同,看门狗的喂狗实现方法也不同:在Bootloader阶段,直接取反中央处理器的GPIO3的状态寄存器;在Linux内核阶段1,采取取反中央处理器的GPIO3的状态寄存器的方法进行;在Linux内核阶段2,采取调用GPIO的驱动的方法进行;在Linux内核阶段3,采取调用Watchdog驱动的方法进行;在应用程序运行阶段,应用程序中的喂狗程序采取调用Watchdog驱动的方法进行,如图3所示。

2实验结果

综上所述,本全程喂狗的方法能确保系统在任一阶段出现软件或硬件故障时都能复位重启。

结语

本文提出了一种嵌入式系统全程喂狗策略,包括硬件电路设计和软件实现方法。该方法有如下特点:看门狗电路简单,硬件只需一块看门狗芯片,不需复杂的外围逻辑电路,成本较低;系统全过程启用看门狗,确保系统在任一阶段出现软件或硬件故障都能复位重启,系统可靠性得到提高。

THE END
1.看门狗3值得买吗游戏问答第二代的风格跟第一代可以说是完全相反,老实说在发售前我不免担心这么大的变化是否OK ...https://a.9game.cn/wenda/388984.html
2.pg电子娱乐平台温馨提示 本站仅支持移动设备访问,请使用移动设备扫描下方的二维码或输入网址访问! Reminder: This website only supports mobile device access, please use your mobile device to scan the QR Code below or enter the URL to access!http://m.appchina.com/
1.看门狗2和3哪个好玩看门狗2和3游戏推荐看门狗2是一款第三人称射击角色扮演游戏,很多玩家不知道看门狗2和3哪个好玩,小编整理了看门狗2和3游戏推荐,希望能对大家有所帮助。 看门狗2和3哪个好玩 整体来说2更加好玩一些,玩法上比1更加新颖,在地图设计方面也比上一代更加开放,任务流程也很不错。游戏背景设定在未来的旧金山,玩家需要扮演年轻的聪明黑客马可仕·...https://gl.ali213.net/wenda/145729.html
2.RTX3070和RTX2080ti哪个好?性能对比测试显卡硬件教程游戏的测试均采用4K分辨率下进行,分别测试了使命召唤:战争地带、无主之地3、战地5、全境封锁2、看门狗:军团、黑色沙漠、荒野大嫖客2、刺客信条:英灵殿、彩虹六号、堡垒之夜、使命召唤:黑色行动等11款游戏 1、使命召唤:战争地带 使命召唤:战争地带 在使命召唤:战争地带中,3080的成绩在114帧,而2080Ti相比3070高了5帧...https://www.jb51.net/hardware/xianka/765835.html
3.正点原子FPGA连载第十五章窗口门狗(WWDG)实验注意这里在进入中断后,必须在不大于1个窗口看门狗计数周期的时间(在pclk3频率为120M且WDGTB[2:0]为0的条件下,该时间为34.13us)内重新写WWDG_CR,否则,看门狗将产生复位! W[6:0] 为7 位窗口值,包含用于与递减计数器进行比较的窗口值。 WDGTB[2:0] 为定时器时基,可按如下方式修改预分频器的时基:...https://blog.csdn.net/weixin_55796564/article/details/120973137
4.IC卡电能预收费系统方案3、 读写卡器介绍 IC卡读写卡器通过计算机的串行口进行连接,通过IC卡读写器售电管理软件可以对各种不同用途的IC卡进行安全认证和数据操作。 4、 售电管理信息系统介绍 4.1、该售电管理信息系统运行在Windows平台上,该软件要求的运行环境如下: ●IBM兼容机一台: ...https://m.bjx.com.cn/mnews/20151224/695020.shtml
5.ubisoft《波斯王子》于 10 月3 日迎来了 35 周年纪念日,我们将举办为期一整个月的庆祝活动,并推出一系列回顾文章,邀请参与开发这个传奇系列的开发者们分享他们幕后的经历。 《荣耀战魂》X《命运》 共庆全新万圣节活动 2024/10/24 《荣耀战魂》即将与大型多人在线动作游戏《命运》开展联动,推出以惊悚为主题的全新万圣节...https://zh-cn.ubisoft.com/
6.嵌入式笔试面试题目系列(汇总)腾讯云开发者社区当我们需要实现更复杂的功能时,可以在主线程里创建多个子线程,多个线程在同一个进程里,利用这个进程所拥有的系统资源合作完成某些功能。 优缺点:1)一个进程死了不影响其他进程,一个线程崩溃很可能影响到它本身所处的整个进程。2) 创建多进程的系统花销大于创建多线程。3)多进程通讯因为需要跨越进程边界,不适合大量...https://cloud.tencent.com/developer/article/1829282
7.各朝建筑风格已发现3座坐北朝南、前后平行排列的大型宫殿基址,其中的1号、2号基址已经发掘。1号基址长39.8米,宽12.3米,有高出地面20厘米以上的夯土台基,台基上部已遭破坏,但建筑物的柱穴与墙基仍基本保存。台基四周的外沿各有一排大檐柱穴,东、西两侧各5个,南边20个,北边17个,前后并不对称,推测当时可能在柱头架檐檩,...http://www.360doc.com/content/09/1109/13/153863_8667296.shtml
8.司法考试第二卷真题甲径直到毒贩陈某家,以赊账方式买了少量毒品过瘾。后甲逃往乡下,告知朋友乙详情,请乙收留。乙让甲住下(事实一)。甲对陈某的毒品动起了歪脑筋,探知陈某将毒品藏在厨房灶膛内。某夜,甲先用毒包子毒死陈某的2条看门狗(价值6000元),然后翻进陈某院墙,从厨房灶膛拿走陈某50克纯冰毒(事实二)。甲拿出40克冰毒,让乙...https://m.66law.cn/laws/392301.aspx
9.我喜欢的动物小学作文500字(精选36篇)我喜欢的动物小学作文500字 篇3 在春天这个处处充满生机的季节,我总是不禁想起一只勇敢的小狗,它的名字叫做“雪”。 雪正是因为它的毛是雪白的,所以才叫做雪,雪有一身白白的毛,远处看,就像一团白色的火焰在燃烧,雪的眼睛有杏仁那般大,生气时鼻翼一鼓一鼓地,就像一个大明星。 https://www.ruiwen.com/zuowen/woxihuandedongwu/2109072.html
10.荣威RX5智驾域控器拆解分析地平线征程3为地平线旗下的第二代车载智能芯片;征程3基于地平线自研的BPU2.0 架构,符合AEC-Q100 。征程3不仅支持基于深度学习的图像检测、分类、像素级分割等功能;也支持对 H.264 和 H.265 视频格式的高效编码,是实现多通道复杂计算任务和多通道数字视频录像的理想平台,例如可实现高级别辅助驾驶( ADAS...https://www.eet-china.com/mp/a303259.html
11.Arduino休眠模式和看门狗以及中断详解51CTO博客所以,当你开启看门狗后,需要在看门狗超时(计数减到0)前,对其进行 喂狗(复位)操作,否则看门狗会强制你的单片机重启,从头运行程序。如果看门狗在休眠或空闲模式下超时,器件将唤醒并从PWRSAV指令执行处继续执行代码,同时“休眠”状态位(RCON< 3>)或“空闲”状态位(RCON< 2>)会置1,表示器件之前处于省电模式...https://blog.51cto.com/14114084/5247974
12.小狗二年级作文(精选70篇)小狗二年级作文 篇3 说起我家的玩具小狗,还真的得从四年前讲起,这只小狗呀,是我肺炎住院的时候奶奶给我从好又多市场买来的。 当时我住在医院,有点闹情绪,奶奶去好又多买东西给我吃,特意给我买来了一只玩具小狗。你瞧,玩具小狗穿着一件雪绒绒的大衣,好像是给小白兔借了一件大衣似的。它的头上和尾巴都镶嵌着...https://www.yuwenmi.com/zuowen/ernianji/2155886.html