当前位置: 首页 > news >正文

【STM32】MDK安装

1 MDK

历史背景

Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。其Keil C51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种。

在这里插入图片描述

Keil公司在2005年被ARM公司收购。

MDK界面

在这里插入图片描述

描述

MDK就是微控制器开发套件的意思。
Keil称之为Keil公司。

2 软件环境安装

2.1 MDK安装步骤中重点操作

1.双击下载好的“MDK531.exe”安装程序。

在这里插入图片描述

2.在弹出的欢迎安装界面,点击【Next >>】。

在这里插入图片描述

3.为Core(核心程序)和Pack(库函数包)选择指定的安装路径,默认即可,点击【Next >>】。

在这里插入图片描述

安装中…

在这里插入图片描述

4.点击【Finish】按钮,MDK核心程序完毕。

在这里插入图片描述

5.在弹出的库函数包安装界面,点击【OK】按钮关闭欢迎界面。

在这里插入图片描述

6.电脑连接上网络后,库函数包安装界面会自动更新库函数包描述信息。

在这里插入图片描述

7.当库函数包信息更新完毕后,根据当前所用的芯片去安装对应的库函数包。例如当前所用的芯片为“STM32F429IGTx”,在Devices标签页选中“STMicroelectronics”并展开,再选中“STM32F4 Series”,在右侧的Packs标签页选择目前最新的库函数包版本(2.15.00)进行安装。

在这里插入图片描述

8.安装库函数包的过程在底部的状态栏显示安装进度。

在这里插入图片描述

2.2 官网下载库函数包

1.直接到MDK官网下载,优点速度快。

在这里插入图片描述

库函数是芯片支持包,不同的芯片对应不同的库函数,例如Keil.STM32F4xx_DFP.2.1.5.pack,专门对应STM32F4系列的芯片。

2.双击运行“Keil.STM32F4xx_DFP.2.1.5.pack”,再点击【Next >>】执行安装。

在这里插入图片描述

3.安装中…

在这里插入图片描述

4.安装完毕。

在这里插入图片描述

3 .工程创建

  1. 在菜单栏”Project”,在弹出的下拉菜单,选择“New uVision Project”。

在这里插入图片描述

2.在弹出的对话框,填写工程的名字,例如工程名字为project。

在这里插入图片描述

  1. 为保存的工程,选择对应的芯片。

在这里插入图片描述

在这里插入图片描述

4.为当前工程,添加相应的库函数。

在这里插入图片描述

如果出现黄色提示,这个时候要看它的错误输出信息,它会告诉我们如何操作!

在这里插入图片描述

5.若库函数添加成功,则显示当前工程目录树。

在这里插入图片描述

在这里插入图片描述

专业名词

  • CMSIS,详细英文“Cortex MicroController Software Interface Standard”,翻译为Cortex微控制器软件接口标准。

六、添加main.c文件

  1. 在当前工程目录下,先创建main.c

在这里插入图片描述

  1. 右键点击工程目录下的user,在弹出的右键菜单,选择“Add Existing Files to Group ‘user’”。

在这里插入图片描述

  1. 在弹出的对话框,选中“main.c”文件,点击【Add】按钮

在这里插入图片描述

  1. 在工程目录树的user目录,能够看到main.c文件。

在这里插入图片描述

七、文本编辑器配置

  1. 在菜单栏“Edit”,在弹出的下拉菜单,选择“Configuration”。

在Editor标签页,里面的“Encoding”选择为“Chinese”;Tab Size选择为4,代表按下Tab键的时候,就默认输入4个空格。

在这里插入图片描述

​ 添加自动补全功能,取消“Dynamic Syntax Checking”。

在这里插入图片描述

勾选“Symbols after 3 Characters”自动弹出可选的符号(函数名、变量名、宏定义名)。

在这里插入图片描述

八、目标平台配置

  1. 点击“Options for Target”按钮,进入目标平台配置标签页。

在这里插入图片描述

  1. 勾选生成输出Hex文件,该Hex文件在串口烧录程序的时候用到!

在这里插入图片描述

2.Define:添加“USE_STDPERIPH_DRIVER”,目的使用ST官方提供的库函数;代码优化等级推荐勾选为“Level 2(-O2)”,利于程序运行速度提高和体积减少。

在这里插入图片描述

九、程序下载

在这里插入图片描述

  1. 下载前,请确保j-link仿真下载器已经正确连接到开发板的SWD接口,确保micro usb线是数据线,而不是充电线。

.连接示意图

在这里插入图片描述

在这里插入图片描述

  1. 下载前,请确保j-link的驱动已经安装好,若没有安装好,请安装“Setup_JLinkARM_V415e.exe”。

