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

(二)vscode搭建espidf环境,配置wsl2

水平有限,当个备忘录的,来者凑活着看,灰色字是可以不看,我看的是B站的一个视频总结的。编译速度起飞,参照官方推荐!WSL2+VSCode搭建ESP-IDF 开发环境,个人认为是目前编译最高效的开发方式_哔哩哔哩_bilibili

一、WSL2

推荐查阅官方文档说明:安装 WSL | Microsoft Learn

(1)管理员身份打开Windows PowerShell

(2)输入wsl --install

(3)等待安装完成后重启电脑(这里已经安装了Ubuntu、打开了虚拟机平台、windows子系统的配置)

菜单搜索控制面板——>程序——>启动或者关闭Windows功能——>(滑到最下面)找到"适用于 Linux 的 Windows 子系统" 和 "虚拟机平台",检查是否被勾选。

补充说明:我的截图是Windows10系统的,我试过我的Windows11的笔记本,没有找到虚拟机平台,但还是能正常使用,所以如果你出现了没有虚拟机平台这个选项,请不要担心。

(4)搜索并打开Ubuntu,首次打开会需要等待一段时间


(5)输入账号密码

现在是完成了wsl的初始化配置,之后需要安装espidf的依赖库和工具。

(6)在Ubuntu上输入sudo apt update更新软件源

(目前没有自定义源则是只更新官方源,也就是更新当前软件工具的最新链接啥的,如果不先更新软件源,而是直接输入下面的代码,就会出现无法定位的情况(如下图))

其中“184 packages can be upgraded. Run 'apt list --upgradable' to see them.”的意思如下,

所以sudo apt update就是类似于让电脑逛一下超市知道上新了哪些东西,而接下来的espidf官方文档的指令就是购买东西,原先没逛超市所以不知道想买的东西的版本和内容,现在逛过了就可以知道慕想买东西的内容了,就可以运行下方指令了。

(7)更新完后输入下方指令,下载espidf依赖库和工具

sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

(从超时买东西,从软件源中下载自己需要的软件)(复制指令后右键鼠标就会粘贴到ubuntu的窗口)

下载的内容如下{

  • 版本控制工具:git
  • 网络下载工具:wget
  • 编译工具链组件:flex、bison、gperf
  • Python 相关:python3、python3-pip(包管理)、python3-venv(虚拟环境)
  • 构建工具:cmake、ninja-build、ccache(编译缓存)
  • 开发库:libffi-dev、libssl-dev(加密 / 接口库)
  • 硬件相关工具:dfu-util(固件升级)、libusb-1.0-0(USB 接口库)

}

(8)输入y

(可以检查一下python3的版本,直接输入python3)

OK,接下来就去vscode上操作

二、vscode

(1)安装vscode

Visual Studio Code - 代码编辑。重新

(2)安装Chinese插件

(3)安装C/C++插件

(4)安装wsl插件,然后选择连接到wsl

这个时候右下角会有下载提示,等待下载完成,应该会自动把Chinese和C/C++插件下载了,没有的话就自己再下载

想要退出linux环境编程,回到windows的话,就选择关闭远程连接

(5)安装espidf插件(之前安装的是在windows的,现在安装的是在Ubuntu的,也就是linux环境下)

(6)下载好后打开espidf下载相关的内容

(可跳过)在linux账户新建文件用于存放espidf内容,方便后续管理

(也可以直接使用默认的,没啥区别,使用默认的话直接跳过文件的步骤)

在安装路径中选择自己新建的文件夹(演示一个,下一个同理,只不过再选成Tools就是了)

(7)等待安装完成,下面是安装完成的图

(8)安装完成之后先搞个工程测试一下编译能不能正常

(可跳过)我这里又新建了一个文件夹用来存放代码

(9)编译成功了

(10)尝试烧录,烧录失败

三、USB

!!!在没有配置之前,是不能在vscode的wsl环境烧录程序的

