【STM32】MDK安装

news2024/9/23 15:28:18

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.coloradmin.cn/o/2078453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

神经网络动画讲解 - 构建灵活可调节参数

神经网络核心思想 神经网络核心思想:(1)机器学习、深度学习是一种方法论 机器学习: 核心思想是使计算机系统能够从经验(通常是大量数据)中学习和改进,以优化性能并做出准确的预测或决策&#…

827 leetcode +网络

01背包问题的衍生题目: 对于01背包问题,只需要明白四件事,1重量是啥,2value是啥,3优化目标是啥,4约束目标是啥。 这个题目里面重量是:0,1,4,9,16。。。。 value:1,1,1&…

72 华为资源库

1 报文格式 https://info.support.huawei.com/info-finder/tool/zh/enterprise/packetformat 2 华为IP网络电子书 资源可以下载 https://e.huawei.com/cn/topic/enterprise-network/ip-ebook 3 华为产品文档 https://support.huawei.com/enterprise/zh/doc/index.html 4 华为…

访问者模式详解

访问者模式 简介: 类的内部结构不变的情况下,不同的访问者访问这个对象都会呈现出不同的处理方式。 人话: 其实就是为了解决类结构不变但操作处理逻辑易变的问题,把对数据的操作都封装到访问者类中, 我们只需要调用不同的访问者,…

前端算法 === 力扣 111 二叉树的最小深度

目录 问题描述 DFS(深度优先搜索)方案 BFS(广度优先搜索)方案 总结 力扣(LeetCode)上的题目111是关于二叉树的最小深度问题。这个问题可以通过深度优先搜索(DFS)和广度优先搜索&…

Start OpenAI gym on arbitrary initial state

题意:“在任意初始状态下启动 OpenAI Gym” 问题背景: Anybody knows any OpenAI Gym environments where we can set the initial state of the game? For example, I found the MountainCarContinuous-v0 can do such thing so that we can select a…

游戏+AI

我们来聊聊AI【作者声明,个人观点,欢迎友好讨论】 我想这也是很多目前为止很多投资者对于AI举旗不定,不敢投资,业内游戏行业目前正式商用产品也是寥寥无几。 AI全称Artificial Intelligence,中文译名人工智能。人类从工…

信息打点-Web架构篇域名语言中间件数据库系统源码获取

知识点: 1、打点-Web架构-语言&中间件&数据库&系统等 2、打点-Web源码-CMS开源&闭源售卖&自主研发等 CMS:网站程序源码是可以通过搜索引擎搜索到并且下载的; 闭源售卖:不是一个开源的,要么从内…

【网络安全】分析重置密码功能实现账户接管

未经许可,不得转载。 文章目录 正文正文 目标为“target.com”,我执行了一些正常操作,比如创建或删除某些内容来保存 API 请求,然后检查是否存在任何 idor 或访问控制错误。然而,我没发现漏洞。 接着,我读取 JavaScript 文件来检查是否存在任何敏感信息,但一无所获。 …

浅谈 @Transtational 原理 及其失效场景(1)

上篇讲述了 当Transtctional遇到Async遇碰撞出怎样的火花? 本篇则主要从Transtational出发仔细谈谈。 一、调用场景复现,代码层面什么情况会失效? 1)同类操作:事物A调取非事物B,A报错/B报错(事…

流体力学解迷宫

诶,我手机呢?我手机放哪了?我手机是不是落餐厅了?会议室?厕所? 最近脑子有点不好使,可能需要练一练……解解迷宫吧 怕脑子吃不消,从简单的开始,不错,轻松拿…

EEtrade:黄金首饰是不是越软越好

黄金一直以来都是人们喜爱的贵金属之一。许多人在购买黄金首饰时,常常会关注黄金的纯度和硬度。那么,黄金首饰是不是越软越好呢?本文将详细探讨这个问题,并分析黄金首饰的硬度与其使用和美观性的关系。 黄金的纯度与硬度 黄金纯度 黄金的…

Linux系列之基础篇

文章目录 开篇明义基础篇实际操作篇高级篇Linux之JavaEELinux在哪些地方使用Linux应用领域 Linux入门基本介绍Linux和Unix关系 VM和Linux的安装基本说明安装VM17.5安装Centos7.6网络连接解释 虚拟机克隆虚拟机快照虚拟机迁移和删除安装vmtools设置共享文件夹 Linux目录结构 开篇…

屏幕翻译app下载哪个?高效学习工作必备

新学期即将开始,无论是线上学习还是筹备假期的海外交流,面对满屏的外文资料,一款得心应手的屏幕翻译软件成为必备利器。 幸运的是,现在有许多免费且功能强大的屏幕翻译工具,能够让你的学习与旅行更加顺畅。 以下是五…

Win7 配置Oracle 11G R2、PLSQL Development、添加用户名、远程访问数据库

本教程所有操作均在VMWare虚拟机上操作,Oracle这种又难装、又难卸、污染性这么大的程序,怎么会让他出现在我的生产环境中呢?自己在虚拟机上新建了一个Win7_x64的系统,进行Oracle安装测试。 1.Oracle文件的获取 网上有很多下载这…

LabVIEW便携涡流检测系统开发

针对便携式脉冲涡流检测系统的开发需求,使用LabVIEW进行软件设计与实现。系统需要集成对铁磁性和非铁磁性材料的检测功能,并提供友好的用户界面,便于操作与数据读取。 硬件选型: 脉冲涡流主机: 选择理由: …

【Liunx入门】Liunx换源

文章目录 前言一、备份默认源文件1.配置文件路径2.备份源文件 二、换源1.查看Ubuntu版本2.镜像源地址1)清华源2)阿里源3)中科大源 3.换源 三、更新镜像源总结 前言 由于Liunx系统默认的下载源为国外的源,所以在国内下载资源比较慢…

1+X 职业技能等级证书面向哪些人群介绍

日前,“大数据应用开发(Python)”职业技能等级证书已开放面向社会人员招生。 什么是1X职业技能等级证书? “1” 学历证书,代表专业,即学历、毕业 “X” 若干职业技能等级证书,是根据…

虫情系统的重要作用

在农业生产、林业管理和生态保护的广阔领域中,虫情监测系统如同一双锐利的眼睛,时刻关注着农田中的细微变化,为农作物的健康生长保驾护航。这一系统的引入,不仅标志着农业管理向智能化、准确化迈出了重要一步,更在提升…

vue postcss postcss-pxtorem 页面自适应 动态

vue postcss postcss-pxtorem 页面自适应 动态 postcss-pxtorem实现页面自适应1、安装postcss-pxtorem2、根目录创建postcss.config.js,并配置以下内容3、创建rem.js,动态设置root px4、在main.js中引入rem.js5、在main.js中创建全局处理函数px2rem6、对…