STM32F103固件库工程建立

1、首先把固件库拷贝出来一份
2、建立工程文件夹,里面再新建几个文件夹,分别是Libraries、User、Project、Doc,剩余的Listing和Objects由KEIL 5.0自己生成,可不需要建立
3、固件库中有几个文件夹,
这里写图片描述
_htmresc:里面是logo,可以删除
Libraries:里面包含2个文件夹,分别是CMSIS和STM32F10x_StdPeriph_Driver
CMSIS下有用的文件:
CMSIS\CM3\CoreSupport下的core_cm3.c和core_cm3.h
CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup的所有启动文件,根据板载的器件不同,选择不同的启动文件(大、中、小容量,再区分普通功耗和低功耗版本),另外不同编译器的有不同的文件夹对应,使用KEIL旧只需要arm这个文件夹下的。
CMSIS\CM3\DeviceSupport\ST\STM32F10x的stm32f10x.h、system_stm32f10x.c和system_stm32f10x.h

STM32F10x_StdPeriph_Driver下包含的是所有外设库的.c文件和.h文件,这就是所需的固件库
Project:里面是依据官方开发板的例程和模板,我们需要从中间拷贝中断服务函数文件和系统配置头文件,即stm32f10x_it.c/stm32f10x_it.h和stm32f10x_conf.h
同时main.c也是我们所需的。

对于新建固件库工程,具备以上的这些文件就可以了

4、将库函数拷贝到我们新建的文件夹Libraries下,具体包含如下(为了目录级数不要太深,将有些文件全部剪切出来到浅的目录级数):
第一级目录:
这里写图片描述
第二级CMSIS下一级目录:
这里写图片描述
第三级Startup下一级目录:
这里写图片描述

第二级STM32F10x_StdPeriph_Driver下就是所有外设的库文件:
这里写图片描述
src是.c源文件,inc是对应的头文件

5、拷贝中断服务函数文件和系统配置头文件到User目录,并建立main.c文件:
这里写图片描述

6、打开keil,新建工程,将目录设置为所建立文件夹的Project目录下,取好工程名字:

选择器件:
这里写图片描述
弹出的库管理,不使用,直接关闭:
这里写图片描述
在工程管理窗口,新建几个分组:
这里写图片描述
在各个分组中,分别添加对应的文件:
这里写图片描述
配置魔术棒,首先为了后续可以使用printf的库函数,在Target窗口,勾选“Use Micro LIB”:
这里写图片描述
在output窗口,勾选Creat HEX File,用于串口升级软件:
这里写图片描述
在C/C++窗口,需要为工程配置头文件所在的目录,否则keil软件将首先在软件的安装目录中去寻找对应的头文件。
主要有三个头文件目录,后续新添加的用户文件,那也需要在这里进行添加头文件目录:
这里写图片描述
这里写图片描述
同时,需要添加几个宏定义,一个是用户外设驱动的宏,另一个是器件的选择宏,如下图:
这里写图片描述
这两个宏的说明:
STM32F10X_HD:在stm32f10x.h文件中,首先就会有器件的选择,这里我们直接在软件的设置中就固定好器件,作为一个类似于全局宏,就不需要再写了,且方便移植:这里写图片描述
USE_STDPERIPH_DRIVER: 这个是用来包含固件库的头文件的,在stm32f10x.h文件的结尾,有进行说明:
这里写图片描述
这里写图片描述
接下来就是配置debug工具了:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

至此,固件库的工程就建立起来了。

猜你喜欢

转载自blog.csdn.net/hanyu5654/article/details/81270023