裸机——wdt
1. 首先晓得看门狗的基本知识
看门狗是带复位功能的定时器,用于在系统跑飞时复位系统。
接下来按照上次的知识对看门狗进行推导
看门狗的关键词是 定时器 复位
定时器 关键是 时间段 中断
时间段 关键的是 时钟周期 计数值
时间周期 关键是 时钟源 分频
至此,我们就晓得处理看门狗定时器的基本思路,
即设置 时钟源 和 分频 和 计数值 完成 基本初始化,
这里,只是用中断功能,所以还需要设置使用中断,禁止复位。
2. 有了基本思路,下面来看数据手册(由于看门狗是SoC内部的,原理图上没有)
找到最关键的图
可以看出符合上面猜想的思路,
即 时钟源 为 PCLK, 分频 两次, 得到时钟周期
WTDAT 设置 计数值
WTCON[2] ,WTCON[0],设置是否产生 中断 或 复位
3. 既然思路清晰了,下面开始编程
#define WTCON (0xE2700000) #define WTDAT (0xE2700004) #define WTCNT (0xE2700008) #define WTCLRINT (0xE270000C) #define rWTCON (*(volatile unsigned int *)WTCON) #define rWTDAT (*(volatile unsigned int *)WTDAT) #define rWTCNT (*(volatile unsigned int *)WTCNT) #define rWTCLRINT (*(volatile unsigned int *)WTCLRINT) #include "stdio.h" void intc_clearvectaddr(void); void wdt_init() { // 设置时钟周期 rWTCON &= ~(() | ( << )); rWTCON |= ( << ) | ( << ); // 设置计数值 rWTDAT = ; rWTCNT = ; // 关闭复位,开启中断 rWTCON |= << ; rWTCON &= ~( << ); // 开启看门狗 rWTCON |= << ; } ; void isr_wdt() { printf("----isr_wdt %d----\n", i++); rWTCLRINT = ; intc_clearvectaddr(); }
裸机——wdt的更多相关文章
- 基于KEIL4开发ARM9(S3C2440)的裸机程序
本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序. 说明: 一.平台: 操作系统:Windows XP系统 KEIL版本:4.73 开发板:ARM9(S3C2440) 二.建立工程 ...
- tiny4412学习一:编译uboot,体验裸机
首先,我们在ubuntu建立一个自己的文件夹,我的是: /home/wang/tiny_4412下有 datasheet shc(原理图PCB文件夹) src tools src下有 codes ...
- ubuntu15.10跑裸机程序跑.bin文件
1:安装tftp:#apt-get update#apt-get install tftp-hpa tftpd-hpa xinetd2:#cd /srv#mkdir tftp#chmod 777 tf ...
- Cubieboard2裸机开发之(四)定时器操作
前言 在Cubieboard2裸机开发之(三)里用到了一个延时函数delay,它的延时时间是不精确的,因此为了能够精确延时,就需要定时器的配合.定时器可以精确延时的一个重要原因是它的计时时钟(或者说频 ...
- Cubieboard2裸机开发之(二)板载LED交替闪烁
前言 电路原理在文章http://www.cnblogs.com/lknlfy/p/3583806.html中已经说明,两个LED的原理图是一样的.要使两个LED交替闪烁,只需要在点亮蓝色LED,熄灭 ...
- Cubieboard2裸机开发之(一)点亮板载LED
前言 CUbieboard2板载两个LED,一个绿色的,一个蓝色的,其中绿色LED通过三极管与PH20管脚连接,蓝色LED通过三极管与PH21管脚连接,这里只以蓝色LED为例,电路原理图如图1和图2所 ...
- EB-SAM9G45裸机程序下载方法
开发板:EB-SAM9G45 这里提供一种裸程序下载的方法. 在官方提供的下载方法中有手动下载和自动下载,它们都离不开SAM-BA软件,而该软件使用比较麻烦,而且操作不当很容易导致电脑蓝屏,还有一个很 ...
- nRF51822之WDT浅析
看门狗定时器 NRF51822 的看门狗定时器是倒计数器, 当计数值减少到 0 时产生 TIMEOUT 事件. 通过 START task 来启动看门狗定时器. 看门狗定时器启动时,如没有其他 32. ...
- nrf51822裸机教程-RTC
RTC0被协议栈使用了.所以在跑蓝牙程序的情况下.RTC0不能使用. RTC相关寄存器如下: EVTEN,EVTENSET,EVTENCLR. 这三个寄存器用来设置是否使能某个事件.(TICK,OVR ...
随机推荐
- Html+CSS二周目--->常用概念
学习css几乎俩周,来总结一下 对于初学者来说,有一些基本的概念是我们应当清楚的.掌握这些概念,可以帮助你更加有效的开发,大大提高开发效率. 1.盒子模型 2.浮动(float) 3.定位(posit ...
- rem与em的区别
这两个单位都是相对元素 rem相对根元素 em相对于父级元素
- jQuery + Stimulsoft.Report 选择gridview多行打印
jQuery + Stimulsoft.Report 报表空间打印多个ID split函数,多行ID 1. 获取选择多行ID(前台) //按钮-打印 function PrinterWorkQuali ...
- 笨办法学Python(十三)
习题 13: 参数.解包.变量 在这节练习中,我们将讲到另外一种将变量传递给脚本的方法(所谓脚本,就是你写的 .py 程序).你已经知道,如果要运行 ex13.py,只要在命令行运行 python e ...
- 使用SSH密钥方式登录ubuntu Linux,指令(ssh-keygen 和 ssh-copy-id)
实验目的 从myVM1(本地主机)上登录myVM2(远程主机).采用密钥方式,不输入密码. 测试环境 主机:window7 sp1 64位 专业版 虚拟机:VMware workstation 12 ...
- 7 MSSQL数据库备份与恢复
0 MSSQL数据库备份 1 SQLAgent配置 2 设置连接属性 3 输入SA账号密码 4 SQL备份脚本配置 5 生成SQL全量备份脚本 6 生成SQL差异备份脚本 7 修改SQL差异备份脚本 ...
- 5.2 Array类型
◆ 创建数组的基本方式有两种. ①第一种是使用Array构造函数,new关键字可省略 var colors = new Array(); var colors = new Array(20); // ...
- hbase的coprocessor使用(转)
http://www.360doc.com/content/13/0320/09/4675893_272623864.shtml
- caffe中的sgd,与激活函数(activation function)
caffe中activation function的形式,直接决定了其训练速度以及SGD的求解. 在caffe中,不同的activation function对应的sgd的方式是不同的,因此,在配置文 ...
- javascript入门笔记9-认识DOM
认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 将HTML代码分 ...