Cortex-M3工作模式与异常

Cortex-M3工作模式与异常


宗旨:技术的学习是有限的,分享的精神是无限的。


一、工作模式

         线程模式和手柄模式。


当处理器处在线程状态下时,既可以使用特权级,也可以使用用户级;另一方面, handler模式总是特权级的。在复位后,处理器进入线程模式+特权级。

 

二、异常和中断

Cortex-M3 支持大量异常,包括 16-4-1=11个系统异常,和最多 240 个外部中断——简称 IRQ。具体使用了这 240 个中断源中的多少个,则由芯片制造商决定。由外设产生的中断信号,除了 SysTick的之外,全都连接到 NVIC 的中断输入信号线。典型情况下,处理器一般支持 16 到 32 个中断。


类型编号为 1-15 的系统异常,从 16 开始是外部中断类型。

 

三、向量表


因为地址 0 处应该存储引导代码,所以它通常映射到 Flash或者是 ROM 器件,并且它们的值不得在运行时改变。然而,为了支持动态重分发中断, CM3 允许向量表重定位——从其它地址处开始定位各异常向量。这些地址对应的区域可以是代码区,但更多是在 RAM 区。在 RAM 区就可以修改向量的入口地址了。为了实现这个功能, NVIC中有一个寄存器,称为“向量表偏移量寄存器”(在地址 0xE000_ED08处),通过修改它的值就能重定位向量表。

向量表偏移量寄存器(VTOR)(地址:0xE000_ED08)

 

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

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

相关文章

自己动手实现一个malloc内存分配器 | 30图

对内存分配器透彻理解是编程高手的标志之一。如果你不能理解malloc之类内存分配器实现原理的话,那你可能写不出高性能程序,写不出高性能程序就很难参与核心项目,参与不了核心项目那么很难升职加薪,很难升级加薪就无法走向人生巅峰…

机器学习面试——分类算法SVM

1、什么是硬间隔和软间隔? 当训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,即线性可分支持向量机。 当训练数据近似线性可分时,引入松弛变量,通过软间隔最大化,学习一个线性分类器…

Cortex M3 NVIC与中断控制

Cortex M3 NVIC与中断控制 宗旨:技术的学习是有限的,分享的精神是无限的。 一、NVIC概览 ——嵌套中断向量表控制器 NVIC 的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断处理的控制逻辑之外, NVIC 还包含了 MPU、 S…

VS 2005 或 VS 2008 在安装VSS 2005后,看不到源代码管理的解决办法

昨天有朋友在重新安装VS 2008后,再安装VSS 2005,安装好后在文件菜单中找不到“源代码管理”的菜单项,后来经朋友告知,是开发工具的默认选项设置问题。打开开发工具,“工具”--“选项”:(如图&am…

代码里-3gt;gt;1是-2但3gt;gt;1是1,-3/2却又是-1,为什么?

之前群里有个同学向大家提出了类似这样的问题。随后这位同学公布了答案:右移运算是向下取整,除法是向零取整。这句话对以上现象做了很好的总结,可是本质原因是什么呢?我一直以为-3>>1的结果是-1。所以打算思考一下这个问题。…

机器学习面试——逻辑回归和线性回归

1、什么是广义线性模型(generalize linear model)? 普通线性回归模型是假设X为自变量,Y为因变量,当X是一维的,y是一维的,共进行n次观测,则 其中,w是待估计的参数&#x…

STM32开发环境

STM32开发环境 宗旨:技术的学习是有限的,分享的精神是无限的。 一、MDK安装 MDK 是一个集代码编辑,编译,链接和下载于一体的集成开发环境( KDE )。MDK 这个名字我们可能不熟悉,但说到 KEIL …

机器学习面试——XGBoost,GBDT,RF(上)

1、常见的集成思想 bagging:基学习器之间并行训练,且学习器之间没有依赖,像是集体决策的过程,每个个体都进行单独学习,再通过投票的方式做最后的集体决策。常见的算法有随机森林 boosting:基学习器之间串…

听说有人不了解柔性数组

1 引言 定长数组包在平时的开发中,缓冲区数据收发时,如果采用缓冲区定长包,假定大小是 1k,MAX_LENGTH 为 1024。结构体如下:// 定长缓冲区 struct max_buffer {int len;char data[MAX_LENGTH]; };数据结构的大小 &…

Transformer模型拆解分析

资源来自:DataWhale 学习资料 最近看了DataWhale 的Transformer图解,突然对Transformer的结构图有了更加清晰的理解,特此记录。 1、大框架 Transformer是由6个encoder和6个decoder组成,模型的具体实现是model变量里边&#xff0…

设计模式学习笔记六:.NET反射工厂

1. 简述 通过前面的学习,我们以传统的方式实现了简单工厂,工厂方法和抽象工厂,但是有些场合下如此处理,代码会变得冗余并且难以维护。假设我们要创建交通工具。可以是汽车,火车,轮船等&#xff…

在unity 中,使用http请求,下载文件到可读可写路径

在这里我用了一个线程池,线程池参数接收一个带有object参数的,无返回值的委托 ,下载用到的核心代码,网上拷贝的,他的核心就是发起一个web请求,然后得到请求的响应,读取响应的流 剩下的都是常见的…

在tinyalsa上抓取音频

我们经常会遇到这样的问题,应用读取到的音频有问题,需要在tinyalsa里面读取音频来确认是底层音频有问题,还是应用处理之后存在的问题。所以,这个patch就出现了代码的逻辑很简单,主要是在pcm_read的时候,同时…

STM32——GPIO(1)

STM32——GPIO 宗旨:技术的学习是有限的,分享的精神是无限的。 【对单片机的操作就是控制IO口】 一、GPIO(通用输入输出口) 1、选定需要的引脚(对应哪一个IO口); 2、配置需要的功能&#xf…

【opencv学习笔记八】创建TrackBar轨迹条

createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便。首先大家要记住,它往往会和一个回调函数配合起来使用。先看下他的函数原型: int createTra…

父母悄悄给自己买房,我很生气,要怎么调整心态?

——问题我是独生子,今年满24岁刚上研一(普通211)。家庭四川小城市,情况一般,父母二人体制内月薪总计一万元以内,家里积蓄20W-30W,公积金情况不清楚。从小母子关系比较僵硬,母亲小学…

语音处理入门——语音的声学处理

语音的声学处理通常称为特征提取或者信号分析,特征是表示语音信号的一个时间片的矢量。常见的特征类型有LPC(线性预测编码)特征和PLP(感知线性预测编码),该特征称为声谱特征,使用形成波形的不同…

基础呀基础,用二极管防止反接,你学会了吗?

使用新的电源,第一次给设备供电时,要特别注意电源的正负极性标注。比如电源适配器,铭牌上面有标注插头的极性。这个符号说明插头的里面是正极,外面是负极,即“内正外负”。但是也有反过来的,下面这款是“内…

李宏毅的可解释模型——三个任务

1、问题 观看了李宏毅老师的机器学习进化课程之可解释的机器学习,课程中对主要是针对黑盒模型进行白盒模型转化的技巧和方法进行了简单介绍,详细细节可以参考《Interpretable Machine Learning》。像一些线性模型、树形模型是可解释的ML model&#xff…

柔性数组和环形队列之间的故事

之前的文章,讲解了柔性数组,有很多人留言,提到一些问题。刚好,之前发关于环形队列的文章有些问题,这次刚好拿出来一起说一下,并用柔性数组实现一个环形队列。柔性数组的上一篇文章环形队列C语言实现文章1、…