DSP28335如何使用看门狗模块进行程序重启
来源:网络收集 点击: 时间:2024-03-07【导读】:
在DSP28335的嵌入式应用中,会碰到程序跑飞需要重启的情况,程序重启有多种方式,这儿介绍利用DSP28335的看门狗模块来进行程序的重启。工具/原料moreCCS6.0DSP28335控制板方法/步骤1/8分步阅读
2/8
3/8
4/8
5/8
6/8
7/8
8/8
看门狗的寄存器模块如下图所示,要进行相应的寄存器配置,使得程序重启时触发WDRST;

看门狗触发时进行程序重启,而不是程序中断,代码如下图中蓝色所表示;另外,为了便于观察,在main主程序中,将GPIO0设置为高电平,在for循环中设置为低电平,并且,在for循环中,设置一个全局变量进行累加;代码如下图所示:

要进行看门狗的重启程序调试,需要将代码下载到Flash中运行,因此,要进行相关的配置(比如:采用F708375pxd文件,程序中要加入Memcopy函数和InitFlash函数等);

下面是Watchdog进行“喂狗”时的代码,在main重启处设置了断点;

程序“喂狗”时的运行状态如下,可见程序并不返回到断点处,同时,LoopCount在不断累加;用示波器检查GPIO0的电平,此时为持续低电平;


下面是Watchdog取消“喂狗”时的代码,在main重启处设置了断点;

程序取消“喂狗”时的运行状态如下,程序总是返回到断点处;

若取消断点,可发现LoopCount并没有持续累加,总是在达到一定值后,又从零开始;另外,用示波器检查GPIO0的电平,也不再持续低电平,表明程序在取消“喂狗”后,进行了重启。


版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.ff371.cn/art_278143.html