请问下 uboot关中断,关看门狗,那么什么时候开中断,开看门狗??

 我来答
山水阿锐
2015-03-25 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.2亿
展开全部
您好,明细:
@ turn off the watchdog
#if defined(CONFIG_S3C2400)
# define pWTCON 0x15300000
# define INTMSK 0x14400008
# define CLKDIVN 0x14800014
#elif defined(CONFIG_S3C2410)
# define pWTCON 0x53000000
# define INTMSK 0x4A000008
# define INTSUBMSK 0x4A00001C
# define CLKDIVN 0x4C000014
#endif
@ 宏定义以S3C2410的SOC为例:
@ pWTCON定义为:看门狗计数器控制寄存器.
@ INTMSK定义为:中断控制寄存器.
@ INTSUBMSK定义为:子中断控制寄存器.
@ CLKDIVN定义为:时钟分频控制寄存器.

#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410)
ldr r0, =pWTCON @ 伪指令,(注:=号后边跟的是立即数),把看门狗计数器控制寄存器地址存于r0
mov r1, #0x0 @ r1 写0,mov指令与ldr指令实现的功能相当,它们之间的区别是于寻址方式梢有差异
str r1, [r0] @ 非使能看门狗计数器,pWTCON中的最后一比特写0表示不会输出复位信号

@ mask all IRQs by setting all bits in the INTMR - default

mov r1, #0xffffffff @ r1写全1
ldr r0, =INTMSK @ 中断控制器的基址存于r1
str r1, [r0] @ 注:因为INTMSK是立即数,故不能写成"str r1, INTMSK",关闭所有中断源.(1表示非使能)
# if defined(CONFIG_S3C2410)
ldr r1, =0x3ff
ldr r0, =INTSUBMSK
str r1, [r0]
@ 分析同上.另外,子中断有11个中断源,INTSUBMSK写成0x3ff(0011 1111 1111).bit10对应的中断源为INT_ADC,此处写为0为使能状态,个人认为应该最好写为0x7ff.*/
# endif
@ FCLK:HCLK:PCLK = 1:2:4
@ default FCLK is 120 MHz !
ldr r0, =CLKDIVN
mov r1, #3
str r1, [r0]
@ 分析同上.时钟分频控制寄存器bit1(HDIVN)写1表示HCLK=FCLK/2;写0表示HCLK=FCLK.bit0(PDIVN)写1表示PCLK=HCLK/2;写0表示PCLK=HCLK.
#endif @ CONFIG_S3C2400 || CONFIG_S3C2410
追问
bootlader第一阶段不是要关闭中断吗,我问的是什么时候开中断???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式