为ESP32编译Micropython固件
操作系统:ubuntu22.04
本节需要ESP-IDF环境,安装开发环境是必要的。
如果你网络环境较差,不方便访问github,查看这篇文章以安装并且启动ESP-IDF环境为后续操作做准备:
Ubuntu下ESP-IDF环境搭建
如果你已经安装好了ESP-IDF,那么请直接直接启动开发环境:
cd ~/esp-idf
. ./export.sh
输入以下命令用以获取Micropython仓库,加上 --depth=1 的目的是为了不下载到历史版本,这样速度会更快且不容易失败:
git clone https://github.com/micropython/micropython --depth=1
进入micropython目录:
cd micropython
编译 mpy-cross:
make -C mpy-cross
然后初始化相关仓库:
git submodule init lib/berkeley-db-1.xx
git submodule update
先进入micropython/ports/esp32/目录,打开README.md文件查看IDF版本
cd micropython/ports/esp32
vim README.md
然后发现了不,他叫你check out v4.2,你的也有可能不是v4.2,而是一堆乱七八糟的很长的字符,将这串字符替换v4.2输入即可:
所以我们要选取ESP-IDF v4.2版本
现在进入esp-idf目录下拉取对应分支吧:
cd ~/esp-idf
git checkout v4.2
git submodule update --init --recursive
然后执行安装相应模块:
如果你是在本文第1章照我的教程安装的ESP-IDF开发环境,你应该这么做:
进入esp-tools目录
cd esp-gitee-tools
设置环境变量
export EGT_PATH=$(pwd)
进入esp-idf文件夹
cd ~/esp-idf/
在esp-idf文件夹里使用工具下载子模块
$EGT_PATH/submodule-update.sh
在esp-idf文件夹里使用工具下载工具链
$EGT_PATH/install.sh
启动ESP-IDF虚拟环境
. ./export.sh
设置环境变量,执行相应的./install.sh,然后重新启动环境变量就好
cd esp-idf
./install.sh
source export.sh
至此,你可以开始编译micropyython固件了:
进入micropython目录下的/ports/esp32:
cd micropython/ports/esp32
然后使用make命令开始编译:
make
然后你就会开始编译micropython项目了
编译结束是这样:
现在我们可以烧录micropython了,连接USB,输入以下命令查看连接在哪个串口:
ls /dev/ttyUSB?
然后会告输出ESP32连接在哪里:
输入一下命令开始烧录,确保你在micropython/ports/esp32目录下:
idf.py -p /dev/ttyUSB0 flash
烧录完成!
现在来开始简单使用一下micropython:
idf.py -p /dev/ttyUSB0 monitor
可以看到Micropython已经启动了