【Linux】ARM篇七--WDT看门狗实验
ARM篇七--WDT看门狗实验
- 一、前言
- 二、准备工作
- 三、看门狗简介
- 四、看门狗寄存器介绍
- 1、看门狗结构
- 2、看门狗寄存器
- 3、WTCON寄存器
- 4、WTCNT寄存器
- 五、看门狗代码编写
- 1、程序
- 2、程序烧入步骤
- 六、实验现象
一、前言
本篇使用华清远见的FS4412
开发板,进行WDT开门狗实验
,知识包含看门狗
介绍,开门狗使用原理,看门狗代码编写、看门狗实验。
二、准备工作
FS4412开发板
,我用的是华清远见的FS4412开发板- ubuntu下linux操作系统(包含交叉编译工具)
serial-com8
程序烧入执行工具- 开发板电路原理图、芯片手册
- 开发程序模板
开发板资料、交叉编译工具、程序烧入工具下载(包含教程)
开发板可选择到华清远见官网进行租赁。
工程模板文件下载
三、看门狗简介
Watch Dog Timer即
看门狗定时器
,其主要作用是当发生软件故障
时可产生复位信号
使芯片复位,其本质是一个计数器。
因此在使用看门狗时,需要每隔一段时间给计数器设定值,以防止计数器减到0,跟现实生活中,给狗加狗粮的行为类似。
Exynos 4412 芯片
中看门狗包括的功能:
- 支持正常间隔
定时器模式
与中断请求
。 - 如果定时器计数值达到0(超时),激活内部复位信号。
- 支持级触发
中断机制
四、看门狗寄存器介绍
1、看门狗结构
可以看出控制看门狗的寄存器主要是WTDCON寄存器
。
2、看门狗寄存器
3、WTCON寄存器
- 一级分频器分频数在
1~256
,而我们写0~255
,内部寄存器自动+1
4、WTCNT寄存器
- 看门狗计数器,使用看门狗时,该寄存器
自动递减
- 计数范围是
0~65535
五、看门狗代码编写
1、程序
#include "exynos_4412.h"/*** @description: 延时函数 * @param {int} i- 延时计数* @return {*}*/
void delay(int i)
{while(i--);
}/*** @description: 看门狗初始化* @param {*}* @return {*}*/
void WDT_Init()
{/* 设置一级分频 156 = 0x9B+1*/WDT.WTCON = WDT.WTCON & (~(0xFF<<8)) | (0x9B<<8);/* 设置二级分频 64- 10 */WDT.WTCON |= (0x2<<3);//看门狗频率为100000000/156/64 约等为10000Hz/* 关闭中断 */WDT.WTCON &= (~(0x1<<2));/* 打开产生复位信号 */WDT.WTCON |= 1;/* 设置计数器计数值 */WDT.WTCNT = (5*10000); //5秒/* 使能看门狗 */WDT.WTCON |= (0x1<<5);
}int main()
{WDT_Init();while(1){printf("WDT.WTCNT = %d\n", WDT.WTCNT); //打印计数器值delay(100000);}return 0;
}
2、程序烧入步骤
1.输入make
生成.bin文件
2.将.bin文件
复制到共享文件夹
①
②
③
输入:
cp ARM_LED.bin /mnt/hgfs/cca
将文件复制到cc文件夹
3.打开serial-com8
,连接开发板(COM2
接口),烧入程序
①查看端口
②打开serial-com8设置
③接通开发板电源,迅速按enter
键,使其快速进入裸机模式。
④烧入程序
输入:
loadb 40008000
选择可执行文件烧入
烧入成功:
⑤执行程序
输入:
go 40008000
六、实验现象
计数器递减,到0时:
开发板复位。
到这里就结束啦!
【Linux】ARM篇七--WDT看门狗实验相关推荐
- 【嵌入式系统】独立看门狗原理+看门狗实验分析
[嵌入式系统]独立看门狗原理+看门狗实验分析 1.看门狗模块概述 在由单片机构成的微机系统中,由于单片机工作常常会受到来自外界电磁场干扰导致程序跑飞,陷入死循环--即程序正常运行被打断,系统无法继续工 ...
- (实验6,实验7)单片机,STM32F4学习笔记,代码讲解【看门狗实验】【正点原子】【原创】
文章目录 其它文章链接,独家吐血整理 实验现象(实验六) 主程序(实验六) 独立看门狗初始化程序(实验六) 代码讲解(实验六) 实验现象(实验七) 主程序(实验七) 窗口看门狗初始化程序(实验七) 代 ...
- stm32看门狗_「正点原子NANO STM32开发板资料连载」第十一章 独立看门狗实验
1)实验平台:ALIENTEK NANO STM32F411 V1开发板2)摘自<正点原子STM32F4 开发指南(HAL 库版>关注官方微信号公众号,获取更多资料:正点原子 第十一章 独 ...
- 看门狗寄存器c语言代码_「正点原子NANO STM32F103开发板资料连载」第十一章 看门狗实验...
1)实验平台:[正点原子] NANO STM32F103 开发板 2)摘自<正点原子STM32 F1 开发指南(NANO 板-HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 ...
- 嵌入式 独立看门狗实验
独立看门狗实验: 1. 介绍: (1) 为什么需要看门狗? 在MCU微型计算机系统中,MCU运行程序很容易受到外界电磁场的干扰,从而造成程序运行错误甚至发生跑飞现象,从而陷入死循环,程序的正常运行被打 ...
- zigbee CC2530 系列教程 10 看门狗实验
所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.9看门狗实验 4.9.1 实验目的 1.学习CC2530看门狗的工作方式: 2.学习看门狗功能在系统中的运行机制: 4.9. ...
- 窗口看门狗实验定时器基本原理
目录 1. 窗口看门狗 1.1 窗口看门狗概述 1.1.1 窗口看门狗工作示意图 1.1.2 窗口看门狗工作过程总结 1.1.3 窗口看门狗超时时间 1.1.4 为什么要窗口看门狗 ? 1 ...
- 2021-04-20 独立看门狗实验
独立看门狗实验 一. 独立看门狗概述 二. 常用寄存器和库函数配置 三. 编写独立看门狗实验 一. 概述 在单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞 ...
- STM32单片机(4) 独立看门狗实验
[转载请注明出处:http://blog.csdn.net/leytton/article/details/38393651] /*********************************** ...
最新文章
- 致开发者:2018年AI技术趋势展望
- Output Operations on DStreams
- android学习之Service
- python快速排序最简单写法_漫画:最最最最最简单的选择排序
- 批处理 批量s扫1433_申报资料 | 批量整理图谱(续)
- 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)
- android 动画结束停留,循环动画 tween durationMillis = 90195 动画将停留在最后一针
- 对InputStreamReader 和 OutputStreamWriter的理解
- gitlab服务器代码存储位置,gitlab 数据目录迁移
- 【编程】常见概念的理解 —— inplace、vanity url、vanilla(code/software)、编译、链接、build、(delegate、proxy)
- ajax data参数
- android 行居中,android自己定义换行居中CenterTextView
- 21世纪IT人才需要具有的5个鲜明特点
- VS2010过期密钥
- Android 自定义相机黑屏
- gns3使用简要教程(gns3-wireshark捕获教程)
- Android拦截黑名单(简易版)
- broker-list与bootstrap-server辨析
- 数据中台建设方法论-4 实践
- sql for 循环