【正点原子STM32】搭建开发环境(安装MDK和器件支持包、DAP仿真器和ST LINK仿真器、CH340串口驱动)

一、常用开发工具简介

  • MDK
  • DAP

二、安装MDK

  • 1、MDK简介
  • 2、如何获取MDK
  • 3、安装MDK和器件支持包

三、安装仿真器驱动

  • DAP仿真器免驱
  • ST LINK仿真器驱动安装方法 ST LINK驱动及教程

四、安装CH340 USB虚拟串口驱动

  • 1、安装CH340 USB虚拟串口驱动
  • 2、为什么要安装CH340 USB虚拟串口驱动?
  • 3、USB 虚拟串口作用

五、总结

资料获取链接:https://pan.baidu.com/s/1Hmo14Isj6q0Pyft6oowJUQ?pwd=z9ik
提取码:z9ik
–来自百度网盘超级会员V3的分享

一、常用开发工具简介

在这里插入图片描述

MDK

Keil MDK(Microcontroller Development Kit)是一套用于嵌入式系统开发的综合性集成开发环境(IDE)。MDK由Keil Software公司开发,为ARM架构的微控制器提供了一整套工具,包括编译器、调试器、模拟器等。以下是MDK的一些主要特点和组成部分:

  1. µVision IDE:

    • MDK的核心集成开发环境是µVision IDE,提供了直观的用户界面,支持工程管理、代码编辑、编译、调试等功能。
    • 用户可以在µVision中进行整个嵌入式软件项目的开发和调试。
  2. Keil C/C++编译器:

    • MDK包含了Keil提供的高度优化的ARM C/C++编译器,支持多种ARM架构的微控制器。
    • 编译器提供了丰富的优化选项,用于生成高效的嵌入式代码。
  3. Debugger:

    • MDK集成了强大的调试器,支持硬件调试和仿真。
    • 支持实时观察变量、寄存器和内存内容,同时提供了复杂的调试功能,如跟踪、断点、单步执行等。
  4. Simulator:

    • MDK包含了模拟器,允许在没有硬件的情况下运行和调试嵌入式程序。
    • 模拟器可用于快速验证程序的基本功能和逻辑。
  5. Pack Installer:

    • 提供了Pack Installer 工具,用于轻松安装和更新设备支持包,以便支持各种ARM Cortex-M微控制器。
  6. 软件组件和Middleware:

    • MDK包含一系列的软件组件和Middleware,如RTOS(实时操作系统)、USB库、文件系统等,可以方便地集成到项目中。
  7. ULINK调试适配器:

    • Keil还提供了ULINK系列调试适配器,用于连接目标设备并与µVision IDE进行硬件调试。
  8. 示例工程和模板:

    • MDK提供了许多示例工程和模板,以帮助开发人员快速启动新项目。

MDK是在ARM Cortex-M系列微控制器上进行嵌入式系统开发的流行工具之一,被广泛应用于各种应用领域,包括消费电子、工业控制、汽车电子等。

DAP

DAP(Debug Access Port)是用于调试ARM架构微控制器的一种标准化接口。它是ARM Debug Interface Architecture(ADIv5)的一部分,提供了一种标准的方式来访问微控制器的调试和诊断功能。DAP通常与ARM Cortex-M微控制器一起使用,用于支持硬件调试和编程。

以下是DAP的主要特点和组成部分:

  1. Access Port(AP):

    • DAP包含一个或多个Access Port,每个Access Port与一个或多个调试组件相关联,如调试和追踪单元。
    • 每个Access Port通过JTAG或SWD接口与微控制器相连,提供对微控制器内部调试组件的访问。
  2. Debug Port(DP):

    • DAP中包含一个Debug Port,作为连接多个Access Port的桥梁。
    • Debug Port提供了访问控制、状态监控以及连接管理等功能。
  3. JTAG和SWD接口:

    • DAP支持JTAG(Joint Test Action Group)和SWD(Serial Wire Debug)两种调试接口。
    • JTAG是一种并行接口,而SWD是一种更为节省引脚的串行接口。
  4. Debug Port Register(DPR):

    • DPR是Debug Port中的寄存器,用于配置和控制DAP。
    • 包括控制状态寄存器、IDCODE寄存器等。
  5. Debug和Access寄存器:

    • DAP通过一系列的寄存器提供了对调试和访问功能的控制。
    • 包括控制调试器和目标设备之间通信的寄存器,以及访问目标设备内存和寄存器的寄存器。
  6. Debug和Access操作:

    • DAP支持多种调试和访问操作,包括读取和写入目标设备内存、设置和读取断点、单步执行等。
  7. Debug状态监控:

    • DAP提供了对目标设备调试状态的监控功能,包括当前执行的指令、寄存器状态等。
  8. DAP驱动和工具支持:

    • DAP通常由微控制器制造商提供的驱动程序支持,以及使用ARM工具链和调试工具(如Keil、IAR等)。