WSL 本身默认不直接支持 USB 设备访问,需要额外配置才能让 WSL 识别到 Windows 连接的 USB 设备。

WSL(尤其是 WSL2)运行在一个轻量虚拟机中,与 Windows 物理机的硬件隔离,因此默认情况下无法直接访问 USB 设备(包括 ESP32 开发板的串口)。需要通过工具将 Windows 识别的 USB 设备 “共享” 给 WSL,才能让 WSL 识别并操作。

(1)先把ESP32和电脑连接上

(2)管理员身份打开Windows PowerShell

(3)输入“winget install usbipd”,然后输入y(看情况选择开不开魔法,不开也能20s左右下载安装完)

这个指令是安装usbipd-win工具,用于将windows系统的usb设备共享给wsl环境。

(4)关闭当前PowerShell,重新管理员身份开启一个PowerShell,输入usbipd list,记录端口对应的BUSID

安装了usbipd工具之后,要使用到这个工具的指令,而环境变量需要重新加载才能生效,旧窗口处于没有usbipd环境变量的情况。

(5)输入usbipd bind --busid <BUSID>,将 Windows 上的指定 USB 设备与 USB/IP 服务绑定。

也就是把windows上的串口分享给wsl,但是还没同意wsl使用

(6)输入usbipd attach --wsl --busid <BUSID>,将串口附加给wsl

附加也就是这个串口属于wsl权下,wsl可以是用这个串口了

(7)打开Ubuntu,先后输入“sudo apt update” " ssudo apt install -y usbutils"

sudo apt update  # 先更新软件源
sudo apt install -y usbutils  # 安装包含 lsusb 命令的工具包

(8)然后输入lsusb检查串口设备号,找到有QinHeng的,就说明串口附加到wsl成功了

(10)输入“cd /dev”,然后再输入“ls”,寻找到ttyACM0,找到对应的串口端口号

(11)回到vscode,选择对应的端口号,进行烧录

http://www.dtcms.com/a/326614.html

相关文章:

  • 第16届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2025年4月真题
  • 进阶版|企业级 AI Agent 的构建实践
  • 【03】厦门立林科技——立林科技 嵌入式 校招笔试,题目记录及解析
  • 从零开始的ReAct Agent尝试
  • 应用监控工具Skywalking
  • bitbake –s:列出所有可编译的模块
  • 【STL】queue队列容器
  • priority_queue(优先级队列)和仿函数
  • ArkUI中的自定义组件(一)
  • 用于计算的程序是部署在哪里,为什么可以这样?
  • 从 WebView2 迁移至 DotNetBrowser:第一部分
  • android 换肤框架详解2-LayoutInflater源码解析
  • 《零基础入门AI:深度学习基础核心概念解析(从激活函数到反向传播)》
  • 大模型提示词工程实践:提示词工程实践-引导大模型完成任务
  • 直播美颜SDK架构设计指南:美白滤镜的高效实现与跨平台适配
  • MySQL 基本语法
  • 【网络基础】深入理解 TCP/IP 协议体系
  • 秒懂边缘云|1分钟了解边缘安全加速 ESA
  • GCC C++实现Matlab矩阵计算和数学函数功能
  • 乡土诗性的多重奏鸣——儿歌《生我养我的小村庄》文学赏析
  • C5.3:发射极偏置和LED驱动电路
  • 26考研|西安电子科技大学优势学科、25考研复试线及就业质量分析报告
  • 力扣热题100-----322.零钱兑换
  • 事务的特性
  • 下一代防火墙组网方案
  • IoT/透过oc_lwm2m/boudica150 源码中的AT指令序列,分析NB-IoT接入华为云物联网平台IoTDA的工作机制
  • visual studio 2015 使用番茄助手(Visual Assist)给函数自动添加注释模板
  • WSL / Linux安装MySQL(以及注意事项)
  • 嵌入式学习的第四十八天-中断+OCP原则
  • Photoshop图层混合模式:实现图像元素透明度渐变过渡的终极指南