arm中断保护和恢复_嵌入式ARM系统异常和中断处理知识总结

关于异常处理,分为三部分:

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

异常和中断处理简介

在嵌入式系统中异常处理是核心之一。高效的处理能够极大的提升系统的性能。
ARM处理器一共有7种可以暂停指令的执行序列的异常。
主要分为三个部分:

点击这里1小时彻底掌握中断 创客学院带你搞定异常和中断处理


1. Exception handling
2. Interrupts
3. Interrupt handling schemes
今天我们主要介绍第一部分

Exception Handling

1.ARM Processor Exceptions And Modes

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

90b20f46ec2ada439cedcd403a0cf7ae.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

f5dc3522e89a036707fd2adbdc8d1ddc.png

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

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

3.Exception Priorities

ddaae9bcd10a6e2aa4b5ddce3604fa64.png

4.Link Register Offset

7bf7b03ea083c8dec8f3004b5c56a9e6.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

...

<code>

...

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中恢复出来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机工作站 曙光,曙光桌面工作站解析

曙光桌面工作站内部架构从整个结构设计来看&#xff0c;整机采用10升小机箱设计&#xff0c;尺寸为326x90x333.4mm&#xff0c;重量在5KG左右&#xff1b;支持垂直放置或横置&#xff0c;节省办公空间。接口方面&#xff0c;整机在前面板提供了4个USB 3.0接口&#xff0c;后置接…

查看网卡命令 uefi_大神教你开机进入UEFI模式的方法,非常简单

启动电脑时&#xff0c;如果要更改启动优先级、启用或禁用安全启动或更改任何其他低级设置&#xff0c;则需要启动到UEFI模式。根据主板制造商的不同&#xff0c;必须按键盘上的特定键或组合键才能进入UEFI模式。尽管初始屏幕显示了需要按下的键&#xff0c;但对于初学者来说却…

计算机网络拓扑结构说课稿,计算机网络应用基础说课稿修稿稿

