STM32与ESP32下载器设计

news2025/2/21 22:25:32

文章目录

  • 背景
  • STM32下载器
    • 使用现成的DAPlink
    • 选择自制DAPlink
  • ESP32/ESP8266下载器
  • 连接接口
    • STM32接口
    • ESP32接口

背景

我们常用的单片机主要有STM32和ESP32,其中STM32下载要求SWD下载接口,ESP32下载要求串口,但需要控制ESP32 IO0和EN口高低电平的时序。
对于STM32,一般我们电路板上不会集成下载器。
对于ESP32,我们电路板上也不会集成USB转TTL。
因此,如果有一种下载器,与电路板上进行接线进行下载和调试,我们使用时就会很方便。

STM32下载器

使用现成的DAPlink

STM32下载器我们选择DAP下载器,其引脚图如下:
在这里插入图片描述
在这里插入图片描述
其除了带下载功能之外,还带一个虚拟串口。
注意,DAP下载器的RST引脚用于连接单片机的复位引脚,用于下载后软件复位功能。这里我们并非必须,不连接此引脚。
我们选择连接的引脚如下:

引脚连接到
3V3连接到3V3
SWD连接到单片机的SWD
SCK连接到单片机的SCK(CLK)
GND连接到单片机的GND
GND连接到单片机的GND
TX连接到单片机的RX
RX连接到单片机的TX
3V3连接到单片机的3V3
我们画个转接板,将其转接为小尺寸的连接接口连到我们的单片机板子上即可。

选择自制DAPlink

DAPLink是ARM推出的一款调试器方案,支持SWD接口的Cortex-M系列MCU,或JTAG接口的Cortex-A系列MPU,软件代码使用Apache2.0许可,因此可以自由地用在个人和商业项目上。
因此,我们可以使用单片机按照开源的协议写代码,自己做一个DAPLink。目前有许多开源的DAPLink固件,这里选择梁山派的固件,固件链接如下:
固件链接

参考链接:
DAP介绍

ESP32/ESP8266下载器

ESP32下载时需要控制ESP32 IO0和EN口高低电平的时序,可以通过按键手动按来实现,也可以使用RTS和DTR来实现,电路图如下:
在这里插入图片描述
关于电路图中的DTR和RTS,如下:
在这里插入图片描述
单片机自动下载电路介绍
其时序图为:
在这里插入图片描述
在ESP32官方的下载程序里面,在下载时,会自动去控制DTR和RTS电平时序,实现自动下载功能。

连接接口

我们下载器的目的是在开发板上不需要集成下载器电路,从而缩小电路板的体积。因此,对于连接接口,我们选择尺寸较小的连接接口:
这里选择的连接接口为:SH1.0接口,其间距为1mm,贴片封装,如下:
在这里插入图片描述

但是这样也需要开发板上焊上此接口。因此我们同时也在开发板上集成探针接口,由于探针直径较粗,因此其间距选择2.54mm的探针。
在这里插入图片描述
在STM32和ESP32上,各引出6个接口,

STM32接口

引脚连接到
3V3连接到3V3
GND连接到单片机的GND
SWCLK连接到单片机的SCK(CLK)
SWDIO连接到单片机的SWD
TX连接到单片机的RX
RX连接到单片机的TX

ESP32接口

引脚连接到
3V3连接到3V3
GND连接到单片机的GND
RX0连接到单片机的TX0
TX0连接到单片机的RX0
EN连接到单片机的RX
IO0连接到单片机的TX

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

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

相关文章

前端人必须掌握的抓包技能(原理到实践)

目录 1. 前言 2. 抓包的原理 2.1 什么是抓包? 2.2 HTTP/HTTPS 抓包原理 2.2.1 HTTP 抓包原理 2.2.2 HTTPS 抓包原理 2.3 电脑如何抓手机的包 3. 抓包工具 whistle 3.1 whistle 是什么 如何快速使用 whistle 3.2 whistle 可以做的事情 4. whistle 实战案…

HP打印机网络连接扫描仪失败

财务反映,使用主机上的HP LaserJet Pro M329-HP Scan连接扫描仪提示失败。 测试果然失败,提示如下图: 点击修复后,提示 需要安装HP Print and Scan Doctor。 同意安装,并启动HP Print and Scan Doctor 点击开始,其开始搜索,过程有点慢。 第一次发现其连接错误,居然…

液晶显示常用概念

文章目录 数字液晶显示消隐区水平(行)消隐 HBlank垂直(场)消隐 VBlank RGB格式RGB555RGB565RGB888 VGA驱动原理时钟信号像素时钟同步信号DE信号(有效数据选通信号)DE信号与其他信号的关系 数字液晶显示消隐…

golang webhook源码和案例配合gitee实践

下载golang webhook源码和案例: https://download.csdn.net/download/qq_32421489/87824180 解压后go mod tidy下载依赖包 修改打包环境为Linux: go env -w GOOSlinux 打包命令:go build 打包后的可运行程序上传服务器后:参…

用本地连接集群进行压力测试,让你的测试更快更有效!

