微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > TQ2440国嵌学院gboot-异常向量表

TQ2440国嵌学院gboot-异常向量表

时间:11-26 来源:互联网 点击:
国嵌学院TQ2440开发板gboot设计-基本框架设计

异常:指中断,在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//global伪指令声明_start是全局符号

_start:

b reset//对应地址0x00000000

ldr pc,_undefined_interrupt//对应地址0x00000004

ldr pc,_software_interrupt//对应地址0x00000008

ldr pc,_prefetch_abort//对应地址0x0000000C

ldr pc,_data_abort//对应地址0x00000010

ldr pc,_not_used//对应地址0x00000014

ldr pc,_irq//对应地址0x00000018

ldr pc,_fiq//对应地址0x0000001C

_undefined_interrupt:.word undefined_interrupt

_software_interrupt:.word software_interrupt

_prefetch_abort:.word prefetch_abort

_data_abort:.word data_abort

_not_used:.word not_used

_irq:.word irq

_fiq:.word fiq

undefined_interrupt:

nop

software_interrupt:

nop

prefetch_abort:

nop

data_abort:

nop

not_used:

nop

irq:

nop

fiq:

nop
reset:

nop

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top