根据韦东山修改的mini2440中断的裸机代码
以下是5个文件的所有内容:
@是注释符!!
head.S文件内容:
@**************************************************************************
@
@
@**************************************************************************
.extern
.text
.global
_start:
@**************************************************************************
@
@**************************************************************************
@0x00地址处的指令为"b Reset",在系统复位后,这条指令将跳去执行标号"Reset"开始的代码
@0x04:未定义指令终止模式的向量地址
HandleUndef:
@0x08:管理模式的向量地址,通过SWI指令进入此模式
HandleSWI:
@0x0c:指令预取终止导致的异常的向量地址
HandlePrefetchAbort:
@0x10:数据访问终止导致的异常的向量地址
HandleDataAbort:
@0x14:保留
HandleNotUsed:
@0x18:中断模式的向量地址
@0x1c:快中断模式的向量地址
HandleFIQ:
Reset:
@设置栈指针,以下都是C函数,调用前需要设好栈。栈是用
halt_loop:
HandleIRQ:
int_return:
#define
#define
#define
#define
#define GPB5_out
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
void disable_watch_dog(void)
{
}
void init_led(void)
{
}
void init_irq()
{
}
interrupt.c文件内容:
#define
#define INTOFFSET
#define
#define
#define
void EINT_Handle()
{
}
main.c文件内容:
int main()
{
}
Makfile文件内容:
objs:=head.o
int.bin:$(objs)
%.o:%.c
%.o:%.S
clean:
评论