写在前面
文章中涉及到的所有安装包均可在评论区自取获得
Keil5 软件的安装和配置
Keil5 作用
1.用户通过Keil5软件编写C程序,并通过该软件将正确的程序烧入STM32F4XX单片机中,使单片机实现相应的功能。
Keil5 mdk的安装
1.进入[官网](Keil MDK)-->点击Download Keil MDK下载软件

2.点击安装包,在弹出的页面中点击NEXT

3.打勾I Agree,点击Next

4.在弹出界面记住界面弹出的默认安装的路径

5.点击Browse,选择自定义安装的位置,注意路径的命名尽量与默认路径的命名形式保持一致

6.在弹出界面随便填写信息之后点击Next

7.软件正在进行安装

8.安装结束,点击Finish

9.依次关闭弹出的窗口

Keil5 软件的激活
1.以管理员身份运行桌面上的keil5软件(一定要以管理员身份运行)

2.软件打开之后依次点击File—License Management

3.复制CID

4.点击keygen.exe文件

5.粘贴复制过的CID,选择Target为ARM,点击Generate,生成激活码

6.复制生成的激活码,粘贴在New License ID Code处,点击Add LIC,即可成功激活mdk,同时会显示mdk的使用期限

STM32芯片包的安装
1.中点击文件Keil.STM32F4xx_DFP.2.11.0.pack

2.一直点击Next 进行安装,安装完成后,点击Finish


c51单片机的安装
1.点击c51v957.exe文件

2.运行c51v957.exe,点击Next继续进行安装

3.勾选I Agree ,点击Next

4.在弹出的窗口中自定义安装目录路径,点击Next继续安装,安装结束后点击Finish


c51单片机的激活
激活C51步骤与激活mdk步骤相同:
1.以管理员身份运行桌面上的keil5软件(一定要以管理员身份运行)

2.软件打开之后依次点击File—License Management

3.复制CID

4.点击keygen.exe文件

5.粘贴复制过的CID,选择Target为ARM,点击Generate,生成激活码

6.复制生成的激活码,粘贴在New License ID Code处,点击Add LIC,即可成功激活mdk,同时会显示mdk的使用期限

