欢迎光临散文网 会员登陆 & 注册

野火STM32学习笔记:新建工程——固件库版本

2023-09-04 15:37 作者:是晃晃叔叔  | 我要投稿


终于是进入固件库编程了,我们从建立一个固件库版本的工程开始,这是我们千里之行的第一步。先从野火官方的资料里面找到ST官方的固件库。

找到以后在桌面新建一个文件夹,用来存放我们新建的工程文件取名就叫Fwlib-Template,固件库模板的意思,在这个文件夹里还需要再建立几个文件夹,来分类存放我们的固件库文件,使它们更加有条理,也方便我们去查找。野火官方的建议是建立六个文件夹,具体如下:

其中Listing和Output文件夹在程序运行过程中是会自动生成的,我们只需要手动生成剩下的4个,文件夹里面存放的东西的作用在表上也已经详细地写清楚了。而最重要的固件库文件,存放在Libraries文件夹里。

现在我们打开Keil软件,关掉已经打开的工程,新键一个新的工程。

把工程放在桌面Fwlib-template文件夹的Project文件夹里

新建好工程以后再选择你所用的芯片,我用的是野火的指南者版对应的是Stm32f103-VET6

随后弹出的界面我们把它关掉

下一步就到了配置文件夹的时候了,应该是这个界面。

间隔双击Source Group 1重命名它为STARTUP,用来存放启动文件。再右击Target1 选择Add Group 添加文件夹依次为CMSIS(内核),FWLIB(固件库),User(用户自定义文件),Doc(说明文件)

接下来就要往这些文件夹里添加固件库相关的文件了,打开野火资料盘里面的官方固件库

打开这个Libraries,把里面的内容复制粘贴到桌面Fwlib-template文件夹里的Libraries里面去

复制到Libraries文件夹之后,在CMSIS文件夹里面有一些东西是多余的,要将它删除掉,它们是CMSIS文件夹下的Documentation,License.doc。

再把我们需要的文件剪切到根目录,方便我们找到它们。

粘贴到这里,上三级的CMSIS文件夹,和CM3在一起,如图所示

再把有关内核外设的源文件,头文件剪切到这里来,最后把CM3这个文件夹删除,

再回到野火官方的固件库文件所在地,打开Project,操作写在图片里

最后我们在User文件夹里面建立一个主函数main.c文件

这下我们就可以把固件库的文件添加到keil打开的工程文件下了,打开我们刚才建好的固件库模板文件

添加完启动文件之后,我们在keil模板文件一边的文件栏里可以找到它

接下来在CMSIS文件夹里添加内核有关和配置系统时钟的C文件

接着在FWLIB文件夹添加外设相关的文件

最后在User文件夹里添加main函数和时钟配置中断的函数

所有的C文件都已经添加完毕,下面我们要配置这些C文件所对应的的头文件(.h文件)的路径,点开魔术棒

为什么选中这个文件夹呢,来看下面一张图

下面继续添加头文件以此类推

好了头文件路径都已经配置完毕了。现在还有最后一步,将工程模板适配我们的使用的芯片,找到头文件stm32f10x.h,在CMSIS文件夹下,用keil打开

因为我们使用了头文件的头文件stm32f10x_conf.h,我们要把该文件的第8296行的USE_STDPERIPH_DRIVER复制一下,粘贴到魔术棒的这里


由于我们使用的是hd(高容量的产品),因此看一下该文件的第70行,和下面的tips

它的大致意思就是如果我们以后用到什么类型的产品,可以在魔术棒里直接这样提前设置好:

到此位置整个固件库模板就全部完成了,我们编译一下文件。

这样一个固件库的工程模板我们就建立完成了。以后我们用固件库编程,都可以基于这个模板。

这节课很长,内容有点杂,后续会出一个视频来具体给大家示范一下操作。

野火STM32学习笔记:新建工程——固件库版本的评论 (共 条)

分享到微博请遵守国家法律