📄 sysinit.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 + -