⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sysinit.c

📁 arm7s3c44b0x0里ps2口和lcd口驱动编程实例
💻 C
字号:
#include "\inc\define.h"
#include "\inc\drives.h"
#include "\inc\sysinit.h"

void Isr_Init(void);
void HaltUndef(void) ;
void HaltSwi(void);
void HaltPabort(void);
void HaltDabort(void);
void FiqHandler(void);
void IrqHandler(void);

/*========================================================*/
//IntInit() initialize the interrupts that will be used
/*========================================================*/
void IntInit(void)
{
	rINTCON = 0x5;									//disable fiq, enable irq
    rINTMOD = 0x0;									//all interrupts useIRQ mode				
    rINTMSK &= ~BIT_GLOBAL;    						//all interrupts switch on
}

/*========================================================*/
//ISRInit() initialize the exceptional ISR
/*========================================================*/
void ISRInit(void)
{
	pISR_UNDEF	=(unsigned)HaltUndef;
    pISR_SWI  	=(unsigned)HaltSwi;
    pISR_PABORT	=(unsigned)HaltPabort;
    pISR_DABORT	=(unsigned)HaltDabort;
	pISR_IRQ	=(unsigned)IrqHandler;
	pISR_FIQ	=(unsigned)FiqHandler;	
}

void HaltUndef(void) 
{
	puts("Halt on Undefined instruction\n");
	while (1);
}
void HaltSwi(void)
{
	puts("Swi Interrupt detected\n");
		while(1);
}

void HaltPabort(void)
{
	puts("Prefetch Abort detected\n");
	while (1);
}

void HaltDabort(void)
{
	puts("Data Abort detected\n");
	while (1);
}

void IrqHandler(void)   
{
	puts("Halt on IRQ!\n");
	while(1);
}

void FiqHandler(void)
{
	puts("Halt on FIQ!\n");
	while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -