【回眸】牛客网刷刷刷!(八)——中断专题

news2024/11/28 19:34:27

目录

前言

1、在CortexM内核中,当系统响应一个中断时

2、用与非门和或非门可以实现其他基本门电路。进而实现任何逻辑电路

3、cpu interface提供了功能包含

4、以Cortex-M3内核为例,如果某个中断在得到响应之前,其请求信号以若干的脉冲的方式呈现,则处理器处理的方式是

5、在Linux中,中断分为向量中断和非向量中断

6、对于ARM的处理器,中断给处理器提供了触觉,使处理器能够感知到外界的变化,从而实时的处理。ARM cortex-A系列处理器,提供了4个管脚给soc,实现外界中断的传递,分别是

7、关于中断的描述

8、总线fault是一种严重的错误

9、在Cortex-M系列内核架构中,总线fault 状态寄存器(BFSR)用来记录总线fault中断源,关于总线fault 状态寄存器中断源的描述

10、在CortexM内核中,已经内建了对中断嵌套的全力支持,无需使用汇编写代码,只需要为每个中断适当地建立优先级就可以

11、能够触发中断的信号叫中断源,常见的中断源有

12、存储器管理中断多与MPU有关,其诱因常常是某次访问触犯了MPU设置的保护策略

13、CortexM的Fault 类异常不包括

14、在CortexM内核中,建立一个外部中断的正确顺序

15、中断可分为内部中断和外部中断

16、电机的类型有很多种,若按照能量转换的角度进行划分,可分为

17、在Cortex-M3内核架构中,如果需要动态地更改中断向量表,则对于任何器件来说,中断向量表的起始处都必须包含的向量是

18、中断优先级

19、中断4状态

20、在系统中,中断处理是由内核执行的最敏感的任务之一,因为它必须满足一些约束条件

前言

本周日常学习的内容是中断相关的专项练习,中断也算是博主一个渐进明细的知识点,本篇整理了相关易错点和较为重要的知识点。

1、在CortexM内核中,当系统响应一个中断时

当CM3开始响应一个中断时,系统内部主要有以下操作:
入栈: 把8个寄存器的值压入栈
取向量:从向量表中找出对应的服务程序入口地址
选择堆栈指针MSP/PSP,更新堆栈指针SP,更新连接寄存器LR,更新程序计数器PC。
重定位向量是在系统初始化时完成的

2、用与非门和或非门可以实现其他基本门电路。进而实现任何逻辑电路

3、cpu interface提供了功能包含

cpu interface提供了以下的功能:
将中断请求发送给cpu
对中断进行认可(acknowledging an interrupt)
中断完成识别(indicating completion of an interrupt)
设置中断优先级屏蔽
定义中断抢占策略
决定当前处于pending状态最高优先级中断

4、以Cortex-M3内核为例,如果某个中断在得到响应之前,其请求信号以若干的脉冲的方式呈现,则处理器处理的方式是

中断信号一般是接入到中断控制器中,中断控制器需要判断和过滤中断信号,如果某个中断在得到响应之前,其请求信号以若干的脉冲的方式呈现,中断处理器视为只有一次中断请求,多出的请求脉冲会全部错失。这是情况发生一般是中断请求太快,以致于超出处理器反应限度

5、在Linux中,中断分为向量中断和非向量中断

在linux中,根据中断入口跳转方法的不同,中断分为向量中断和非向量中断。采用向量中断的CPU 通常为不同的中断分配不同的中断号,当检测到某中断号的中断到来后,就自动跳转到与该中断号对应的地址执行。不同中断号的中断有不同的入口地址。非向量中断的多个中断共享一个入口地址,进入该入口地址后再通过软件判断中断标志来识别具体是哪个中断。也就是说,向量中断由硬件提供中断服务程序入口地址,非向量中断由软件提供中断服务程序入口地址。

6、对于ARM的处理器,中断给处理器提供了触觉,使处理器能够感知到外界的变化,从而实时的处理。ARM cortex-A系列处理器,提供了4个管脚给soc,实现外界中断的传递,分别是

ARM cortex-A系列处理器,提供了4个管脚给soc,实现外界中断的传递。分别是:

  • nIRQ: 物理普通中断

  • nFIQ:  物理快速中断

  • nVIRQ: 虚拟普通中断

  • nVFIQ: 虚拟快速中断

7、关于中断的描述

