arm9 中断向量 重定位_关于STM32中断向量表的位置 、重定向问题

关于

STM32

中断向量表的位置

、重定向问题

首先我们需要跳到

main

函数,这个就不多说了。那么,中断发生后,又

是怎么跑到中断入口地址的呢?从

stm32f10x.s

可以看到,已经定义好了一大堆

的中断响应函数,这就是中断向量表,标号

__Vectors

,表示中断向量表入口地

址,例如:

AREA RESET, DATA, READONLY ;

定义只读数据段,实际上是在

CODE

区(假设

STM32

FLASH

启动,则此中断向量表起始地址即为

0x8000000

)

EXPORT

__Vectors

IMPORT

OS_CPU_SysTickHandler

IMPORT

OS_CPU_PendSVHandler__Vectors

DCD

__initial_sp

;

Top

of

Stack

DCD

Reset_Handler

;

Reset

Handler

DCD

NMI_Handler

;

NMI

Handler

DCD

HardFault_Handler

;

Hard

Fault

Handler

DCD

MemManage_Handler

;

MPU

Fault

Handler

DCD

BusFault_Handler

;

Bus

Fault

Handler

DCD

UsageFault_Handler

;

Usage

Fault

Handler

这个向量表的编写是有讲究的,跟硬

件一一对应不能乱写的,

CPU

找入口地址就靠它了,

bin

文件开头就是他们的

地址,参考手册

RM0008

10.1.2

节可以看到排列。我们再结合

CORTEX-M3

的特性,他上电后根据

boot

引脚来决定

PC

位置,比如

boot

设置为

flash

启动,

则启动后

PC

跳到

0x08000000

。此时

CPU

会先取

2

个地址,第一个是栈顶地址,

第二个是复位异常地址,故有了上面的写法,这样就跳到

reset_handler

。那么

这个

reset_handler

的实际地址是多少

.

?下面的一堆例如

Nmi_handler

地址又是

多少呢?发生中断是怎么跑到这个地址的呢?下面挨个讲解。

1

、我们可以通

过反向来得知这些入口地址,查看工程下的

map

文件就可以看到了,这个地址

keil

里面设置的

target->flash

起始地址息息相关,实际上我们不太需要关心,

让编译器分配,中断向量表放的就是他们的地址。

2

、对比

ARM7/ARM9

内核,

Cortex-M3

内核则是固定了中断向量表的位置而起始地址是可变化的。

3

、进到

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

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

相关文章

BurpSuit配置抓包http和https请求

1、下载安装burpsuit https://portswigger.net/burp/communitydownload 双击一直点下一步,可安装成功 2、burpsuit设置 2、浏览器设置代理 设置-高级-打开代理设置-局域网设置 3、这样可以抓取http包了 4、Burp Suite要抓HTTPS的包,是需要有Burp Sui…

TensorFlow10-多层神经网络建模,存储和载入

整体流程: 只保存最近5个模型 playground.tensorflow.org TensorFlow浏览器训练网址

手机突然电量消耗很快_手机掉电突然变快?这5点操作你肯定至少做了其中一个!...

许多人都遇到过手机掉电突然变快的情况。以前充一次电,明明可以用一整天的,某天突然发现,满电的手机没打几局游戏或才看一会电视,电量就没了一大半,一天充好几次都不够用。每每遇到这种情况时,很多人都觉得…

Python史上最简单5行代码群发邮件Zmail模块

zmail简介 Zmail 允许你发送和接受邮件尽可能的简单。你不需要去检查你的服务器地址、端口以及自己构造MIME对象,使用Zmail,你只需要关注你的邮件内容即可。Zmail只在python3中运行,不需要第三方模块。不支持python2 Zmail的优势 自动填充…

TensorFlow11CNN和全卷积神经网络

应用:图像分类,物体识别,看图说话 卷积神经网络的基本结构

jmeter web监听结果_Jmeter性能测试

Jmeter性能测试,Jmeter简介1.1 概述JMeter,每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。 熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。Jmeter 是一款…

Appium+Python安卓自动化测试之启动APP和配置获取

AppiumPython安卓自动化测试之启动APP和配置获取 本文章未讲述appiumpython环境部署,环境部署会新开文章 一、手机连接电脑 1、USB连接电脑和手机,手机上点确认连接(最好用原装线) 2、开启手机开发者模式和USB调试&#xff08…

