zoukankan      html  css  js  c++  java
  • 【STM32F4】【银杏科技ARM+FPGA】iCore3移植RT-Thread--IWDG看门狗

      单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗就是为了避免这种情况的发生。看门的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号,便实现处理器的自动复位重启。

    一、通过CubeMX开启IWDG

    1.1 我们打开../BSP/STM32/STM32F407_gingko_iCore3/board/CubeMX_Config来进行配置,直接点击System Core下的IWDG,在Mode中将Activated选中即可。配置完成后点击CREATE CODE。

    1.2 CubeMX生成工程后,只保留红色方框内的文件,其他的两个文件夹可以删除掉。

    1.3 复制刚生成的src文件夹main.c文件夹中的函数SystemClock_Config(void)到board.c。这里内核初始化时要调用该函数进行时钟配置。

    二、修改Kconfig文件,在menu "On-chip Peripheral Drivers"下增加menuconfig菜单中的WDT选项

     

    三、在Env图形配置工具中开启iwatchdog

    打开Env工具,使用menuconfig配置工程,路径为:Hardware Drivers Config -> On-chip Peripheral Drivers,空格选中即可。

    在Env中输入命令:scons --target=mdk5生成工程,我们会发现在工程中Drivers下已添加了drv_wdt.c文件。

    我们直接在main.c中添加看门狗线程,点击保存编译下载到iCore3开发板中。

    四、配实验现象

    打开工程进行编译并下载程序,打开putty,选择com口和波特率,点击open打开,输入list_device命令看门狗设备已经成功挂载:

    在终端输入help命令看到iwdg_sample命令已经成功导出:

    输入iwdg_sample命令,即可运行测试程序,效果如下:

     代码包下载:

    链接:https://pan.baidu.com/s/10pcMYWc443AzowuT1Jl0mA

    提取码:irmb

  • 相关阅读:
    Docker大行其道—镜像
    Google 推出全新的两步验证机制
    安全警告——“Windows已经阻止此软件因为无法验证发行者”解决办法
    Word2010 自动生成二级编号
    正则表达式判断汉字
    c# IList<T> 深拷贝
    C#IList 取区间数据
    Oracle 同环比排除分母0
    Git 删除服务器的远程分支
    【转】C#获取当前路径7种方法
  • 原文地址:https://www.cnblogs.com/xiaomagee/p/12871223.html
Copyright © 2011-2022 走看看