关于arm中的中断处理

发布者:脑洞飞扬最新更新时间:2016-08-07 来源: eefocus关键字:arm  中断处理 手机看文章 扫描二维码
随时随地手机看文章
中断处理的流程
1.cpu内部的中断控制器收集外部各个中断,经过一个的处理以后在报给cpu
2.然后cpu保存现场,调用中断服务程序(ISR)
3.用ISR去识别相应的中断,然后调用相应的中断处理程序
4.处理完以后就进行清除中断
5.恢复被中断的程序


这就是中断处理的流程,下面是对第一步的过程进行详细的介绍。
根据2440手册上的介绍,把这一部分用一副图进行描述


request sources:中断请求源.
这里的中断请求源被分成了2个不同的类型,一个是有子中断(with sub-register),一个是没有子中断的,从图中可以得知不同的类型在中断的处理过程也是不一样的。


1.with sub-register  的处理过程
SUBSRCPND
这个寄存器的每一位都对应着一个子中断源,如果出现相应的中断,则会将相应的位置位为"1",如果要清除这个中断,则向相应位置"1"就可以(我也很不明白,不过手册上是这么写的)
SUBMASK
这个寄存器的作用是如果对应位是1则就屏蔽这个中断,如果是0的话就允许这个中断往上去
SRCPND
这个寄存器与SUBSRCPND这个寄存器的作用差不多,不过区别在于是SUBSRCPND是指示子中断,而SRCPND则是用来指示某一类的中断,可以说是一大类的。
MASK 
这个也有寄存器的,就是INTMASK 这个寄存器的作用其实和SUMMASK的作用差不多,也是用来屏蔽SRCPND上报的几个中断,不过不一样的是,如果中断是FIQ的话是不可屏蔽的,RIQ是可以屏蔽的
MODE
这个寄存器是INTMODE,这个寄存器很简单的,他是用来对应SRCPND中的中断的,如果某一位置为”1“的话,那就说明这个中断是FIQ的,那cpu就会立即进入FIQ模式的,不过这个通常是用在紧急的中断的.从图中也可以看出来这个关系


Priority(优先级)
不可能每一次都只有一个中断会出现,所以对于多中断出来的时候应该怎么处理....


这就是arm的中断仲裁器
总共有7个仲裁器,每一个仲裁器都可以处理6个中断源(REQ0,REQ1,REQ2,REQ3,REQ4,REQ5)
那关于优先级又是怎么区别的?
Each arbiter can handle six interrupt requests based on the one bit arbiter mode control (ARB_MODE) and two
bits of selection control signals (ARB_SEL) as follows:
If ARB_SEL bits are 00b, the priority order is REQ0, REQ1, REQ2, REQ3, REQ4, and REQ5.
If ARB_SEL bits are 01b, the priority order is REQ0, REQ2, REQ3, REQ4, REQ1, and REQ5.
If ARB_SEL bits are 10b, the priority order is REQ0, REQ3, REQ4, REQ1, REQ2, and REQ5.
If ARB_SEL bits are 11b, the priority order is REQ0, REQ4, REQ1, REQ2, REQ3, and REQ5.
Note that REQ0 of an arbiter always has the highest priority, and REQ5 has the lowest one. In addition, by
changing the ARB_SEL bits, we can rotate the priority of REQ1 to REQ4.
Here, if ARB_MODE bit is set to 0, ARB_SEL bits doesn’t change automatically changed, making the arbiter to
operate in the fixed priority mode (note that even in this mode, we can reconfigure the priority by manually
changing the ARB_SEL bits). On the other hand, if ARB_MODE bit is 1, ARB_SEL bits are changed in rotation
fashion, e.g., if REQ1 is serviced, ARB_SEL bits are changed to 01b automatically so as to put REQ1 into the
lowest priority. The detailed rules of ARB_SEL change are as follows:
If REQ0 or REQ5 is serviced, ARB_SEL bits are not changed at all.
If REQ1 is serviced, ARB_SEL bits are changed to 01b.
If REQ2 is serviced, ARB_SEL bits are changed to 10b.
If REQ3 is serviced, ARB_SEL bits are changed to 11b.
If REQ4 is serviced, ARB_SEL bits are changed to 00b.


