在32位ARM系统中,一般都是在中断向量表中放置一条分支指令或PC寄存器加载指令,实现程序跳转到中断服务例程的功能。例如:
IRQEntry B HandleIRQ ;跳转范围较小
B HandleFIQ
或IRQEntry LDR PC,=HandleIRQ ;跳转的范围是任意32位地址空间
LDR PC,=HandleFIQ
LDR伪指令等效生成1条存储读取指令和1条32位常数定义指令。32位常数存储在LDR指令附近的存储单元中,相对偏移小于4KB。该32位数据就是要跳转到的中断服务程序入口地址。
之所以使用LDR伪指令,是因为ARM的RISC指令为单字指令,不能装载32位的立即数(常数),无法直接把一个32位常数数据或地址数据装载到寄存器中。下面一般程序与上述伪指令功能等效,但中断向量表描述得更为清晰。其中VectorTable为相对LDR指令的偏移量:
IRQEntry LDR PC,VectorTable+0
;与LDR PC,=HandleIRQ等效
LDR PC,VectorTable+4
;与LDR PC,=HandleFIQ等效
……
VectorTable DCD HandleTRQ
DCD HandleFIQ
……
HandleIRQ
……
HandleFIQ
一般ARM嵌入式系统的程序都是固化在从00000000H开始的低端ROM空间中,中断向量表VectorTable也是固化在ROM中,所以上述两种方法都无法在程序运行时动态随机修改中断向量表。不论对于初学ARM处理器的程序员还是有经验的程序员,设置中断向量都相当繁琐,必须修改ARM的C程序的启动代码。一段晦涩的汇编代码很不方便,比较容易出错。
关键字:ARM 中断向量
编辑:神话 引用地址:ARM中断向量两种设置方法
推荐阅读最新更新时间:2023-10-12 20:39
基于ARM核的GPS接收机的设计与实现
0 引言
全球定位系统(GPS)作为一种成熟的导航定位技术,以其全天候、高精度、自动化、高效率等显著特点及所独具的定位导航、授时授频、精密测量等多方面的强大功能,使其用途越来越广泛。传统的使用8位单片机设计的GPS接收机,在数据处理、系统性能提升以及功能扩展等方面存在较大的不足。随着嵌入式技术的发展,以ARM为代表的32位微处理器凭借其高性能、低功耗、低成本、体积小等优点,在现实中获得了广泛的应用。
本文介绍了一种GPS接收机的整体设计方案,该方案采用Atmel公司生产的ATR0600和ATR0620芯片。其中ATR0600芯片作为接收机的射频前端,内嵌ARM7TDMI处理器核的ATR0620芯片作为接收机的数字基带处
[单片机]
ARM MMU页表框架
先上一张arm mmu的页表结构的通用框图(以下的论述都由该图来逐渐展开): 以上是arm的页表框图的典型结构:即是二级页表结构: 其中第一级页表(L1)是由虚拟地址的高12bit(bits )组成,所以第一级页表有4096个item,每个item占4个字节,所以一级页表的大小为16KB,而在第一级页表中的每个entry的最低2bit可以用来区分具体是什么种类的页表项,2bit可以区分4种页表项,具体每种页表项的结构如下: 简而言之L1页表的页表项主要有两大类: 第一大类是指向第二级页表(L2页表)的基地址; 第二类直接指向1MB的物理内存。 在L1页表中每个表项可以覆盖1MB的内存,由于有4096K个选项
[单片机]
【ARM裸板】LCD硬件原理、时序及初始化
1.LCD与OLED的区别 LCD背光源与OLED自发光 LCD无机材料,LCD寿命较长。OLED广视角、几乎无穷高的对比度、可以弯曲、较低耗电优点。 2.LCD原理 屏幕上的每一个点称为像素 每个像素点由RGB三原色组成 2.1 颜色如何确定? 由RGB三组信号线组成 由下原理图可知:R5条、G6条,B5条,即RGB565(彩色模式, 一个像素占两个字节) 因此其每个像素占用多少位(BBP:bit per piexl)为2个字节 2.2 LCD如何“行扫描”? 有一条CLK时钟线与LCD相连,每发出一次CLK(高低电平),就移动一个像素。 2.3 如何跳到下一行进行“行扫描”? 有一条HSYNC(水平同步信号)信
[单片机]
ARM称智能机正加速向64位处理器转移
北京时间4月24日晚间消息,ARM执行副总裁汤姆兰奇(Tom Lantzsch)周三表示,智能手机正加速向64位处理器转移,该过渡速度远超业界预期。
兰奇在接受媒体采访时称:“移动设备对64位处理器的需求与日俱增,这一点从我们的64位高端移动处理器Cortex A53的需求上即可略窥一斑。”
这一点甚至让ARM的高管们感到意外,他们最初认为,初期可能只有企业伺服器才会用到64位ARM处理器。兰奇称:“64位处理器正在成为移动设备的标准配置,对于该转移速度我们感到吃惊。高通、联发科和Marvell均展示了自己的64位移动处理器。”
去年苹果公司发布iPhone 5s时曾引发业界轰动,这不是因为其功能
[手机便携]
跳频电台中央控制单元及跳频单元的硬件设计
1 序言
跳频通信是扩频通信的一个分支,其工作原理是收发双方传输信号的载波频率按照预定规律进行离散变化,也就是说,通信中使用的载波频率受伪随机变化码的控制而随机跳变。它的突出特点是抗干扰能力强,具有较好的隐蔽性和抗截获性。
2 跳频电台的设计思路及参数
本跳频电台的设计初衷是利用最新的数字技术设计适合计算机数据通信的电台终端。根据现有条件和调研结果,采用了较为成熟和简单的编解码和同步方案。由于系统的硬件采用模块化设计,控制系统采用软件实现,因而为系统的技术升级,以及采用更优化的调制、信道编码和同步方案来实现最佳的系统性能提供了一个通用的硬件平台。
本项目设计的是自组织网网络跳频电台,跳速
[单片机]
基于ARM的剪切生产线数控系统
0 引言
随着我国制造业的飞速发展,对机加配件的加工精度和生产效率的要求越来越高,对企业生产过程的自动化程度也提出了很高的要求。棒料是各种模锻件、辊锻件、辗压件生产用的主要原料,而棒料剪断机就是为这些锻压工艺准备坯料的剪切下料设备。早期的剪切系统电气控制普遍采用交流接触器和继电器进行控制,经过长年使用,部件老化,设备故障频发。在维护中由于分立元件众多,集成度差,许多故障不能及时处理,给企业生产带来诸多不便。
由于PLC伺服控制系统具有定位精度高、响应速度快、抗干扰能力强、运行平稳等特性,采用可编程序控制器(PLC)控制系统的高精度自动剪切生产线的应用越来越广泛。但PLC还是软PLC技术,都有实时性不强的缺点,很
[单片机]
ARM的异常(S3C2440)
先厘清概念 异常:异常就是在程序运行过程中(USER mode),出现了一些异常情况,而中断是异常的一种情况。 中断:中断是一种异常。 异常发生了会进入相应的模式。 ARM体系的CPU有7种工作模式: User(用户模式) : ARM处理器正常的程序执行状态 FIQ(快速中断模式) : 当一个高优先级(fast) 中断产生时将会进入这种模式 IRQ(中断模式) : 通常的中断产生时将会进入这种模式 Svc(管理模式) : 当复位或软中断指令执行时将会进入这种模式 Abt(中止模式) : 当数据或指令预取中止时将会进入这种模式 Und(未定义指令模式) : 当执行未定义指令时会进入这种模式 Sys(系统模式) : 使用和
[单片机]
C语言中的可变参数函数的浅析(以Arm 程序中的printf()函数实现为例)
我们在C语言编程中会遇到一些参数个数可变的函数,一般人对它的实现不理解。例如Printf(): Printf()函数是C语言中非常常用的一个典型的变参数函数,它 的原型为: int printf( const char* format, ...); 它除了一个参数format固定外,后面的参数的个数和类型是不确定的,如下列三种调用方法: 1. printf(“%dn”, i); 2. printf(“%sn”, “Hello World”); 3. printf(“The result is %d, name is %s”, i, “Lily”); 使用可变参数时,需要用到的库函数:va_list 、va_s
[单片机]