[学习笔记] AC781x硬件看门狗-软件的守护神

[复制链接]
1219|1
 楼主| TechHolder 发表于 2020-8-14 11:48 | 显示全部楼层 |阅读模式
本帖最后由 TechHolder 于 2020-8-17 12:04 编辑

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

AC781x具有硬件看门狗功能,只需要在选项字节中去将其配置为使能。
2020-8-14_1.png
2020-8-14_2.png
那如何使能这个功能呢?两种方法可以实现,如下:
1、首先是我们CMSIS驱动包ac78xx_eflash模块驱动文件中提供了配置接口,EFLASH_ConfigWdg,可方便软件内置进行配置。
2020-8-14_3.png
  1. #define HRD_WDT_CFG_ADDR    (0x08040004)
  2.     #define HRD_WDR_CFG_VAL     (0xFF33FFCC)
  3.     if ((*(uint32_t *)HRD_WDT_CFG_ADDR) != HRD_WDR_CFG_VAL)
  4.     {
  5.         EFLASH_ConfigWdg(1);
  6.     }

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





RunningX 发表于 2020-9-4 20:04 | 显示全部楼层
学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

219

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部