首页 > 编程知识 正文

中断类型号和中断向量,向量中断控制器最多可支持

时间:2023-05-04 06:58:52 阅读:136975 作者:1255

STM32的中断向量是什么? 到底有什么用? 放在哪里? 一、中断向量有哪些? 放在那里吗? 到底有什么用?

1、中断向量表实际上是从存储在代码区域(即STM32内部闪存区域)的0x00000000地址开始的数组,数组的成员有4个字节,而且这些数组在启动文件时已经初始化。

2、STM32根据内核和外围设备的中断优先级,用相同的标签,标签越小优先级越大。 然后把内核和外围设备的中断服务函数的地址放入这个数组中,数组的下标对应于中断的优先级,我们也把这个中断的号码称为中断向量。

3、启动文件运行时,内核和各外设的中断服务函数的地址已经确定,地址保存在中断向量表中,而且启动文件中已经写入了中断服务函数。 但是,这些中断服务函数为空,带有[weak]的弱定义,我们需要在C文件中重新实现这个中断服务函数。 当用户写入此中断服务函数时,函数名称必须与启动文件中写入的中断函数名称相对应。 函数名称与中断服务函数的地址相对应,如果中断服务函数名称与启动文件的名称不同,则缺省启动文件中预写的空中断服务函数是死循环的,程序会将该函数转换为中断服务函数

二、内核是如何应对中断的呢?

发生中断时,首先每个方向量、中断的中断向量不同,然后根据向量查询中断向量,根据中的地址找到中断服务函数,从而实现中断的整个响应过程。

3359 blog.csdn.net/zdq 1431/article/details/106374285? ops _ request _ misc={ " request _ id ":" 164056830016780271563120 " c " SCM " 2a " 2014 077 1563120 biz _ id=0UTM _ mmm

【中断】异常与中断的关系、异常矢量与中断矢量的关系https://blog.csdn.net/Ivan 804638781/article/details/116212899? ops _ request _ misc={ " request _ id ":" 164056830016780271563120 " c " SCM " 2a " 2014 077 1563120 biz _ id=0UTM _ mmm

【嵌入式开发】ARM异常向量(异常概念|异常处理流程|异常向量|汇编代码)异常向量概念:发生异常时,程序强制从固定内存地址执行,每种类型的异常都有固定内存地址对应该内存地址就是异常向量 ;

异常类型: ARM体系结构支持7种异常:

1.Reset :处理器运行时突然按重启键会触发此异常;

2.Undefined instructions :处理器无法识别指令异常。 处理器执行的指令有规范,尝试执行不符合要求的指令时,会进入与该异常指令相对应的地址。

3 .软件中断(swi ) :软件中断必须中断处理器在软件中的工作,并可以使用软件中断来执行;

4 .预回迁命令(instructionfetchmemoryabort ) :失败。 ARM在执行指令时,首先预取指令并准备执行。 如果预取指令失败,将发生此异常。

5 .数据备份(dataaccessmemoryabort ) :数据读取失败;

6 .互联网(IRQ ) :普通中断;

7 .快速中断(fiq ) :快速中断,快速中断的响应速度快于正常中断;

原文链接: https://blog.csdn.net/shuliang Han/article/details/80163777

x86中断向量表https://blog.csdn.net/dugu Teng/article/details/7552774? ops _ request _ misc={ " request _ id ":" 164056830016780271563120 " c " SCM " 2a " 2014 077 1563120 biz _ id=0UTM _ mmm

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。