ESP32实战--WSL+VSCode ESP-IDF环境搭建(1)

ESP32实战--WSL+VSCode ESP-IDF环境搭建(1)-CSDN博客

ESP32实战--WSL+VSCode ESP-IDF环境搭建(2)-CSDN博客

在VSCode上就能跑Ubuntu系统的ESP-IDF环境!!!

前言

在学习ESP32系列单片机中,搭建环境很重要,我开始学习该微控制器的时候用的是VSCode的IDF扩展,虽然搭建的很快且很方便,但在后续的编译发现--太慢了,编译小工程还能接受,编译大工程根本受不了,所以我觉得搭建Ubuntu系统下的环境,开始是想着用docker,因为上面开发者也有发布环境版本,但发现docker上的下载和安装很慢,而且运行起来也不方便,所以我想到虚拟机或者WSL,同时配合VSCode,希望这篇文章能帮助到大家。

一、安装WSL(Windows Subsystem for Linux)

先讲讲用WSL的好处:

1.启动便捷--使用Powershell或者Vscode等命令窗口就能启动

2.编译和环境搭建快速

3.支持与Windows共享文件夹--在Windows文件驱动器就能看到Linux目录,在Linux系统中在~/mnt/目录下能看到Windows的目录和驱动盘

再讲讲坏处:

1.挂载外部设备或USB设备时比较麻烦--接串口等外部设备时需要挂载设备,这个我后面也会讲到

2.搭建环境麻烦(但也是为了方便)

3.有些Windows版本可能不支持

WSL官方教程:适用于 Linux 的 Windows 子系统文档 | Microsoft Learn

1.安装wsl

1.1 打开Powershell-以管理员身份运行

我这里用的是Win11,因为安装需要权限,右键Window开始--选择终端管理员,或者在Windows下搜索打开Powershell都可以

1.2  输入指令安装WSL

wsl --install

等待下载安装后重启电脑

该指令会自动启用Windows虚拟化功能,若出了问题,可以试试以下启用Hyper-V的步骤,或者cmd管理员模式下输入以下指令

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

1.3 查看WSL支持的系统与版本

wsl --list --online 或 wsl -l -o

可以看到wsl可安装的有效分发列表

2.安装Ubuntu系统

要安装wsl可安装的有效分发,可以在微软商店或者指令下载安装,我比较建议微软商店下载安装,当然指令也可以。

2.1 安装Ubuntu(法一)

2.1.1 安装发行版

同样在Powershell上执行以下指令

 wsl --install -d <DistroName>  以安装一个发行版

  • <DistroName>是以上图片分发表里的NAME
  • -d是安装后运行
  • 这里安装的是Ubuntu-20.04,则输入 wsl --install -d Ubuntu-20.04

没反应大概率是网络不好,安装需要良好的网络,最好是挂个梯子,梯子这里就不推荐了,有需要的上GitHub找找,或者私信我

2.1.2 首次启动ubuntu系统

在powershell中输入wsl,进入默认版本分发,如果是刚安装,默认为刚安装的版本

wsl

2.1.3 首次启动设置

首次启动系统,需要设置用户名称和密码,应该是不能和电脑名重复的,输入密码是不会显示的,输入就好

Enter new UNIX username: lin
New password:
Retype new password:
passwd: password updated successfully
Installation successful!

2.1.4 启动和退出ubuntu

输入wsl可以在powershell启用wsl,exit指令可以退出

如果想看系统状态可以输入

wsl -l -v

一般我都这样启动

2.1.5 设置默认版本

如果有多个分发版本,可以powershell中输入指令设置默认版本,<DistributionName>为刚刚安装的版本名字

wsl -s <DistributionName> 或 wsl --set-default <DistributionName>

可以用以下指令查看当前所有系统分发

wsl -l -all

2.2 Microsoft Store中安装 Ubuntu(法二)

这边我建议用法二,因为方便,而且下载快一些

2.2.1 打开Microsoft Store搜索Ubuntu

要下载可安装的发行版,wsl支持的,应该都是支持的,不过还是用指令看看

wsl -l -o

 搜索并安装,这里我已经安装了Ubuntu 22.04.5 LTS

2.2.2 启动ubuntu

下载安装完后启动Ubuntu,在windows开始中搜索Ubuntu并打开,完成首次安装设置(输入用户名和密码),输入密码是不会显示的,输入就好

 等待片刻

设置用户名和密码,密码要输入两次相同的

二、在Ubuntu系统中搭建ESP-IDF环境(以5.3.3版本为例)

可以参考官方文档, 里面写的也很详细,不过我这里还是演示一下

快速入门 - ESP32 - — ESP-IDF 编程指南 v5.3.3 文档

1.安装环境安装

在wsl命令窗口下运行以下指令,安装过程中有y选y,我已经安装过了

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

如果出现以下错误,要先获取安装包

sudo apt-get update

接下来再重复安装以上的环境即可

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

2. 安装 idf 5.3.3分支

2.1.1 创建目录并跳转

mkdir ~/esp32 && cd ~/esp32

2.1.2 拉取git分支(github)

git clone -b v5.3.3 --recursive https://github.com/espressif/esp-idf.git

    2.1.3 国内镜像分支拉取(测试中)

    github拉取慢的可以先去看看gitee,目前我是拉取有点问题,目前在尝试其他

    2.2.3 设置工具

    因为下面的工具需要下载,国内用户需要先配置一下,提升下载速度

    cd ~/esp32/esp-idf && export IDF_GITHUB_ASSETS="dl.espressif.cn/github_assets"

    如果你想设置所有芯片工具就用以下代码,如果只要esp32或esp32s3的工具,则把all改成你选用芯片的工具

    cd ~/esp32/esp-idf && ./install.sh all

     esp32s3芯片的可以只选用设置esp32s3工具

    cd ~/esp32/esp-idf && ./install.sh esp32s3

    2.2.4 设置环境变量(每次启动新窗口都要)

    因为使用esp-idf的工具,所以要设置环境变量,不然会提示没有idf.py的指令,也可以设置永久的环境变量,这里不建议这么去做,因为会影响到其他软件的使用,如果要设置永久,可以参考官方文档中的步骤

    但解决这个问题,可以在VSCode中使用工具,在下一次文章中,我会讲

    . $HOME/esp32/esp-idf/export.sh

    现在我们就可以使用idf工具了!!

    三、创建并编译项目

    1.复制与编译hello_world项目

    cd ~/esp32 && cp -r ~/esp32/esp-idf/examples/get-started/hello_world .

    2.进入项目和设置目标芯片(以esp32s3为例)

    cd ~/esp32/hello_world
    idf.py set-target esp32s3

    3.配置项目

    用menucofig可以配置芯片,S是保存,Esc退出

    idf.py menuconfig

    4.编译项目

    idf.py build

    等待编译完成,你会发现,在ubuntu下的编译非常快,接下来烧录到开发板,因为需要挂载USB端口设备,就到下一次文章继续教学,本次教学就到这!!

    启用Hyper-V(如有需要)

    因为WSL需要开启程序与功能中的虚拟化,我也有看到有的教程手动启动程序与功能,这里我就不用那种办法,而且我们在程序与功能里没有找到Hyper-V的情况下,那我这里用指令来启用。

    1.创建一个记事本Hyper-V.txt

    2.输入以下内容

    pushd "%~dp0" 
    dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
    for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online/norestart/addpackage:"%SystemRoot%\servicing\Packages\%%i" 
    del hyper-v.txt 
    Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All/LimitAccess /ALL 

    3.保存并改名为Hyper-V.bat

    4.右键以管理员身份运行

    5.重启电脑

    参考资料

     

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值