历史上的今天
返回首页

历史上的今天

今天是:2025年03月15日(星期六)

2020年03月15日 | ARM的异常及向量表

2020-03-15 来源:eefocus

ARM具有7种异常,分别为:


1、复位


2、未定义指令


3、软中断


4、预取指令终止


5、数据终止


6、中断请求(IRQ)


7、快速中断请求(FIQ)


用一句通俗的话去表达ARM的运行情况,那就是ARM总会在运行在以上7种异常情况的某一种之下。初初了解ARM时总会难于去了解这个"异常"是什么样的一个意思,到了现在对ARM有了一点肤浅的理解后,其实可以将这个"异常"理解为"环境",或其他表达ARM运行情况的一个形容词就行了。


向量表。现在平时所谓的“表”就是由多项内容构成的一个文字模式,ARM向量表其实也是这样,向量表就是由以上ARM的7种异常的入口地址所构成的。如下表简单示意,


    异常类型          偏移地址(低)       偏移地址(高)


    复  位                0x00000000            0xffff0000


    未定义指令      0x00000004            0xffff0004


    软中断              0x00000008            0xffff0008


    预取指令终      0x0000000c            0xffff000c


    数据终止     0x00000010          0xffff0010


    保留                  0x00000014            0xffff0014


    中断请求(IRQ) 0x00000018        0xffff0018


    快速中断请求(FIQ) 0x0000001c      0xffff001c


在ARM的汇编启动文件中,会发现向量表的汇编语言体现形式如下,


        LDR     PC, ResetAddr

        LDR     PC, UndefinedAddr

        LDR     PC, SWI_Addr

        LDR     PC, PrefetchAddr

        LDR     PC, DataAbortAddr

        NOP

        LDR     PC, IRQ_Addr

        LDR     PC, FIQ_Addr

推荐阅读

史海拾趣

BVLED公司的发展小趣事

在追求经济效益的同时,BVLED公司也积极履行社会责任,致力于推动可持续发展。公司注重环保和节能技术的研发和应用,推出了一系列环保型LED产品;同时,公司还积极参与公益事业和慈善活动,为社会做出贡献。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实的基础。

请注意,以上仅为一个框架性的描述,并未涉及具体的公司名称、时间、地点等细节。你可以根据这个框架进行进一步的创作和补充,以形成完整的故事。同时,由于每个公司的发展轨迹都有其独特之处,你也可以结合你对电子行业LED公司的了解和观察,来创作出更具真实感和说服力的故事。

Block USA Inc.公司的发展小趣事

在支付与金融服务领域取得成功后,Block USA Inc.还尝试了跨界合作,推出了音乐软件TIDAL。这一举措旨在通过提供高品质的音乐体验,吸引更多年轻用户群体,并进一步扩大Block的品牌影响力。虽然音乐市场竞争激烈,但TIDAL凭借其独特的音乐资源和用户体验,逐渐在市场中占据了一席之地。

优先(苏州)半导体公司的发展小趣事

1994年,三星电子(苏州)半导体有限公司在苏州工业园区成立,成为园区首批入驻的外资企业之一。公司初期主要生产配套、低附加值产品,但随着市场的变化和竞争的加剧,公司开始寻求转型。2003年,苏州工厂开始转型生产核心产品,标志着公司从低端生产向高端制造的转变。此后,公司不断加大在智能制造方面的投入,采用先进的半导体自动化生产管理系统和ERP管理系统,实现了“无人化”自动化生产,生产自动化率可达90%以上。同时,公司始终坚持“绿色经营”的可持续发展理念,致力于保护及改善周边环境,履行企业的环保社会责任。

Esc Electronics Corp公司的发展小趣事

Esc Electronics Corp(简称Esc)在成立的初期,以其独特的技术突破在电子行业中崭露头角。公司研发出一款高效能、低成本的电子元件,成功吸引了市场的注意。随着产品的不断迭代和技术的持续创新,Esc的产品线逐渐丰富,市场份额也逐步扩大。公司凭借技术优势和敏锐的市场洞察力,成功开拓了多个新的市场领域。

Eastman Kodak Company公司的发展小趣事

进入21世纪后,随着数码技术的迅速崛起,传统摄影市场遭受了巨大的冲击。面对这一挑战,伊士曼柯达公司开始尝试向数码领域转型。然而,由于公司在数码技术方面的积累相对较少,转型过程并不顺利。尽管如此,柯达仍然坚持创新,不断推出新的数码产品,以应对市场的变化。同时,公司还加强了与数码技术公司的合作,共同研发新产品,以提高市场竞争力。

Amphion Semiconductor Ltd公司的发展小趣事

伊士曼柯达公司由发明家乔治·伊士曼于1880年创立,最初名为伊斯曼干版公司。伊士曼的初衷是提供一种更便捷、更经济的摄影方式,以满足大众对摄影的日益增长的需求。他通过不断的研发和创新,成功推出了易于使用的胶卷和相机,使摄影技术得以普及。这一创新不仅改变了摄影行业的格局,也为伊士曼柯达公司的后续发展奠定了坚实的基础。

问答坊 | AI 解惑

cadence仿真问题

用的是analoglib里的元件画的电路,仿真时不知道加模型库时怎么加?…

查看全部问答>

nandflash的坏块处理

那位有nandflash的坏块处理方法,说下.…

查看全部问答>

菜鸟问问 在Wince中时间显示

想在一个EDIT控件里显示系统当前时间,不知道该怎么做。 有没有相关的控件呢? 不要time picker…

查看全部问答>

关于在2440上移植linux的问题

1,请教几个问题,是不是理论上来说,任何linux版本都可以移植到2440上,只是易难不同? 2.如果2440移植的不是三星提供的版本,那是不是移植非常困难,但是据我所知三星只提供mizi版呀?而mizi是面对2410的呀?贵公司在2440的板子上移植Linux 2.6.1 ...…

查看全部问答>

网络最佳兼职

假如你想创业但资金不多或想找个兼职请看这 与您现有的工作相容互补而不冲突             不需要受学历的限制        不需要特殊的专业技能        不需要受 ...…

查看全部问答>

cyclone III 对DDR2 SDRAM的支持

想构建一个系统,实现高速数据采集,采集频率至少在400MHz,ADC采集后的数据通过FPGA缓存至DDR2 SDRAM。现在不清楚DDR2应该如何选,选DDR2 400 可以吗?cyclone III不支持DDR2 800。…

查看全部问答>

液晶浮点值显示的一种解决方法

液晶浮点值显示的一种解决方法   在以ucOS-II为系统搭建的工程中,需要在液晶LCD上显示浮点型值,但液晶的驱动函数中仅编写了一个显示字符串的函数GUI_DispStringAt(); 所以需要一个函数把浮点型值转化成字符串,然后以字符串的形式输出到LC ...…

查看全部问答>

有没有人了解HPGL语言?

我做一个项目,准备使用HPGL语言控制.用AutoCAD画2D图. 类似于绘图仪.…

查看全部问答>

谁有基于LM3S3601 的 Stellaris 编程器的资料?

 如题,谁有基于 TI M3 LM3S3601 的 Stellaris 编程器的资料? 听说这个下载程序更快,谁有详细的资料,共享下。…

查看全部问答>

Quartus中TCL脚本的编写办法

大家在使用Quartus的过程中有没有因为编写TCL脚本烦恼过呢?下面的这篇资料就介绍了如何在Quartus中编写TCL脚本。…

查看全部问答>