ubuntu下编译esp32 micropython固件编译(可自行增加模块)

目录

  • 0. 前言
  • 1. 安装ESP-IDF
  • 2. 初始化Micropython仓库
  • 3. 选择ESP-IDF相应版本
    • 情况1
    • 情况2
  • 4. 开始编译
  • 5.烧录固件

0. 前言

为ESP32编译Micropython固件

操作系统:ubuntu22.04

1. 安装ESP-IDF

本节需要ESP-IDF环境,安装开发环境是必要的。

如果你网络环境较差,不方便访问github,查看这篇文章以安装并且启动ESP-IDF环境为后续操作做准备:
Ubuntu下ESP-IDF环境搭建

如果你已经安装好了ESP-IDF,那么请直接直接启动开发环境:

cd ~/esp-idf
. ./export.sh

2. 初始化Micropython仓库

输入以下命令用以获取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

3. 选择ESP-IDF相应版本

先进入micropython/ports/esp32/目录,打开README.md文件查看IDF版本

cd micropython/ports/esp32
vim README.md

然后发现了不,他叫你check out v4.2,你的也有可能不是v4.2,而是一堆乱七八糟的很长的字符,将这串字符替换v4.2输入即可:
ubuntu下编译esp32 micropython固件编译(可自行增加模块)_第1张图片所以我们要选取ESP-IDF v4.2版本

现在进入esp-idf目录下拉取对应分支吧:

cd ~/esp-idf
git checkout v4.2
git submodule update --init --recursive

然后执行安装相应模块:

情况1

如果你是在本文第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 

情况2

设置环境变量,执行相应的./install.sh,然后重新启动环境变量就好

cd esp-idf
./install.sh       
source export.sh   

4. 开始编译

至此,你可以开始编译micropyython固件了:
进入micropython目录下的/ports/esp32:

cd micropython/ports/esp32

然后使用make命令开始编译:

make

然后你就会开始编译micropython项目了

编译结束是这样:ubuntu下编译esp32 micropython固件编译(可自行增加模块)_第2张图片

5.烧录固件

现在我们可以烧录micropython了,连接USB,输入以下命令查看连接在哪个串口:

ls /dev/ttyUSB?

然后会告输出ESP32连接在哪里:
在这里插入图片描述

输入一下命令开始烧录,确保你在micropython/ports/esp32目录下:

idf.py -p /dev/ttyUSB0 flash

烧录完成!
ubuntu下编译esp32 micropython固件编译(可自行增加模块)_第3张图片现在来开始简单使用一下micropython:

idf.py -p /dev/ttyUSB0 monitor

可以看到Micropython已经启动了
ubuntu下编译esp32 micropython固件编译(可自行增加模块)_第4张图片

你可能感兴趣的:(ESP32实例,micropython,Linux运维,ubuntu,linux,git)