ESP32-MicroPython 编译固件

说明

1.如果出现了错误大部分都是网络错误

2.最好使用一个新的虚拟环境,预防软件冲突

软件环境

ESP-IDF版本

5.4.1

操作系统

Ubuntu 24.04.2 LTS 64位

下载Ubuntu桌面系统 | Ubuntu

Ubuntu 24.04.2 LTS 64位官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

提取码:v4Ie

🧾 MicroPython 固件编译流程(ESP32)

📁 一、准备工作

1. 安装依赖项

确保系统已安装以下软件包

sudo apt update
sudo apt install git make cmake gcc g++ python3 python3-pip python3-venv

查看是否安装

packages=("git" "make" "cmake" "gcc" "g++" "python3" "pip3")
for pkg in "${packages[@]}"
do
    if command -v $pkg &> /dev/null
    then
        echo "$pkg 已安装"
    else
        echo "$pkg 未安装"
    fi
done

2. 设置 ESP-IDF 开发环境

双击打开主目录,右击在终端中打开,并输入一下命令

mkdir esp
cd esp
git clone -b v5.4.1 --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
git checkout v5.4.1
git submodule update --init --recursive
./install.sh esp32

✅ 此操作将安装 ESP-IDF v5.4.1 版本及其所需的工具链。

运行

结果 如果显示了错误的话需要删除整个esp文件

3.设置环境变量

. ./export.sh


🔁 二、获取并配置 MicroPython 源码

cd ..
git clone https://github.com/micropython/micropython.git
cd micropython

如果错误需要删除 esp/micropython文件,然后在esp文件夹中,右击在终端中打开输入

git clone https://github.com/micropython/micropython.git
cd micropython

运行结果

1. 编译交叉编译器 mpy-cross

make -C mpy-cross

2. 进入 ESP32 端口目录

cd ports/esp32

3. 初始化子模块

git submodule update --init --recursive


🔨 三、编译固件

1. 清理之前的编译结果(可选)

make clean

2. 开始编译 MicroPython 固件

在编译之前我将st7735.py 文件放入了esp/micropython/ports/esp32/modules/文件夹下

make

✅ 编译完成后,生成的固件文件为:
build-ESP32_GENERIC/firmware.bin


🧪 四、Thonny IDE 烧录 MicroPython 固件到 ESP32

1.配置串口和选择固件

2.进行验证


🗃️ 五、固件信息与存放位置

  • 固件文件路径

    esp/micropython/ports/esp32/build-ESP32_GENERIC/firmware.bin
  • 自定义模块添加路径(如需打包进固件):

  • esp/micropython/ports/esp32/modules/

    在该目录下可以添加 .py 或 C 扩展模块源文件,使其集成到固件中。


🔄 六、重新编译流程(快速操作)

make clean
make

📝 总结

步骤命令
获取 ESP-IDF git clone -b v5.4.1 --recursive https://github.com/espressif/esp-idf.git
安装 ESP-IDF ./install.sh esp32
获取 MicroPython git clone https://github.com/micropython/micropython.git
编译 mpy-cross make -C mpy-cross
初始化 ESP32 子模块 git submodule update --init --recursive
清理编译 make clean
编译固件 make
固件路径 build-ESP32_GENERIC/firmware.bin
添加模块路径 modules/ 目录

 

posted on 2025-11-10 23:04  &大飞  阅读(36)  评论(0)    收藏  举报

导航