一,文件夹介绍

首先去官网过去其他地方获取到官方提供的标准库文件

 下面这个我是在官网进行下载的

我们在打开keil的时候会弹出一个在线下载的框(这个框这里先不做说明,后面在继续讲解),我们不使用这个在线下载功能,直接用官方提供的外设库进行开发。

在这个文件夹中我添加了些文档方便我们后续查看文档分析问题

【固件库】STM32F10x_StdPeriph_Lib_V3.5.0这个文件夹是官方提供给我们进行开发的文档,里面有4个文件夹。

_htmresc文件夹中是官方的logo图片,

Libraries文件夹存放着内核文件,启动文件和系统文件以及外设文件(主要就是使用这个文件夹),

Project文件夹主要是存放ST公司提供的外设驱动例程和标准库工程模板

Utilities文件夹主要是存放ST官方评估板的例程,一般不需要用到

stm32f10x_stdperiph_lib_um这个是一个开发文档,里面有各种案列和函数原型供大家参考。

一下这4个文档就不介绍了,后面使用的时候边用边认识,大家可以去立创或者网上进行获取。

二,工程创建

第一步:需要创建一个工程文件夹(名字可以是中文)

第二步:进入工程文件夹创建功能子文件夹

2.1:创建存放工程文件的文件夹-Project

2.2:创建存放用户代码的文件夹-User

2.3:创建存放固件库文件的文件夹(固件库文件必须存放到工程文件夹下面,keil打开的相对路径)也可以直接复制【固件库】STM32F10x_StdPeriph_Lib_V3.5.0文件中的Libraries文件夹

2.4:创建存放外设功能和驱动文件夹-HardwareDriver

2.5:选择性创建(创建存放提示文本的文件夹)txt文本文件的文件的文件夹

第三步:创建工程,并保存到文件夹中

3.1打开keil

3.2创建工程(功能栏中的Project – > new uVision Project),弹出对话框(告诉keil工程保存的位置)

注意保存时:保存类型*.uvproj;*.uvprojx,不要去对保存类型进行改动

3.3保存完毕,工程文件后会弹出一个对话框,(选择芯片类型)

由于使用的是STM32F103C8T6,采用的F1系类的芯片这里选择STM32F1 Series 找到STM32F103C8

3.4选择完芯片后,弹出个对话框,这个对话框是在线下载官方提供的固件库文件,但是有官方提供的固件库文件压缩包,所以不用在线的模式进行一个下载,这里直接关闭即可。

3.5关闭在线下载渠道对话框,会呈现一个如下图所示的界面:

对应的文件夹中会出现如下图所示:(不要对打箭头的文件进行删除)

这个两个文件很重要这个是keil生成的快捷对应方式。

还有3个文件夹,分配是调试配置文件夹和临时文件以及输出文件存放的地方

3.6创建keil软件中工程的文件夹分类

找到功能栏中三个小正方向推挤的一个图标:

先添加工程分区文件夹然后添加文件。

文件添加位置->

添加启动文件到启动文件文件:demo\LIB\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

添加内核文件(core_cm3) 和系统文件(system_stm32f10x):

内核文件的路径:demo\LIB\CMSIS\CM3\CoreSupport

系统文件的路径:demo\LIB\CMSIS\CM3\DeviceSupport\ST\STM32F10x

添加固件库文件:demo\LIB\STM32F10x_StdPeriph_Driver\src

USER文件夹下的文件需要到固件库包中进行一个复制

路径如下:0【固件库】STM32F10x_StdPeriph_Lib_V3.5.0\【固件库】STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template

复制如下四个文件:

如何添加文件->

点击ADD FILES,进入工程文件夹中进行选择文件

添加完毕以后keil里面可以看到,工程框如下图:

LIB文件夹太多了就没截图出来,哈哈

3.7环境配置(功能栏中的魔法棒)

点击魔法棒后出现一个对话框:

(由于我使用的是最新的MDK538a,配置界面可能有些不一样)

环境配置第一步:

最新版本的外部最大晶振可以不用写,会自动匹配。

第二步:输出文件的存储改变和hex文件的添加

第三步:(可进行可不进行)

第四步:主要是进行宏定义的添加,头文件的路径

为什么要添加宏定义?

之所以添加宏定义,固件文件不只是唯一芯片的固件库,当前使用的固件库是涵盖全部F1系类的芯片,所以呢需要进行一个宏定义的添加。

由于不用的芯片选用的启动文件不一样,需要添加一个宏:STM32F10X_MD

由于使用的芯片不一致所以有一个宏定义进行区分:USE_STDPERIPH_DRIVER

宏定义的分割符是个逗号,键盘上

头文件的路径采用的是相对路径:将使用到的文件含有头文件的当前目录进行一个添加

一旦XX.h文件找不到第一个想到是否头文件的路径添加是否正确。

第五步:下载调试

要是使用的是下载器在线下载的话:点击旁边按钮Settings

使用行的环境:

1.支持汉语注释:

edit->Configuration

2.智能提示(虽然keil会人工智障,明明没有错误,它会标注这段话有问题,编译却没问题,但是还是方便的)

环境配置完毕以后需要对之前添加进来的main.C进行重构:

#include "stm32f10x.h"

int main (void)

{

       return 0;

}

重构完后进行编译;

第一个箭头:只针对当前修改过的段落进行编译,前面没有没问题的地方不用进编译,提高编译速度

第二个箭头:全盘编译,不关你改或者没改都会从头到尾进行一场编译。

第三个箭头:进行使用在线下载器进行下载按钮

使用最新版本的KEIL需要去将编译器去进行更改

选择V6.19或者V5.06update7就可以了,不然编译会报错。

第一个箭头:进入调试模式

第二个箭头:断点的形成

这个警告是大家经常遇到的,就那个文件的最后一行没有以空格结尾。

知道出现没有错误没有警告就可以了。

物联沃分享整理
物联沃-IOTWORD物联网 » keil5 –工程创建

发表评论