目录
1、STM32的Keil环境搭建
1)Keil的安装与注册
STM32是以keil为开发环境的,那么keil都支持哪些类型的芯片开发呢?
Keil开发工具为ARM公司旗下,Keil公司于2005年被ARM公司收购。而Keil开发工具最开始是为C51系列的单片机服务的,因此其不仅支持本身的C51、C52等单片机开发,还能用于ARM7,ARM9,Cortex-M内核的单片机,而STM32属于Cortex-M内核芯片。
Keil的安装与注册包下载链接如下:链接:https://pan.baidu.com/s/19IOEw8a1O9CkvOq77IwgEA 提取码:a04i
其中包含的mdk526为ARM系开发工具,如果要编译超过32K的代码,即需要注册机注册,最下面两个为STM32F1、F4系列的Keil pack包,如果需要使用到对应系列的芯片,在第一次开发时点击安装对应的包即可。
注:如果需要开发51系列的单片机,安装C51文件夹中的安装包即可。
2)Keil字体调整
将keil中的代码复制到别处时,有时发现注释部分出现乱码,主要是因为在复制之前keil的字体没有设置,设置途径如下:左上角的 Edit >> Configuration >> Editor >> Encoding >> 选择Chinese GB2312 >> 点击OK 即配置好,如下图:
2、STM32工程创建
1)创建工程文件夹并迁移文件
工程文件夹的创建可以根据自己的习惯命名,但一定要合乎规范,方便自己后续维护查看,也方便团队合作的人。
为了整理分类,一般工程文件要包含以下几个部分:①核心文件与启动文件、②库文件、③工程文件、④项目开发文件。有些人可能会分得更细,但这都根据自己的习惯。
正点原子的工程文件一般如下:
我个人的工程文件一般如下:
其中:
APP——项目开发文件 Core——启动文件与核心文件
Lib——库文件 Project——工程文件(打开keil工程所用),其也包含编译目标文件
SYSTEM——正点原子编写的系统文件
README——提示文件(自己把工程概要写进去),方便后期中不需要打开整个工程即可了解整个工程实现的功能,或更新的功能等。还可以自添加更多需要的信息
接下来往工程文件夹添加内容。
APP: Core:(F103 9个)
其余文件添加省略,可以直接参照例程中的文件迁移过来即可。
注意:不同系列的芯片,库函数开发工程中(Core)启动文件与核心文件不同,而且个数也不一样。
F407的Core:(11个)
区别汇总如下:
2)创建工程并分组工程目录、添加目录文件
打开Keil软件,新建工程。
工程名创建后需要添加工程芯片。
注意,一定要安装对应的器件的pack,才会有对应的芯片选择,如果没有,按照第一步环境搭建中STM32的keil pack包,没有可以在给出的链接中下载。注意芯片不要添加错了。
然后将会出现如下界面,×掉或者点击cancel即可。
创建好后,需要添加工程目录,并给目录添加工程文件。
3)工程选项配置
在工程选项配置中,需要:
①添加头文件h的路径。
②添加宏定义。
③配置debug。
其实需要注意的是②添加宏定义,因为 3.5 版本的库函数在配置和选择外设的时候通过宏定义来选择的,所以我们需要配置一个全局的宏定义变量。不同系列的芯片添加的宏定义不一样,其不同如下:
F103 库函数版 | STM32F10X_HD,USE_STDPERIPH_DRIVER |
F103 寄存器版 | STM32F10X_HD |
F407 库函数版 | STM32F40_41xxx,USE_STDPERIPH_DRIVER |
F407 寄存器版 | STM32F40_41xxx |
F429 HAL版 | STM32F429xx,USE_HAL_DRIVER |
F429 寄存器版 | STM32F429xx |
可以看出,库函数工程比寄存器工程多了一个外设的宏定义,而其中的芯片宏定义不一样。