目录 引言 背景 详细步骤 1、首先打开终端 2、安装kubectl 3、配置kubeconfig 4.准备本地仓库文件 5.启动集群执行脚本 总结 引言 测试是软件开发中至关重要的一环,但长时间的等待和低效率的测试却常常让人感到烦躁。现在,我们推出了全新的解决…

真的裂开了呀,现在的00后,真是卷死了

谁说00后躺平了,但是有一说一,该卷的还是卷。这不,上个月我们公司来了个00后,工作没两年,跳槽到我们公司起薪22K,都快接近我了。 后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 …

7个简单步骤创建企业邮箱教程

创建企业邮箱电子邮件地址有几种不同的方法,可以使用电子邮件服务提供商,也可以使用电子邮件托管服务。由于Zoho Mail是世界上最受欢迎的电子邮件服务提供商之一,提供非常简单的帐户设置、大量功能和有竞争力的价格,我们将以它为例…

【敲敲云】免费的零代码产品 — 应用创建与设置

敲敲云可以创建不同的应用,每一个应用我们可以看做一个系统,例如销售系统、财务系统等等。下面我们来看看如何创建应用吧。 应用的基础操作: 应用的基础操作包含创建应用、修改应用、退出/删除应用、排序应用、维护应用、应用回收站 1、新建…

提前进入行业顶尖阵营:高性能计算实习的竞争优势

如今就业越来越内卷,尤其是计算机行业更是如此。加上GPT以及大模型的加持,各大企业纷纷降本增效,普通程序员逐渐失去竞争力。想要在竞争激烈的就业市场中脱颖而出,提前进入行业顶尖阵营是一个明智的选择。而高性能计算实习将为您提…

js中获取对象属性值(对象.属性和对象[属性]的区别)

一、在JavaScript中可以通过两种方式访问对象属性 (1)可以使用“ . ”来访问对象的属性。 (2)可以使用“ [ ] ”来访问对象的属性。 二、对象.属性和对象[属性]的区别: 1.相同点: (1)都可以获取对象的属性值; 2.不同…

C Primer Plus第七章编程练习答案

学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出! 1.编写一个程序读取输入,读…

PID算法在流量控制中的应用

目录 增量式或位置式 目录 增量式或位置式 PID控制周期 T1 时间 T2 约4ms PID C代码 最近有小伙伴向我提问关于PID的问题:通过比例阀控制水流速度(流量), 使用增量式还是位置式 PID?他的比例法驱动频率是500Hz…

Windows http https的搭建

目录 搭建http站点 ​编辑 报错 网站端口更改 可能存在的报错 绑定主机名 端口为80的情况下 绑定的端口不为80的情况下 https站点搭建 CA机构证书可以给其他服务器使用,不过要用导出导入的行书,不能直接使用cer文件 搭建http站点 ①勾选IIS ②一…

windows下nginx+tomcat配置负载均衡的方法

在负载均衡方面,Nginx和Tomcat的实现方式略有不同。Nginx作为反向代理服务器,可以直接处理并分发请求到后端服务器,包括Tomcat。它可以使用不同的负载均衡算法来分发请求,将负载均衡的任务集中在Nginx上。而Tomcat通常通过与Apach…

RL Note 1, Basic Concepts in Reinforcement Learning

Basic Concepts in Reinforcement Learning A grid-world example 在该图中: 格子被分为三类:可访问的格子、禁止访问的格子、目标格子角色被称为 agentagent 的任务就是从 start 开始找到一条“正确”的路径到达 targetagent 无法越过边界&#xff0c…

创建多线程常用的三种方式

三种常用多线程实现方式 1. 继承Thread类 继承Thread线程类并且重写run方法无线程任务返回值 2. 实现Runnable接口 实现Runnable接口并且重写run方法无线程任务返回值 3. 实现Callable接口和通过Futrue接口实现类(FutrueTask) 实现Callable接口(泛型数据类型对应call方法的返回…

(2020,DA)用于数据高效 GAN 训练的可鉴别数据增强(Differentiable Augmentation)

Differentiable augmentation for data-efficient gan training 公众号:EDPJ 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 3.1 重温数据增强 3.2 GAN 的可鉴别增强 4. 实验 4.1 ImageNet 4.2 FFHQ 和 LSUN-Cat 4.3 CIFAR-10 和 CIFAR-100 4.4 low-sho…

GPU服务器傻瓜式安装Anaconda,pytorch,tensorflow

1.下载Anaconda安装包,官网地址,清华源地址。 在官网下载到本地之后,可以通过文件传输上传安装包到服务器,使用清华源地址可以直接使用wget下载所需版本,例如: wget https://mirrors.tuna.tsinghua.edu.c…

Java之旅(三)

Java 输出:println()、print() 使用 println() 方法在 Java 中输出值或打印文本。 System.out.println("Hello World!"); println() 可以根据需要添加任意数量的方法。请注意,它将为每个方法添加一个新行: System.out.println(&…

静电测试仪:如何简单高效地测量静电电荷?

静电电荷是在两种不同材料之间接触或分离时,由电子或离子转移所产生的电荷。静电电荷的存在,可能导致许多不良的影响,比如产品损坏、设备失灵甚至是人员受伤。因此,测量静电电荷量成为提升产品质量、工作环境的必要步骤之一。而静…