在这里插入图片描述

  1. 进入平台配置选项,切换到“Debug”标签页,然后按照下图选中“J-Link/J-TRACE Cortex”,接着点击“Settings”按钮。

在这里插入图片描述

  1. 在“port:”选中“SW”,然后在“SW Device”显示框中能够看到设备名称,就代表说电脑能够识别到开发板的芯片。

在这里插入图片描述

  1. 在“Flash Download”中,勾选“Reset and Run”,这样下载程序后,程序才会自动运行。

在这里插入图片描述

  1. 点击“LOAD”按钮,程序就会下载到开发板。

在这里插入图片描述

  1. 点击“LOAD”按钮,程序就会下载到开发板。

注意1:

若在烧录程序过程中,F407存在BUG的缘故,会出现该提示如下图:

在这里插入图片描述

1.检测JLink引脚是否正确连接到开发板。

2.若JLink引脚正确连接到开发板,请按照如下步骤执行:

1)长按开发板复位键

2)点击“LOAD”按钮

3)等待1.5秒后,松开开发板复位键

注意2:

若在烧录程序过程中,出现以下“Cannot Load Flash Device Description!”,如下图。

在这里插入图片描述

1.进入Flash Download标签页,点击【Add】按钮。

在这里插入图片描述

2.选中“STM32F4xx 512kB Flash”,,点击【Add】按钮。

在这里插入图片描述

3.最后点击【确定】按键。

在这里插入图片描述

注意3:

在这里插入图片描述

十、另一种工程模板

1.新建工程文件夹demo,并在该目录下创建以下文件夹。

在这里插入图片描述

2.进入库函数包目录,例如路径:C:\Keil_v5\ARM\PACK\Keil\STM32F4xx_DFP\1.0.8\Device\StdPeriph_Driver,该目录详细如下:

在这里插入图片描述

3.将inc、src目录拷贝到demo工程文件夹中的FWLIB目录下。

在这里插入图片描述

4.基于以前创建的工程,将常用到的重要文件拷贝到CORE目录。

在这里插入图片描述

5.基于MDK创建新的工程,工程文件为demo,然后保存到demo目录下。

在这里插入图片描述

6.选择芯片“STM32F407ZE”。

在这里插入图片描述

7.以下界面直接“Cancel”。

在这里插入图片描述

8.工程界面显示如下。

在这里插入图片描述

9.添加宏定义、头文件路径。

在这里插入图片描述

10.左侧工程目录树,添加相应的文件。

在这里插入图片描述

十三、软件注册

1.右键点击桌面“Keil uVision5” 图标,并选择“以管理员身份运行”,如下图。

在这里插入图片描述

2.菜单栏中点击“File”,其弹出的子菜单选中“License Management”,如下图。

在这里插入图片描述

3.得到计算机ID,即“Computer ID”,如下图。

在这里插入图片描述

4.打开注册机。

1)输入在Keil获取到的CID码,Target中选择“ARM”,再选中“Prof.Developers Kit/RealView MDK”。

2)点击“Generate”按钮,则生成许可证ID码“WHY30-BKKB7-ADVKK-ZDI8J-B8KH6-83FQ6”。

在这里插入图片描述

**注:**该注册机使用时必须关闭所有杀毒软件,该软件容易被杀毒软件误报直接删除。

5.将生成的许可证ID码“WHY30-BKKB7-ADVKK-ZDI8J-B8KH6-83FQ6”拷贝到Keil许可证管理界面。

在这里插入图片描述


http://www.mrgr.cn/news/12057.html

相关文章:

  • 区块链(币圈)常用网址大全
  • Ubuntu下安装NVIDIA-SMI
  • C++:Github开源7.8Kstar的线程池介绍
  • 考研备考是选择电子学习工具无纸化学习?还是纸质版训练考感?
  • 学习笔记——后端项目中的相关技术 【随时更新】
  • x264 编码器 AArch64汇编系列:运动补偿之像素均值处理函数
  • 链表OJ题——使用栈实现单链表的逆序打印
  • 本地运行 AI 有多慢 ? 大模型推理测速 (llama.cpp, Intel GPU A770)
  • 基于STM32设计的校园智慧路灯系统(华为云IOT)(212)
  • 【深度学习】OCR,CLIP4STR论文,多模态OCR
  • Python 游戏开发:用 Pygame 打造你的“飞船大战UFO”!
  • WPF 界面缓存优化
  • QMT量化+通道快速,完美结合应对市场!
  • 恒创科技:如何管理和减少Windows服务器 CPU 负载?
  • JVM-类加载器
  • git仓库删除某个历史提交
  • eureka原理与实践简单介绍
  • 删除Vue2残留配置文件解决异常:Cannot find module ‘@vue/babel-plugin-transform-vue-jsx‘
  • bash代码片段snippets
  • Git Record