有几个问题,众多博文中抄来抄去,内容一样,却没有解释清楚 - 上电初始化堆栈,在进入_main后又说初始化堆栈,有什么不同
- 堆栈的地址是怎么得出来的
关于这两个问题,先借用一下要标准的启动流程
一般而言,系统上电后第一个执行的是由汇编所编写的启动文件,其主要工作为一下五部分:
(1)、初始化堆栈指针SP=_initial_sp
(2)、初始化PC指针,令其=Reset_Handler
(3)、初始化中断向量表
(4)、配置系统时钟 (5)、调用C库函数_main初始化用户堆栈,从而最终调用main函数进入C的世界
|