首页 > 嵌入式基础教程 > 基础知识

关于异常处理,分为三部分:1. ARM异常和模式:core处理异常时的操作,几种模式介绍。2. Vector table:3. 异常优先级4. lr偏移:几种异常如何返回

异常和中断处理简介

嵌入式系统中异常处理是核心之一。高效的处理能够极大的提升系统的性能。

ARM处理器一共有7种可以暂停指令的执行序列的异常。

主要分为三个部分:

1. Exception handling

2. Interrupts

3. Interrupt handling schemes

今天我们主要介绍第一部分

Exception Handling

1.ARM Processor Exceptions And Modes

任何一种中断模式都可以通过手动的修改cpsr的值来进入。但是User和System模式是仅有的2个不能由相应中断进入的模式,换句话说,我们必须要通过手动修改cpsr才能进入。

1.png

当一个异常产生的时候,core会自动进行如下4步:

1. saves the cpsr to the spsr of the exception mode

2. saves the pc to the lr of the exception mode

3. sets the cpsr to the exception mode

4. sets the pc to the address of the exception handler

需要注意的是,当异常产生的时候,ARM处理器总是会切换到ARM状态。

2.Vector Table

2.png

handler定位在相应内存位置中,如下图的IRQ,FIQ

0x00000018: 0xe59ffa38 IRQ ; ldr pc, [pc, #irq]

0x0000001c: 0xe59ffa38 FIQ ; ldr pc, [pc, #fiq]

3.Exception Priorities

3.png

4.Link Register Offset

4.png

如下三种从IRQ和FIQ异常处理返回的例子

例1:

handler

...

SUBS pc, r14, #4 ;pc = r14 -4

因为SUB后的S和pc作为目标寄存器,cpsr的值会自动从spsr中恢复出来

例2:

handler

SUB r14, r14, #4 ;r14 -= 4

...

...

MOVS pc, r14

r14 = r14 -4, pc = r14 , cpsr =spsr(因为S)

例3:

handler

SUB r14, r14, #4 ; r14 = r14 - 4

STMFD r13!, {r0-r3, r14} ;store context

...

LDMFD r13!, {r0-r3, r14}^ ;return

STMFD,LDMFD 分别提供了pop/push的功能。STMFD sp!, {r0-r3, r14}就是依次将r14, r3, r2, r1放入栈中。LDMFD r13!, {r0-r3, r14}^则依次反向取出。^ 这个符号,则强制cpsr从spsr中恢复出来。

换一批

延伸阅读

[行业资讯] Arm 基于台积公司22纳米ULP技术的POP IP,力助联咏科技推进数字电视芯片

Arm 基于台积公司22纳米ULP技术的POP IP,力助联咏科技推进数字电视芯片

Arm宣布基于台积公司22纳米ULP技术的Arm POP IP受联咏科技(Novatek)采用,结合Arm big.LITTLE架构的核心优势,为数字电视市场的芯片发展开创全新局面。 这一里程碑成就彰显了Arm与联咏科技之间长期稳定的伙伴关......

关键字:ARM 芯片 联咏科技

[行业资讯] 芯原微电子戴伟民:RISC-V可望造福两岸IC设计业

芯原微电子戴伟民:RISC-V可望造福两岸IC设计业

台湾RISC-V产业联盟7日召开成立大会,包括上海芯原微电子、晶心科技、嵌译科技、力晶科技以及交通大学等重量级产学人士云集。近年积极发展与推广RISC-V架构的上海芯原微电子董事长、中国RISC-V产业联盟理事长戴伟民表示,RISC-V可为......

关键字:ARM 服务器 英特尔

[行业资讯] 华为一年发布三款7纳米芯片,展现强大技术实力

华为一年发布三款7纳米芯片,展现强大技术实力

华为推出新一代以Arm架构为主的服务器处理器,采用7nm制程,产品型号Hi1620,依据目前公布讯息来看,华为最新推出的服务器处理器搭载之CPU,是由华为以Arm v8指令集设定俢改而成,CPU名称TaiShan,核心数量有48与64核两......

关键字:Arm 服务器 华为

[行业资讯] 高云半导体和ARM中国展开深度合作

高云半导体和ARM中国展开深度合作

2018年12月24日,中国广州,广东高云半导体科技股份有限公司(以下简称“高云半导体”)与安谋科技(ARM中国)就将ARM技术在高云半导体FPGA平台的实现达成深度合作协议,使高云半导体成为目前为止国内唯一一家跟安谋科技(ARM中国)达成......

关键字:半导体 高云半导体 ARM

[行业资讯] 1000万美元 SK海力士增资无锡晶圆代工业务

1000万美元 SK海力士增资无锡晶圆代工业务

据韩国媒体亚洲经济报道,SK海力士透过子公司SK Hynix System IC向无锡晶圆代工事业出资1,000万美元,资金用途视厂房兴建计划而定,无锡新工厂计划于2019年下半年竣工,从2020年开始正式启动。 ......

关键字:半导体 SK海力士 DARM
条评论

我 要 评 论

网友评论

大家都爱看

  • 扇出型晶圆级封装的优势和挑战!

    我们有能力创造一些能保持前代性能并且更好更小的电子设备,例如今天的可穿戴设备、智能手机或平板电脑,这是由于很多因素超过摩尔定律而快速发展,从而能够从底层的嵌入组件发展到今天把它们封…

    2018-03-29
  • Xilinx推出革命性的新型自适应计算产品

    自适应和智能计算的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX)),近日宣布推出一款超越FPGA功能的突破性新型产品,名为ACAP(Adaptive Compute Acceleration Platform,自适应计算加速…

    2018-03-20
  • 赛普拉斯为树莓派3 B+ IoT单板计算机提供强大稳定的无

    先进嵌入式系统解决方案的领导者赛普拉斯(纳斯达克代码:CY)近日宣布其Wi-Fi®和蓝牙®combo解决方案为全新的树莓派 3 B+(Raspberry Pi 3Model B+)IoT单板计算机提供强大稳定的无线连接…

    2018-03-20
  • 观看直播领红包,SEED-A10加速卡助力人工智能

    随着云服务器、云计算的发展,大家对硬件加速的需求越来越多,但是随着设备功耗的上升、性能需求越来越高,常规加速设备以及开始不能满足需求,因此FPGA逐渐在硬件加速中找到了自己的位置,而艾…

    2018-03-19
  • 特朗普:博通不得以任何形式收购高通

    白宫周一(3月12日)晚发出声明,川普(特朗普)总统出于“国家安全”考量、禁止新加坡博通公司(Broadcom)收购美国高通公司(Qualcomm)。

    2018-03-14