自编译 micropython ESP32固件指南以及16MB固件分享
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自编译 micropython ESP32固件指南以及16MB固件分享相关的知识,希望对你有一定的参考价值。
自编译 micropython ESP32固件攻略以及16MB/8MB固件分享
本教程是连续奋斗了好几天才走向编译成功的。一路都是采坑过来的,为了后面学习者少走弯路少采坑的原则,这里将分享micropython固件编译避坑指南。内容将分几部分组成:环境搭建-工具链安装-编译过程
环境搭建
Linux
系统目前对于编译micropython
来说是必须的!这一句话,放在第一句,因为我在这个问题的认知上,折腾了一天。在编译mpy-coress
时,构建MicroPython
交叉编译器,交叉编译器的功能是对高级语言(比如:python、c语言…)翻译成低级语言(比如:汇编语言、机器语言…)的操作。Linux
系统环境选择:在大部分人电脑上基本都是使用的Windows
运行环境,在Windows
环境下安装推荐ubuntu
和msys2
两个环境下实现MicroPython
固件编译。msys2
下编译尝试失败了,如果感兴趣的可以参考看:- https://www.bilibili.com/video/BV1X3411i7D5?spm_id_from=333.337.search-card.all.click&vd_source=0c1548e2708eaca55c70ab0e53000c9c
- 个人推荐使用
ubuntu
不仅仅是因为我编译成功的原因,主要是相对于msys2
好配置一些,遇到问题去网上检索找答案容易一些。说通俗一点就是,使用ubuntu
的群体比较大。另外一个原因是我的电脑不满足运行虚拟机
的条件,还在使用2010年的老电脑,估计好多人早就淘汰掉了12年前的电脑,升级win11
都达不到配置要求。
Windows
环境安装ubuntu
- 在
win10
系统下,直接在Windows自带的应用商店下载ubuntu
即可。
- 系统配置要求以及版本信息
安装上基本没什么坎。建议你的安装盘符一定要大一点,不然后面安装
espidf
和以及相关工具链时会占用很大空间。
必备软件以及编译工具链链安装
Git
:sudo apt-get install git
python3.xx
:终端中输入sudo apt install python3.9
后按下Enter键来安装Pythongcc
:独立安装命令:sudo apt build-dep gcc
,也可以通过资源库中,有一个名为build-essential
的包,它包含 GCC 和其他各种编译器,如 g++ 和 make来安装:安装命令:
- sudo apt update
sudo apt install build-essential
cmake
:apt-get install cmake
- 基于arm内核编译的工具链:
sudo apt-get install gcc-arm-none-eabi
Git克隆
esp-idf
:通过Git命令克隆:git clone -b v4.4 --recursive https://github.com/espressif/esp-idf.git
micropython
源码克隆:git clone --recursive https://github.com/micropython/micropython.git
Git克隆下载资源说明
- 在通过
Git
命令克隆ESP32-IDF
和Micropython
资源之后,一定要使用git submodule update --init --recursive
命令来检查是否将项目完整克隆下来,必须要在git clone ...git
之后输入git submodule update --init --recursive
按回车之后,没有任何提示符,直接是换行这种状态,才是真正的将项目以及项目中的子模块克隆下来了。(在国内这种环境下,100%是需要在提交克隆命令自后,再提交几次git submodule update --init --recursive
按回车才可以将项目完整克隆下来,取决于网络环境)
个人ubuntu系统软件安装情况
||/ Name Version Architecture Description
+++-===============================-=======================================-============-========================================>
ii adduser 3.118ubuntu5 all add and remove users and groups
ii apparmor 3.0.4-2ubuntu2.1 amd64 user-space parser utility for AppArmor
ii apport 2.20.11-0ubuntu82.1 all automatically generate crash reports for>
ii apport-symptoms 0.24 all symptom scripts for apport
ii apt 2.4.6 amd64 commandline package manager
ii apt-utils 2.4.6 amd64 package management related utility progr>
ii base-files 12ubuntu4.2 amd64 Debian base system miscellaneous files
ii base-passwd 3.5.52build1 amd64 Debian base system master password and g>
ii bash 5.1-6ubuntu1 amd64 GNU Bourne Again SHell
ii bash-completion 1:2.11-5ubuntu1 all programmable completion for the bash she>
ii bc 1.07.1-3build1 amd64 GNU bc arbitrary precision calculator la>
ii bcache-tools 1.0.8-4ubuntu3 amd64 bcache userspace tools
ii bind9-dnsutils 1:9.18.1-1ubuntu1.1 amd64 Clients provided with BIND 9
ii bind9-host 1:9.18.1-1ubuntu1.1 amd64 DNS Lookup Utility
ii bind9-libs:amd64 1:9.18.1-1ubuntu1.1 amd64 Shared Libraries used by BIND 9
ii binutils 2.38-3ubuntu1 amd64 GNU assembler, linker and binary utiliti>
ii binutils-arm-none-eabi 2.38-3ubuntu1+15build1 amd64 GNU assembler, linker and binary utiliti>
ii binutils-common:amd64 2.38-3ubuntu1 amd64 Common files for the GNU assembler, link>
ii binutils-x86-64-linux-gnu 2.38-3ubuntu1 amd64 GNU binary utilities, for x86-64-linux-g>
ii bolt 0.9.2-1 amd64 system daemon to manage thunderbolt 3 de>
ii bsdextrautils 2.37.2-4ubuntu3 amd64 extra utilities from 4.4BSD-Lite
ii bsdutils 1:2.37.2-4ubuntu3 amd64 basic utilities from 4.4BSD-Lite
ii btrfs-progs 5.16.2-1 amd64 Checksumming Copy on Write Filesystem ut>
ii build-essential 12.9ubuntu3 amd64 Informational list of build-essential pa>
ii busybox-initramfs 1:1.30.1-7ubuntu3 amd64 Standalone shell setup for initramfs
ii busybox-static 1:1.30.1-7ubuntu3 amd64 Standalone rescue shell with tons of bui>
ii byobu 5.133-1 all text window manager, shell multiplexer, >
ii bzip2 1.0.8-5build1 amd64 high-quality block-sorting file compress>
ii ca-certificates 20211016 all Common CA certificates
ii cloud-guest-utils 0.32-22-g45fe84a5-0ubuntu1 all cloud guest utilities
micropython固件编译的安装
ESP-IDF 配置好编译环境
1. cd esp-idf
2. ./install.sh
3. source export.sh
编译 MicroPython
1. cd ../micropython/ports/esp32
2. make
固件封装
- ESP32
16MB
固件,版本信息:MicroPython v1.19.1-339-g9a826e0f2-dirty on 2022-08-29; ESP32 module with ESP32
链接:https://pan.baidu.com/s/1dY_tTDVyDOWzGnD11e5clg
提取码:wn4j
8MB
的固件,固件版本信息:MicroPython v1.19.1-339-g9a826e0f2-dirty on 2022-08-30; ESP32 module with ESP32
链接:https://pan.baidu.com/s/1Z3wGAt2uWWn6os2AxrOSOQ
提取码:qsnp
后续将根据情况提供其他型号的相关自定义的固件
以上是关于自编译 micropython ESP32固件指南以及16MB固件分享的主要内容,如果未能解决你的问题,请参考以下文章
自行编译micropython固件刷入ESP32 cam,并测试拍照及图传