tiny6410屏蔽中断首先要设置cpsr的I位跟F位为1,这个在设置svc模式的时候已经完成了。
第二步就要设置屏蔽中断寄存器,在手册《S3C6410X》中的12节有中断寄存器的内容。
INTERRUPT ENABLE REGISTER,VICINTENABLE寄存器只能使能中断而不能屏蔽中断,
要屏蔽中断就要设置INTERRUPT ENABLE CLEAR ,VICITENCLEAR寄存器,
该寄存器有两组,要屏蔽中断,这两组寄存器就要全部设置为1.
在reset处添加跳转指令bl disable_interrupt
该出代码如下
#define VIC0INTENCLEAR 0x71200014
#define VIC1INTENCLEAR 0x71300014
disable_interrupt:
ldr r0, =VIC0INTENCLEAR
mvn r1, #0x0
str r1, [r0]
ldr r0, =VIC1INTENCLEAR
str r1, [r0]