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

openocd调试esp32(通过FT232H)

之前在学习ESP32,其中有一部分课程是学习openocd通过JTAG调试程序的,因为我用的是ESP32-wroom,usb端口没有集成对应的usb转jtag的ft232,查了ESP32相关的资料(JTAG 调试 - ESP32 - — ESP-IDF 编程指南 latest 文档 (espressif.com))里面提到ESP32的JTAG适配器,ESP-WROVER-KIT开发板使用的是FT2232H,且开发板内部已经集成这个适配器。

 我查了很多资料,确定ESP32里面是没有集成FT2232H适配器的,但是官方还是保留了接口以便我们自行接入JTAG适配器。 

根据上面的接口可以连接对应的JTAG适配器。

当时脑子一热就买了FT232H,看到淘宝里面的评论说可以调试ESP32就买了,没想到这么难配置,找不到合适的资料。淘宝店家也只是发了FTDI的官方资料和原理图(和这个模块的原理图还不一样),反正是靠不住的,最终各种摸索之下找到配置方法。 

网上有说需要EEPROM去写值设置成JTAG模式,包括spec上也是说需要通过EEPROM进行config,没看的很详细,主要是我还要买个EEPROM?这也太麻烦了吧? 

后来自己又摸索了一下,发现可以通过FT_Prog软件,将模式切换成D2xx。

因为我这个型号的只有一个JTAG口,所以选择Hardware Specific时要选Port A,然后Port A-->Driver右侧选择D2xx Direct这个选项最后,上方选项卡Devices中选择Program,弹出来的框选Program完成即可。

但还是连接不上openocd,猜测没有驱动导致的么?

下载usb driver tool可以设置对应的驱动,设置好之后,貌似能成功检测到了。 Automatic USB driver installer for FTDI and LibUSB drivers (visualgdb.com)

也不知道对不对,看到网上教程说这么设置,之后在设备管理器里面就会有这个。

但是openocd也仅仅是检测到了,实际上跑不起来,会有问题。是cfg配置的问题。

GitHub - amirgon/ESP32-JTAG: ESP32 FT232H JTAG Debugging on Linux

上面是一模一样这个模块,JTAG Debug的配置说明,接线也有说明,看了之后才发现我之前接线是有误的,各位也可以检查一下有没有接错。

 把git hub上的cfg下载下来,放在espressif(esp的sdk)中的openocd路径中。

D:\Espressif\tools\openocd-esp32\v0.11.0-esp32-20221026\openocd-esp32\share\openocd\scripts\board

上面是我的路径,给你们参考,之后执行openocd的指令

openocd -f .\board\ft232h.cfg

这里上面都已经配置好了,红色Error的信息是扫描不到cfg中的esp32的cpu,所以这里把esp32接上电脑之后,再执行一次指令。

 成功的接通,openocd处于端口监听的状态了,但是这里还是有些问题的,下面的额信息Debug controller reset了,这里不确定是什么问题,通过espidf去尝试连接gdb,openocd也没有反应,说明这里还是有问题的。暂时没确定是什么问题,后续解决了再补充。

相关文章:

openocd调试esp32(通过FT232H)

