打印
[学习笔记]

AC781x硬件看门狗-软件的守护神

[复制链接]
968|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 TechHolder 于 2020-8-17 12:04 编辑

芯片在运行软件过程中,受到外部的一些干扰会导致程序跑飞,程序跑飞后的问题分析过程复杂且耗时。
那有什么方法可以在CPU运行软件跑飞后可以自动复位芯片,重头开始跑呢?答案肯定是看门狗,但是通过软件初始化使能的看门狗,还是有一个小问题,就是假如程序是在初始化看门狗之前跑飞了呢?
所以,硬件看门狗就是为了解决这个问题,芯片一上电,看门狗就开始监控软件运行是否正常,否则进行复位。

AC781x具有硬件看门狗功能,只需要在选项字节中去将其配置为使能。


那如何使能这个功能呢?两种方法可以实现,如下:
1、首先是我们CMSIS驱动包ac78xx_eflash模块驱动文件中提供了配置接口,EFLASH_ConfigWdg,可方便软件内置进行配置。
#define HRD_WDT_CFG_ADDR    (0x08040004)
    #define HRD_WDR_CFG_VAL     (0xFF33FFCC)
    if ((*(uint32_t *)HRD_WDT_CFG_ADDR) != HRD_WDR_CFG_VAL)
    {
        EFLASH_ConfigWdg(1);
    }

在软件中配置时需要注意,应该先去读取对应地址数据判断当前是否已经使能,如果没有使能则调用该函数进行使能,反之,禁止也是一样的道理。
但是配置硬件看门狗后,会导致下次下载程序时无法成功,因为看门狗一直在监控,而在下载程序过程中又无法周期喂狗,看门狗超时就会导致芯片复位,导致下载程序失败。
那如何解决这种芯片进行程序下载呢?引入第二种方法,通过ISP工具来使能或禁能硬件看门狗功能,禁能看门狗功能即可正常进行程序下载。
2、使用我们的ISP工具来进行配置,根据需要来配置使能或禁止硬件肯们狗功能。

使用ISP工具来配置硬件看门狗功能,需要使芯片进入ISP模式,需要配置相关BOOT引脚。

ISP工具下载链接:http://www.autochips.com/cn/MCU/,切换到如下界面即可下载。






使用特权

评论回复

相关帖子

沙发
RunningX| | 2020-9-4 20:04 | 只看该作者
学习学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

219

帖子

3

粉丝