C语言运行时有条件的,比如没有栈,C语言时运行不了的,所以单片机一开始跑的不是C语言代码,而是汇编,献给C语言建立好运行的环境,比如栈  堆的分配。这也是为什么启动文件是汇编文件,也就是s文件

而且每个STM32工程都必须有的,每个工程最开始执行的都是启动文件,一段汇编,因为一开始是执行不了C代码的。

 

http://www.makeru.com.cn/video/5431_24308.html

STM32的启动文件

STM32的启动文件

 

 

STM32的启动文件

 

 

野火的书也有介绍

STM32的启动文件

我觉得把这种东西弄懂弄透彻可能比你单纯做个STM32项目更有意义。这样学STM32让我感觉更深入一个层面,变得更为专业。真正去把一个东西啃透。这才是一个业内人士玩STM32的表现。确实是要回归底层,把这些啃透。你会组装个无人机,这是低水平的技术,你会写STM32启动文件,这才叫技术人士业内人士,专业选手。你之前大学虽然做过那么多东西但是STM32只是个业余水平。而你总是玩那些东西玩得不宜乐趣,没有真正深入去啃,就像手写VIO。那些你弄得很轻松也很有成就感因为那些很简单,没有技术含量,真正有技术的难得需要你慢慢去啃的,去深入理解掌握的,会心态爆炸的。就像去研究FreeRTOS的源码,这才是业内人士该干的事情。业内人士应该谈论这个才是。

 

 

正点原子讲的STM32的启动文件

STM32的启动文件

相关文章: