一个完整的STM32工程到底由哪些文件组成

这个我必须总结清楚,就像之前总结无人机的飞控算法一样,你可以把各个STM32书里面的工程文件拿来总结。找出通用的模式。灵活运用,能灵活改动。

 

我觉得基本的应该是标准库文件+的应用层代码。

 

 

其实本质还是一堆C文件,互相引用,那些文件夹应该只是方便整理归类那些C文件,不要那些文件夹应该也是可以的。

 

 

这是野火的STM32工程组成

一个完整的STM32工程到底由哪些文件组成_第1张图片

一个完整的STM32工程到底由哪些文件组成_第2张图片

 

 

 

《STM32单片机应用与全案例实践》里的

这个应该是讲得非常清晰了的。

 

 

这是平衡小车之家的平衡车的程序框架,SYSYTEM这个文件夹其实是正点原子弄的(这个正点原子的书上有说,他们专门弄个SYSTEM文件夹放着就是几个不同例程都要通用的C文件,可以就直接当作用户写的C文件,里面是一些函数,都是应用层的应该),可能他们是基于正点原子的框架写的。

一个完整的STM32工程到底由哪些文件组成_第3张图片

一个完整的STM32工程到底由哪些文件组成_第4张图片

 

 

 

STM32Cube生成的工程模板,感觉和野火的差不多,包括CMSIS  driver ,这两个应该是官方提供的, 然后user是自己写的。MDK-ARM那个文件夹其实是放的启动文件,就那一个文件,每个工程必须有的,每个工程最开始执行的都是启动文件,一段汇编,因为一开始是执行不了C代码的。

这些原理真正弄懂了你新建STM32工程的时候就不需要死记有这么一个s文件。

 

CMSIS  driver  和.s启动文件都是在STM32的固件库里面已经包含提供了的。

截图自华清的课

一个完整的STM32工程到底由哪些文件组成_第5张图片

一个完整的STM32工程到底由哪些文件组成_第6张图片

 

 

正点原子的说明(正点原子说明它的工程组成放在了它的第一个外设实例里面,而没有放在前面,这也是怪不得之前没看到,现在才看到,无意中看到的)

截图自《原子教你玩STM32库函数版》第二版

一个完整的STM32工程到底由哪些文件组成_第7张图片

一个完整的STM32工程到底由哪些文件组成_第8张图片

 

 

 

 

 

 

 

 

明白了STM32工程文件的组成之后,其实我更换芯片,只需要更换STM32提供的那部分程序就可以了(CMSIS,driver,启动文件),自己写的逻辑代码不用换,只需要把调用的API函数改改就可以了,我看看他们飞控不是有的32有的TI,还有我们打智能车用飞思卡尔发的,程序上的迁移,你把原理弄懂了应该不难。所以不用觉得他们很牛逼什么的。
这样就真正把一个东西玩活了,我再玩其他单片机芯片也OK,这样真正弄懂融会贯通的感觉很好,我觉得我会越来越喜欢上的。

 

 

你可能感兴趣的:(STM32,STM32-STM32Cube)