根據(jù)韋東山修改的mini2440中斷的裸機代碼
以下是5個文件的所有內容:
@是注釋符??!
head.S文件內容:
@**************************************************************************
@
@
@**************************************************************************
.extern
.text
.global
_start:
@**************************************************************************
@
@**************************************************************************
@0x00地址處的指令為"b Reset",在系統(tǒng)復位后,這條指令將跳去執(zhí)行標號"Reset"開始的代碼
@0x04:未定義指令終止模式的向量地址
HandleUndef:
@0x08:管理模式的向量地址,通過SWI指令進入此模式
HandleSWI:
@0x0c:指令預取終止導致的異常的向量地址
HandlePrefetchAbort:
@0x10:數(shù)據(jù)訪問終止導致的異常的向量地址
HandleDataAbort:
@0x14:保留
HandleNotUsed:
@0x18:中斷模式的向量地址
@0x1c:快中斷模式的向量地址
HandleFIQ:
Reset:
@設置棧指針,以下都是C函數(shù),調用前需要設好棧。棧是用
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:
評論