Cortex-M0和Cortex-M0+的异常类型
中断(IRQ)只是ARM Cortex-M处理器中的一种异常,异常能够引起程序停止执行当前任务,去执行中断处理函数。
Cortex-M0和Cortex-M0+处理器内置了名为NVIC的中断控制器,并且支持最多32个中断请求(IRQ)输入,以及1个不可屏蔽中断(NMI)输入。根据微控制器产品设计的不同,IRQ和NMI可以由外部产生,也可以由片上外设产生。
Cortex-M0和Cortex-M0+处理器中的异常如下表所示
异常编号 | 异常类型 | 优先级 | 描述 |
---|---|---|---|
1 | 复位 | -3(最高) | 复位 |
2 | NMI | -2 | 不可屏蔽中断 |
3 | 硬件错误 | -1 | 错误处理异常 |
4~10 | 保留 | NA | – |
11 | SVC | 可编程 | 通过SVC指令进行系统调用 |
12~13 | 保留 | NA | – |
14 | PendSV | 可编程 | 系统服务,多用有OS环境,该异常请求可以被挂起 |
15 | SysTick | 可编程 | SysTick定时器 |
16 | 中断 #0 | 可编程 | 外部中断0 |
17 | 中断 #1 | 可编程 | 外部中断1 |
… | … | … | … |
47 | 中断 #31 | 可编程 | 外部中断31 |
1 复位
优先级最高的异常,当系统被复位之后首先被执行。复位向量位于第二个字空间,第一个字为栈顶指针。详细见:Cortex-M软件结构
2 NMI
不可屏蔽中断。
NMI同IRQ类似,只是它不能被禁止,并且优先级仅仅次于复位,它对于工业控制和汽车之类的高可靠性系统非常有用。根据控制器设计的不同,NMI可用于掉电处理,也可连接到看门狗单元,以便在系统停止响应时将系统复位。由于NMI不能被控制寄存器禁止,其响应的及时性得到保证。
3 HaardFault
硬件错误异常多用于处理程序执行时产生的错误,这些错误可以是试图执行未知的操作码、总线接口或存储系统的错误,也可以是试图切换至ARM状态之类的非法操作。
4 SVC
请求管理调用。
SVC指令执行时会产生SVC异常,通常用在具有哦操作系统的系统中,为应用程序提供了访问系统服务的入口。
5 PendSV
可挂起的系统调用。
PendSV是用于带OS的应用程序的另外一个异常,SVC异常字SVC指令执行后会马上开始,PendSV在这点上有所不同,他可以延迟执行,在OS上使用PendSV可以确保高优先级任务完成才执行系统调用。
PendSV通常用在任务调度中。想象一下这么一个情况,比如A任务的时间片到了之后,有IRQ正在运行,那么系统将会执行IRQ,IRQ返回后继续执行任务A,这样一来A任务就获得了额外的时间片。在A任务的时间片到了之后,马上执行PendSV指令,由于PendSV异常的优先级较低,等到执行完IRQ之后再来执行PendSV异常进行上下文切换。
6 SysTick
NVIC中的SysTick定时器为OS应用可以利用的另外一个持性。几平所有操作系的运行都需要上下文切换,而这一过程通常需要依靠定时器产生定时中断来完成。Cortex-M处理器内集成了一个简单的定时器,这样就使得设备间移植操作系统更加容易。对干Cortex-M0和Cortex-M0+处理器,SysTick定时器及其异常是可以选的,但是在多数微控制器设计中是存在的。
7 中断
一个中断是由外围信号或者通过软件请求生成异常。SWI实际上是一个IRQ。
基于Cortex-M0或Cortex-M0+的微控制器可以支持1到32个中断,中断信号可以连接到片上外设,也可以通过I/O端口连接到外部中断源上。根据微控制器设计的不同,外部中断的数量可能与Cortex-M处理器的中断数量不同。
外部中断只有在使能后才能使用,如果中断被禁止了,或者处理器正在运行另外一个相同或更高优先级的异常处理,则该中断请求会被存储在挂起状态寄存器中。当高优先级的中断处理完成或返回后,挂起的中断请求才可以执行。NVIC能够接受的中断请求信号可以是高逻辑电平,也可以是中断脉冲(最小为1个时钟周期)。需要注意的是,在微控制器的外部接口中,外部中断信号可以是高电平也可以是低电平,或者可以通过编程配置。
Cortex-M0和Cortex-M0+的异常类型相关推荐
- cortex-m3 操作模式 寄存器组 异常类型 堆栈 中断
cortex-m3 操作模式 寄存器组 异常类型 堆栈 中断 参考 操作模式 处理器的操作模式:为了区别正在执行代码的类型.复位后,处理器进入线程模式.特权级. 处理者模式(handler mode) ...
- java异常类型和基本处理原则_Java异常控制机制和异常处理原则
Java异常控制机制又被称为"违例控制机制". 捕获程序错误最理想的时机是在编译阶段,这样可以彻底避免错误的代码运行.但并非所有的错误都能在编译期间侦测到,有些问题必须在运行期间解 ...
- java常见的异常类型_Java几种常见的异常类型
转载自:https://blog.csdn.net/niceworkgogogo/article/details/71746208 常见异常类型: 算数异常类:ArithmeticExecption ...
- 常见的几种异常类型 Exception
常见异常类型: Java中的异常分为两大类: 1.Checked Exception(非Runtime Exception) 2.Unchecked Exception(Runtime Excepti ...
- python中异常的处理及断言,包括异常类型、异常捕获、主动跑出异常和断言
一.异常类型介绍 什么是异常?异常即是一个事件,该事件会在程序执行过程中发生,会影响程序的正常执行,一般情况下,在python无法正常处理程序时就会发生一个异常.异常是python对象,表示一个错误. ...
- python异常类型(Exception只是常规错误的基类)
在用try-except-finally-机制处理异常的时候,一定要注意异常的继承关系. 例如在except中如果有StandardError,那么永远也捕获不到ValueError,因为ValueE ...
- java异常类型 数组越界_java数组中的异常类型整理
对于程序中出现异常,是很多程序员不想看到的情况,因为这就需要我们去查询异常的原因,然后进行一些处理异常的操作.在Java数组操作时,也会有一些异常情况的发生.这里我们罗列出了两种:ClassCastE ...
- python自定义异常类时、可以继承的类是_Python异常类型及处理、自定义异常类型、断言...
异常的概念.识别报错信息 异常处理 断言的基本使用 异常类型(异常就是报错) 常见异常 NameError:名称错误 SyntaxError:语法错误 TypeError:类型错误 错误回溯 查看报错 ...
- java中什么时候应用异常_生产Java应用程序中的十大异常类型-基于1B事件
java中什么时候应用异常 Pareto记录原理:97%的记录错误语句是由3%的唯一错误引起的 在最新的数据整理帖子之后,我们收到了很多反馈和问题,我们发现97%的记录错误是由10个唯一错误引起的 . ...
- 生产Java应用程序中的十大异常类型-基于1B事件
Pareto记录原理:97%的记录错误语句是由3%的唯一错误引起的 在最新的数据整理帖子之后,我们收到了很多反馈和问题,在该文章中,我们显示97%的记录错误是由10个唯一错误引起的 . 根据普遍的需求 ...
最新文章
- 转载:一道逻辑题 房间里有100盏电灯
- 祝贺JeecgBoot获评为2019年度最受欢迎中国开源软件
- 51nod 1292 字符串中的最大值V2(后缀自动机)
- gcc编译ceres-solver报错‘is_trivially_default_constructible’ is not a member of ‘std’
- java interface abstract
- 中标麒麟怎么安装deb包_请教,如何制作中标麒麟系统可用的安装包?
- 11.Linux 高性能服务器编程 --- 定时器
- 达观数据:Tornado原理浅析及应用场景探讨
- 【通信】基于matlab量子密钥分发密钥率仿真【含Matlab源码 1662期】
- “win+PrtSc”图片没有保存到图片文件夹中的问题
- SSI接口 AC97
- 2021国考申论三个月学习计划
- 使用CSS实现图片叠加效果
- C语言农历天干地支,求思路。农历年月日时推天干地支
- Ubuntu:安装rust
- 基于51单片机的火焰报警器
- 用JavaScript canvas做的走迷宫游戏,肝了一下午,请帮忙点个赞!
- 大型机半个世纪发展史
- 2022年度湖北省科技创新人才及服务专项软科学研究项目申报条件、流程和项目类别
- horizon学习小结
热门文章
- PWM占空比和电机转速有什么线性关系
- 实战 | 航空公司客户价值分析-LRFCM模型
- 反向题在测试问卷信效度_问卷一定要做信度效度检验吗?如果含有多选题怎样做信度分析,请各位高手帮帮忙。...
- Android网络请求框架Velley的用法与解析
- Android垂直方向滚动的跑马灯,带gif
- android12.0(S) Launcher3 去掉抽屉
- Pycharm中工程项目的多个python环境的管理使用方法的一点点理解
- 如何修改input提示文字样式
- java利用PageHelper.startPage(page, pageSize)分页
- 《哈佛大学幸福课》笔记