异常:指中断,在CPU工作的时候,有突然的事件需要CPU去处理,此时CPU停止正在的工作,去处理突然的事情,待处理完毕后重新返回。
异常向量:是指异常事件对应的固定地址,CPU通过对应的地址去处理事件。
在ARM Architecture Reference Manual手册中,搜索关键字Exceptions,找到如下对应的7种异常:
ARM的7种异常
1.Reset(复位)
2.Undefined insrtuction(未定义的命令)
3.Software interrupt(软中断)
4.Prefetch Abort(预取指令异常)
5.Data Abort(数据访问异常)
6.IRQ(中断)
7.FIQ(快速中断)
ARM指令解析:
①ARM指令B和BL的差异
B或BL指令引起处理器转移到“子程序名”处开始执行。两者的不同之处在于BL指令在转移到子程序执行之前,将其下一条指令的地址拷贝到R14(LR,链接寄存器)。由于BL指令保存了下条指令的地址,因此使用指令“MOV PC ,LR”即可实现子程序的返回。而B指令则无法实现子程序的返回,只能实现单纯的跳转。用户在编程的时候,可根据具体应用选用合适的子程序调用语句。
②ARM指令ldr
③
代码如下:
.text
.global _start
_start:
_undefined_interrupt:
_software_interrupt:
_prefetch_abort:
_data_abort:
_not_used:
_irq:
_fiq:
undefined_interrupt:
software_interrupt:
prefetch_abort:
data_abort:
not_used:
irq:
fiq:
reset:
上一篇:TQ2440国嵌学院gboot-链接器脚本
下一篇:ARM指令B和BL解析
推荐阅读最新更新时间:2024-03-16 14:34