DAP的设计标准化了与调试相关的硬件接口,使得不同制造商的微控制器可以在使用相同的调试工具和调试器时获得一致的调试体验。这对于嵌入式系统开发中的调试工作非常重要。

二、安装MDK

1、MDK简介

不同MDK版本的支持情况:https://www2.keil.com/mdk5/selector
在这里插入图片描述

2、如何获取MDK

MDK软件下载:https://www.keil.com/download/product/
器件支持包下载:https://www.keil.com/dd2/pack/
在这里插入图片描述
在这里插入图片描述

器件包下载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MDK5文件夹目录

在这里插入图片描述

在这里插入图片描述

  1. 安装MDK软件在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
  2. 安装器件支持包
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 拷贝下载算法到Flash文件夹
    如 D:\MDK5.34\ARM\Flash(可选)
    在这里插入图片描述
    在这里插入图片描述
  4. 购买授权并注册
    File>License Management
    在这里插入图片描述

三、安装仿真器驱动

DAP仿真器免驱

正点原子DAP使用教程.pdf
DAP(Debug Access Port)仿真器通常是通过SWD(Serial Wire Debug)接口连接到目标设备,而SWD是一种硬件调试接口。因此,对于许多DAP仿真器,特别是那些与ARM Cortex-M微控制器一起使用的仿真器,它们通常不需要单独的驱动程序。SWD接口本身被设计成一种低层次的硬件调试标准,操作系统和开发环境通常能够自动检测和支持这种调试接口。

以下是使用DAP仿真器时可能遇到的情况:

  1. 自动检测和兼容性:

    • 大多数现代开发环境和操作系统都能够自动检测连接到SWD接口的仿真器,并提供相应的支持,无需额外的驱动。
  2. 开发环境集成:

    • 开发环境(例如Keil、IAR、STM32CubeIDE等)通常会集成对SWD接口的支持,包括对各种仿真器的兼容性。
  3. 操作系统自动识别:

    • 操作系统(如Windows、macOS、Linux等)也通常会自动识别连接到计算机的SWD仿真器,而无需手动安装驱动。
  4. 官方驱动:

    • 在某些情况下,特定的DAP仿真器可能会提供官方驱动,以确保在各种环境中都能正常工作。如果有提供驱动,建议查阅相应的文档并按照官方指导进行安装。

总体而言,使用DAP仿真器时,通常不需要手动安装驱动程序,因为SWD接口是一种标准化的硬件调试接口,得到了广泛支持。确保你的开发环境和操作系统是最新版本,以获取最佳的兼容性和自动识别支持。如果有特殊的DAP仿真器,建议查阅它的文档或官方网站以获取详细的操作说明。

ST LINK仿真器驱动安装方法

ST LINK驱动及教程:6,软件资料\1,软件\5,其他软件\ST LINK驱动及教程

ST-Link是STMicroelectronics提供的一种仿真器/调试器,用于连接STM32微控制器和开发环境,支持调试、烧录和程序执行。以下是ST-Link的驱动安装方法和简要教程:

