




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM中的中断体制2012-03-13 18:22:06|分类:ARM裸机|字号订阅ARM中异常中断的类型:异常中断名称含义复位(Reset)当处理器复位引脚有效时,系统产生复位异常中断,程序跳转到复位异常中断处理程序处执行。复位异常中断通常用在下面几种情况:1、系统加电时2、系统复位时3、跳转到复位中断向量处执行,称为软复位未定义的指令当ARM处理器或者是系统中协处理器认为当前指令未定义时,产生未定义指令异常中断。可以通过该异常中断机制仿真浮点向量运算。软件中断(software interrupt SWI)这是一个由用户定义的中断指令。可以用于用户模式下程序调用特权操作指令。在实时操作系统(RTOS)中可以通过该机制实现系统功能调用指令预取中止(Prefech Abort)如果处理器预取指令的地址不存在,或者该地址不允许当前指令访问,当该被预取的指令执行时,处理器产生指令预取中止异常中断数据访问中止(Data Abort)如果数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据访问中止异常中断外部中断请求(IRQ)当处理器的外部中断请求引脚有效,而且CPSR寄存器的I控制位被清除时,处理器产生外部中断请求(IRQ)异常中断。系统中各外设通常通过该异常中断请求处理器服务快速中断请求(FIQ)当处理器的外部快速中断请求引脚有效,而且CPSR寄存器的F控制位被清除时,处理器产生外部中断请求(FIQ)异常中断ARM处理器对异常中断的响应过程:1. ARM处理器对异常中断的响应过程如下所述。2. 保存处理器当前状态、中断屏蔽位以及各条件标志位。这是通过将当前程序状态寄存器CPSR的内容保存到将要执行的异常中断对应的SPSR寄存器中实现的。各异常中断有自己的物理SPSR寄存器。3. 设置当前程序状态寄存器CPSR中相应的位。包括:设置CPSR中的位,使处理器进入相应的执行模式;设置CPSR中的位,禁IRQ中断,当进入FIQ模式时,禁止FIQ中断。4. 将寄存器Ir_mode设置成返回地址。5. 将程序计数器值(PC),设置成该异常中断的中断向量地址,从而跳转到相应异常中断处理程序处执行。上述处理器对异常中断的响应过程可以用如下的伪代码描述。R14_ = return linkSPSR_ = CPSRCPSR4:0 = expection mode number/* 当FIQ异常中断时,禁止新的FIQ中断 */if = Reset or FIQ thenCPSR6 = 1/* 禁止IRQ中断 */CPSR7 = 1/* 程序计数器跳转到向量表所指的代码段 */PC = exception vector address从异常中断处理程序中返回:1. 恢复被中断程序的处理器状态,即将SPSR_mode寄存器内容复制到CPSR中。2. 返回到发生异常中断的指令下一条指令处执行,即将Ir_mode寄存器的内容复制到程序计数器PC中。注意:复位异常中断处理程序不需要返回。在复位异常中断处理程序开始整个用户程序的执行,因而它不需要返回(此处说的不明白,看下面的我从另外找来的资料)以上内容全部摘自杜春雷的AR体系结构与编程注意:复位异常中断处理器程序没有相应的SPSR,所以在返回时只需要将状态位设置为用户模式,然后跳转到中断处的下一条代码即可。附:ARM中的异常和中断ARM处理器中主要有7个异常(2个中断异常):1、复位异常;在以ARM为核的单片机中,常把下列事件作为引起复位的原因。? 上电复位:在上电后,复位使内部达到预定的状态,特别是程序跳到初始入口;? 复位引脚上的复位脉冲:这是由外部其他控制信号引起的;? 对系统电源检测发现过压或欠压;? 时钟异常复位。ARM处理器复位后,处理器硬件将进行以下操作:? 强制进入管理模式;? 强制进入ARM状态;? 跳转到绝对地址PC=0x00000000处执行;? 禁止IRQ中断和FIQ中断。复位后,程序状态寄存器如下:.IFTM4M3M2M1M011010011上电复位后,进入管理模式,执行操作系统程序,一般用做对系统初始化,例如开中断等;然后切换到用户模式,开始执行正常的用户程序。切换到用户模式可使用下列程序:MRS R0,CPSR ;读状态寄存器BIC R0,R0,#03 ;把末两位清0MSR CPRS_c,R0 ;把修改后的值加载给状态寄存器,切换结束. ;用户程序2、未定义指令异常;由于ARM使用32位代码,包含的信息量很大,可达2的31方(4G)。ARM指令集不能用尽所有代码。当ARM处理器遇到无法译码的指令时就会发生未定义指令异常。进入中断处理程序。ARM的未定义指令异常有以下两种情况:(1)遇到一条无法执行的指令,此指令没有定义;(2)执行一条对协处理器的操作指令,在正常情况下,协处理器应该应答,但协处理器没有应答。未定义异常中断时,状态寄存器中的F位不变。使用下列指令退出异常中断,返回原程序 。? 把下一条指令的地址拷贝给LR;? 把程序状态寄存器CPSR拷贝给SPSR_und;? 强制进入未定义模式;? 强制进入到ARM模式;? 跳转到绝对地址PC=0x00000004处执行;? 禁止IRQ中断。进入中断后,程序状态寄存器如下:.IFTM4M3M2M1M01x011011MOVS PC,R14.3、软件中断异常;是由指令SWI引起的。程序在执行这一指令后,进入异常中断。处理器响应中断,硬件执行如下的操作。?把下一条指令的地址拷贝给LR;? 把程序状态寄存器CPSR拷贝给SPSR_svc;? 强制进入管理模式;? 强制进入到ARM状态;? 跳转到绝对地址PC=0x00000008处执行;? 禁止IRQ中断。进入中断后的程序状态寄存器如下:.IFTM4M3M2M1M01x010011软件中断处理程序完成后,使用下列指令返回到原中断处:MOVS PC,R14.4、预取指中止异常;由程序存储器引起的中止异常叫做预取指中止异常;由数据存储器引起的中止异常叫做数据中止异常。由于ARM的指令是3级流水线结构,读取指令周期是提前进行的,因此把读取指令的过程一般称预取指。如果在取得指令的同时程序存储器发出中止信号,则ARM处理器把这一条指令标记位无效,然后等待执行。有两种可能如下:? 当执行这条指令前程序发生跳转,则这条无效指令不引起异常中断;? 当执行到这条指令时,处理器会发生预取指中止异常,引起中断。当记进入预取指异常中断时,处理器硬件响应中断,执行以下的操作:? 把中断时PC的地址拷贝给LR;? 把程序状态寄存器CPSR拷贝给SPSR_abt;? 强制进入中止异常模式;? 强制进入到ARM状态;? 跳转到绝对地址PC=0x0000000C处执行;? 禁止IRQ中断。进入中断后,程序状态寄存器如下:.IFTM4M3M2M1M01x010111预取指中止异常中断返回时,应该执行下列指令:SUBS PC,R14,#4.5、数据中止异常;ARM处理器访问数据存储器时,在读取数据的同时数据存储器发出了中止信号,引起数据中止异常。数据中止异常中断服务程序返回时,使用下列指令:SUBS PC,R14,#8上述指令是返回到中断时所执行的指令,目的是再一次从数据存储器中读取数据。如果不再一次读取数据,则执行下一条指令,此时使用下列指令返回:SUBS PC,R14,#4? 把中断时的PC的地址拷贝给LR;? 把程序状态寄存器CPSR拷贝给SPSR_abt;? 强制进入中止异常模式;? 强制进入到ARM状态;? 跳转到绝对地址PC=0x00000010处执行;? 禁止IRQ中断。进入中断后,程序状态寄存器如下:.IFTM4M3M2M1M01x0101116、中断请求(IRQ)异常;例如:定时器中断、串行口通讯中断、外部信号中断和A/D处理中断等。IRQ中断是可屏蔽的。在状态寄存器中的I位就是IRQ的屏蔽位。当I=1时。则屏蔽IRQ中断,当I=0时,则允许中断。处理器复位后置I为1,关闭中断。当发生IRQ中断时,处理器硬件响应中断,执行下列操作:? 把中断时的PC的地址值拷贝给LR;? 把程序状态寄存器CPSR拷贝给SPSR_irq;? 强制进入IRQ异常模式;? 强制进入到ARM状态;? 跳转到绝对地址PC=0x00000018处执行;? 禁止IRQ中断。进入中断后,程序状态寄存器如下:.IFTM4M3M2M1M01x010010完成中断处理后,程序执行下列返回原中断处:SUBS PC.R14,#4.7、快速中断(FIQ)请求异常;FIQ快速中断是可屏蔽的。在状态寄存器中的F位就是FIQ的屏蔽位。当F=1时。则屏蔽FIQ中断,当F=0时,则允许中断。处理器复位后置F为1,关闭中断。当发生IRQ中断时,处理器硬件响应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 税务师网盘课件百度云
- 2025年 福建省大数据集团有限公司招聘考试笔试试题附答案
- 中国双缸洗衣机塑件行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 农业机械生产线项目人力资源管理分析报告
- 2025-2030年中国盐酥鸡行业深度研究分析报告
- 2024-2030年中国辽宁省农村城镇化建设行业市场发展监测及投资潜力预测报告
- 2024-2030年中国塞棒行业市场深度分析及发展潜力预测报告
- 2025年中国交互电子白板行业发展监测及投资战略规划报告
- 2025年中国晶闸管整流器行业市场全景调研及投资规划建议报告
- 2025年中国电子元器件配件市场深度分析及行业前景展望报告
- 液氨安全管理及应急处置
- 2025年中考山西考试试题及答案
- 2025年湖南省长沙市岳麓区博才小学五下数学期末学业质量监测试题含答案
- 生产车间5S培训教材
- 课题申报书:AI赋能高校辅导员能力提升的路径研究
- 【MOOC期末】《中国哲学》(北京师范大学) 期末中国大学慕课答案
- 整本书阅读:《乡土中国》(考教衔接讲义)-2025年高考语文一轮复习(新教材新高考)
- 护理新技术项目汇报
- DL T596《电力设备预防性实验规程》知识培训
- DB11T 594.1-2017 地下管线非开挖铺设工程施工及验收技术规程 第1部分:水平定向钻施工
- 2024低空航行系统白皮书:拥抱低空经济安全智慧飞行
评论
0/150
提交评论