历史上的今天
返回首页

历史上的今天

今天是:2025年04月03日(星期四)

正在发生

2020年04月03日 | ARM异常返回修正值

2020-04-03 来源:eefocus

ARM异常返回修正值因异常类型不同而不同,这主要取决于两个方面:

a、异常处理完后,返回的地址是异常产生时执行指令的地址还是执行指令下一条指令的地址;

b、处理异常时,PC值是否已更新

 

1、Reset异常

复位异常不需要返回,所以在这不讨论


2、SWI、未定义指令异常

a、SWI、未定义指令异常是由执行该指令时产生的异常,所以,当异常发生时PC值并未更新。

b、链接寄存器LR保存取指的前一条指令,即LR=PC-4,此时PC-4指向执行指令的下1条指令

c、返回时,SWI、未定义指令均已执行完,应返回执行指令的下1条指令,即PC=LR

 

3、IRQ、FIQ异常

a、处理器处理完当前执行指令后,再去查询IRQ、FIQ引脚是否有中断信号。如有中断信号且允许中断,则处理IRQ、FIQ中断异常。当处理处理IRQ、FIQ中断异常,PC值已更新,即PC指向当前执行指令的后3条指令。

b、链接寄存器LR保存取指的前一条指令,即LR=PC-4,此时PC-4指向执行指令的下2条指令

c、返回时,处理中断前的当前执行指令已被执行完,应返回执行指令的下1条指令,即PC=LR-4

 

4、预取指异常

a、预取指异常是在取值时出错,该指令标记为有问题指令,并在执行该指令时产生的异常。异常发生时,PC值未更新

b、链接寄存器LR保存取指的前一条指令,即LR=PC-4,此时PC-4指向执行指令的下1条指令

c、返回时,由于中断前的当前执行指令并未被正确执行需重新执行一次,所以应返回执行指令,即PC=LR-4

 

5、数据访问异常

a、数据访问异常发生在当前指令已执行当获取数据出错,此时PC已更新,即PC指向当前执行指令的后3条指令。

b、链接寄存器LR保存取指的前一条指令,即LR=PC-4,此时PC-4指向执行指令的下2条指令。

c、返回时,由于中断前的当前执行指令并未被正确执行需重新执行一次,所以应返回执行指令,即PC=LR-8

image.png?imageView2/2/w/550

推荐阅读

史海拾趣

DIALIGHT公司的发展小趣事

DIALIGHT公司的故事始于1938年的纽约布鲁克林,当时该公司专注于为飞机生产仪表板灯。随着技术的不断进步和市场的变化,公司在1971年,即LED推出仅一年后,推出了他们的第一个LED产品。这一举措标志着DIALIGHT正式从传统的飞机仪表板灯制造转向LED照明技术的研发和应用。从此,DIALIGHT彻底改变了LED的用途,将其广泛应用于世界各地的交通控制、指示灯、结构塔和工业场所,为全球提供了优质的照明解决方案。

Component General Inc公司的发展小趣事

Component General Inc公司的创立,标志着电子行业中一颗新星的升起。自XXXX年成立以来,公司始终致力于射频/微波设计领域的研发与生产。起初,公司只有几名创始人和一些基础的研发设备,但他们凭借着对技术的热情和执着,成功地开发出了首款高功率电阻器,这为公司后续的发展奠定了坚实的基础。

BOWEI公司的发展小趣事

在技术创新的基础上,Component General Inc公司开始积极拓展市场。公司不仅在国内市场取得了良好的销售业绩,还积极开拓国际市场,与多家海外企业建立了合作关系。同时,公司也注重品牌建设,通过参加各种行业展会、举办技术研讨会等方式,提升公司的知名度和影响力。

方向电子公司的发展小趣事

Component General Inc公司的创立,标志着电子行业中一颗新星的升起。自XXXX年成立以来,公司始终致力于射频/微波设计领域的研发与生产。起初,公司只有几名创始人和一些基础的研发设备,但他们凭借着对技术的热情和执着,成功地开发出了首款高功率电阻器,这为公司后续的发展奠定了坚实的基础。

富芯森美(FUXINSEMI)公司的发展小趣事