安装ST-Link驱动:

  1. 下载ST-Link驱动:

    • 访问STMicroelectronics的官方网站或ST-Link的官方支持页面。
    • 在支持页面上找到相应的ST-Link驱动下载链接。
  2. 选择正确的驱动版本:

    • 确保选择适用于你的操作系统版本的ST-Link驱动。
    • 驱动通常支持Windows、macOS和Linux等主流操作系统。
  3. 安装驱动:

    • 下载完驱动文件后,按照提示运行安装程序。
    • 在安装过程中,可能需要接受许可协议、选择安装位置等。
  4. 连接ST-Link仿真器:

    • 在安装完成后,连接ST-Link仿真器到计算机,通常通过USB接口连接。
  5. 检查设备管理器(Windows):

    • 如果是Windows系统,打开设备管理器。
    • 在“通用串行总线控制器”或“端口(COM和LPT)”下,应该会看到ST-Link仿真器的设备,确保没有驱动错误。

使用ST-Link进行调试和烧录:

  1. 连接STM32微控制器:

    • 将ST-Link仿真器连接到目标STM32微控制器的SWD(Serial Wire Debug)接口。
  2. 启动开发环境:

    • 打开你的嵌入式开发环境,比如Keil、IAR或STM32CubeIDE。
  3. 配置目标设备和调试器:

    • 在开发环境中,配置目标STM32设备型号和选择使用ST-Link作为调试器。
    • 设置调试选项,如调试模式、时钟速率等。
  4. 加载程序:

    • 在开发环境中加载你的嵌入式程序,可以是编译生成的hex或bin文件。
  5. 启动调试:

    • 启动调试器,开发环境将连接到ST-Link仿真器并开始调试目标设备。
  6. 调试操作:

    • 在调试过程中,你可以设置断点、单步执行、观察寄存器和内存等。
  7. 烧录程序:

    • 如果需要烧录程序,通常在开发环境中有相应的选项或按钮,选择烧录即可。
  8. 断开连接:

    • 在调试或烧录完成后,关闭开发环境,断开ST-Link仿真器与STM32微控制器的连接。

请注意,具体的步骤可能因使用的开发环境和ST-Link版本而有所不同。建议查阅相应的开发环境和ST-Link仿真器的文档,以获取详细的操作说明。
在这里插入图片描述

四、安装CH340 USB虚拟串口驱动

1、安装CH340 USB虚拟串口驱动

软件资料下载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、为什么要安装CH340 USB虚拟串口驱动?

在这里插入图片描述
CH340是一种USB转串口芯片,常用于将USB接口转换为TTL级别的串口通信。它的作用是允许通过USB接口与微控制器或其他串口设备进行通信,而无需使用传统的RS-232串口。CH340芯片的典型应用场景包括Arduino等开发板的USB串口通信。

在使用CH340芯片进行USB转TTL串口通信时,需要在计算机上安装相应的USB虚拟串口驱动,例如CH340 USB虚拟串口驱动。这是因为计算机通常不会自动识别CH340芯片,需要驱动程序来告诉操作系统如何与这个特定的USB设备进行通信。

以下是安装CH340 USB虚拟串口驱动的原因:

  1. 驱动识别和通信: 操作系统通常需要适当的驱动程序来识别连接到USB接口的设备,以确保正确的通信和数据交换。CH340芯片在计算机中被视为USB串口设备,因此需要驱动程序来建立通信通道。

  2. 串口模拟: CH340芯片通过USB传输数据,但在计算机中被视为一个虚拟串口。驱动程序模拟了传统的串口通信,使得通过USB与微控制器等设备进行串口通信成为可能。

  3. 通信协议: CH340芯片支持的通信协议是USB与串口之间的协议转换。驱动程序负责将USB传输的数据转换为串口通信协议,并在计算机与目标设备之间建立通信通道。

在使用USB转TTL串口模块时,用户通常需要从芯片制造商或官方网站下载并安装相应的USB虚拟串口驱动程序。这确保了设备能够在计算机上正确识别并与之通信。安装驱动程序通常只需要进行一次,之后计算机会自动识别连接到USB接口的CH340设备。

3、USB 虚拟串口作用