STM32相关驱动的安装
安装STLink驱动
STLink驱动的安装程序是kile5软件自带的,我们只需要在keil5的安装目录下找到即可。我的keil5软件安装目录在D盘的keil5下(D:\keil5\Arm\STLink\USBDriver),如下图:
安装JLink的驱动
JLink的驱动同样是自带的在安装目录下找到即可,如下图:
USB转串口
在资料当中选择USB转串口,点击安装程序
Keil5软件的基本使用
下载固件库
根据你所使用的单片机型号来下载你所需要的固件库,我使用的是
STM32F4xx,所以我使用的是F4的固件库。
1、stm32F407的固件库可以到官网去下载,st.com/content/st_…,点击Tools & software
2、选择Embedded software,然后下滑找到箭头所指的方框,点进去
3、选择STM32 Standard Peripheral Libararies
4、然后点击图中的F4,要找其他型号自行点击
5、下滑到底部就可以看到固件库了,点击Get latest,旁边可以选择以前的版本,按照自己的需求来
6、然后它会让你选择一个身份登录,选择游客登陆就行
7、然后需要我们填写一些信息,要确保邮箱正确(它会发一个链接过来,让你确认),然后点击Get link to download,点击后会等一会,出现发送邮件成功的提示,点击ok即可
8、然后在当前浏览器打开官方发来的邮件,点击download now,跳转到那个网页等待一会它就会自行下载我们需要的固件库了。
9、解压出来的固件库包目录如下:
keil5新建工程
- 选择
project,点击new project
- 选择工程存放地址,并为工程命名
- 选择单片机芯片型号:
4.现在我们开始向工程文件夹移植固件库的依赖文件,首先移植工程里User文件夹里的内容,打开我们下载好的固件库,找到这个路径
STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include再把里面的两个文件都复制到User文件夹里
5.然后再去这个路径STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates将红框中的文件复制到User文件夹下
6.复制完成后User文件夹的内容如图所示,总共8个,图标可能会和大家的不一致,因为我没有用编辑器打开过.c文件和.h文件,不过问题不大
7. 然后向Core文件夹移植固件库文件,找到固件库的对应路径
STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm复制红框中的文件到Core文件夹下
找到对应文件路径
STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Include
8.将红框中的文件复制到Core文件中,不过图中的core_cmSimd.h文件在一些低版本的固件库文件中被命名为core_cm4_simd.h,大家注意区分
移植后Core文件夹应该有以下文件
9.移植Library文件夹里的文件,找到固件库的对应路径
STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver 把图中的inc和src文件夹直接复制到Library文件夹中
复制后的Library文件夹长这样
10、现在我们开始向keil软件里添加文件,右击Target1,然后点击Manage Project Items...
出现如下界面:
然后点击红框中的按钮添加Group,添加了三个group,都是我们需要的
然后选择Core,点击Add Files添加文件,找到我们工程文件里的Core文件夹,显示的文件类型默认是.c,刚出来是没有任何文件的,因为它只显示.c文件,我们手动更改为All Files,然后选中全部文件,点击Add添加文件,添加成功后就会显示到对应界面,添加完成后点close或叉掉都可以
选择Library,跟刚才一样的操作,找到Library文件下的src文件夹,将全部文件添加进去,添加完成后点击close或者叉掉
注意,我们需要把Library里面的stm32f4xx_fmc.c文件删掉,点击那个红叉就可以删除,不删掉会报错。
选择user,操作同上,找到工程文件夹里的user文件夹,选择三个.c文件进行添加,其他文件就不添加了(加了不好看,实在想加也可以),后续会设置它们的寻找路径,添加完成后点击close或叉掉
11.现在我们要设置头文件路径和添加全局宏定义标识
一路点过去
然后点击这个框框,添加我们的头文件路径,点击框框后会出现可编辑的一行,我们不需要自己写,最右边有三个小点,点击他就会打开文件目录,我们就找到对应目录添加就行,添加完成点击ok
12.然后就是添加全局宏定义标识符,依旧是这个界面,在红框中添加STM32F40_41xxx,USE_STDPERIPH_DRIVER
注意别添加错了,直接复制粘贴即可,手敲容易出错
13、然后就是更改 .hex 的存放路径,选择Output,注意勾选Create HEX File,然后点击Select Folder for Objects...,选择我们创建工程时创建的Object文件夹;当然,不更改HEX文件的输出路径也可以,并不影响什么,只是更改后更容易找到这个文件,以后要用的时候方便找,但是勾选Create HEX File选项是必须的。
14、然后就是更改
main.c的内容,main.c文件在User下,直接将原来的内容全部删掉,我们自己写一个简单的模板,在文本编辑框中右击选择插入头文件
然后添加函数体就行,我们的单片机程序就运行在while循环中
- 创建新文件
至此,一个工程的基本创建就结束了,后面要添加如main.c等文件时,记得同样要为其添加相应路径。
还有一种更快的建工程方式,那就是采用模板空工程(常用),在网上找一个模板空工程,直接拿来用就是了。
Keil5软件的调试:

(1)点击小彩棒-->点击Debug-->选择使用的调试器(硬件调试器即仿真器)


(2)点击debug进入调试窗口,首先会跳到main函数


(3)可以打断点(单击左键),然后点击 run,就会执行到断点处,->{} 是执行到光标所在位置


(4){↓}表示下一步或进入函数
(5)查看程序中某个参数的地址:

(6)查看程序中某个参数存储的内容:


Keil5软件的编译:
点击下图一表示编译当前文件,点击下图二表示编译工程中的所有文件


程序烧入单片机:
烧入的方式有串口烧入,usb烧入,仿真器烧入,这里介绍仿真器烧入的方式。
(1)连接好仿真器(记得给仿真器供电)
(2)点击小彩棒-->点击Utilities->将Use Debug Driver勾上

(3)将这里的硬件调试器(即仿真器)型号选对