随着技术实力的不断提升,富芯森美开始积极拓展市场。公司凭借优质的产品和专业的服务,成功打入消费类电子、安防、工控、汽车电子等多个领域。同时,富芯森美还注重品牌建设,通过参加国内外知名展会、举办技术研讨会等方式,不断提升品牌知名度和影响力。这些努力使得富芯森美在电子行业中逐渐崭露头角,成为行业内的佼佼者。

Edsun Laboratories Inc公司的发展小趣事

企业文化是企业发展的灵魂。ECM Electronics Limited.注重企业文化的建设,倡导“诚信、创新、协作、共赢”的价值观。公司注重员工的培训和发展,为员工提供良好的工作环境和职业发展机会。通过团队建设活动,增强员工的凝聚力和归属感。正是这些积极向上的企业文化和优秀的团队,为ECM Electronics Limited.的持续发展提供了源源不断的动力。

问答坊 | AI 解惑

有關離電池電量顯示電路

各位好 想请问要是我已经有个充电器 电池为手机3.6V 1200mAh锂电池 想要做个可以显示电池剩余电量的功能 用四颗LED显示 按一下亮4颗表示充满电 依电量变少LED亮灯就递减(如附件) 已经知道可以用LM324 比较电路可以完成 但毕竟是10几年前在学校 ...…

查看全部问答>

LPC1343资料

这是我刚找的资料贡献给大家。 希望大家一起搜集资料多多共享…

查看全部问答>

培训市场直指就业

就业培训进一步深入人心   职业教育从其根本性质上说,就是为实现就业而进行的教育。随着就业成为当今社会关注的热点,就业培训理念在IT职业教育发展中也成为最受关注的话题。人们提及最多的就是职业教育首先应为就业服务,就业培训的理念已经在 ...…

查看全部问答>

关于Wince拼音输入法的怪问题(要求置顶!)

关于Wince拼音输入法的怪问题(要求置顶!) 这个拼音输入法问题,我在网上找了很久很久,发现好多网友都遇到了相同的问题,可是每个贴子问题都没解决就不了了之,只有一个提问的朋友解决了,解决完之后还没影了,也没有具体说明解决问题的办法。 ...…

查看全部问答>

求ads 1.2

求ads 1.2  for arm 的下载地址…

查看全部问答>

想买一种嵌入式开发板或成品,能完成下列的简单功能,内详。恳请各位达人给个建议。

我是软件工程师,对硬件不太熟,现在项目需要一种嵌入式的小型设备,需要完成的功能和要求如下: 1。TCP/IP网络通信,最好能支持浏览器 2。必须有VGA,或CVBS的电视接口。 3。最好能有音频输出 4。应用软件由我们自己开发,所以要有比较成熟的 ...…

查看全部问答>

关于AD转换的问题

最近忙于毕业设计,发现有个重要的问题没解决,用51进行AD转换,但是由于有三个不同数据故需要转换三次,就不知道怎么做了?用三路模拟就不知道怎么写程序了,书上是用汇编写的八路模拟,但是没看明白怎么用的,问下应该怎么写?…

查看全部问答>

普通电源变压器的讨论

本帖最后由 dontium 于 2015-1-23 13:19 编辑     对普通电源变压器的选用和检测不大熟悉,虽然网上也有很多资料,但看起来都很凌乱,而且基本上都是繁琐而且没有测试方法,想知道各位在实际应用中是怎么做得。    1.功 ...…

查看全部问答>

LM4F120实例分享--HID的USB键盘实例

最近入手了块LM4F120的板子,今天呆坐一下午调了个USB键盘的程序,发上来大家分享一下。 代码都很简单,基本都是官方代码的堆砌,我就不解释了。 使用,插入LM4F120开发板侧面usb口(再次吐槽,哪个线很难插呀很难插....),上电,自动识别usb设备 ...…

查看全部问答>

晒奖品了+评测

先来一张靓照吧: 看看什么主控和FLASH吧,安国的SC908呢,网上应该可以找到量产工具量产呢,前提是:不是硬伤。 闲着没事来个扩容检测:一切正常,可以安心使用。 另外最实在的测试就是把U盘塞满,看它会不会“ ...…

查看全部问答>