历史上的今天
返回首页

历史上的今天

今天是:2025年07月01日(星期二)

正在发生

2021年07月01日 | ARM中断模式(IRQ)和快速中断模式(FIQ)区别比较

2021-07-01 来源:eefocus

简介:本文主要对ARM中断模式(IRQ)和快速中断模式(FIQ)区别进行了说明,希望对你的学习有所帮助。


概念


IRQ(Interrupt Request):指中断模式。


FIQ(Fast Interrupt Request):指快速中断模式。


IRQ与FIQ是ARM处理器的两种不同编程模式(ARM有7种处理模式)。


详述


1、对FIQ你必须进快处理中断请求,并离开这个模式。


2、IRQ可以被FIQ所中断,但FIQ不能被IRQ所中断,在处理FIQ时必须要关闭中断。


3、FIQ的优先级比IRQ高。


4、FIQ模式下,比IRQ模式多了几个独立的寄存器。


不要小看这几个寄存器,ARM在编译的时候,如果你FIQ中断处理程序足够用这几个独立的寄存器来运作,它就不会进行通用寄存器的压栈,这样也省了一些时间。


5、FIQ的中断向量地址在0x0000001C,而IRQ的在0x00000018。(也有的在FFFF001C以及FFFF0018)


写过完整汇编系统的都比较明白这点的差别,18只能放一条指令,为了不与1C处的FIQ冲突,这个地方只能跳转,而FIQ不一样,1C以后没有任何中断向量表了,这样可以直接在1C处放FIQ的中断处理程序,由于跳转的范围限制,至少少了一条跳转指令。


6、IRQ和FIQ的响应延迟有区别


IRQ的响应并不及时,从Verilog仿真来看,IRQ会延迟几个指令周期才跳转到中断向量处,看起来像是在等预取的指令执行完。FIQ的响应不清楚,也许比IRQ快。


推荐阅读

史海拾趣

Advance Tapes公司的发展小趣事

为了进一步扩大市场份额,Advance Tapes公司开始积极参与国际展会和交流活动,向全球客户展示其优质的产品和技术实力。同时,公司还加大了对品牌建设的投入,通过广告宣传、赞助活动等方式提升品牌知名度和美誉度。这些努力使得Advance Tapes的胶带产品逐渐在国际市场上占据了一席之地。

聚辰(Giantec)公司的发展小趣事

自1994年(部分资料显示为1993年,但此处采用最新信息)成立以来,港源公司始终将技术创新视为企业发展的核心驱动力。公司专注于轻触开关、微动开关、AC/DC插座、变压器等开关零组件产品的研发,通过引进国内外先进技术,并自主成功研发了自动化生产设备和检测设备,实现了生产自动化,大幅提升了产品质量和生产效率。港源公司还积极参与国际技术交流与合作,与众多行业标杆客户长期紧密合作,能够尽早了解市场需求,快速响应并推出符合行业标准的新产品,从而引领了电子开关行业的发展方向。

CUI Inc.公司的发展小趣事

除了电源产品,CUI Inc.还提供世界一流的配套板级元器件,包括互连、声音、运动控制和热产品。为了满足全球客户的需求,CUI积极扩展其全球化布局。通过与各地的合作伙伴建立紧密的合作关系,CUI成功地将其产品和服务推广到了全球范围内。这种全球化战略不仅提高了CUI的市场份额,还增强了其在国际市场上的影响力。

Comchip Technology公司的发展小趣事

面对日益激烈的市场竞争和不断变化的客户需求,Comchip Technology始终保持着创新精神。公司不断投入研发资源,开发新产品、新技术,以满足市场的不断变化。同时,公司还积极关注行业发展趋势和未来技术动向,为公司的长远发展做好战略布局。

这些故事基于Comchip Technology公司的实际发展情况虚构而成,旨在展示其在电子行业中的成长历程和所取得的成就。虽然这些故事可能并不完全准确或详尽,但它们能够提供一个关于该公司发展的大致框架和背景。

DILABS公司的发展小趣事

面对数字化浪潮的冲击,DILABS积极拥抱变革。他们加大了对人工智能、物联网等前沿技术的研发投入,推动公司向数字化转型。同时,DILABS还积极参与行业标准的制定和推广工作,为电子行业的未来发展贡献自己的力量。展望未来,DILABS将继续秉承创新、品质、环保和数字化的理念,为全球客户提供更加优质、高效的电子产品和服务。

API Technologies公司的发展小趣事

API Technologies一直将品质管理作为公司的核心竞争力之一。公司建立了完善的质量管理体系,从原材料采购到产品生产的每一个环节都进行严格的质量控制。同时,公司还注重持续改进和优化生产流程,提高生产效率和产品质量。这些措施使得API Technologies的产品在市场上具有极高的口碑和竞争力。

问答坊 | AI 解惑

FPGA推荐的设计10大设计原则

FPGA推荐的设计10大设计原则…

查看全部问答>

请教怎么加载两个菜单。

如题, 在练习菜单的基本设计, 请问高手们怎么在一个窗口加载两个菜单, 就是说手机屏幕上左下角和右下角都是菜单。 多谢高手们指教。…

查看全部问答>

uC/OS中断函数使用信号量出问题

我在uC/OS的中断服务程序中只要不调用函数,中断服务程序是可以运行的,但是一旦中断服务函数中涉及信号量,则外部等待这个信号量的任务只会执行一次就死在那里了! 串口中断接收程序: interrupt 20 void iUART0_Receive(void){    OSIn ...…

查看全部问答>

请教 单片机上使用开关,有抖动的问题

我现在定义了,如果P2.4是低电平则执行一个操作,使一个变量的值+1,现在我在P2.4口上接了个开关,就是那种按下去接着弹起来的按钮开关,现在按下去则P2.4是低电平,但是我发现这样有一些问题,按一次变量的值乱蹦,因为执行了很多次吧。 于是我加 ...…

查看全部问答>

求 NT 文件系统内幕一书

求 NT 文件系统内幕一书  中文版 可以另外加分或者现金 电子版 印刷版均可 tao_ao@126.com…

查看全部问答>

s3c2440的串口问题

我有一块S3C2440的板子,装好后通电三组串口好像短路一样,相互之间的阻值只有几十欧,用串口0连PC开机就不断输出乱码或者00 00....,本来调试串口是UART1的,即使启动时的调试信息也是通过UART1输出的。很奇怪,不知道是什么原因。…

查看全部问答>

windows mobile5.0系统如何定制

.本人想做一个windows mobile 5.0的系统. 请问也是用PB吗?? 怎么我做了一个mobile handheld.. 界面跟WINCE的一样!丑死了喔!…

查看全部问答>

新手求助如何实现USB功能

  本人做的项目是车载导航多媒体系统,主板是Pxa270,现在要添加usbhost驱动, 不知道PB工程里怎么修改,驱动程序生成的是DLL吗?大家说详细点 谢谢!…

查看全部问答>

怎样在.net2005中使用serialport控件

我在port_DataReceived事件中对窗口控件操作时老是提示要与独立线程创建的控件交互, 比如,我中该事件中收到一段字符,判断后关闭当前窗口, 这个简单的应用都实现不了,我该怎么做呢?…

查看全部问答>