本文档用于记录 ESP8266 基于 WSL 的开发环境搭建。本人在最早接触 ESP8266 时使用的环境搭建方法是在 windows 下使用 MINGW32,这个环境下的编译非常慢,体验非常不好。后来接触到 ubuntu 下的环境搭建,但由于是使用的 vmware,来回切换也是非常的复杂。近期看到 windwos 下的 wsl 环境搭建,尝试一番后发现用起来得心应手,于是记录下来,供日后使用。
如何安装 wsl 以及 ubuntu 就不在赘述了,网上一搜一大把。下面从安装完 WSL 以及 ubuntu 开始。
系统默认将 ubuntu 安装在了 C 盘,我们以后日常使用,ubuntu 里面的安装的内容越来越多,会导致 C 盘空间不够用,因此在安装完 wsl 之后,我们即可将其迁移到合适的盘。
wls 本身提供了 export 和 inport 功能,而 move wsl 是一个 powershell 脚本,可以帮助我们傻瓜式进行 wsl 的迁移。下面开始利用 move wsl 进行迁移
确保关闭要迁移的 ubuntu
使用 sed 命令更新 ubuntu 源为国内源以提高访问速度
sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list
sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list
执行如下命令,更新 ubuntu 中软件
apt-get update
apt-get upgrade
根据乐鑫 官方文档 ,安装 ubuntu 下必要组件
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
由于国内访问 git 较慢,乐鑫在 gitee 上为大家准备了一个 tools,可以加速访问;
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
./jihu-mirror.sh set
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
由于使用了 jihu 镜像,git 上的 ESP8266 SDK 很快就 clone 下来了。
export EGT_PATH=$(pwd)
pip --version
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
pip config set global.trusted-host mirrors.aliyun.com
回到 ESP8266SDK 目录下,执行如下命令
$EGT_PATH/install.sh
报错如下:
执行如下三个命令后,在此执行 shell 脚本成功
python3 --version
whereis python3
sudo ln -s /usr/bin/python3 /usr/bin/python
cp -r ESP8266_RTOS_SDK/examples/get-started/hello_world/ project/
sudo apt-get install libncurses5-dev
接下来可以成功编译。
在 wsl 下,我们使用 usbipd 来讲 windows 下的 usb 串口绑定到 ubuntu 下。 usbipd下载
同时,在 wsl 环境下,我们也需要下载安装 usbipd
sudo apt install linux-tools-5.4.0-77-generic hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip /usr/lib/linux-tools/5.4.0-77-generic/usbip 20
接下来通过以下两个命令,在 powshell 中将 usb 接口绑定到 wsl
usbipd wsl list
usbipd wsl attach --busid <busid>
usbipd具体应用参考