【正点原子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.rhkb.cn/news/242878.html

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

相关文章

《WebKit 技术内幕》之八(2):硬件加速机制

2 Chromium的硬件加速机制 2.1 GraphicsLayer的支持 GraphicsLayer对象是对一个渲染后端存储中某一层的抽象,同众多其他WebKit所定义的抽象类一样,在WebKit移植中,它还需要具体的实现类来支持该类所要提供的功能。为了完成这一功能&#x…

蓝桥杯官网填空题(奇怪的分式)

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4乘以8/5 小明居然把分子拼接在一起,分母拼接在一起&…

无法找到mfc100.dll的解决方法分享,如何快速修复mfc100.dll文件

在日常使用电脑时,我们可能会碰到一些系统错误提示,比如“无法找到mfc100.dll”的信息。这种错误通常会阻碍代码的执行或某些应用程序的启动。为了帮助您解决这一问题,本文将深入探讨其成因,并提供几种不同的mfc100.dll解决方案。…

【分享】MathWorks中国汽车年会:“软件定义汽车”

从软件赋能到软件定义,汽车行业不仅需要解决诸如错误发现滞后带来的高昂代价、功能融合所需的跨学科知识、功能安全与实施成本之间的权衡等老问题,也面临着新的挑战:软件复杂度的不断提升、利用数据驱动创造价值、人工智能的引入和实现、数字…

【从0上手cornerstone3D】如何加载nifti格式的文件

在线演示 支持加载的文件格式 .nii .nii.gz 代码实现 npm install cornerstonejs/nifti-volume-loader// ------------- 核心代码 Start------------------- // 注册一个nifti格式的加载器 volumeLoader.registerVolumeLoader("nifti",cornerstoneNiftiImageVolu…

Spark SQL函数定义

目录 窗口函数 SQL函数分类 Spark原生自定义UDF函数 Pandas的UDF函数 Apache Arrow框架基本介绍 基于Arrow完成Pandas DataFrame和Spark DataFrame互转 基于Pandas完成UDF函数 自定义UDF函数 自定义UDAF函数 窗口函数 分析函数 over(partition by xxx order by xxx [as…

如何在ubuntu22.04安装ROS2

ubuntu22.04安装ROS2 教程 选择对应版本进行安装设置编码添加源安装ROS2设置环境变量 运行ROS2 选择对应版本 通过官方网站,查询Ubuntu与ros对应的版本,版本不一致也会出现安装不成功。 https://wiki.ros.org/ROS/Installation 每一个都可以进行点击&a…

140:leaflet加载here地图(v2软件多种形式)

第140个 点击查看专栏目录 本示例介绍如何在vue+leaflet中添加HERE地图(v2版本的软件),并且含多种的表现形式。包括地图类型,文字标记的设置、语言的选择、PPI的设定。 v3版本和v2版本有很大的区别,关键是引用方法上,请参考文章尾部的API链接。 直接复制下面的 vue+leaf…

基于SpringBoot Vue高校失物招领系统

大家好✌!我是Dwzun。很高兴你能来阅读我,我会陆续更新Java后端、前端、数据库、项目案例等相关知识点总结,还为大家分享优质的实战项目,本人在Java项目开发领域有多年的经验,陆续会更新更多优质的Java实战项目&#x…

FPGA:我的零基础学习路线(2022秋招已上岸)持续更新中~

可内推简历,丝我即可 前言 初次接触FPGA是在2022年3月左右,正处在研二下学期,面临着暑假找工作,周围的同学大多选择了互联网,出于对互联网的裁员形势下,我选择了FPGA,对于硬件基础知识我几乎是…

SpringMVC获取参数与页面跳转

获取参数 第一种 直接当成方法的参数,需要与前台的name一致 相当于Request.getAttribute("username") Controller 第二种 使用对象接收 页面的name也要和对象的字段一致 创建一个对应的实体类 Controller 将参数更换为User对象就行 SpringMVC获取到…

【GNN】人大魏哲巍“青源Talk”图机器学习

目录 简介 图学习历史与应用 历史-哥尼斯堡七桥问题 图历史发展介绍 图神经网络 应用(!!) 图学习近期工作 概况 图卷积神经网络(ICML,NIPS,KDD) 大规模图神经网络&#xf…

HarmonyOS开源软件Notice收集策略说明

开源软件Notice是与项目开源相关的文件,收集这些文件的目的是为了符合开源的规范。 收集目标 只收集打包到镜像里面的模块对应的License;不打包的都不收集,比如构建过程使用的工具(如clang、python、ninja等)都是不收…

vivado JTAG链、连接、IP关联规则

JTAG链 这列出了定义板上可用的不同JTAG链。每个链都列在下面<jtag_chain>以及链的名称&#xff0c;以及定义名称和链中组件的位置&#xff1a; <jtag_chains> <jtag_chain name"chain1"> <position name"0" component"part0…

当世界加速离你而去

当世界加速离你而去 会不会这个标题显的太悲观&#xff0c;也可能是耳机里正在放着To Be Frank的原因。 对于阳历跨年我是没有太多的感觉&#xff0c;而且跨年夜忙着约会&#xff0c;所以2023年的跨年文章今天才出来。 一年的时间一晃就过了。2022年12月9日时候彻底结束了风控…

腾讯云服务器价格查询,2024更新

腾讯云服务器租用优惠价格表&#xff1a;轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、轻量4核8G12M服务器646元15个月&#xff1b;云服务器CVM S5实例2核2G配置280.8元一年、2核4G…

51单片机电子密码锁Proteus仿真+程序+视频+报告

目录 视频 设计分析 系统结构 仿真图 资料内容 资料下载地址&#xff1a;51单片机电子密码锁Proteus仿真程序视频报告 视频 单片机电子密码锁Proteus仿真程序视频 设计分析 (1)能够从键盘中输入密码&#xff0c;并相应地在显示器上显示‘*’&#xff1b; (2)能够判断密码…

5G_射频测试_基础概念(二)

定义了测试参考点&#xff0c;不同的RRU类型 C类型传统RRU Conducted and radiated requirement reference points 4.3.1 BS type 1-C&#xff08;传统RRU一般测试点就是连接天线的射频接头&#xff09; 4.3.2 BS type 1-H&#xff08;宏站MassiveMIMO 矩阵天线&#xff…

最长上升子序列模型(LIS)

最长上升子序列模型就像它的名字一样&#xff0c;用来从区间中找出最长上升的子序列。它主要用来处理区间中的挑选问题&#xff0c;可以处理上升序列也可以处理下降序列&#xff0c;原序列本身的顺序并不重要。 模型 895. 最长上升子序列&#xff08;活动 - AcWing&#xff0…

【AI知识片段】Transformer模型中的位置编码

1.什么是位置编码 位置编码描述序列中实体的位置或位置&#xff0c;以便为每个位置分配唯一的表示形式。单个数字&#xff08;如索引值&#xff09;不用于表示项目在转换器模型中的位置的原因有很多。对于长序列&#xff0c;索引的量级可能会变大。如果将索引值归一化为介于 0 …