python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作“全国身份证号验证及查询系统”,成品界面如下图: 本系统可以实现身份证号真伪验证,年龄、性别及发证地查询,看…

Appium+PythonUI自动化之webdriver 的三种等待方式(强制等待、隐式等待、显示等待)

在自动化测试脚本的运行过程中,webdriver操作浏览器的时候,对于元素的定位是有一定的超时时间,大致应该在1-3秒的样子,如果这个时间内仍然定位不到元素,就会抛出异常,中止脚本执行。我们可以通过在脚本中设…

jop怎么读音英语怎么说_“跨年”英语怎么说?

2020年已经过去了31日晚上跨年夜,你在哪里跨年呢?今天的问题来了,你知道“跨年”用英语怎么说吗?一起学习一下吧。“跨年夜”英语怎么说?跨年夜的英语表达是:Spend New Years Eve / Celebrate New Years Ev…

吴恩达深度学习笔记——卷积神经网络(CNN)

目录 一、计算机视觉(Computer vision) 二、边缘检测示例(Edge detection example) 三、更多的边缘检测内容(More edge detection) 四、Padding 五、卷积步长(Strided convolution&#xff…

Python读取写入yaml文件

一、yaml文件介绍 yaml是一个专门用来写配置文件的语言。 1. yaml文件规则 区分大小写;使用缩进表示层级关系;使用空格键缩进,而非Tab键缩进缩进的空格数目不固定,只需要相同层级的元素左侧对齐;文件中的字符串不需要使用引号标注,但若字符串包含有特殊字符则需用引号标…

react实现全选和反选_全选的实现

在很多的表单中我们都会看到有一个这样的功能&#xff0c;全选后进行一系列的操作。如操作前操作后简单的js实现首先要定义多选框&#xff0c;在表头可以使用id来定义同时添加onclick点击事件<input type"checkbox" id"all" onclick"checkAllCart(…

对tf.nn.softmax的理解

Softmax的含义&#xff1a;Softmax简单的说就是把一个N*1的向量归一化为&#xff08;0&#xff0c;1&#xff09;之间的值&#xff0c;由于其中采用指数运算&#xff0c;使得向量中数值较大的量特征更加明显。 如图所示&#xff0c;在等号左边部分就是全连接层做的事。 W是全连…

Python Pytest装饰器@pytest.mark.parametrize详解

Pytest中装饰器@pytest.mark.parametrize(参数名,list)可以实现测试用例参数化,类似DDT 如:@pytest.mark.parametrize(请求方式,接口地址,传参,预期结果,[(get,www.baidu.com,{"page":1},{"code":0,"msg":"成功"}),(post,www.baidu.…

面试后要请你吃饭_面试问同事请吃饭唯独不叫你咋办?小伙说这是好机会,当场被录取...

分享职场故事&#xff0c;交流职场经验&#xff0c;欢迎关注“罗波”。不知道大家在面试的过程中&#xff0c;有没有遇到过一些考官出了非常奇葩或者让你难以回答的题目。曾经在一次人事招聘的面试环节中&#xff0c;我的朋友小何就遇到了这样的一个问题&#xff0c;当时领导问…

exp和e区分

exp(n)代表e的多少次 exp(1)2.71 e-1表示10^-1次 e-10.1

Pytest全局用例共用之conftest.py详解

一、’conftest特点: 1、可以跨.py文件调用,有多个.py文件调用时,可让conftest.py只调用了一次fixture,或调用多次fixture 2、conftest.py与运行的用例要在同一个pakage下,并且有__init__.py文件 3、不需要import导入 conftest.py,pytest用例会自动识别该文件,放到项…

心动的本质是什么_那一刻,我怦然心动了......

见到布莱斯罗斯基的第一天&#xff0c;我心动了。他的双眸有种魔力让我如痴如醉。女孩对一个刚见面的男孩一见钟情&#xff0c;男孩成了她的邻居&#xff0c;而她管这种感觉叫&#xff1a;怦然心动。2010年《怦然心动》上映&#xff0c;导演罗伯莱纳用一棵树&#xff0c;一对小…