汇编写启动代码之关看门狗

《朱老师物联网大讲堂》学习笔记

学习网址:www.zhulaoshi.org


watch dog timer 这就是看门狗


现实中因为一些外部原因,比如恶劣的环境等,电子设备可能会跑飞或者死机


在这种极端情况下,我们希望设备能够自动复位,进而重新启动,否则岂不是要一直卡在那里


看门狗的作用就是用来帮我们实现自动复位的


它是我们SOC内部的一个定时器


在一定时间内必须重新去喂狗,否则它就咬人了 T.T,骗你的,不过系统会强制复位。


如果正常运行,我们当然不希望系统,没事就去复位。


系统正常运行的时候,系统软件会自己去喂狗,狗自然不会咬人。


不过系统一旦故障,跑飞,就没法喂狗了,下一个周期就会自动复位,进而重新运行系统,同时也达到了我们期望的结果。


有些时候,我们需要看门狗的功能,而有些事情,可以不用,那我们就需要关闭它。


物理特性:看门狗其实就是个定时器,是SOC的一个内部外设。

不过目前我们只是想关闭它,就不去研究其内部细节了,其实各种设备的看门狗实现都差不多了。


看门狗不必分析原理图,因为看门狗属于内部外设,并且没有外部相关的原件与它有关联,所以也不需要分析原理图,

原理图上也找不到和看门狗有关的介绍。


数据手册:7.3

WTCON(0xE2700000)


bit5是看门狗的开关


具体代码,是在之前LED的代码前面增加这一小段

#define WTCON 0xE2700000

ldr r0, =0x0
ldr r1, =WTCON
str r0, [r1]


不用研究如何用mov,那是编译器哥们的事,我们用伪指令就可以了。



下面附带上数据手册中关于看门狗的部分资料,

3 WATCHDOG TIMER
3.1 OVERVIEW OF WATCHDOG TIMER
The Watchdog Timer (WDT) in S5PV210 is a timing device that resumes(恢复) the controller operation after
malfunctioning(故障) due to noise and system errors. WDT can be used as a normal 16-bit interval timer(定时器) to request
interrupt service. The WDT generates the reset signal.
The difference between WDT and PWM timer is that WDT generates the reset signal.

3看门狗定时器

3.1看门狗定时器概述

看门狗定时器(WDT)在S5PV210是一个计时装置,用于恢复在故障后的控制器的操作,

包括由于噪声和系统误差的故障。看门狗可以作为一个正常的16位定时器请求

中断服务。WDT产生复位信号。

看门狗定时器、PWM定时器的区别是,WDT产生复位信号。



3.2 KEY FEATURES OF WATCHDOG TIMER
• Supports Normal interval timer mode with interrupt request
• Activates Internal reset signal if the timer count value reaches 0 (Time-out).
• Supports Level-triggered Interrupt mechanism(机制)

3.2看门狗定时器的关键特点

•支持正常间隔定时器模式的中断请求

•激活内部复位信号,如果定时器计数值达到0(超时)。

•支持电平触发中断机制


if controller restart is not
desired(渴望,希望), the Watchdog timer should be disabled.

如果控制器重启不

需要时,看门狗定时器应禁用。



The content(内容,容量) of WTDAT cannot be automatically loaded into
the timer counter at initial watchdog timer operation. 

初始化看门狗定时器的操作时候,WTDAT中的值不能自动加载到定时器的计数器,


the content of the WTDAT register cannot be automatically loaded into the timer count register if the watchdog
timer is enabled initially(使能初期), therefore the WTCNT register must be set to an initial value before enabling it. 


Interrupt service routine(例行程序) is responsible(负责) to clear the relevant(相关的)
interrupt after the interrupt service is complete. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值