当发生中断嵌套时,比如先发生中断1,紧接着中断2打断了中断1,导致中断2执行,中断2执行完成后继续执行中断1,从而导致后发生的中断先执行,因此我们常说中断的嵌套处理会改变中断处理的次序
通常情况下当发生除0时,会产生中断,但Cortex-M3&M4中可以屏蔽该中断,不过不建议屏蔽该中断
中断是可以嵌套的,刚才描述是中断1和中断2就属于中断嵌套现象
通常使用的系统调用,如果深入系统调用的实现机制,就会发现,其内部实际上是通过中断从而从用户态进入核心态。

8、总线fault是一种严重的错误

总线错误在实际工程中应该尽量避免,严重会导致系统崩溃。关于总线fault,我们需要了解:欲使能总线fault 服务例程,需要在NVIC 的“系统Handler 控制及状态寄存器”中置位BUSFAULTENA 位。要注意的是:在使能之前,总线fault 服务例程的入口地址必须已经在向量表中配置好,否则就成了作法自毙——程序可能跑飞。总线faults 发生时,只要没有同级或更高优先级的异常正在服务,且FAULTMASK=0,就会执行总线fault 的服务例程。如果在检测到总线fault 时还检测到了更高优先级的异常,则先处理后者,而总线fault 则被标记成悬起。最后,如果总线fault 被除能,或者总线fault 发生时正在处理同级或更高优先级异常,则总线fault 被迫成为“硬伤”——上访成硬fault,使得最后执行的是硬fault 的服务例程。如果在硬fault 服务例程的执行中又产生了总线fault,内核将进入锁定状态。

9、在Cortex-M系列内核架构中,总线fault 状态寄存器(BFSR)用来记录总线fault中断源,关于总线fault 状态寄存器中断源的描述

总线fault 状态寄存器中断源描述正确如下:
STKERR R/Wc :入栈时发生错误
UNSTKERR R/Wc :出栈时发生错误
IMPRECISERR R/Wc :不精确的数据访问违例
PRECISERR R/Wc : 精确的数据访问违例
IBUSERR R/Wc :取指时的访问违例

10、在CortexM内核中,已经内建了对中断嵌套的全力支持,无需使用汇编写代码,只需要为每个中断适当地建立优先级就可以

在使用中断嵌套时我们需要注意:

NVIC和CM3处理器会为我们排出优先级解码的顺序,会自动入栈和出栈。因此,在某个异常正在响应时,所有优先级不高于它的异常都不能抢占之,而且它自己也不能抢占自己。
所有服务例程都只使用主堆栈。所以当中断嵌套加深时,对主堆栈的压力会增大。并且何时嵌套多少级也是不可预料的。如果主堆栈的容量本来就已经所剩无几了,中断嵌套又突然加深,则主堆栈有被用穿的凶险。
另一个要注意的,是相同的异常是不允许重入的。因为每个异常都有自己的优先级,并且在异常处理期间,同级或低优先级的异常是要阻塞的,因此对于同一个异常,只有在上次实例的服务例程执行完毕后,方可继续响应新的请求。

11、能够触发中断的信号叫中断源,常见的中断源有

中断系统中,常见的中断源有:
外部设备请求中断。一般的外部设备(如键盘、打印机和A / D转换器等)在完成自身的操作后,向CPU发出中断请求,要求CPU为他服务。
故障强迫中断。系统在一些关键部位都设有故障自动检测装置。如运算溢出、存储器读出出错、外部设备故障、电源掉电以及其他报警信号等,这些装置的报警信号都能使CPU中断,进行相应的中断处理。
实时时钟请求中断。在控制中遇到定时检测和控制,为此常采用一个外部时钟电路控制其时间间隔。需要定时时,CPU发出命令使时钟电路开始工作,一旦到达规定时间,时钟电路发出中断请求,由CPU转去完成检测和控制工作。
数据通道中断。数据通道中断也称直接存储器存取(DMA)操作中断,如磁盘、磁带机或CRT等直接与存储器交换数据所要求的中断。
程序自愿中断。CPU执行了特殊指令或由硬件电路引起的中断是程序自愿中断,当用户调试程序时,程序自愿中断检查中间结果或寻找错误所在而采用的检查手段,如断点中断和单步中断等。

12、存储器管理中断多与MPU有关,其诱因常常是某次访问触犯了MPU设置的保护策略

存储器管理中断是实际应用中遇到最多的异常情况之一,能够触发存储器管理中断的原因坑你是访问了 MPU 设置区域覆盖范围之外的地址,往只读寄存器 写数据,用户级下访问了只允许在特权级下访问的地址和在不可执行的存储器区域试图取指。这里需要注意的是,即使没有MPU在不可执行的存储器区域试图取指也会触发存储器管理中断。

