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

发布者:LogicLeaper最新更新时间:2015-10-08 来源: eefocus关键字:TQ2440  国嵌学院  gboo  异常向量表 手机看文章 扫描二维码
随时随地手机看文章
国嵌学院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(快速中断)

[转载]TQ2440国嵌学院gboot-异常向量表

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

 

关键字:TQ2440  国嵌学院  gboo  异常向量表 引用地址:TQ2440国嵌学院gboot-异常向量表

上一篇:TQ2440国嵌学院gboot-链接器脚本
下一篇:ARM指令B和BL解析

推荐阅读最新更新时间:2024-03-16 14:34

TQ2440 学习笔记—— 22、系统时钟和定时器
系统时钟和定时器 启动MPLL 需要设置的寄存器: LOCKTIME (LOCK TIME COUNT)、MPLLCON(Main PLL Control)、CLKDIVN(clock divider control) 若Fout = 200MHz则, Fout = 2 *m * Fin / (p * 2 ^ s) = 2 * (92 + 8) * 12MHz / (3 * 2 ^ 2) = 200MHz m = 100, MDIV = 92 p = 3, PDIV = 2 s = 2, SDIV = 2 #define S3C2440_MPLL_200MHZ ((0x5c 12) | (0
[单片机]
<font color='red'>TQ2440</font> 学习笔记—— 22、系统时钟和定时器
TQ2440 学习笔记—— 11、嵌入式编程基础知识【arm-linux-objcopy、objdump选项】
1、arm-linux-objcopy 选项 arm-linux-objcopy 被用来复制一个目标文件的内容到另一个文件中,可以使用不同于源文件的格式来输出目的文件,即可以进行格式转换。 常用arm-linux-objcopy 来将ELF格式的可执行文件转换为二进制文件。 arm-linux-objcopy 的使用格式如下: 2、arm-linux-objdump 选项 arm-linux-objdump 用于显示二进制文件信息,常用来查看反汇编代码 使用格式如下:
[单片机]
<font color='red'>TQ2440</font> 学习笔记—— 11、嵌入式编程基础知识【arm-linux-objcopy、objdump选项】
TQ2440 使用Jlink-Flasher 烧写 u-boot 或者 program
目前有三种方式来烧写 1、使用SJF2440 软件,配合 PC并口,这种方法最原始,效率低下,并且PC 必须有并口,现在的电脑一般都没有,笔记本就更加不用说啦! 2、使用H-Jtag 软件,配合PC并口,对于有PC 并口的,可以推荐下,但是一般都是没有的! 3、使用Jlink 软件,PC 端没有并口,我们一般都采用这种方法,特别是笔记本电脑。 TQ2440 买回来的时候是有u-boot 的,此后我们可以选择是从Nor Flash 启动或者 NAND Flash 启动,并且可以通过 USB 烧写。但如果一旦 u-boot 损坏了,或者其他原因,就会导致不能下在程序。我就遇到了这样的问题! 买了个 J-Link A
[单片机]
<font color='red'>TQ2440</font> 使用Jlink-Flasher 烧写 u-boot 或者 program
TQ2440 学习笔记—— 24、IIC 接口
IIC 接口 IIC (Inter-Integrated Circuit)总线是一种由PHILIPS 公司开发的串行总线,用于连接微控制器及其外围设备,它具有如下特点: 1、只有两条总线线路:一条串行数据线(SDA),一条串行时钟线(SCL)。 2、每个连接到总线的器件都可以使用软件根据它的唯一的地址来识别。 3、传输数据的设备间是简单的主从关系。 4、主机可以用主机发送器或主机接收器。 5、它是一个真正的多主机总线,两个或多个主机同时发起数据传输时,可以通过冲突检验和仲裁来防止数据被破坏。 6、串行的 8 位双向数据传输,位速率在标准模式下可达100 kbit/s,在快速模式下可达 400 kbit/
[单片机]
<font color='red'>TQ2440</font> 学习笔记—— 24、IIC 接口
tq2440 adc+中断 驱动
  基于 tq2440 开发板,内核2.6.30   功能   能进中断了,而且通道2读出来的数据也正确。   点击触摸屏的时候可能会混淆。因为触摸屏用的也是 adc-irq .   #include   #include   #include   #include   #include   #include   #include   #include   #include   #include   #include   #include   #include   #include   #include   #include   #include
[单片机]
TQ2440裸奔程序:串口UART的PC机按键测试程序
  //=========================================   // NAME: main.c   // DESC: TQ2440串口UART测试程序   //=========================================      #include def.h   #include option.h   #include 2440addr.h   #include   #include   #include   #include   #include   //======================================
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved