从零搭建一个STM32的工程模板
一、下载官方提供的STM32提供的固件库
1.来到官方网站:
https://www.st.com/en/embedded-software/stsw-stm32054.html
2.按照提示获取文件库
3.下载完成之后,解压
二、建立文件夹并从官方库中将必要的文件复制过去
1.建立4个文件夹,方便管理
CMSIS(Cortex Microcontroller Software Interface Standard)是由ARM公司提供的一套用于Cortex-M系列微控制器的软件接口标准。它旨在简化软件开发过程,提供一致的硬件抽象层,使开发者能够更容易地移植和重用代码。
- CMSIS-Core:提供对Cortex-M处理器的核心寄存器和外设的访问接口。
- CMSIS-DSP:提供优化的数字信号处理(DSP)库,适用于需要高效数学运算的应用。
- CMSIS-RTOS:提供实时操作系统(RTOS)的抽象层,支持多任务处理。
- CMSIS-Driver:提供标准的外设驱动接口,简化外设的使用。
- CMSIS-Pack:用于管理软件组件和设备的描述文件,支持工具链的集成。
CMSIS
Library
Start
User
2.往CMSIS填充文件
(1)来到库文件路径:
..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport\
复制两个文件,到CMSIS中
(2)来到库文件路径下:
\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\
复制三个文件,到CMSIS中
(3)CMSIS文件夹配置完成
3.往Library中填充文件
(1)打开库文件路径:
..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\
复制两个文件夹inc与src到Library模板文件目录下
(2)Library文件夹配置完成
4. 往Start填充文件
(1)打开库文件路径:
..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\
(2)复制此库文件路径下的全部文件到Start文件夹中
(3)Start文件夹配置完成
5.往User文件夹填充文件
(1)打开库文件路径:
..\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\
复制四个文件到User文件夹下
(2)复制此路径下的指定四个文件到User文件夹下
(3)User文件夹配置完成
三、keil软件设置
1.下载Keil.STM32F1xx_DFP.2.3.0.pack固件开发包
(1)来到官方网站
https://www.keil.arm.com/
(2)按照操作找到STM32F1xx_DFP并下载
因为我们使用的是STM32F103版本的芯片(如STM32F103C8T6),所以下载这个系列。
(3)下载完成,按照提示运行即可
运行完,keil便安装成功STM32F1xx_DFP的固件开发包。
2.keil软件与模板文件的关联配置
(1)打开keil并新建一个工程文件
后面一个界面可以直接确定或者忽略。
(2)为工程关联工程必需文件
(3)CMSIS部分添加文件关联
添加CMSIS里面的文件
(4)Library部分添加文件关联
添加Library/src/里面的全部文件
(5)Start部分添加文件关联
添加Start里面的startup_stm32f10x_md.s文件(中等型号),且在这之前必须打开查找全部文件
(6)User部分添加文件关联
添加User里面的三个文件,开始此步,需要先打开查找全部文件
(7)配置完成效果图
3.Keil魔术棒配置
(1)来到User的main.c处,保留#include “stm32f10x.h”,其余皆删除,保持简洁。
(2)来到魔术棒配置页面—Output
(3)来到魔术棒配置页面—C/C++
来到C/C++界面,来到Define处输入USE_STDPERIPH_DRIVER,STM32F10x_MD
(中间为逗号)
然后来到Include Paths处,添加文件路径
../CMSIS/
../Library/inc/
.. /Library/src/
../Start/
../User/
Library添加两个文件,inc与src。其他以此类推添加
(4)来到魔术棒配置页面—Debug
这里我使用的是STLINK
(5)来到魔术棒配置页面—最后的设置,选择keil版本(Target)与支持C99模式(C/C++)
配置完成,开始写代码吧!!!
四、注意
一般来讲,后续要加其它外设如(led.c,led.h)均放进User里面,然后在keil里面添加路径即可。这里我添加的是delay.c(在这之前,我已经把delay.c、delay.h文件放入User文件夹里面)。通过Add File添加
添加完成!over!
作者:timing994