功能图以及介绍:
WTDAT 寄存器的数值不能够自动加载到WTCNT寄存器中,所以在watchdog启动之前,需要将初始值写到WTCNT寄存器中。
watchdog 是可以通过cpu核的DBGACK信号,来判断判断是否在调试模式,如果在调试模式watchdog timer 将不会运行。
介绍一下EmBedded ICE :
EmbeddedICE-RT——EmbeddedICE是ARM公司提出的一种面向系统的解决方案,其关键技术是在处理器芯片内部加入一个EmbeddedICE宏单元;EmbeddedICE-RT是ARM7以上CPU中的一种调试标准。EmbeddedICE-RT接口使能断点和观察点;当前台任务使用片内RealMonitor软件调试时,中断服务程序可继续执行。
RT-Real Time,实时
ICE-In Circuit Emulator ,在线仿真器
源代码:
#include "2440addr.h"
/*-------------------------------------------------------------
函数名称: watchdog_test
功能描述: 看门狗试验函数
传 参: 无
返 回 值: 无
-------------------------------------------------------------*/
void watchdog_test(void)
{
rWTCON=((prescaler_value<<8)|(clock_select<<3));//设置预分频数和时钟因数
rWTCON &= ~(3<<1); //关闭看门狗中断
rWTDAT=15000; //给看门狗数值寄存器赋值
rWTCNT=15000; //由于看门狗数值寄存器第一次不会自动复制到看门狗计数器中
//所以在使用前先复制到看门狗计数器中
rWTCON|=((1<<5)|(1<<0)); //时间到时看门狗会自动复位,启动看门狗定时器
while(1);
}
void watchdogmain()
{
watchdog_test();
return;
}
----------------------------------------------------坚持不懈,追求卓越----------------------------------------------------------------------