从*.s文件看程序启动过程
如果没记错的话,C语言中我们看代码一定都是从main()看起吧?因为“main()函数是程序的入口”,大家都这么说。但实际上如果我们从硬件上电复位看起,它并不是直接来到main()的——对于stm32单片机来说它至少还要把工程文件中对应的.s文件的汇编代码跑完才跳转到我们的用户程序。
参考资料
- 《STM32上电启动代码详解》
- 《STM32 上电后的启动过程》
- 《STM32启动过程解读与跟踪验证》
- 《RM0008-STM32F10x_Reference manual》3.4节
这几个链接的文章基本讲得差不多了。
*.s文件干了什么