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

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

学习网址: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,那是编译器哥们的事,我们用伪指令就可以了。

你可能感兴趣的:(汇编写启动代码之关看门狗)