mini2440系统引导(二)中断寄存器

中断寄存器涉及多个寄存器,我们目前需要屏蔽中断,所以先关心INTMSK寄存器即可。

INTERRUPT MASK (INTMSK) REGISTER

注意,每一位置1时屏蔽中断功能,全部屏蔽填0xffffffff.

我们也了解一下每一个bit的含义:

初始化:

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

#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
str r1, [r0]

/*
* mask all IRQs by setting all bits in the INTMR - default
*/
mov r1, #0xffffffff
ldr r0, =INTMSK
str r1, [r0]
# if defined(CONFIG_S3C2410)
ldr r1, =0x3ff  //这里并没有全部关闭,全关填0xffffffff好了
ldr r0, =INTSUBMSK
str r1, [r0]
# endif

猜你喜欢

转载自www.cnblogs.com/souroot/p/11124186.html