本文是在Ubuntu虚拟机上搭建esp32 micropython编译环境,根据自己的挖过的坑总结经验
开发环境
- 硬件:ESP32-WROOM-32 开发板
- 软件:Ubuntu 14.04虚拟机
步骤
- 1.安装交叉编译工具链所依赖的环境
-
sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial
- 2.创建工作目录级设置编译链
-
1.创建工作目录
mkdir ~/esp32
cd ~/esp32 -
2.在官网上下载最新的交叉编译链
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz (64位)
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gz (32位) -
3.解压文件到当前目录下并设置环境变量
- tar -zxvf xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gz
- 打开 vim ~/.profile
- 在最后一行输入 export PATH:=$PATH:~/esp32/xtensa-esp32-elf/bin 退出保存
- 使其生效 source ~/.profile
- 测试是否成功 xtensa-esp32-elf-gcc -v
- 3.安装esp-idf开发套件
-
1.下载esp-idf
cd ~/esp32
git clone –recursive https://github.com/espressif/esp-idf.git
cd ~/esp32/esp-idf
git submodule update –init -
设置环境变量
vi ~/.profile
在最后一行输入 export IDF_PATH=~/esp32/esp-idf 保存退出
使其生效 source ~/.profile
- 4.安装microPython esp32
-
- 下载源码
cd ~/esp32
git clone https://github.com/micropython/micropython-esp32.git
cd micropython-esp32/esp32
打开Makefile 找到下面所示行
ESPIDF_SUPHASH := cc93e14770e7b3681ebc80b30336e498cc96e961 复制该字符串
进入esp-idf 目录 cd ~/esp32/esp-idf
切换到该分支 git checkout cc93e14770e7b3681ebc80b30336e498cc96e961 - 下载源码
-
- 配置
cd ~/esp32/micropython-esp32/esp32
在该目录下新建 makefile 添加如下内容:
ESPIDF = ~/esp32/esp-idf
#PORT = /dev/ttyUSB0
#FLASH_MODE = qio
#FLASH_SIZE = 4MB
#CROSS_COMPILE = xtensa-esp32-elf-
include Makefile - 配置
- 4.编译固件
-
cd ~/esp32/micropython-esp32
make -C mpy-cross
cd esp32
make