|
我看的是44B0的init.s,好像只完成了基础初始化,用了一个宏来取得中断程序地址
但$HandleLabel里,只有irp中断的参数是设置过的,其余都没有定义
弱弱的问一句,是不是我理解错误,这只是个初始化程序,不能叫作bootloader?
入口点部分:
B ResetHandler
B UndefHandler
B SWIHandler
B PreAbortHandler
B DataAbortHandler
B
B IRQHandler
B FIQHandler
宏:
$HandlerLabel HANDLER $HandleLabel(参数)
$HandlerLabel
sub sp,sp,#4
stmfd sp!,{r0}
ldr r0,=$HandleLabel;
ldr r0,[r0]
str r0,[sp,#4]
ldmfd sp!,{r0,pc}
;****************************************************
;设置中断处理 *
;****************************************************
ldr r0,=HandleIRQ ;This routine is needed
ldr r1,=IsrIRQ ;if there isn't 'subs pc,lr,#4' at 0x18, 0x1c
str r1,[r0]
|
|