每一个仲裁器可以处理6个中断请求,这些仲裁器是基于1位的(ARB_MODE)和2位的(ARB_SEL)
如果ARB_SEL是00,那么优先级就是REQ0, REQ1, REQ2, REQ3, REQ4, and REQ5.
下面依次类推
不过我们发现REQ0 和REQ5是优先级最高和最低是不变的。
关键是ARB_MODE这个值是有什么用的,关于这个值的主要的作用是优先级是否会自动变化,如果ARB_MODE是0的话,那么这个优先级的不会自动变化的,优先级是你一开始自己要设定要的,如果是1的话,那么这个优先级是会自动变化的,这个变化是循环的,让ARB_SEL循环变化的
规则:
如果是REQ0 或者是REQ5的话,那么ARB_SEL则不变化
如果是REQ1服务,那么ARB_SEL就会变成01,就这样依次继续。对于这个在寄存器PRIORITY这个寄存器中设置。


INTPND 这个是经过来了中断优先级仲裁器优先级选定过以后的中断,让这个寄存器是用来标识这个中断的,这样cpu就可以知道有什么中断了。不过这个寄存器很特殊就是同一个时间它只能一个位为1...
关键字:arm  中断处理 引用地址:关于arm中的中断处理

上一篇:ARM9时钟体系
下一篇:用中断的方式都控制LED

推荐阅读最新更新时间:2024-03-16 15:04

基于ARM9和CPLD的输入输出系统设计
简介:嵌人式丁业控制系统的突出特点是在高低温、高电磁辐射环境下的抗干扰性和可靠稳定性。和PLC系统相比。其明显的优点是处理速度快、方便进行工业以太网的组建、编程方便、通用性好,而且价格仅仅是PLC的几分之一,具有很好的发展前景。本论文主要论述了以EP9315和MAX2_EPM240为核心的嵌入式输入输出系统的设计。 1 系统构成 整个嵌入式输入输出系统分为嵌入式系统、应用模块(即输入输出模块)和转换模块三部分,总体结构如图1所示。 图1系统结构框图 1.1 嵌入式系统 本设计选择CirrusLogic公司高性能的ARM9嵌入式微处理器EP9315.该微处理器具有ARM920T内核所有的优异性能。丰富的集成外设
[单片机]
基于<font color='red'>ARM</font>9和CPLD的输入输出系统设计
非移动市场需求飙升ARM预计50亿片出货量
ARM核产品覆盖了MCU应用的每一个领域,从消费娱乐、无线移动、到网络和家庭应用等。而在便携式移动产品领域,以低功耗著称的ARM处理器占绝对优势。ARM公司于3月份宣称截至2007第四季度已累计“出货”100亿片MCU,而自2007年Q4至今又有10亿片基于ARM核的处理器出货。因此说ARM产品无处不在并不为过。而正当人们惊讶于ARM公司的快速成长与其低功耗产品在移动领域所取得的成就的同时,ARM已经将目光投向了非移动领域。 2008年6月11日,在深圳举办了ARM第一届家庭应用创新研讨会暨合作伙伴中国峰会上,ARM公司中国总裁谭军博士表示,ARM预计2010年的年出货量将达50亿片,而ARM也将在家庭应用上捕获更多的
[其他]
非移动市场需求飙升<font color='red'>ARM</font>预计50亿片出货量
AI PC 明年开始普及:内存 16GB 起步、算力超过 40 TOPS,Arm 要挑战 X86
1 月 18 日消息,集邦咨询近日发布报告,预估 2024 年全球 AI 服务器(包含 AI Training 及 AI Inference)超过 160 万台,同比增长超过 40%。 2025 年开始普及 集邦咨询认为 2024 年下半年陆续有厂商会推出 AI PC(算力达到 40 TOPS),而且伴随着英特尔 2024 年年底前推出 Lunar Lake,AI PC 有望在 2025 年逐渐普及。 IT之家注:TOPS 是 Tera Operations Per Second 的缩写,1TOPS 代表处理器每秒钟可进行一万亿次(10^12)操作。 集邦咨询认为有两股主要力量推动 AI PC 商用和落地: 其一,由终端应用需求
[家用电子]
ARM的“小公司,大生态“生存哲学
 “你知道ARM吗?” “arm,知道,胳膊麽” 这是笔者办公室里流行的一个经典笑料,这段对话放在电子圈,如果在5年前,听者也许云里雾里没有任何笑点可言,而如今必然是哄堂捧腹的结果。不可否认,这也印证了ARM的成功和迅速崛起。 作为IP授权模式的代表,ARM成功的背后,是IC产业发展大趋势的必然,即逐渐降低厂商进入IC设计领域的门槛,让产业生态越来越多元化、差异化,Fabless模式的产生是推动这种趋势的第一次变革,IP授权可称为第二次。 而在所有IP授权厂商中,究竟是什么成就了ARM的今天,ARM的明天又将向哪里去?带着这些问题,记者采访了ARM大中华区总裁吴雄昂,听他给出怎样的答案。 ARM大中华区总裁
