您的位置 首页 5G

一种根据ARM处理器的反常处理规划与完成

一种基于ARM处理器的异常处理设计与实现,摘要 嵌入式系统要求对异常及中断处理器能快速响应。文中分析了ARM体系结构下异常处理特点,提出一种基于ARM处理器的高效异常处理解决方案,以LPC3250硬

摘要 嵌入式体系要求对反常及间断处理器能快速呼应。文中剖析了ARM体系结构下反常处理特色,提出一种依据ARM处理器的高效反常处理解决计划,以LPC3250硬件渠道为根底,对该计划进行了规划与完结。测验结果表明,该计划的反常处理更为高效。

在航空航天、工业操控及医疗等领域中,嵌入式体系的安全性、可靠性以及高效性效果明显,而反常是体系在运转进程中的突发事情,反常处理是否高效将直接影响整个体系的工作效率。为了保证嵌入式体系高效安全的运转,对处理器非正常形式下高效的反常处理机制的研讨具有重要意义。

1 反常概述

嵌入式体系中反常/间断是指由处理器内部或外部源产生并引起体系处理的一个事情。依据事情源的不同将反常分为“反常”和“间断”两种,反常指由处理器内部源所引起的事情,如不合法指令履行反常,地址拜访反常等;间断指由处理器外部间断源引起的事情。嵌入式处理器对外部间断源一般由间断操控器进行统一办理并上报处理器。关于嵌入式体系,反常/间断均会导致处理器打断正常的程序履行流程,进入特定形式进行相应的反常处理。因而,对“反常”和“间断”一般不作严厉区别。

作为嵌入式处理器,为了保证体系的实时性和程序履行的稳定性,ARM处理器支撑完好的反常处理机制。ARM处理器共有7种反常类型,每种反常都有自己固定的反常向量地址,且在反常产生后,处理器会切换至相应的反常间断形式,详细描绘如表1所示。

一种依据ARM处理器的反常处理规划与完结

ARM支撑多间断嵌套,因而各反常有固定的优先级,依次为:复位、数据间断、FIQ、IRQ、预取指间断、未定义指令和SWI。各反常向量之间只要4 bit的空间,因而向量表中只能放置跳转指令。一般反常处理结构如图1所示。

一种依据ARM处理器的反常处理规划与完结

2 反常的呼应和回来进程

2.1 反常的呼应

当7种反常中的任何一个在答应呼应的前提下产生时,处理器会进行必要的预处理,其动作如下:

(1)前程序状况字(Thc Current Program Status Register,CPSR)到各反常对应的备份程序状况字(The Saved Program Status Regis ter,SPSR)中。

(2)PSR中的操控位,使处理器进入相应的反常间断形式,一起切换程序状况为ARM状况,制止IRQ间断,若反常呼应为复位反常或FIQ反常,则还要制止FIQ间断。

(3)回地址,并保存到相应的LR寄存器中。

(4)量地址入PC,跳转并履行间断服务程序。

2.2 反常的回来

反常回来在反常服务程序完结后履行,内核需求用户自行完结以下回来动作:(1)PSR寄存器的内容返还给CPSR寄存器。(2)R寄存器的值赋给PC。(3)入间断服务程序时保存了部分通用寄存器的值,此刻需康复这些被保存的通用寄存器的值,且在铲除间断制止位。

3 反常服务程序的规划

LPC3250硬件渠道,板上集成两级间断操控,共支撑74路间断源。其间一级间断操控器可接纳32路外部间断请求,一切间断经过FIQ或IRQ间断信号告诉ARM核,因而需间断操控器办理一切外部间断源。

间断操控器中,ATR(Activation Type Register)寄存器用于设置间断的触发方法,外部间断支撑沿触发和电平触发;APR(Activation Polarity Register)寄存器用于确认间断类型,支撑高电位有用和低电位有用;ITR(Interrupt Type Register)寄存器用于设置间断方法,包含FIQ和IRQ两种,其间FIQ的呼应速度和优先级高于IRQ,支撑数据传输或信道处理,经过独有的寄存器来削减占用其他寄存器,一般嵌入式体系将一切外部间断选用IRQ反常间断形式办理;IER(InterruptEnable Register)寄存器用于对外部间断进行屏蔽或使能;RSR(Raw Stat us Register)寄存器用于描绘当时一切间断源状况。

间断源产生间断时,处理器从IRQ或FIQ反常进口开端履行处理例程。一般嵌入式体系依据间断源的差异存在不同的间断服务程序,为了正确判别出详细的间断源,规划在反常向量表之外,体系维护相关间断操控器的间断向量表,结构如表2所示。

一种依据ARM处理器的反常处理规划与完结

间断向量表,用于寄存详细间断源对应的间断服务程序的进口地址。当呼应外设间断请求时,进入间断服务程序经过间断操控器辨认间断源,并依据间断向量表履行处理例程。

LPC3250渠道规划,不经过间断操控器进行间断源的优先级操控,经过RSR寄存器获取间断源状况后,由体系软件进行间断源优先级装备。间断处理中由体系挑选当时最高优先级间断,并进入对应间断源的间断处理例程,间断处理进程如图2所示。

一种依据ARM处理器的反常处理规划与完结

4 反常服务程序的完结

嵌入式实时操作体系中,无论是实时呼应并处理来自各个被控目标的实时信息,仍是对使命履行时间的办理、资源的限时等候等,均需求时钟的参加。因而,精确且具有满足精度的时钟关于实时体系必不可少。

每次时钟间断产生,时钟间断服务程序都会被履行。因而时钟间断服务程序履行的频率很高,每个体系周期都会被履行,这要求程序的处理高效、简练。

因为ARM处理器中FIQ的呼应速度和优先级均高于IRQ,因而选用FIQ方法完结对处理器时钟间断的处理,其他外部间断由IRQ反常统一办理,反常处理结构图如图3所示。

一种依据ARM处理器的反常处理规划与完结

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/321948.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部