天天热资讯!一种在不改变源码的情况下测试看门狗复位的方法
什么是“看门狗”?
看门狗定时器(WDT,Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗一个数字,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。
(资料图)
可以说有了“看门狗”的存在,你可以睡得更香了,代码受到干扰或者“bug制造者”写了一个错误的代码,异常跑飞了,“看门狗”能够使系统复位,毕竟重启能解各种疑杂症
看门狗如何测试?
对于“看门狗”测试,首先我们要搞清除看门狗的工作流程,本章节不介绍如何代码实现。
只需要,看门狗初始化->定时喂狗,如果超时没有喂狗,那么狗就要干活了,也就是把你的系统重新复位运行。
研发测试方法:
对于研发比较简单,一般初始化完不喂狗,或者除了main while(1)之外的地方,我们再人为制造一个while(1)死循环,这样就可以测试看门狗复位.
测试工程师测试方法
对于测试工程师来说,总不能拿着你研发自测的代码去测试吧,虽然说单项测试没问题,但是指不定正式固件会出什么幺蛾子~
所以测试工程师必要的话,必须是基于正式固件去测试
那么问题来了,看门狗是在异常情况下才会起作用,我们一般很难人为的去制造看门狗的异常,除非代码确实有bug
好在“天无绝人之路”,jlink给了我们一种方法,一般我们用jlink多是调试仿真、下固件
安装jlink的时候,其实还有很多工具可以用的
比如我们可以用jlink实现串口print功能
今天要介绍的是通过jlink命令工具来对MCU发送一些命令,这个工具叫J-Link Commander
先来连接到我们的目标芯片
接下来我们就可以对MCU发送一些命令:
Mem读内存mem8读8字节内存mem16读16字节内存mem32读32字节内存w1写8字节内存w2写16字节内存w4写32字节内存h停止cpu运行的程序setbp设置断点g跳到代码段地址执行s单步执行(调试用)r复位q退出
接下里主要介绍系统停止命令,来测试看门狗是否有效,也就是使用h命令,使MCU停止运行,MCU停止运行之后,按照看门狗设计,没法喂狗,应该是能够复位重启的
我们通过观察LED指示灯的状态来判断系统是否重启:
审核编辑:汤梓红
关键词:
下一篇:最后一页
- 天天热资讯!一种在不改变源码的情况下测试看门狗复位的方法
- 发生工伤后找哪个部门解决-世界速递
- 东方证券给予千味央厨增持评级 边界持续扩张 复苏弹性可期
- 环球今亮点!《脑卒中踝足矫形器应用指南》发布
- 【科技早报】何小鹏财富缩水75%至14亿美元;马斯克私人飞机降落北京
- 天天快资讯:「华熙生物」总经理:用玻尿酸+,提高口服玻尿酸的认知和认可
- 每日快看:绘出航天强国的样子——写在神舟十六号载人飞船成功发射之际
- 【全球播资讯】为儿童玩具加上“安全阀”
-
世界热点!前4个月全国社会物流总额同比增长4.4% 物流行业继续位于较高景气区间
人流、物流愈发顺畅,同时市场需求也在稳步有序地回暖,带动物流行业整体向好。报告同时提出,虽然1月份至4
-
移动6位初始密码怎么重置(移动6位初始密码是多少)-每日聚焦
小常来为大家解答以上问题。移动6位初始密码怎么重置,移动6位初始密码是多少很多人还不知道,现在让我们一
-
美团点评管家怎么注销账号(美团点评管家商家登陆)
来为大家解答以上的问题。美团点评管家怎么注销账号,美团点评管家商家登陆这个很多人还不知道,现在让我们
-
NBA版的“黄埔军校”!这5人从马刺离开 依旧是其他球队的关键人物
前言在NBA流传着这么一个传说,那就是再怎么天赋平庸的球员,只要能够加入马刺队,格雷格·波波维奇率领的
X 关闭
X 关闭




