微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

ARM7当中的中断与中断屏蔽程序

2016-08-04 10:01 来源:电源网综合 编辑:铃铛

ARM是在电子电路中常见的芯片系统之一,在很多设计中都会使用ARM芯片。本文将为大家介绍ARM7当中的中断工作模式,ARM7处理器具有2个中断输入,分别为IRQ中断和FIQ中断,如图1所示。其对应的中断操作模式为向量中断IRQ模式(用于通用中断处理)和快速中断FIQ模式(支持数据传输或通道处理)。

6-1

图1

向量中断请求(IRQ)是一个由nIRQ输入端的低电平所产生的正常中断。IRQ的优先级低于FIQ,对于FIQ序列它是被屏蔽的。任何时候在一个特权模式下,都可通过置位当前程序状态寄存器(CPSR)中的I位来禁止IRQ。

快速中断请求(FIQ)支持数据转移或通道处理,在ARM状态中,FIQ模式有8个专用的寄存器可用来满足寄存器保护的需要,这是上下文切换的最小开销。将nFIQ信号拉低可实现外部产生FIQ。在一个特权模式中,可通过置位当前程序状态寄存器(CPSR)中的F标志来禁止FIQ异常。当F标志清零时,ARM7处理器在每条指令结束时检测FIQ同步器输出端的低电平。

ARM7中断屏蔽程序实现

ARM7内核包含1个当前程序状态寄存器(CPSR),该寄存器中包含条件代码标志位、控制中断的使能和禁止位,以及设置处理器操作模式位。当前程序状态寄存器如图2所示。

6-2

图2

当前程序状态寄存器的控制位中包含2个中断禁止位——I和F位:当I位置位时,禁止IRQ中断,清零时允许IRQ中断;当F位置位时,禁止FIQ中断,清零时允许FIQ中断。

在ARM7系列的处理器中,只有“MRS”和“MSR”两条指令可以直接读取和设置当前程序状态寄存器(CPSR)或保存程序状态寄存器SPSR)。在ARM公司提供的C编译器中并没用提供特殊的语法格式,用于指定生成这两条指令,所以如要想将IRQ中断和FIQ中断都屏蔽,就必须使用汇编语言来编写函数。对于IRQ中断,ARM还有另外一种管理模式,即通过向量中断控制器(VIC)负责管理芯片的中断源,如果是只屏蔽或打开向量中断IRQ,也可以使用C语言来设计这两个函数。

标签: ARM7 ARM

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

相关阅读

微信关注
技术专题 更多>>
研发工程师的工具箱
智慧生活 创新未来

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006