由于微控制器上电之后没有办法定位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地址处开端履行的。