前言
本次实训是由信盈达公司主导,主要项目是智能云家居,采用STM32F103C8T6芯片为核心的集成开发板(M3),下载使用的是MDK5软件 + ST-LINK下载器。
STM32F103C8T6是一款基于ARM Cortex-M 内核STM32系列的32位的微控制器,程序存储器容量是64KB,需要电压2V~3.6V,工作温度为-40°C ~ 85°C。
ARM微处理器核心以及体系结构的发展历史,如下表所示:
一、MDK5软件安装及环境配置
1、安装MDK5
(1) 安装
下载MDK5(keil5)软件,双击mdk525.exe进行安装。安装过程一直点NEXT,安装路径不要出现中文即可。
(2)破解
1)打开软件keygen.exe。默认为C51版本,需要将它改为ARM版本。
2)以管理身份打开MDK5软件。点击File→License Management,复制CID码到破解软件上。
3)点击Generate,将生成的内容复制到keil上。
注:破解仅用于学习。
2、安装固件库
找到对应的芯片支持包,双击运行即可安装。这里使用的是STM32F10xx固件库。
二、新建工程模板
1、准备工作
(1)新建一个项目文件夹,名字随意取,一般为项目名字。在主文件夹里面再建立一个cmsis文件夹和user文件夹。在user文件夹(一般放自己编写的文件)里面再建立一个inc文件夹存放自己写的头文件.h,建src文件夹存放自己写的源代码也就是.c文件。如:
|-demo_name
|-cmsis
|-user
|-inc
|-src
(2)将工程所需要的必要文件从官方提供的资料里拷贝到自己建立的cmsis文件夹。
①将STM32内核文件(core_cm3.c、core_cm3.h)复制到自己建立的cmsis文件夹里。
②将单片机头文件(stm32f10x.h)和系统时钟配置文件(system_stm32f10x.c、system_stm32f10x.h)复制到自己建立的cmsis文件夹里。
③将单片机启动文件(startup_stm32f10x_md.s)复制到自己建立的cmsis文件夹里。
④将包含库函数的所有头文件的文件(stm32f10x_conf.h)复制到自己建立的cmsis文件夹里。
⑤自己建立的cmsis文件最终包含如下文件。
(3)将库函数源码文件复制到自己的工程文件的主文件夹下,注意是整个复制过去。
该目录下包含.c、.h文件:
将上面这个些步骤都完成,我们的工程准备工作就做好了,下面开始建立一个新的工程。
2、建立工程
(1)打开keil软件,点击Project→New uVision Project…,填写项目名称后将其保存在之前建立的工程文件夹里面。
(2)在弹出的界面上选择正确的芯片型号。
(3)配置工程环境
①添加.c文件
点击“品字形”图标。
可以看见三个框,在第一个框里可以修改工程项目名称;在第二个框里可创建虚拟目录,将显示在工程最左一栏;在第三个框里可以添加真实文件,一般只添加.c文件。
创建cmsis(存放工程所需要的必要文件)、user(存放自己编写的.c文件)、lib(存放库函数文件)三个虚拟目录:
为cmsis虚拟目录添加core_cm3.c、system_stm32f10x.c、startup_stm32f10x_md.s文件:
②添加.h头文件路径
点击“魔法棒”按钮,打开C/C++窗口,这里主要修改两个配置,一是添加需要的宏定义;二是添加所有头文件(.h文件)的路径。
添加头文件路径:
③添加需要的宏定义
没添加前是灰色的表示不可用,这里添加了STM32F10X_MD 和 USE_STDPERIPH_DRIVER。
注意两个宏之间需要加一个小英文逗号。
3、 编写主函数
(1)添加main.c和main.h文件
main.c文件保存在自己的工程路径下(./cmsis/src)。
main.h文件保存在自己的工程路径下(./cmsis/inc)。
(2)将保存好的.c文件添加进来。
点击“品字形”,选择user虚拟目录,点击Add Files…选择刚刚建立的main.c文件。
(3)main.c文件内容格式
一般代码最后都回车留几行空白。
这是一个空白模板,可以在其上编写自己的代码。
#include "main.h"
int main()
{
while(1)//死循环
{
;//防止CPU跑飞
}
return 0;
}
(4)main.h文件内容格式
这是一个空白模板,可以在其上编写自己的代码。
#ifndef _MAIN_H_ //防止头文件重定义
#define _MAIN_H_
#include "stm32f10x.h"
#endif
(5)编译
尝试编译一下,看看是否有报错。
三、安装驱动
我们用的是ST-LINK下载器,所以要安装ST-LINK。
连接好开发板后在设备管理器可以看到STLINK驱动则表示安装成功。
点击“魔法棒”,打开Debug窗口,选择ST-Link Debugger。
点击Settings,查看/修改参数。
打开Flash Download窗口,勾选Reset and Run。作用是下载后自动复位并运行。
到此,环境配置、工程建立、驱动安装完成,可以编写自己的程序了。工程模板已在gitee开源。