head.s
来自「2440 中断实例 按键盘键点亮LED灯」· S 代码 · 共 67 行
S
67 行
.text
.global _start
_start:
b Reset
@ 0x04: 未定义指令中止模式的向量地址
HandleUndef:
b HandleUndef
@ 0x08: 管理模式的向量地址,通过SWI指令进入此模式
HandleSWI:
b HandleSWI
@ 0x0c: 指令预取终止导致的异常的向量地址
HandlePrefetchAbort:
b HandlePrefetchAbort
@ 0x10: 数据访问终止导致的异常的向量地址
HandleDataAbort:
b HandleDataAbort
@ 0x14: 保留
HandleNotUsed:
b HandleNotUsed
@ 0x18: 中断模式的向量地址
b HandleIRQ
@ 0x1c: 快中断模式的向量地址
HandleFIQ:
b HandleFIQ
Reset:
ldr sp,=4096
bl disable_watch_dog
msr cpsr_c,#0xd2
ldr sp,=3072
msr cpsr_c,#0xdf
ldr sp,=4096
bl init_led
bl init_irq
msr cpsr_c,#0x5f
ldr lr,=halt_loop
ldr pc,=main
halt_loop:
b halt_loop
HandleIRQ:
sub lr,lr,#4
stmdb sp!,{ r0-r12,lr }
ldr lr,=int_return
ldr pc,=EINT_Handle
int_return:
ldmia sp!,{ r0-r12,pc }^
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?