嵌入式 > 嵌入式开发 > 详情

STM32的启动过程

发布时间:2024-03-05 发布时间:
|
由于微控制器上电之后没有办法定位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地址处开始执行的。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
我拆解了一款过气的电视盒子.想为国产芯片再鼓把劲