Keil5 MDK使用


前言

  介绍一下单片机开发软件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

  1. CH340串口驱动安装
    安装方法:直接点击安装(安装失败见readme),提示预安装成功即安装成功
    作用:安装了串口驱动后,电脑就能识别串口
  2. 串口程序下载工具mcuisp(FlyMcu)
    作用:可以将.hex格式程序通过串口下载到板子里
  3. 串口调试助手XCOM
    作用:可以通过串口收发数据
  4. STLINK驱动安装
    作用:可以在windows下配合MDK进行程序下载和调试。

1.3 官方固件库

下载链接:https://download.csdn.net/download/weixin_44567668/88633544


二、新建工程

2.1 文件移植

  1. 在磁盘新建文件夹Template,在其中创建包含Driver,FWLIB,OBJ, USER子文件夹
    在这里插入图片描述
  • Driver:存放自己写的BSP驱动,这边先空着
  • FWLIB:存放官方库文件相关
  • OBJ:存放编译生成文件
  • USER:存放应用层文件
  • README:说明文件
  1. 在FWLIB里创建文件夹CORE,然后将官方库文件Libraries里的STM32F4xx_StdPeriph_Driver文件夹复制进来
    在这里插入图片描述

  2. 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芯片和时钟外设头文件复制进来
    在这里插入图片描述

  3. USER文件添加
      将官方库目录Project\STM32F4xx_StdPeriph_Templates里的stm32f4xx_it.c、stm32f4xx_it.h、stm32f4xx_conf.h这3个文件复制过来
    在这里插入图片描述

  4. Driver文件添加(这一步可以选择跳过)
      将正点原子的delay、sys、usart复制进来
    在这里插入图片描述

  至此,文件移植结束

2.2 创建项目

  1. 工程创建
      Project ->New Uvision Project ,工程命名为Template,保存路径为上面建立的USER文件夹里
    在这里插入图片描述
    在这里插入图片描述
      在对话框里Device->STM32F407ZG(选择对应芯片型号),之后点击OK,然后弹出对话框Manage Run-Time Environment点击OK
    在这里插入图片描述

  2. 项目管理
    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…打开选项配置
在这里插入图片描述

  1. 设置编译存放路径
      Options->Output,Select选择编译输出文件,设为之前新建的OBJ文件夹
    在这里插入图片描述
      勾选Create HEX File,这样就可以在编译后生成HEX16进制烧录文件,勾选Browse Information就可以在编译后使用go to definition
    在这里插入图片描述
  2. C/C++设置
      在Define添加全局定义标识符
    在这里插入图片描述
STM32F40_41xxx,USE_STDPERIPH_DRIVER

  在Include Paths里添加.h头文件存放路径,分别有USER、CORE、inc文件夹
在这里插入图片描述

  1. 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下载与调试程序

  1. Keil设置,即上面2.3小节的Options->Debug设置,然后连接板子SWD口后,点击Download,即可通过ST-Link下载
    在这里插入图片描述

  2. 运行仿真
    1)点击开始/停止仿真F5,则会在线更新代码在仿真,需要先编译
    在这里插入图片描述
    在这里插入图片描述
    2)MDK弹出Debug工具条——堆栈局部变量窗口,其他调试窗口都在View里
    在这里插入图片描述
    3)Debug工具条
    在这里插入图片描述
    4)在程序调试前,把光标放到左侧左击,可以放置一个红色的断点,再次单击取消,然后点击执行到断点处
    在这里插入图片描述

四、MDK使用技巧

  1. 文本美化
    在这里插入图片描述

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. 语法检查&代码提示
    1)配置——Text Completion——Symbols after xxx characters(用于开启代码提示功能)
    在这里插入图片描述
    2)Strut/Class Members(用于开启结构体/类成员提示功能)
    3)Dynamic Syntax Checking(则用于开启动态语法检测)
    4)Function Parameters(用于开启函数参数提示功能)

  2. 代码编辑器技巧
    1)Tab(或者Shift + Tab)可以使一片代码右移(或左移)
    2)右击函数或者变量上——Go to Definition Of ‘…’(进行快速定位,注意先编译)
    3)选中一片代码右击——Advanced——Comment Selection(或取消注释)

  3. 其他小技巧
    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

4、寄存器版工程创建

  基本与固件库类似,去掉STM32F4xx_StdPeriph_Driver文件夹即可

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别问,问就是全会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值