13、CortexM的Fault 类异常不包括

总线 faults
存储器管理 faults
用法 faults
硬 fault

14、在CortexM内核中,建立一个外部中断的正确顺序

正确的顺序是
1. 当系统启动后,先设置优先级组寄存器。
2. 如果需要重定位向量表,先把硬fault和NMI服务例程的入口地址写到新表项所在的地址中。
3. 配置向量表偏移量寄存器,使之指向新的向量表。
4. 为该中断建立中断向量。
5. 为该中断设置优先级。
6. 使能该中断

15、中断可分为内部中断和外部中断

中断可分为内部中断和外部中断,内部中断的中断源来自CPU内部如:软件中断指令、溢出、除法错误等,操作系统从用户态切换到内核态需借助CPU内部的软件中断。外部中断的中断源来自CPU外部,由外设提出请求。定时器属于CPU外设定时模块,因此属于外部中断。

16、电机的类型有很多种,若按照能量转换的角度进行划分,可分为

从能量转换的角度,发电机为机械能转换为电能,电动机为电能转换为机械能,变压器为电能形式转换。从电流的角度划分为直流电机和交流电机。从运动方式划分为旋转电机、直线电机、静止电机。从使用场合划分为潜水电机、防爆电机、航空电机。

17、在Cortex-M3内核架构中,如果需要动态地更改中断向量表,则对于任何器件来说,中断向量表的起始处都必须包含的向量是

如果需要动态地更改向量表,则对于任何器件来说,向量表的起始处都必须包含以下向量:
主堆栈指针(MSP)的初始值
复位向量
NMI
硬 fault 服务例程
除了主堆栈指针和复位向量这两个系统启动必须使用的,后两者也是必需的,因为有可能在引导过程中发生这两种异常。

18、中断优先级

19、中断4状态

对于每一个中断而言,有以下4个状态:
inactive:中断处于无效状态
pending:中断处于有效状态,但是cpu没有响应该中断
active:cpu在响应该中断
active and pending:cpu在响应该中断,但是该中断源又发送中断过来

20、在系统中,中断处理是由内核执行的最敏感的任务之一,因为它必须满足一些约束条件

中断处理是由内核执行的最敏感的任务之一,它必须满足下列约束:
中断应该被尽可能快地处理完。
中断处理程序必须编成使相应的内核控制路径能以嵌套的方式执行。
内核在处理一个中断时,可接受新的中断。但存在一个临界区,中断必须被禁止。
 所以在常见的中断编程中,中断的设计一般将中断处理程序分为两部分执行,即上半部和下半部函数。上半部为中断被禁止的临界区,执行关键而紧急的任务,如把接收到的帧拷贝到输入队列,以便下半部函数执行时能进行处理。
中断可以丰富编程逻辑和架构

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

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

相关文章

kafka-- 安装kafka manager及简单使用

一 、安装kafka manager 管控台: # 安装kafka manager 管控台: ## 上传 cd /usr/local/software ## 解压 unzip kafka-manager-2.0.0.2.zip -d /usr/local/ cd /usr/local/kafka-manager-2.0.0.2/conf vim /usr/local/kafka-manager-2.0.0.2/conf/appl…

MySql学习笔记03——DQL(数据查询)基本命令

DQL 导入数据 首先使用use database进入数据库中,然后使用命令 source D:\mysql_learning\mysql_learning\document\bjpowernode.sql注意文件名不能有双引号,命令结尾没有分号。 SQL脚本 .sql文件是SQL脚本文件,它里面的内容都是SQL语句…

个人炒伦敦银方法大公开

个人炒伦敦银的方法与机构投资者炒这个品种的方法是有不同的,但是双方可能会借鉴一些相同的分析工具,比方说有的机构可能也会使用技术分析,当然,个人投资者对技术分析这个词更是不会陌生。今天我们就从个人投资者的角度出发&#…

计算机竞赛 基于深度学习的人脸识别系统

前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸识别系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/…

8、异常机制---- 8.1 Error和Exception

8、异常机制 8.1 Error和Exception 什么是异常 在实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读…

23. 带旋转的数独游戏

题目 Description 数独是一个基于逻辑的组合数字放置拼图,在世界各地都很受欢迎。 在这个问题上,让我们关注 网格的拼图,其中包含 个区域。 目标是用十六进制数字填充整个网格,即 ,以便每列,每行和每个区…

ABB机器人20032转数计数器未更新故障报警处理方法

