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