s3c2440的看门狗

功能图以及介绍:

 

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 ,在线仿真器

 

参考:http://space.baidu.com/olnn/blog/item/f8786173a8ea441d8701b0b2.html/cmtid/cf8b9d1b2f73a7dcac6e7542可继续执行。

 

源代码:

#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;
}

 

----------------------------------------------------坚持不懈,追求卓越----------------------------------------------------------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值