想请教一下,关于STM32的启动流程。
STM32有一个启动文件startup_stm32f10x.s,这个文件烧写到flash后是存放在哪里,是何时被执行的?
按我的理解,根据boot引脚的设置(比如设为flash启动),上电后先从flash的0x08000000地址取得MSP栈顶地址,从0x08000004地址取得复位向量的地址赋给PC,然后执行reset_handler中断服务程序(其中执行SystemInit设置系统时钟,执行_main,最终跳转到c预研的main函数)。
如果按照上面这个流程,虽然reset_handler是在startup.s启动文件中定义的,但是整个完整的startup.s是何时被执行的?? |