计算机网络应用基础说课稿修稿稿 (6页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;19.90 积分计算机网络的分类说课稿第1页共6页计算机网络的分类说课稿蓬溪县中等职业技术学校唐湘各位评委老师大家…

扩展源_瑞萨电子推出具备反向充电WattShare TRx模式的 15W无线充电电源P9415R接收器,扩展无线电源产品线...

News全球领先的半导体解决方案供应商瑞萨电子集团(TSE&#xff1a;6723)日前宣布推出采用瑞萨独有WattShareTM技术的P9415-R无线电源接收器&#xff0c;作为其无线电源解决方案的最新成员。新型15W无线电源接收器使智能手机、移动电源以及便携式工业和医疗设备能够对其它具有无…

香港大学计算机硕士一定要面试吗,大干货!!!香港硕士有哪些专业需要笔试面试...

和其它英联邦地区比&#xff0c;香港硕士申请复杂程度更高&#xff0c;除了香港地区不同专业在申请时间、流程及录取要求方面的复杂信息外&#xff0c;很多专业在录取时都有面试笔试也是很重要的原因。很多同学在收到面试笔试后也都会担心自己表现不好被拒。今天就来跟大家说说…

计算机上没有office2010,《我安装了office2010,为什么桌面-右键-新建中没有excel呢?》 excel文件找不到...

为什么在excel2007中新建文档&#xff0c;我的模板里找不到刚刚保存的模板&#xff1f;win10系统/华硕S CA400&#xff1a;C:\Users\Admin\AppData\Roaming\Microsoft\Templates我安装了office2010&#xff0c;为什么桌面-右键-新建中没有excel呢&#xff1f;这个office2010无关…

postgresql存图片字段类型_PostgreSQL 入门

安装、设置、创建和开始使用 PostgreSQL 数据库。-- Greg Pittman&#xff08;作者&#xff09;每个人或许都有需要在数据库中保存的东西。即使你执着于使用纸质文件或电子文件&#xff0c;它们也会变得很麻烦。纸质文档可能会丢失或混乱&#xff0c;你需要访问的电子信息可能会…

ibm服务器 p5 硬盘,IBM虚拟化实战之p5服务器逻辑分区解读

创建 AIX 分区现在您将创建一个 AIX 分区&#xff0c;它使用 VIO Server 的 SEA 来访问网络。它还将其 rootvg 寄宿在 VIO LPAR 上。创建 AIX 服务器分区和概要除了下面的变化以外&#xff0c;创建 AIX 分区和概要的步骤与创建VIO Server 分区和概要部分中的步骤完全相同。1. 在…

cad动态块制作翻转_装X必学,手把手教你做CAD动态属性块

最近很多粉丝后台问熊大&#xff0c;如何制作CAD动态属性块&#xff0c;这个问题把我难到了。因为这个不是一句两句话能够说得清楚的&#xff0c;于是我拿出珍藏的“西蜀鄙夫”写的教程&#xff0c;并通过与我们设计过程的实际需要给大家说说。干货文章&#xff0c;大家耐心看完…

云服务器怎么执行sql文件在哪里,总结帝国CMS下在PHP文件中怎么调用数据库类执行SQL语句实例...

总结帝国CMS下在PHP文件中怎么调用数据库类执行SQL语句实例发布时间&#xff1a;2020-10-19 14:58:08来源&#xff1a;亿速云阅读&#xff1a;83作者&#xff1a;小新这篇文章将为大家详细讲解有关总结帝国CMS下在PHP文件中怎么调用数据库类执行SQL语句实例&#xff0c;小编觉得…

网和aoe网的区别_运动内衣与普通内衣有什么区别?运动内衣里面还需要穿文胸吗? 小家生活网20201002 11:03:04...

阅读本文前&#xff0c;请您先点击上面的“蓝色字体可以说爱情就是他们最大的软肋。不会在双鱼女那出现。在对于周边的亲戚时。她们那种温柔大方的气势。更符合妈妈的需求。整双腿没有视觉连贯性。但唯独感情这件事一直是水瓶们的知识盲区。他们双商超高。可能最开始还是会去挽…

机器人无限火力无限e符文_LOL:无限火力开黑指南 三大玩法让你快乐加倍

无限火力上线以来受到大家的热烈追捧&#xff0c;今天给大家介绍几个主流的系列&#xff0c;让你在峡谷能够感受到双倍的快乐&#xff01;超强控制流这一类英雄都是带有强力控制的&#xff0c;无限火力的80%减CD&#xff0c;能够让女坦等英雄可以打出长达几秒的完美控制技能。首…

ps3无线无法与服务器通信,psp上网出现无法与服务器通信(8001006F)

满意答案引用:一&#xff1a;自己网络配置&#xff1a;大亚db102 adsl拨号上网。INTEL网卡。神卡&#xff1a;Zydas 54M 同时支持PSP 和NDS的无线USB网卡三&#xff1a;安装过程中出现的问题DNS错误(8041040F)四、总结出现问题的关键&#xff1a;并非DNS设置错误&#xff0c;主…

bootstrap-table toolbar图标换文字_iPhone 也能随意换字体啦~

呔咯昨天从老大手里喜提一台 iPhone XS Max &#xff0c;终于让表妹从安卓阵营转入苹果&#xff0c;嘻嘻~当她拿着 iPhone 的时候&#xff0c;一脸懵的问我&#xff1a;iPhone 自带字体也太丑了吧&#xff0c;还我的输入法&#xff01;&#xff01;&#xff01;呔咯&#xff1a…

网络服务器分为文件服务器通信服务器和,近代中国落后、贫困的根本原因是()...

近代far, find, lights, minutes, to, right, tellA: Excuse me. Could you ____ me the way ____ the bookshop?B: Ok. Go along this road and turn____ at the traffic ____. Then go straight on. Youll ____ it next to the post office.A: Is it ____ from here?B: No,…

搭建bitwarden_Docker轻松部署Bitwarden私有密码管理系统服务

0x01. 什么是Bitwarden?开源免费的密码管理器&#xff0c;Bitwarden的原理是使用高强度的AES256 算法对你的个人数据进行本地加密&#xff0c;然后再传输到云端服务器来实现网络同步。bitwarden使用的是微软的Azure云服务器&#xff0c;利用PBKDF2 加密主密码&#xff0c;而且…

取文件 shell_webshell文件上传分析溯源

由于最近比较忙&#xff0c;暂时没有时间更新&#xff0c;所以分享分享一些其他博主文章&#xff0c;大家敬请谅解摘要&#xff1a; dirbuster扫描目录发现几个有用的东东/admin/upload.php/admin/upload1.php/admin/upload2.php访问的时候最后都会跳转到/admin/upload...dirbu…

web系统数据库服务器,Web Gateway

字段名称SPB 关键字描述*目的地目录DMS.Destination您希望 Web Gateway 服务器文件所处的目录的全限定路径。缺省值是&#xff1a;对于 Solaris 与 Linux&#xff0c;是 /opt/TivTwg对于 AIX&#xff0c;是 /usr/TivTwg对于 Windows&#xff0c;是 c:\Program Files\TivTwg*…

java socket发送定长报文_一个基于TCP协议的Socket通信实例

原标题&#xff1a;一个基于TCP协议的Socket通信实例1. 前言一般接口对接多以http/https或webservice的方式&#xff0c;socket方式的对接比较少并且会有一些难度。正好前段时间完成了一个socket的接口的对接需求&#xff0c;现将实现的思路做一个整理。2. 需求概述2.1 需要提供…

7系统软raid_使用图形界面来配置RAID

RAID 配置起来要比 LVM 方便&#xff0c;因为它不像 LVM 那样分了物理卷、卷组和逻辑卷三层&#xff0c;而且每层都需要配置。我们在图形安装界面中配置 RAID 1和 RAID 5&#xff0c;先来看看 RAID 1 的配置方法。RAID 1 配置配置 RAID 1 时同样需要启动图形安装程序&#xff0…