ABB机器人20032转数计数器未更新故障报警处理方法 ABB的机器人上面安装有电池,需要定期进行更换(正常一年换一次),如果长时间不更换,电量过低,就会出现转数计数器未更新的报警,各轴编码器的位置就会丢失,在更换新电池后,需要更新转数计数器。 具体步骤如下: 先用手动…

泛微OA流程表单中代码块获取URL的参数

获取URL的参数 需要编辑自定义函数 function getUrlParam(key){var url decodeURI(window.location.href);var paramMap {};var paramStr url.split("?")[2];if (paramStr && paramStr ! "") {var paramStrArr paramStr.split("&&qu…

客户忠诚度和保留率:不良方法的陷阱

良好的客户忠诚度和保留策略是任何电子商务业务成功的关键因素。但当出现问题时会发生什么?您可以采取哪些措施来鼓励忠诚度并减少客户流失?继续阅读以了解不良客户忠诚度和保留实践的后果。 忠诚度和保留率低下的后果 客户不满意和高流失率 客户忠诚…

直播软件app开发中的AI应用及前景展望

在当今数字化时代,直播市场蓬勃发展,而直播软件App成为人们获取实时信息和娱乐的重要渠道。随着人工智能(AI)技术的迅猛发展,直播软件App开发正逐渐融入AI的应用,为用户带来更智能、更个性化的直播体验。 …

什么是高压放大器

高压放大器是一种用于放大高电压信号的电子设备。它主要用于需要处理高电压信号的应用,如电力系统、医疗设备、科学研究以及工业和实验室实验等领域。下面将详细介绍高压放大器的原理、特点和应用。 高压放大器的原理基于电子放大技术,通过输入信号放大电…

国腾GM8284DD 将高速串行 LVDS 信号解码为并行 TTL 数据

国腾GM8284DD 1.描述: GM8284C 型 28 位可编程数据选通接收器主要用于视频/图像传输中的接收部分,实现 的功能是将高速串行 LVDS 信号解码为并行 TTL 数据,完成数据的解码功能。该器件可将 4 对串行 LVDS 差分信号在时钟信号作用下…

Java 加了@PreAuthorize注解的接口在Postman中访问

1. 首先,你需要获取一个有效的用户token,该token应包含了相应的接口权限。你可以通过登录或其他身份验证方式来获取token。2. 打开Postman,并确保已选择正确的HTTP方法(GET、POST等)。3. 在请求的Headers部分&#xff…

【TypeScript学习】—面向对象(四)

【TypeScript学习】—面向对象(四) 一、面向对象 二、类 三、构造方法 class Dog{name:string;age:number;//构造函数constructor(name:string,age:number){this.namename;this.ageage;}bark(){//在方法中可以通过this来表示当前调用方法的对象//this表…

数据结构零基础入门篇(C语言实现)

前言:数据结构属于C学习中较难的一部分,对应学习者的要求较高,如基础不扎实,建议着重学习C语言中的指针和结构体,万丈高楼平地起。 一,链表 1)单链表的大致结构实现 用C语言实现链表一般是使…

Mendix如何实现导出文件

刚刚接触Mendix低代码两周,花了一周在b站看初级视频然后考完初级,第二周开始做个列表查询感觉照葫芦画瓢没啥难度。但最近要求写个导出列表数据,在mendix社区翻了翻,这个功能算是常见的。找了mendix官方提供的Docs磕磕盼盼才实现了…

学会这几步,教你1分钟辨出B站优质UP主!

品牌想要投放某UP主,该如何判断UP主是否优质并且同品牌相匹配呢?运用这一套多维度的UP主评估方法 ,帮助你高效判断,快来看看具体怎么操作吧! 一、up主粉丝涨跌 有些广告主在判断UP主是否值得投放时,会陷入…

OLED透明屏 裸屏:透明未来的创新之选

OLED透明屏 裸屏作为一项领先的显示技术,正以其独特的优势和创新的设计特点引起广泛关注。 根据市场调研数据显示,预计到2025年,OLED透明屏 裸屏市场规模将达到250亿美元,年均增长率超过25%。 本文将通过深入探讨OLED透明屏 裸屏…

Vue2基础学习

vue基础学习 Vue基础指令v-show 和 v-ifv-on指令v-bind指令v-bind操作classv-bind 操作stylev-for 指令练习:图书管理案例v-model 指令修饰符v-model指令修饰符click.stop-》阻止冒泡按键修饰符阻止默认行为 计算属性计算属性简写computed计算属性VS方法methods计算…

Java版本+企业电子招投标系统源代码+支持二开+Spring cloud

项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及…