之前在学习ESP32,其中有一部分课程是学习openocd通过JTAG调试程序的,因为我用的是ESP32-wroom,usb端口没有集成对应的usb转jtag的ft232,查了ESP32相关的资料(JTAG 调试 - ESP32 - — ESP-IDF 编程指南 latest 文档 (es…...

Nokia5110使用方法及实例编写51单片机

文章目录 Nokia5110实物图引脚和原理图51单片机实例软件模拟SPI实现控制Nokia5110显示字符发送字节时序图(图片太多了,关键图片已截取出来)初始化需要配置实例编写回顾接线结束Nokia5110 Nokia是诺基亚拆下来的屏幕。使用SPI控制 84x48 的点阵 LCD,可以显示 4 行汉字,采用…...

3个月快速入门LoRa物联网传感器开发

在这里插入图片描述 快速入门LoRa物联网传感器开发 LoRa作为一种LPWAN(低功耗广域网络)无线通信技术,非常适合物联网传感器和行业应用。要快速掌握LoRa开发,需要系统学习理论知识,并通过实际项目积累经验。 摘要: 先学习LoRa基础知识:原理、网络架构、协议等,大概需要2周时间…...

【小梦C嘎嘎——启航篇】内存管理小知识~

【小梦C嘎嘎——启航篇】内存管理小知识~😎 前言🙌malloc/calloc/realloc的区别?new 与 deletenew与delete要找好搭档才能保证万无一失 new 与 delete的内部实现细节是怎么样的呢???new 的内部实现细节dele…...

ClickHouse查看执行计划(EXPLAIN语法)

1.EXPLAIN 语法示例 EXPLAIN [AST | SYNTAX | QUERY TREE | PLAN | PIPELINE | ESTIMATE | TABLE OVERRIDE] [setting value, ...] [ SELECT ... | tableFunction(...) [COLUMNS (...)] [ORDER BY ...] [PARTITION BY ...] [PRIMARY KEY] [SAMPLE BY ...] [T…...

线程池

线程池 什么是线程池? 想象一下 假设我是个漂亮妹子,这时候接受了舔狗A的表白,随着时间的推移,逐渐不喜欢A这小子了,于是我就想换个男朋友,可是 1.处理分手,需要消耗一定成本 2.再找一个新对象…...

配置:Terminal和oh-my-posh

目录 命令行安装oh-my-posh查看安装情况配置PowerShell启用oh-my-posh、设置主题配色安装字体Terminal中的配置 命令行安装oh-my-posh Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString(https://ohmy…...

数据结构--BFS求最短路

数据结构–BFS求最短路 BFS求⽆权图的单源最短路径 注:⽆权图可以视为⼀种特殊的带权图,只是每条边的权值都为1 以 2 为 b e g i n 位置 以2为begin位置 以2为begin位置 代码实现 //求顶点u到其他顶点的最短路径 void BFS_MIN_Distance(Graph G, int u…...

FPGA应用学习笔记----定点除法的gold算法流水线设计

猜一个Y0 a和b上下都Y0 分母越接近一,分子就越接近答案 误差: 下一步迭代为 Y的迭代值: 误差值: 代码的实现如上所示...

Nginx转发的原理和负载均衡

一、Nginx转发的原理 Nginx是一个高性能的反向代理服务器,它可以用于实现请求的转发和负载均衡。以下是Nginx转发的基本原理: 客户端发送请求:客户端向Nginx服务器发送HTTP请求。 Nginx接收请求:Nginx服务器接收到客户端的请求。…...

怎么换ip地址 电脑切换ip地址方法

互联网时代,IP地址是我们在网络上进行通信和访问的身份标识。有时候,我们可能需要更改IP地址,以便获得更好的网络体验或绕过某些限制。本文将介绍如何使用深度IP转换器来更改IP地址。 1:了解IP地址 IP地址是一个由数字和点组成的标…...

软件设计基础

巩固基础,砥砺前行 。 只有不断重复,才能做到超越自己。 能坚持把简单的事情做到极致,也是不容易的。 软件项目管理。 在经历了软件危机和大连的软件项目失败以后,人们对软件工程专业的现状进行了多次分析。得出了普遍性的结论&…...

OptaPlanner笔记5

2.4 与spring boot集成 2.4.4 添加依赖 <dependency><groupId>org.optaplanner</groupId><artifactId>optaplanner-spring-boot-starter</artifactId> </dependency>2.4.8 创建求解器服务 import org.optaplanner.core.api.solver.Solv…...

PS注意事项优漫动游

PS入门注意事项AdobePhotoshop是目前最流行的平面设计软件之一。可以说&#xff0c;只要你接触平面设计&#xff0c;那么无论早晚&#xff0c;你都要和它打交道。关于Photoshop&#xff0c;要说的实在太多太多&#xff0c;但不论你想让它成为你的左膀右臂&#xff0c;或者仅仅是…...

matplotlib 判断鼠标是否点击在当前线上

在开发中有一个需求&#xff1a;对生成的一条线进行拖拽。 我将这个方法实现在线所在的类里&#xff0c;这个过程中需要判断鼠标是否点击在当前线上&#xff0c;从而实现拖拽。 实现代码如下&#xff1a; # 点击事件 def on_press(self,event):if event.inaxes ! self.ax:retur…...

bash中(冒号破折号)的用法 —— 筑梦之路

${PUBLIC_INTERFACE:-eth0} :- 的用途是什么&#xff1f; 含义&#xff1a;如果 $PUBLIC_INTERFACE 存在且不是 null&#xff0c;则返回其值&#xff0c;否则返回 "eth0"。 ${parameter:-word} 使用默认值。如果 parameter 未设置或为 null&#xff0c;则 word 的扩…...

LeetCode150道面试经典题--同构字符串(简单)

1.题目 给定两个字符串 s 和 t &#xff0c;判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t &#xff0c;那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符&#xff0c;同时不改变字符的顺序。不同字符不能映射到同一个字符上&#xff0c…...

Redis - 数据类型映射底层结构

简介 从数据类型上体现就是&#xff0c;同一个数据类型&#xff0c;在不同的情况下会使用不同的编码类型&#xff0c;底层所使用的的数据结构也不相同。 字符串对象 字符串对象的编码可以是 int、raw 和 embstr 三者之一。 embstr 编码是专门用于保存简短字符串的一种优化编…...

MySQL数据库表的增删查改 - 进阶

一&#xff0c;数据库约束 1.1 约束对象 not null - 该列不能为空unique - 保证该列的每一行都不一样default - 规定没有给列赋值时的默认值&#xff08;自定义&#xff09;primary key - not null 和 unique 的结合&#xff0c;会给该列添加一个索引&#xff0…...

8086汇编语言工作环境 百度网盘下载

链接&#xff1a;https://pan.baidu.com/s/1-1K7gX859xejaUK70OTgtw?pwdbfa5 提取码&#xff1a;bfa5 为了方便下载&#xff0c;找了很多资料&#xff0c;也是从其他人那边分享过来的&#xff0c;也方便其他人 文件内容&#xff1a;...

如何用BabelDOC轻松解决PDF翻译难题:5步完整指南

如何用BabelDOC轻松解决PDF翻译难题&#xff1a;5步完整指南 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 你是否曾为翻译PDF文档而烦恼&#xff1f;格式错乱、公式丢失、表格变形——这些问…...

从技术幕后到价值核心:金融思维如何重塑软件测试者的职业未来

一扇被悄然推开的门当代码的严谨逻辑与资本市场的瞬息万变相遇&#xff0c;会碰撞出怎样的火花&#xff1f;一个看似与技术圈层格格不入的趋势正在蔓延&#xff1a;那些站在技术金字塔尖的开发者&#xff0c;正将目光投向金融领域。这并非不务正业&#xff0c;而是一场深刻的价…...

从零到一:基于NUC980DK61YC自制开发板的完整流程与避坑指南

从零到一&#xff1a;基于NUC980DK61YC自制开发板的完整流程与避坑指南 当市面上标准开发板无法满足定制需求时&#xff0c;自制开发板成为嵌入式开发者的终极解决方案。NUC980系列以其ARM926EJ-S核心和丰富外设资源&#xff0c;在工业物联网领域占据独特优势。本文将带你完整走…...

紧急预警:Dify v0.12.3升级后Webhook签名机制变更!3类存量集成即将失效(附热修复补丁)

第一章&#xff1a;紧急预警&#xff1a;Dify v0.12.3升级后Webhook签名机制变更&#xff01;3类存量集成即将失效&#xff08;附热修复补丁&#xff09; Dify v0.12.3 版本于 2024-06-15 正式发布&#xff0c;核心变更之一是强制启用 RFC 8941 兼容的 Webhook 签名验证机制&am…...

别再死记硬背了!用Python+Jupyter Notebook可视化理解元素周期表电子排布(附代码)

用Python动态可视化元素周期表电子排布&#xff1a;从理论到交互实践 化学元素的电子排布规律一直是学习中的难点——那些抽象的能级交错、半满规则和特例元素&#xff0c;往往让学生陷入死记硬背的困境。当我第一次在Jupyter Notebook中用Python代码生成铬元素的3d轨道电子分布…...

终极指南:5分钟掌握ComfyUI-BiRefNet-ZHO,轻松实现专业级图像视频抠图

终极指南&#xff1a;5分钟掌握ComfyUI-BiRefNet-ZHO&#xff0c;轻松实现专业级图像视频抠图 【免费下载链接】ComfyUI-BiRefNet-ZHO Better version for BiRefNet in ComfyUI | Both img & video 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-BiRefNet-ZHO …...

直播卡顿、首开慢、延时高?别慌!一份超全的排查手册(附FFmpeg/WebRTC实战参数)

直播质量优化全链路实战&#xff1a;从现象定位到参数调优 直播过程中突然出现的卡顿、首开延迟或音画不同步&#xff0c;往往让技术团队如临大敌。不同于点播的事后处理&#xff0c;直播问题的排查需要工程师在分钟级内完成根因定位与修复。本文将构建一套从现象分析到参数调优…...

AI专著写作大揭秘:利用AI工具,轻松完成20万字专著撰写!

撰写学术专著的挑战与AI工具的兴起 撰写学术专著不仅考验学术素养&#xff0c;还对心理承受能力提出了挑战。与团队合作的论文写作不同&#xff0c;专著创作大多数情况下是研究者独立完成的。从选题到结构框架的搭建&#xff0c;再到内容的撰写和反复修改&#xff0c;每一个环…...

终极指南:如何用PPT悬浮计时器掌控你的演讲时间

终极指南&#xff1a;如何用PPT悬浮计时器掌控你的演讲时间 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 如果你经常需要在会议、课堂或演讲中使用PowerPoint进行演示&#xff0c;那么PPT计时器将成为你提升…...

STM32串口接收数据时,如何避免一上电就误触发IDLE中断?

STM32串口接收数据时避免上电误触发IDLE中断的工程实践 实验室里&#xff0c;逻辑分析仪的波形突然跳动了一下——这已经是今天第三次看到串口莫名其妙进入IDLE中断了。作为嵌入式开发者&#xff0c;你是否也经历过这种困扰&#xff1f;STM32的串口IDLE中断本应是数据接收完成的…...