mini2440系统引导(一)看门狗

看门狗主要看控制寄存器(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]

 

posted @ 2019-07-03 07:36  souroot  阅读(270)  评论(0编辑  收藏  举报