微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32的启动过程

STM32的启动过程

时间:11-22 来源:互联网 点击:
由于微控制器上电之后没有办法定位Main函数的位置,因为变量和函数的地址都是由编译器在编译的时候自行分配的,所以Main函数的在微控制器内部的位置是可变的,所以每个微控制器都有一个复位后到跳转的到Main函数的过程,这个过程都是由启动文件来完成的,不管是51、AVR都有,有些时候是由开发环境自己提供了这样的一个启动文件。我们只需管从Main函数开始的应用程序即可,简化了我们的工作。

STM32微控制器中ST公司已经帮我们完成了这样一个启动文件的工作,不管是MTK环境还是IAR环境都已经集成好了。新一代的Cortex的微控制器在启动方式上较ARM7/9都有较大的变化,ARM7/9中复位后从固定的地址(0x0)取出第一条指令并执行复位中断服务程序,但是中断向量表的位置不是固定的。CortexM3则正好相反。可以通过配置boot引脚来选择将中断向量表置于Flash区还是Sram区。

MSP:SP_MAIN

注:PC的初始值是0x00000004指向的地址,程序是在ResetVector地址处开始执行的。

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

网站地图

Top