微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 一个新手对stm32启动和中断向量表的理解

一个新手对stm32启动和中断向量表的理解

时间:10-02 整理:3721RD 点击:
刚刚自学stm32,求大神看看我对stm32理解有没有错误:
stm32复位PC指针指向0x00000000,但这个区域能映射别的区域(bootload,ram或flash取决于boot设置,以下设置flash(0x80000000)),
在0x80000000的字区设置SP的值,后一个字区设置复位中断的地址,程序自动读取这两个数值,跳到复位中断后设置一些堆栈的初始化以及设置中断向量表起始地址和偏移地址(就是开头地址),中断向量表不是固定的存在,是人为设置的一系列跳转地址,但是顺序是固定的,具体由数据手册而定,而中断发生后程序是如何定位到中断向量表的地址,我猜是不是发生相应中断是程序能知道对应中断的偏移地址,然后加上认为设置好的基址找到对应的中断向量入口地址。


这些都是硬件自动完成的

中断向量表是人为设置的吧

我之前写 PIC 汇编的时候 ,中断向量 也是自己设置的。复位之后 想让程序跳到哪就跳到哪。

stm32的都是软件已经设置好了,如keil,个人基本不用更改

如果想深入研究,可以改

对入门者,不建议改

做iap需要改

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top