一、前言
单片机型号:STM32F103C8T6
开发环境:Keil5

二、搭建库步骤
2.1、下载固件库
库文件名:STM32F10x_StdPeriph_Lib_V3.5.0
方式1:去ST社区下载:ST社区

方式2:百度网盘分享:提取码:mm3e
下载下来的固件库结构如下图所示:

2.2、新建工程文件夹及工程
在桌面新建一个文件夹,名字任意,我将其命名为Fwlib-templete(固件库模板),然后在此文件夹中新建如下几个文件夹

然后打开Keil5,新建工程->新建工程(选择刚刚在桌面新建的Fwlib-templete文件夹下的Project)

然后会弹出如下窗体,让我们选择芯片型号

根据自己的单片机型号进行选择,在此选择STM32F103C8
注意:Keil5默认是没有STMicroelectronics这个包的,这个需要我们自己手动下载安装
Keil官网下载链接: http://www.keil.com/dd2/pack/

下载完成之后点击这个按钮将下载的库导入keil5(点击file–>点击import)

导入成功之后可以看到右侧有了STM32F1系列芯片


然后直接点击OK就可以了,接着开始在工程中新建文件夹(缓慢双击可重命名)

新建文件夹目标如下图所示:

2.3、移植固件库
将固件库下Libraries文件夹下的两个文件全部复制到自建工程文件夹下的Lib文件夹中

将CMSIS文件夹下除CM3文件夹全部删除,然后将CM3文件夹下的两个文件夹CoreSupport和DeviceSupport中的内容全部复制到CMSIS文件夹中,然后删除CM3文件夹

然后将startup文件夹下除arm文件夹全部删除,并把arm文件夹下的内容全部复制到sstartup文件夹下,然后删除arm文件夹

在自建工程文件夹下的USER文件夹中新建main.c

从固件库STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template中将如下三个文件复制到USER文件夹中

至此,固件库中需要移植过来的文件就全部移植完了。
2.4、配置工程
在Keil5中双击STARTUP,添加Lib\CMSIS\startup路径下的启动文件:startup_stm32f10x_md.s

在Keil5中双击CMSIS,添加Lib\CMSIS\startup路径下的.c文件

在Keil5中双击FWLIB,添加Lib\STM32F10x_StdPeriph_Driver\src路径下的所有文件

在Keil5中双击USER,添加User路径下的.c文件

在Keil5中双击DOC,添加Doc路径下的ReadMe.txt文件

2.5、配置Keil
Keil的默认在软件安装路径下寻找头文件,所以我们需要更改它的寻找优先级。点击Keil中的魔术棒(红色圆圈),然后在红色框体中把工程中存在头文件的文件路径都添加进去


添加宏定义,打开文件stm32f10x.h,找到如下两个宏定义:

宏定义一:

宏定义二:

将这两个宏定义添加到Keil中,打开魔术棒

到这就配置完了,可以进行编译,如果不报错,就说明配置成功了

2.6、Keil的一些其它设置

仿真器配置
注意:这里需要接上仿真器
然后根据自己的仿真器类型进行选择,在此我选择ST-Link

然后点击旁边的setting,可以看到仿真器识别出来了

如果没有插上仿真器,是检测不到的



三、测试
在main.c中添加如下代码:
#include "stm32f10x.h"
void gpio_init()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
}
int main(void)
{
gpio_init();
GPIO_SetBits(GPIOC,13);
}
然后编译,下载


可以看到开发板上的PC13小灯亮起来了,说明烧录成功了,至此,本次库搭建就圆满成功了。
本文详细介绍如何在Keil5环境下为STM32F103C8T6单片机搭建固件库,包括下载固件库、新建工程、移植库文件、配置工程及Keil设置等步骤,最后通过点亮LED灯验证库搭建成功。

3905

被折叠的 条评论
为什么被折叠?