在这里插入图片描述
USB虚拟串口的作用是通过USB接口模拟传统的串口通信,为计算机和其他设备之间提供可靠的数据传输。以下是USB虚拟串口的几种常见用途:

  1. USB口当作串口来使用:

    • USB虚拟串口允许将USB接口模拟成传统的串口,使得计算机可以通过USB与其他设备进行串口通信。这种用途非常常见,特别是在连接嵌入式系统、微控制器、传感器等设备时。
  2. USB口用于程序下载:

    • 如果USB连接的是支持下载的设备,USB虚拟串口可以用于通过USB接口将程序下载到目标设备中。这种功能通常在嵌入式系统、单片机或开发板的调试和烧录过程中使用。
  3. USB供电口:

    • 有些设备的USB接口不仅仅是用于数据传输,还可以通过USB供电。这意味着设备可以通过USB连接同时获得数据通信和电力供应,简化了设备的电源管理。

总的来说,USB虚拟串口的作用是在USB接口上提供串口通信的能力,使得设备可以通过USB与计算机进行数据交互、进行调试、烧录程序等操作。这种方式通常比传统的RS-232串口更便捷,因为USB接口更为普遍,而且可以提供更高的数据传输速率。

五、总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/643392.shtml

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

相关文章

Google ASPIRE框架:赋予大型语言模型(LLMs)自我评估的新动力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

springboot 整合 ElasticSearch 方法 (一)

下载 ES 相当于安装 MySQL, 可以在官网上下载 (链接在后面). 要注意安装的 ES 的版本要和项目中用的 Springboot 的版本对应. 比如我用的 Springboot 版本是 2.6, 所以ES要下载7.15 版本的. 官网链接: https://www.elastic.co/cn/downloads/elasticsearch 点右边这个查看更多…

展厅设计更好的方法

一、与公司形象契合 在展厅规划时必定要留意公司的LOGO、主色调,以及企业文明。在展现时使用丰满的展厅规划传达出企业的理念。而在功用设置上,应当考虑内涵功用,从展厅作业人员的视点动身,为展厅作业人员提供杰出的环境&#xff…

【Java】---反射:Class、Filed、Constructor、Method

【Java】—反射 文章目录 【Java】---反射一、反射1.1 概念1.2 操作步骤 二、Class类2.1 概念2.2 方法2.2.1 getName()2.2.2 getSimpleName()2.2.3 getPackage()2.2.4 getSuperclass()2.2.5 getInterfaces() 三、Field类3.1 概念3.2 方法3.2.1 setAccessible(Boolean b)3.2.2 s…

关于图像分割项目的可视化脚本

1. 前言 之前实现了目标检测和图像分类任务的可视化脚本,本章将最后一个分割任务的可视化脚本实现 效果展示如下: 代码会在当前目录保存展示好的图片,从左到右依次为,原图、mask图、mask覆盖在原图的掩膜图 关于目标检测的可视化…

【二】从零到1设计一个丧葬行业小程序

1、准备工作 1-1、服务器准备 腾讯云轻量级服务器 4核2G 地址: http://1.14.34.13/ 购买域名 www.pengyangyan.work (备案中) 图片服务器:七牛云 1-2、环境配置 服务器 docker容器部署 https://blog.csdn.net/pengyangyan/article/d…

app如何实现悬浮框滚动到那个模块定位到那。

如图&#xff1a; 使用uniapp内置方法 onPageScroll 获取到滚动了多少。 其实拿到屏幕滚动多少就很简单了&#xff0c;下面是思路。 tap栏切换效果代码就不贴了。直接贴如何到那个模块定位到哪&#xff0c;和点击定位到当前模块。 <view v-if"show" class&qu…

HarmonyOS鸿蒙应用开发( 四、重磅组件List列表组件使用详解)

List列表组件&#xff0c;是一个非常常用的组件。可以说在一个应用中&#xff0c;它的身影无处不在。它包含一系列相同宽度的列表项&#xff0c;适合连续、多行呈现同类数据&#xff0c;如商品列表、图片列表和和文本列表等。ArkUI 框架采用 List 容器组件创建列表&#xff08;…

某国有企业后备人才培养机制建设

某电力勘测设计院始建于1958年&#xff0c;是中国电力建设集团有限公司旗下的大型电力工程咨询公司。伴随着中国电力事业的发展&#xff0c;已发展为具备甲级电力工程规划、咨询、勘测、设计、总承包、环境及安全管理评价、地质灾害勘察、评估与治理、光电建筑一体化及发电专项…

