mini2440系统引导(一)看门狗

本文详细介绍了看门狗定时器的控制寄存器(WTCON)和数据寄存器(WTDAT)的作用及初始化过程。WTCON用于控制看门狗中断的开关,而WTDAT则用于设置看门狗的计数初值。文章还提供了基于mini2440平台的u-boot代码示例,展示了如何通过修改寄存器值来关闭看门狗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看门狗主要看控制寄存器(WTCON)和数据寄存器(WTDAT)。

  • WTCON寄存器

WTCON全称WATCHDOG TIMER CONTROL,可以控制看门狗中断的开关。

其地址为0x53000000, 其每一bit含义如下

 

从看门狗的控制寄存器看到,[0]是用来控制使能或者关闭看门狗的,改位为1就使能,0就是关闭。还有[2]位是中断控制为,当该位为1时,如果超时会产生中断。所以也要进行屏蔽掉。

  • WTDAT寄存器

WATCHDOG TIMER DATA  REGISTER

 

  • 初始化

参照mini2440光盘中的uboot代码,u-boot-1.1.6\cpu\arm920t\start.S

/* turn off the watchdog */
#if defined(CONFIG_S3C2400)
# define pWTCON 0x15300000
# define INTMSK 0x14400008 /* Interupt-Controller base addresses */
# define CLKDIVN 0x14800014 /* clock divisor register */
#elif defined(CONFIG_S3C2410)
# define pWTCON 0x53000000
# define INTMOD 0X4A000004
# define INTMSK 0x4A000008 /* Interupt-Controller base addresses */
# define INTSUBMSK 0x4A00001C
# define CLKDIVN 0x4C000014 /* clock divisor register */
#endif

#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410)
ldr r0, =pWTCON
mov r1, #0x0       //直接把控制器置0,关闭了看门狗
str r1, [r0]

 

转载于:https://www.cnblogs.com/souroot/p/11124166.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值