今年年中,乐鑫发布许久的ESP32终于有了动静,集WiFi、BLE、双处理器于一身的特点感觉比8266性能更高,可以用在之前无法实现的项目上。这次乐鑫给的资料较整齐,不像8266那样茫然。固件依然需要交叉编译,如果不愿意再拖个虚拟机或者用cygwin,那利用新的与Windows整合的linux是个较好的选择。
今年年中,Windows 正式版也更新了Bash on Ubuntu on Windows,到了现在的名称是适用于Linux的Windows子系统(beta)。
搭建开发环境(Linux)步骤:
1、在Windows上增加Linux Bash
打开设置-更新和安全-针对开发人员中选择开发人员模式 如下图
此时就可以在“程序和功能”-“启用或关闭Windows功能”中看到
选择适用于Liunx的Windows子系统(Beta)
之后在命令提示符或PowerShell中输入bash,根据提示按y确认安装。之后便会从Ubuntu服务器下载其中一份发行版,部署在Windows上。
当前我的Windows版本为10 pro Insider Preview Build 14986
可以看到Linux为Ubuntu 16其中一个发行版
进入下一步步骤前先更新系统:
apt-get update
apt-get upgrade
如果提示权限不足,需要
sudo -i
2、安装交叉编译 工具链
在Ubuntu环境下
https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-59.tar.gz
sudo tar zxvf xtensa-esp32-elf-linux64-1.22.0-59.tar.gz -c /opt
修改.bashrc文件,来添加工具链路径到环境变量。
vi ~/.bashrc
最后一行插入
export PATH=/opt/xtensa-esp32-elf/bin:$PATH
验证交叉编译工具链安装成功,可以关闭bash,重新进入,输入
xtensa-esp32-elf-gcc -v
3、获取ESP-IDF(SDK)
打开bash终端,输入如下:
mkdir /mnt/e/ESPRESSIF
cd /mnt/e/ESPRESSIF
git clone --recursive https://github.com/espressif/esp-idf.git
我的电脑中有e盘,所以把SDK放到了e盘下的目录,方便在Windows下面写程序。
4、配置ESP-IDF
在bash终端输入
cp /mnt/e/ESPRESSIF/esp-idf/examples/01_hello_world /mnt/e/ESPRESSIF -r
cd /mnt/e/ESPRESSIF/01_hello_world
export IDF_PATH=/mnt/e/ESPRESSIF/esp-idf
make menuconfig
第三行很重要,不要出错。
make执行后能看到
这里可以配置串口,配置编译相关。
接下来执行
meke
meke all
make bootloader
make app
分别是 默认编译、全部编译、编译Bootloader和编译用户程序。