大数据学习之Flink算子、了解DataStream API(基础篇一)

DataStream API &#xff08;基础篇&#xff09; 注&#xff1a; 本文只涉及DataStream 原因&#xff1a;随着大数据和流式计算需求的增长&#xff0c;处理实时数据流变得越来越重要。因此&#xff0c;DataStream由于其处理实时数据流的特性和能力&#xff0c;逐渐替代了DataSe…

Windows下安装达梦8开发版数据库

达梦数据库属于国产主流数据库之一&#xff0c;本文记录WIndows下安装最新的达梦8数据库的过程。   达梦官网&#xff08;参考文献1&#xff09;下载开发版&#xff08;X86平台&#xff09;版安装包&#xff0c;如下图所示&#xff1a; 解压安装包后&#xff0c;其中包含ISO文…

Unity中UGUI在Mask剪裁粒子特效的实现

在Unity使用Mask是剪裁不了粒子特效的&#xff0c;之前有想过RenderTexture来实现&#xff0c;不过使用RenderTexture不适合用于很多个特效&#xff0c;因为RenderTexture依赖Camera的照射&#xff0c;如果在背包中每种道具都有不同的特效&#xff0c;那使用RenderTexture则需要…

Armv8-M的TrustZone技术之SAU寄存器总结

每个SAU寄存器是32位宽。下表显示了SAU寄存器概要。 5.1 SAU_CTRL register SAU_CTRL寄存器的特征如下图和表所示&#xff1a; 5.2 SAU_TYPE register 5.3 SAU_RNR register 5.4 SAU_RBAR register 5.5 SAU_RLAR register 5.6 SAU区域配置 当SAU启用时&#xff0c;未由已启用…

【技术】SpringBoot 接口怎么加密解密

1. 介绍 在我们日常的Java开发中&#xff0c;免不了和其他系统的业务交互&#xff0c;或者微服务之间的接口调用 如果我们想保证数据传输的安全&#xff0c;对接口出参加密&#xff0c;入参解密。 但是不想写重复代码&#xff0c;我们可以提供一个通用starter&#xff0c;提…

go 依赖注入设计与实现

在现代的 web 框架里面&#xff0c;基本都有实现了依赖注入的功能&#xff0c;可以让我们很方便地对应用的依赖进行管理&#xff0c;同时免去在各个地方 new 对象的麻烦。比如 Laravel 里面的 Application&#xff0c;又或者 Java 的 Spring 框架也自带依赖注入功能。 今天我们…

C++高精度问题

高精度前言 C中int不能超过2^31-1&#xff0c;最长的long long也不能超过2^63-1,所以我们在题目中如果碰到了很长很长的数&#xff0c;并且需要进行大数运算时&#xff0c;就需要高精度存储。 高精度总体思路 由于int和long long的限制&#xff0c;我们要想存放很长的数就需…

Power Apps 向Power Automate传一个数组参数

Power Apps传Power Automate数组参数 背景Power Apps传参方法画布开发我们现在power apps中设置一个集合**ArrCollect**准备一个按钮 Power Automate接收总结画布流 背景 我们通常会从Power Apps界面传递参数给Flow中&#xff0c;但是很多时候仅仅是一个字符串类型的已经不适用…

二进制计算

二进制的引入 十进制规则:满10进1&#xff0c;由数字0到9组成。 而所谓十六进制&#xff0c;八进制&#xff0c;二进制的规则也是类似。 这里为了区分十六进制和八进制&#xff0c;十六进制前面会加上0x&#xff0c;八进制前面会加个0作为区分 而二进制的规则类似于十进制&…

PLC协议转BACnet网关BA107

随着通讯技术和控制技术的发展&#xff0c;为了实现楼宇的高效、智能化管理&#xff0c;集中监控管理已成为楼宇智能管理发展的必然趋势。在此背景下&#xff0c;高性能的楼宇暖通数据传输解决方案——协议转换网关应运而生&#xff0c;广泛应用于楼宇自控和暖通空调系统应用中…