Keil5创建STM32工程详细步骤分享

1. 建立本地工程文件夹

名称 作用
Doc 存放程序说明文件
Libraries 存放库文件
Listing 存放编译器编译时产生的C/汇编/链接的列表清单(如果不创建会生成在项目文件目录下Listings文件夹)
Output 存放编译产生的调试信息、hex文件、预览信息、封装库等 (如果不创建会生成在项目文件目录下Objects文件夹)
Project 存放工程
User 用户编写的驱动文件

2. 本地文件夹创建好之后就把准备好的库文件添加到相应的文件夹下

(1)下载库文件
访问ST中文官网https://www.st.com/content/st_com/zh.html

我这边使用的F103芯片举例,如果是F4芯片则在高性能MCU里,这里就根据自己需求选择就好请添加是图片描述请添加图片描述请添加图片描述
选择需要的版本即可请添加图片描述
下载好后可以看到文件中包含如下文件夹:
Libraries:文件夹下是驱动库的源代码及启动文件,这个文件非常重要,我们要使用的固件库就在这个文件中。
Project:文件夹下是用驱动库写的例子和工程模板,其中那些为每个外设写好的例程对我们非常有用,在学习的时候可以参考这里面的例程,非常全面。
Utilities:包含了基于ST官方实验板的例程,不需要用到,略过即可。

(2)工程目录文件夹内容清单

名称 作用
Doc 工程文件说明.txt
Libraries CMSIS:存放与CM3内核有关的库文件 ,STM32F10x_StdPeriph_Driver:STM32外设库文件
Listing 暂时为空
Output 暂时为空
Project 暂时为空
User stm32f10x_conf.h:用来配置库的头文件
stm32f10x_it.h:stm32f10x_c的头文件
stm32f10x_it.c:中断相关的函数都在这个文件夹中编写
main.c:main函数文件
(这些文件可以在下载的固件库文件夹\en.stm32f0_stdperiph_lib\STM32F0xx_StdPeriph_Lib_V1.6.0\Projects\STM32F0xx_StdPeriph_Templates下找到)

3.打开KEIL5新建一个工程

工程创建到刚才新建的project文件夹下,如果选择芯片时没有想要的芯片,就要去下载pack包,pack包下载地址:https://www.keil.arm.com/devices/,然后搜索框中输入芯片的关键字,点击芯片名称,CMSIS Pack下蓝色可点击文字,下载后双击pack文件,系统会自动找到路径安装。

创建好工程后在左边包路径下创建如下文件:

工程内组文件夹内容清单如下:

名称 存放的文件
STARTUP startup_stm32f10x_md.s (CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm),这里具体选哪个.s文件根据芯片flash大小来选择。
SMSIS core_cm3.c、system_stm32f10x.c(CMSIS\CM3下的子文件中)
FWLB STM32F10x_StdPeriph_Driver\src 文件夹下的全部C文件,即固件库
USER 用户编写的文件,把刚才创建的USER文件夹下的文件添加到这里即可

4.配置魔术棒选项卡

(1)在Target选项卡中选中“Use MicroLIb”复选框,为的是在日后编写串口驱动的时候可以使用printf函数。

(2)在Output选项卡中把输出文件夹定位到工程目录下的“Output”文件夹,如果想在编译的过程中生成hex文件,那么把Create HEX File 选项勾上

(3)在Listing选项卡中把输出文件夹定位到工程目录下的“Listing”

(4)在C/C++选项卡中添加处理宏及编译器编译时查找的头文件路径,如果头文件路径添加错误,则编译的时候会报错“找不到头文件”

tips:在C/C++选项中添加宏,就相当于我们在文件中使用“#define”语句定义宏一样。在编译器中添加宏的好处就是,只要用了这个模板,就不用在源文件中修改代码。
这里图片中用的是STM32F030的宏,每种不同的芯片的宏也不同,可以自行查找。

作者:hk1551

物联沃分享整理
物联沃-IOTWORD物联网 » Keil5创建STM32工程详细步骤分享

发表回复