一、中断向量表里有什么?它放在那里?到底有什么用?
1、中断向量表实际上就是存放在Code区(也就是STM32内部的Flash区)从0x00000000地址开始的一个数组,数组的成员为4个字节,而且这些数组在启动文件的时候已经初始化好。

2、STM32根据内核和外设中断优先级,同一标号,标号越小,优先级越大。然后把内核和外设的中断服务函数的地址放在这个数组里面,数组的下标跟中断的优先级对应,我们也把这个中断的编号叫做中断向量。

3、在启动文件执行的时候,内核和每个外设的中断服务函数的地址都是已经确定好的,地址就存放在中断向量表中,而且在启动文件里面已经写好了中断服务函数,只是这些中断服务函数为空,而且带[weak]弱定义,那么我们就需要在C文件里面重新实现这个中断服务函数,用户写这个中断服务函数的时候,函数名必须跟启动文件里面写的中断函数名对应,因为函数名对应的就是中断服务函数的地址,如果中断服务函数名和启动文件的名字不一样,就默认启动文件里面预先写好的空的中断服务函数,而且是一个死循环,程序就会一直卡死在中断服务函数里面。

二、那内核是如何响应中断的呢?
当中断来临的时候,首先取向量,每个中断的中断向量不一样,然后根据向量查询中断向量表,根据里面的地址找到中断服务函数,从而实现整个中断的响应过程。

STM32的中断向量表是干什么的?到底有什么用?它放在哪里?相关推荐

  1. 关于STM32的中断向量表的重映射的问题

    1 为什么要对中断向量表进行重新映射? COREM3权威指南上讲"然而,为了动态重分发中断, CM3 允许向量表重定位--从其它地址处开始定位各异常向量. 这些地址对应的区域可以是代码区,但 ...

  2. python可以给你干什么-Python到底可以做什么?

    嗯,我觉得吧,还是挺有用得,感觉机械重复的事都可以用它来做,当我看到你这个问题得时候,我想我干脆直接做个小工具,顺便给你一点启示. 我们都知道写爬虫得时候,有时候要模拟浏览器,就要写headers,我 ...

  3. 中断向量表 异常相量表 中断向量(中断函数入口地址)ARM和X86异常向量表不同

    STM32的中断向量表是干什么的?到底有什么用?它放在哪里? 一.中断向量表里有什么?它放在那里?到底有什么用? 1.中断向量表实际上就是存放在Code区(也就是STM32内部的Flash区)从0x0 ...

  4. STM32的BootLoader 从SD卡更新固件

    目  录 1. 前言 2. 初识BootLoader 2.1      百度百科的BootLoader 2.2      BootLoader的简单理解 2.3      BootLoader的作用 ...

  5. STM32向量表详细分析

    预备知识: DCD指令:用于分配一片连续的字存储单元(32bit),并将表达式的值初始化给该字存储单元,类似于C中定义数组并初始化.比如: DCD 0 的意思是:分配一个字存储单元,并将该单元初始化为 ...

  6. STM32学习笔记:读写内部Flash。

    首先我们需要了解一个内存映射:    stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同. RAM起始地 ...

  7. STM32 USB数据接收与数据发送程序流程分析

    既然学习了USB,那就必须的搞懂USB设备与USB主机数据是怎么通讯的.这里主要讲设备端,因为我们的代码是做USB设备用的. 我们需要必须要定义了USB中断.起始在STM32的中断向量表中给USB两个 ...

  8. STM32开发必备知识篇:STM32的运行机制

    时间飞逝,转眼间已经硕士毕业工作第四年了,嵌入式研发成长道路上曲折坎坷,所以这也是我今年撰写博客的初心,即分享技术积累和研发经验,目前主要分为STM32和FPGA两个专辑,都包括开发必备知识篇和实战项 ...

  9. STM32异常与中断过程详解

    1. 异常与中断概念引入 异常主要是指来自CPU内部的意外事件,比如执行了未定义指令.算术溢出.除零运算等发生在CPU内部的意外事件,这些异常的发生,会引起CPU运行相应的异常处理程序:中断一般来自硬 ...

最新文章

  1. 宣传推广费用_企业如何做好网络推广,提高网络推广的转化率?
  2. 缓存区溢出检测工具BED
  3. 使用Kickstart+Apache+Dhcp+Pxe无人值守安装操作系统
  4. 微软NNI---AutoFeatureENG
  5. chrome自动退出的原因_Chrome 70将让用户选择退出新的自动登录功能
  6. 计算机保研-中科大计算机
  7. 图解DotNet框架之三:System.IO
  8. 【开发】 eclipse汉化包
  9. 二次开发环境执行后台事务定义中断问题解决办法
  10. 淘宝的npaliedit在mb下会崩溃的问题解决了
  11. 入门易精通难的Unity要如何学
  12. [编译原理读书笔记][第4章 语法分析]
  13. android pie新功能,Android Pie:3个隐藏功能 | MOS86
  14. react+express +materialui模板
  15. 推荐系统实战 --- 基于音乐播放推荐
  16. 车联网通信安全之 SSL/TLS 协议
  17. ESP32-ADC学习
  18. 良心整理:PDF工具合集
  19. 学员答疑 | 投影后计算面积仍然是0?
  20. Linux设置代理上网

热门文章

  1. 【android opengles开发的一些基础类】
  2. xingtai - 学习九九乘法表和皇帝的米粒
  3. 小程序轮播图组件跳转到自定义页面
  4. VUE-Vuetify框架
  5. vscode 更新后报错 Couldn‘t start dlv dap
  6. c语言指针强制类型转换的应用
  7. QkeyTools软键盘
  8. css外边距溢出处理方法,CSS高度坍塌和外边距溢出问题及解决方法
  9. MVC 3.0 学习笔记(Razor CSHTML))
  10. 统计学 一元线性回归