一、为什么自己写一个一个教程
1、老了,容易忘
2、总看别人的不方便
二、准备资料
1、keil软件安装好
2、STM32F0XX标准库函数下载,网址为https://www.st.com/en/embedded-software/stsw-stm32048.html
本篇使用STM32F030C8T6芯片
下载后解压,得到STM32F0xx_StdPeriph_Lib_V1.5.0这个文件夹,文件夹内容包括内核、驱动、开机引导文件等库文件。文件结构见下:
完事具备,只欠东南西北台风。
三、建立文件夹
本示例使用Template作为工程文件夹名字,并在文件夹下,建立以下四个文件夹:
文件夹解释:
Doc:存放程序的说明文件
Libraries:存放标准库相关文件
Project:存放工程文件、输出HEX文件、其它产生的文件
User:main以及其他用户文件
文件结构确定后,将STM32F0xx_StdPeriph_Lib_V1.5.0对应文件,放入新建立的文件夹中:
a. 将STM32F0xx_StdPeriph_Lib_V1.5.0\Libraries中的CMSIS 和STM32F0xx_StdPeriph_Driver两个文件夹复制到工程模板Libraries文件夹下:
b. 将STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Templates中的几个文件复制到工程模板User 文件夹下:
其它文件夹暂时为空。
四、建立工程
1. 打开keil软件,选择Project --> New uVision Project,确认后,工程名字使用Template,保存到文件夹Temppate/Project下。
2. 选择芯片型号,本文使用STM32F030C8T6,所以选择对应芯片,保存。如果没有对应选择,需要下载相应芯片的pack
确定后出现管理运行环境界面,不用设置,关闭即可。
3. 添加组文件夹,以及文件
点击菜单栏上的管理工程项目图标,进入管理工程项目界面
在Groups中添加5个组文件夹,再将文件添加到每个组文件夹中,操作方法如下,
具体文件清单:
StartUp
startup_stm32f030.s
位置:Template\Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm
CMSIS
system_stm32f0xx.c
位置:Template\Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates
Libraries
Template\Libraries\STM32F0xx_StdPeriph_Driver\src 文件夹下的.c文件
可根据自己项目需要选择添加,这里暂时全部添加
User
main.c
stm32f0xx_it.c (中断函数文件) 和其它用户自己编写的文件
Doc
添加说明文件,自己添加
单击后完成,工程文件显示如下:
4. 配置工程:
点击菜单栏上图标,进入工程选项卡界面
a. 串口输出时使用,这里需要勾选
b. 输出文件HEX选项
c. C/C++选项卡中添加处理宏,根据自己芯片型号填入,否则会报错。这边添加两个宏:
USE_STDPERIPH_DRIVER,
STM32F030
d. 添加头文件路径,点击打开“Include Paths”界面,按下图添加路径
e. DEBUG选项卡仿真器选择,根据你用的仿真器进行选择,我这里使用JLink仿真,故选择J-Link
进入仿真器设置,SW,2MHZ烧录,以及下载相关内容
完成后点确定,点OK退出会保存选项设置。
至此,所有工作就完成了。
编译,底部Build Output显示无错误,无警告。说明工程模板没有问题
以上,工程模板已经建立