广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    DSP28335如何使用看门狗模块进行程序重启

    来源:网络收集  点击:  时间:2024-03-07
    【导读】:
    在DSP28335的嵌入式应用中,会碰到程序跑飞需要重启的情况,程序重启有多种方式,这儿介绍利用DSP28335的看门狗模块来进行程序的重启。工具/原料moreCCS6.0DSP28335控制板方法/步骤1/8分步阅读

    看门狗的寄存器模块如下图所示,要进行相应的寄存器配置,使得程序重启时触发WDRST;

    2/8

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

    3/8

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

    4/8

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

    5/8

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

    6/8

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

    7/8

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

    8/8

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

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.ff371.cn/art_278143.html

    相关资讯

    ©2019-2020 http://www.ff371.cn/ 国ICP备20009186号05-12 05:31:02  耗时:0.020
    0.0203s