[单片机]
ARM寄存器的总结
1) 31个通用寄存器,包括程序计数器(PC)。这些寄存器都是32位的; 2)6个状态寄存器。这些寄存器也是32位的,但是只使用了其中的12位。 ARM通用寄存器 通用寄存器(R0-R15)可分为三类:不分组寄存器R0~R7;分组寄存器R8~R14;程序计数器PC。 1)不分组寄存器R0~R7 不分组寄存器R0~R7在所有处理器模式下,它们每一个都访问一样的32位寄存器。它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。 2)分组寄存器R8~R14 分组寄存器R8~R14对应的物理寄存器取决于当前的处理器模式。若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。 寄存器R8~R
[单片机]
利用NXP S32DS和IAR for Arm加快基于NXP S32K3 MCU的汽车软件开发
利用NXP S32DS和IAR Embedded Workbench for Arm加快基于NXP S32K3 MCU的汽车软件开发 一个如何充分结合原厂MCU开发环境与业内领先软件工具优势来加速关键任务应用开发的案例 随着市场需求和汽车行业不断推进电动化、网联化、智能化和共享化等 “新四化” ,工程师将会面对越来越多的软件开发项目,去用高性能的、获得车规级和功能安全认证的MCU开发相关应用。将MCU供应商匹配提供的MCU开发环境,与业内领先的开发工具相结合,将会给开发人员带来开发效率和成果性能的大幅提升。本文以在汽车行业被广泛使用的 S32K系列32位Arm Cortex汽车MCU为例 ,来介绍通过整合利用其S32DS开
[嵌入式]
利用NXP S32DS和IAR  for <font color='red'>Arm</font>加快基于NXP S32K3 MCU的汽车软件开发
arm启动代码详解
基于ARM的芯片多数为复杂的片上系统,这种复杂系统里的多数硬件模块都是可配置的,需要由软件来设置其需要的工作状态。因此在用户的应用程序之前,需要由专门的一段代码来完成对系统的初始化。由于这类代码直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言。一般通用的内容包括: 中断向量表 初始化存储器系统 初始化堆栈 初始化有特殊要求的断口,设备 初始化用户程序执行环境 改变处理器模式 呼叫主应用程序 1. 中断向量表 ARM要求中断向量表必须放置在从0地址开始,连续8X4字节的空间内。 每当一个中断发生以后,ARM处理器便强制把PC指针置为向量表中对应中断类型的地址值。因为每个中断只占据向量表中1个字的存储空间,
[单片机]
基于ARM和无线自组网的远程抄表系统
嵌入式系统(Embedded System)是一种软硬件可扩充或裁剪的专用计算机系统,以面向应用为主,是将计算机技术,半导体技术和电子技术以及各个行业的具体应用相结合的产物。随着电子技术、通信技术、计算机技术的发展,全球日益信息化,嵌入式系统以其体积小、功耗低、使用方便等特点,广泛应用于各种工业、民用的计算机系统中。在此提出一种运用ARM和AdHoc技术组成的一个远程无线抄表的方式。该系统具有成本低,可靠性高,维护方便的优点,可以用于电、气、水、油等的远程抄表。 l ARM体系和Ad Hoc网络 ARM体系的处理器是目前嵌入式系统中使用最广泛的处理器。其采用了RISC技术,具有体积小、低功耗、低成本、高性能的特点,并且其
[单片机]
基于<font color='red'>ARM</font>和无线自组网的远程抄表系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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