main.c
来自「针对华清远见的FS9200(其内核为at91rm9200)的一个测试程序」· C语言 代码 · 共 73 行
C
73 行
#include "main.h"
typedef unsigned int U32;
typedef unsigned short U16;
typedef unsigned char U8;
#define _ISR_STARTADDRESS 0x21ffff00
#define pISR_RESET *(U32 *)(_ISR_STARTADDRESS+0x0)
#define pISR_UNDEF *(U32 *)(_ISR_STARTADDRESS+0x4)
#define pISR_SWI *(U32 *)(_ISR_STARTADDRESS+0x8)
#define pISR_PABORT *(U32 *)(_ISR_STARTADDRESS+0xc)
#define pISR_DABORT *(U32 *)(_ISR_STARTADDRESS+0x10)
#define pISR_RESERVED *(U32 *)(_ISR_STARTADDRESS+0x14)
#define pISR_IRQ *(U32 *)(_ISR_STARTADDRESS+0x18)
#define pISR_FIQ *(U32 *)(_ISR_STARTADDRESS+0x1c)
void HaltUndef(void)
{
printf("Undefined instruction exception!!!\n");
while(1);
}
void HaltSwi(void)
{
printf("SWI exception!!!\n");
while(1);
}
void HaltPabort(void)
{
printf("Pabort exception!!!\n");
while(1);
}
void HaltDabort(void)
{
printf("Dabort exception!!!\n");
while(1);
}
void HaltIrq(void)
{
printf("Irq happen!!!\n");
while(1);
}
void HaltFiq(void)
{
printf("Fiq happen!!!\n");
while(1);
}
void Isr_Init(void)
{
pISR_UNDEF = (U32)HaltUndef;
pISR_SWI = (U32)HaltSwi;
pISR_PABORT = (U32)HaltPabort;
pISR_DABORT = (U32)HaltDabort;
pISR_IRQ = (U32)HaltIrq;
pISR_FIQ = (U32)HaltFiq;
}
int main(void)
{
Isr_Init();
puts(__DATE__);
while(1) {
putch('a');
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?