前言
介绍一下单片机开发软件Keil的基本使用,以STM32f4固件库为基础创建工程模板
一、开发环境搭建
1.1 Keil的安装
选择安装路径,其余默认即可,具体可以参考百度,安装包在附件
注意:汉化会导致部分功能设置不显示
不同芯片加载包不一样,官网http://www.keil.com/dd2/pack下载 Keil.STM32F4xx_DFP.1.0.8,双击打开安装stm32,或者附件下载
1.2 其他工具安装
下载链接:https://download.csdn.net/download/weixin_44567668/88503033
- CH340串口驱动安装
安装方法:直接点击安装(安装失败见readme),提示预安装成功即安装成功
作用:安装了串口驱动后,电脑就能识别串口 - 串口程序下载工具mcuisp(FlyMcu)
作用:可以将.hex格式程序通过串口下载到板子里 - 串口调试助手XCOM
作用:可以通过串口收发数据 - STLINK驱动安装
作用:可以在windows下配合MDK进行程序下载和调试。
1.3 官方固件库
下载链接:https://download.csdn.net/download/weixin_44567668/88633544
二、新建工程
2.1 文件移植
- 在磁盘新建文件夹Template,在其中创建包含Driver,FWLIB,OBJ, USER子文件夹
- Driver:存放自己写的BSP驱动,这边先空着
- FWLIB:存放官方库文件相关
- OBJ:存放编译生成文件
- USER:存放应用层文件
- README:说明文件
-
在FWLIB里创建文件夹CORE,然后将官方库文件Libraries里的STM32F4xx_StdPeriph_Driver文件夹复制进来
-
CORE文件添加
1)将官方库文件目录Libraries\CMSIS\Include里的core_cm4.h、core_cm4_simd.h、core_cmFunc.h、core_cmInstr.h这4个核心文件复制进来
2)将官方库文件目录Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm里的startup_stm32f40_41xxx.s启动文件复制进来
3)将官方库文件目录Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates里的system_stm32f4xx.c系统时钟文件,以及Libraries\CMSIS\Device\ST\STM32F4xx\Include目录下的system_stm32f4xx.h、stm32f4xx.h芯片和时钟外设头文件复制进来 -
USER文件添加
将官方库目录Project\STM32F4xx_StdPeriph_Templates里的stm32f4xx_it.c、stm32f4xx_it.h、stm32f4xx_conf.h这3个文件复制过来 -
Driver文件添加(这一步可以选择跳过)
将正点原子的delay、sys、usart复制进来
至此,文件移植结束
2.2 创建项目
-
工程创建
Project ->New Uvision Project ,工程命名为Template,保存路径为上面建立的USER文件夹里
在对话框里Device->STM32F407ZG(选择对应芯片型号),之后点击OK,然后弹出对话框Manage Run-Time Environment点击OK -
项目管理
1)右击Target1->Manage Project Items打开项目管理
2)在Project Targets里将Target改名为Template,在Groups里删掉Source Group1,建立USER,CORE,FWLIB,Driver分组
3)选择FWLIB,点击ADD Files,选择之前新建的Template\FWLIB\STM32F4xx_StdPeriph_Driver\src,对.C源文件全选Ctrl+A,Add后点击Close(可以选择添加我们需要的库文件)
注意:stm32f4xx_fmc.c
4)同样在CORE里添加startup_stm32f40_41xxx.s、system_stm32f4xx.c, 在USER里添加的文件stm32f4xx_it.c(在Driver里添加delay.c、sys.c、usart.c),完成后点击OK
5)新建一个文件,保存为main.c,保存路径为USER
对USER组右击,点击Add Existing…
找到main.c添加
最后在main.c里输入下面代码:
#include "stm32f4xx.h"
int main(void)
{
while(1);
}
2.3 选项配置
对项目右击,点击Options for…打开选项配置
- 设置编译存放路径
Options->Output,Select选择编译输出文件,设为之前新建的OBJ文件夹
勾选Create HEX File,这样就可以在编译后生成HEX16进制烧录文件,勾选Browse Information就可以在编译后使用go to definition
- C/C++设置
在Define添加全局定义标识符
STM32F40_41xxx,USE_STDPERIPH_DRIVER
在Include Paths里添加.h头文件存放路径,分别有USER、CORE、inc文件夹
- Debug设置
选择St-Link,勾选Run to main0,点击Settings
在新对话框里,选择Flash Download,勾选Reset and Run
至此配置结束
三、程序下载调试
3.1 编译下载
点击Rebuild
编译结束后在OBJ文件夹里生成.hex文件
打开STM32串口程序下载FlyMcu,首先找到对应的串口号,这里是COM3
勾上“编程前重装文件”、“校验”以及“编程后执行”,其他都不要勾选。最后选择第四个DTR的低电平复位,RTS高电平进bootloader。之后,就可以点击开始编程下载程序
注意:FlyMcu的使用,需要板子上有对应的串口转USB,一键下载电路
3.2 STLINK下载与调试程序
-
Keil设置,即上面2.3小节的Options->Debug设置,然后连接板子SWD口后,点击Download,即可通过ST-Link下载
-
运行仿真
1)点击开始/停止仿真F5,则会在线更新代码在仿真,需要先编译
2)MDK弹出Debug工具条——堆栈局部变量窗口,其他调试窗口都在View里
3)Debug工具条
4)在程序调试前,把光标放到左侧左击,可以放置一个红色的断点,再次单击取消,然后点击执行到断点处
四、MDK使用技巧
- 文本美化
1)Configuration——Editor——选择Encoding为Chinese GB2312(Simplified),设置Tab size为4(设置注释关键字字体)
2)Colors & Fonts——C/C++ Editor Files——Number(修改字体颜色和大小,或者Ctrl+鼠标滑轮进行放大或者缩小)
3)User Keywords——C/C++ Editor Files——输入关键字改变颜色
-
语法检查&代码提示
1)配置——Text Completion——Symbols after xxx characters(用于开启代码提示功能)
2)Strut/Class Members(用于开启结构体/类成员提示功能)
3)Dynamic Syntax Checking(则用于开启动态语法检测)
4)Function Parameters(用于开启函数参数提示功能) -
代码编辑器技巧
1)Tab(或者Shift + Tab)可以使一片代码右移(或左移)
2)右击函数或者变量上——Go to Definition Of ‘…’(进行快速定位,注意先编译)
3)选中一片代码右击——Advanced——Comment Selection(或取消注释) -
其他小技巧
1)右击头文件——Open Document “XXX”可以快速打开文件
2)Ctrl + H(查找替换)
3)双击头文件——点击上面图标在文件中查找Find in Files…(跨文件查找)
附录
1、C语言基础
https://blog.csdn.net/weixin_44567668/article/details/129003611
2、MDK编译报错解决方式
https://blog.csdn.net/weixin_44567668/article/details/129003692
3、基于HAL库创建工程
这边建议直接使用STM32CubeMX软件生成Keil工程,见下链接:
https://blog.csdn.net/weixin_44567668/article/details/133170724文章来源:https://www.toymoban.com/news/detail-740514.html
4、寄存器版工程创建
基本与固件库类似,去掉STM32F4xx_StdPeriph_Driver文件夹即可文章来源地址https://www.toymoban.com/news/detail-740514.html
到了这里,关于Keil uv5 MDK使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!