Example #1
0
// {{{ 中断初始化 void irq_init(void)
void irq_init(void)
{
	// 将协处理器P15的寄存器C1中的bit24置1,该比特位为VIC使能位
	__asm__(
			"mrc p15, 0, r0, c1, c0, 0\n"
			"orr r0, r0, #(1 << 24)\n"
			"mcr p15, 0, r0, c1, c0, 0"
		   );
	// 关闭所有中断
	VIC0INTENCLEAR = 0xffffffff;
	// 清空VICxADDR
	VIC0ADDRESS = 0;
	// 中断挂起标志位清零, Each bit is cleared by writing "1";
	EINT0PEND = 0xffffffff;

#ifdef IRQ_KEY		// 开启外部按键中断
	key_irq_init();
#endif

#ifdef IRQ_TIMER	// 开启定时器中断
	timer_irq_init();
#endif
}
Example #2
0
void touch_test(void)
{
	touch_init();
	key_irq_init();	
}