ESP8266-Linux子系统(WSL)-VSCode编译环境搭建
安装、配置 wsl (我使用的是 Debian)
-
安装 wsl -
查看系统版本
cat /etc/os-release
sudo nano /etc/apt/sources.list
至此 wsl 安装已经完成,开始搭建 ESP8266 开发环境
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial
Note, selecting 'python-is-python2' instead of 'python'
- 暂时不管,这里切忌安装 python3,SDK 的构建工具是基于 python2 的!!去掉python-serial再安装
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python
- 这个版本的 python 没有自带 pip,这里手动安装一下
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
sudo python ez_setup.py --insecure
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz
tar -xvf *.tar.gz
cd pip*
sudo python setup.py install
ln -s /usr/local/python27/bin/pip /usr/bin/pip
- 尝试运行 pip --version 失败,原来是没有包含 pip 安装到的路径
export PATH=$PATH:/usr/local/bin
pip install --upgrade pip
- 下载交叉编译工具 (放在到实体机,因为怕哪天wsl崩了,代码无了)
https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/linux-setup.html
- 下载 SDK (也放在实体机,clone时间比较长)
git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
由于 github 自 2021年8月 加强了安全的啥啥啥策略,不能随便 clone 了
git config --global user.name "名字"
git config --global user.email "邮箱"
git config -l
- 在 wsl 中进入 SDK 的目录中安装一下 python 的依赖工具
python -m pip install --user -r ./requirements.txt
export IDF_PATH="/mnt/f/MyEnv/ESP8266/ESP8266_RTOS_SDK"
export PATH=$PATH:/mnt/f/MyEnv/ESP8266/xtensa-lx106-elf/bin
export PATH=$PATH:/usr/local/bin
export IDF_PATH="/mnt/f/MyEnv/ESP8266/ESP8266_RTOS_SDK"
export PATH=$PATH:/mnt/f/MyEnv/ESP8266/xtensa-lx106-elf/bin
-
Windows 实体机环境变量 -
进入 SDK 的例程中编译一下试试 -
配置串口
cd $IDF_PATH/examples/get-started/hello_world
make menuconfig
打开配置界面,需要控制台足够的大!!不然不运行
make -j8 all
make flash
- 为了实现随时随地的编译某个工程 (就是带有sdkconfig文件的那些文件夹)写一个powershell的脚本来帮助编译
$path_abs = Split-Path -Parent $MyInvocation.MyCommand.Definition
$path_abs = $path_abs -replace "\\", "/"
$path_abs = $path_abs -replace "C:", "c"
$path_abs = $path_abs -replace "D:", "d"
$path_abs = $path_abs -replace "E:", "e"
$path_abs = $path_abs -replace "F:", "f"
$path_abs = $path_abs -replace "G:", "g"
$path_abs = $path_abs -replace "H:", "h"
$path_abs = $path_abs -replace "I:", "i"
$path_abs = $path_abs -replace "J:", "j"
$path_abs = $path_abs -replace "K:", "k"
$path_abs = "/mnt/" + $path_abs
wsl "$path_abs/build.sh"
export IDF_PATH="/mnt/f/MyEnv/ESP8266/ESP8266_RTOS_SDK"
export PATH=$PATH:/mnt/f/MyEnv/ESP8266/xtensa-lx106-elf/bin
make -j8 all
make flash
-
把两个文件放在一起 (可以放在某个环境变量里打开powershell随处调用) -
运行一下试试看 -
make menuconfig 正常 -
make flash 正常 -
这样就可以愉快的用VSCode写代码,用这个脚本编译了 -
配置一下 VSCode 的 tasks.json -
settings.json 中设置 powershell 为默认终端
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
-
Ctrl+Shift+B 运行编译任务 -
编译正常,可以愉快的写代码了
|