前言:
仅以此系列给实验室的学弟学妹作为小车制作教程来使用,后续的内容我会在这个暑假陆续更新出来,本篇的内容是新建一个适用于STM32F103RCT6的工程
准备工作:
接下来的操作几乎是基于STM32F1xx系列的固件库,这里我给大家列出链接
STM32F1xx系列固件库 提取码:2471
我是以智然学长制作的板子来制作小车的,下面的链接是电路板的管脚示意图和电路板的PCB图,其中PCB图需要使用AD20这个软件打开
电路板管脚示意图以及PCB 提取码:2471
同时,必备的软件也不能少,一个是Keil5-MDK,另一个就是AD20,这两个大家自行下载,我这里不再赘述
正篇开始:
首先要在电脑上新建一个空文档,该文档不能存在中文目录,否则会出现一连串的错误,这里我在D盘新建了一个名为STM32_test的文件夹
在该文件夹下新建4个文件夹,分别名为USER,CORE,STM32F103_FWLIB,OBJ
之后,进入我们的Keil5,新建一个项目
选择我们刚才新建的文件夹STM32_test
进入USER目录下,输入项目的名称,这个大家自行命名,但最好不要出现中文,点击保存
之后,在我们的Keil5界面就会弹出一个新的界面,在这个界面下,我们要选择芯片的型号,这里我们选择的STM32F103RCT6
之后点击OK就可以,接下来还会弹出一个新的界面,这时候我们不要管,直接点击cancel即可
接下来,我们回到我们的USER目录下,我们可以看到上面的界面,是我们建立完后产生的,其中Listings和Objects是空的文档,而Object是用来存放编译过程中的文件的,这个我们在之后的步骤会讲解。
之后,我们前面让大家下载的STM32F1XX固件库,就派上用场了。接下来要做的就是文件的搬运,打开固件库的STM32F10x_StdPeriph_Lib_V3.5.0文件夹
进入Libraries
进入STM32F10x_StdPeriph_Driver文件夹
将下面两个文件下复制下来
放到我们第一步建立的STM32F103_FWLIB文件夹里面
最终,我们的STM32F103_FWLIB文件夹下所包含的文件如下图所示
然后我们要准备把文件放到CORE文件夹下面来,再次进入Libraries下
进入CMSIS文件夹
再进入CM3文件夹
进入CoreSupport文件夹下
选中这两个文件,将其放入我们自己建立的CORE文件夹下
之后,我们需要把启动文件也放到我们的CORE文件夹下面,这时候我们要进入下图所框起来的路径,选择DeviceSupport文件夹
进入ST文件
再进入STM32F10x文件夹
进入startup文件夹下
再进入arm文件夹
这里给大家展示的就是STM32各个型号的启动文件,这里的启动文件是有区别的,所有以hd结尾的启动文件,所需要的芯片Flash要大于128K,而以md结尾的启动文件,所需要的芯片Flash要大于64K,以ld结尾的启动文件,所需要的芯片Flash要小于64K,以cl结尾的启动文件,是属于互联型产品,比如STM32F105/F107,而以vl结尾的启动文件适用于STM32F100系列的芯片。这里呢,我们查阅STM32F103RCT6的数据手册,发现其Flash要大于128K所以我们这里选择以hd结尾的启动文件,将其复制到我们的CORE文件夹下
最终,我们的CORE文件夹下所包含的文件如下图所示
之后,我们要开始把文件搬运到我们的USER文件夹下,同样,就在刚才的目录下,将这三个文件复制到USER下
之后,回退到之前的STM32F10x_StdPeriph_Lib_V3.5.0文件夹下,选择我们的Project文件夹
进入STM32F10x_StdPeriph_Template文件夹
将下面的4个文件复制到我们的文件夹下
到此为止,我们的USER文件夹下所包含的文件如下图所示
到此为止,我们的所需要的文件已经复制完毕,但文件仅仅在我们的目录下,并没有在我们的MDK5中,单击Target1,然后右键,点击这个Manage Project
Keil_MDK会弹出一个新的界面
我们双击Groups下的文件,可以更改文件名称,同时,点击上方箭头所指的区域,可以新建一个分组
先选中FWLIB,再点击 Add Files,会弹出一个新界面,在这个界面下,我们选择STM32F103_FWLIB,然后选择src文件夹,选中里面所有文件,最后点击Add
之后,我们再选中我们的USER文件夹,同样的步骤,将下面三个文件Add一下
最后是我们的CORE文件夹,这里我们要加进入两个文件,一个是箭头所指的.c文件,另一个是被隐藏起来的.s文件
点击下三角,选择All flie,这时候,.s启动文件就会出来了
之后点击Add即可
到了这一步,还没完,这时候,点击魔法棒
选择OBJ,这样编译产生的文件就会存放再OBJ文件夹下了
之前,我们只是把文件包含进来了,但是并没有把文件路径包括进来,在此之前,我们要在魔法棒的界面下,选中C/C++这一栏,然后在Define这一栏输入
STM32F10X_HD,USE_STDPERIPH_DRIVER
注意,一定不要出错,否则会编译失败。(这里建议大家直接复制)
然后点击三个省略号,会出现新的界面,如下图所示
同样的道理,我们新建一个路径,点击省略号,我们分别找到对应的文件夹
如USER文件 CORE文件,以及STM32F103_FWLIB下的inc文件(这里千万不能省略)
之后,我们进入main.c文件下,将里面的代码全部清除,换成
#include "stm32f10x.h"int main()
{while(1){}
}
这下就可以大功告成了,编辑一下0错误,0警告