码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • WSL2下使用openocd连接外部调试器开发STM32


    参考:

    linux下STM32开发环境搭建

    Connect gdb to ip instead of localhost to debug from WSL2

    openocd-org


            在linux下搭建STM32的开发环境,通常会用到 openocd 去连接到外部的调试器,如 J-Link,CMSIS-DAP,再提供网路端口给gdb。但由于现阶段 WSL2 访问外部的 USB 设备会存在不足,且WSL2 默认采用了一个NAT网络,如果想要把 WSL2 中的服务直接暴露出来,就不得不考虑做端口转发等问题。

            但是 WSL2 给我们留了一条后路,那就是允许在 WSL 里执行 .exe 文件。

            下载文首 "参考" 项中的 openocd-org 的 openocd 工具,见图1,这里是第一个,我们将其下载到 windows 电脑上。解压后在源文件 bin 目录下会存在 openocd.exe 文件,为了方便,我们将其路径加入到 windows 的环境变量中。加入成功后,无论在 PowersShell 还是 WSL2 中,都可以快捷 tab 得到 openocd.exe 的工具。

    图1

             关于 openocd 如何去连接外部调试器,详见文首 "参考" 项的 "linux下STM32开发环境的搭建" 一文。按照文中关于 opeocd 去连接外部调试器的操作,实验使用图1中的 openocd.exe 是可以正常连接到外部调试器,我这里用的是 CMSIS-DAP,如图2。

            图2

             但是,在 WSL2 中使用 gdb 去连接图2所示的 3333 端口时,会连接不上,提示超时失败,见图3。关于 gdb 的简单介绍和使用,详见文首 "参考" 项的 "linux下STM32开发环境的搭建" 一文。

    图3 

             见图3,这里为什么是 172.31.192.1,这个得在 WSL2 下查看 /etc/resolv.conf 文件,里面的 nameserver 变量记载的就是 WSL2 的 DNS 客户机配置 IP。这个也是我们需要在 gdb 连接 openocd 提供端口时所使用到的 IP,见图4。

    图4 

             回到图3,解决 WSL2 下 gdb 因连接超时连接不上的办法可以详见文首 "参考" 项的 "Connect gdb to ip instead of localhost to debug from WSL2"。这里只提取并记录下解决办法,如图5,在使用openocd时加上 -c "bindto 0.0.0.0"。

    图5

             再按照图3所示操作使用 gdb 去连接目标板就可以正常连接,且实验调试正常,见图6。

    图6 

     

  • 相关阅读:
    STC15单片机-通过PWM调整灯亮度
    前端工作总结101-根据页面的内容调用
    ORB-SLAM3算法学习—Frame构造—ORB特征提取和BRIEF描述子计算
    注册小鲸鱼88888专用网站
    均值滤波算法及例程
    数据结构——栈与队列
    4、FFmpeg命令行操作5
    Python机器学习笔记:CART算法实战
    AI音乐大模型:是创意的助力还是产业的挑战?
    【黄啊码】MySQL入门—3、我用select *,老板直接赶我坐火车回家去,买的还是站票
  • 原文地址:https://blog.csdn.net/qq_41867145/article/details/126330935
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号