欢迎光临散文网 会员登陆 & 注册

ESP32 MicroPython 固件编译记录

2023-05-26 16:43 作者:过气河豚  | 我要投稿

平台环境

Deepin(或其他x86 Linux发行版应该皆可)

源码下载

1. 下载 ESP-IDF v.4.4 及其子模块(MicroPython最大支持到**v4.4**,但IDF本身最新有v5.2,截止今日)

源头下载:

百度盘:链接:https://pan.baidu.com/s/1zuaHKevE_Y4x8a8m_s4q0A?pwd=lj85

2. 下载 ESP-IDF v4.4 所必要依赖包(Linux环境)

源头下载:在Esp-Idf目录下 

百度盘:链接:链接:https://pan.baidu.com/s/10sO2svy4VgQ0aiqvD5PmNw?pwd=yivk

解压到 ~/.espressif

ESP-IDF在windows下和linux下使用install.bat和install.sh下载的依赖包是不一样的不通用

3. 下载 MicroPython v1.20 (截止今日的版本)

源头下载:

百度盘:链接:https://pan.baidu.com/s/1w16NBncXhlHlva04odr1ZA?pwd=5mlc

完整性验证

1. ESP-IDF

在IDF目录下 `source export.sh`导出临时环境,切换到目录或将目录拷贝出来(*example/get-started/hello-world*),在样本代码目录下执行 `idf.py build`,没有出现错误就说明ESP-IDF是完整的,可使用的

2. MicroPython

以下操作有官方解释,我们理解为固定操作即可

生成的bin文件在 `port/esp32/build-GENERIC/firmware.bin`,具介绍此固件映像由:**引导加载程序.bin、分区组成.bin 和微蟒.bin**

下载验证

使用ESP官方提供的工具 esptool.py (清华下载点: `pip install -i https://pypi.mirrors.ustc.edu.cn/simple esptool`)

*write_flash -z 0x1000*:从0x1000地址开始烧录,ESP32烧录固定项

*--verify*:带校验,满加着吧

错误集锦

在样本目录 idf.py build 时候出现 component xxx not found :子模块更新不完整,删掉空目录重更

Micropython Make 时候出现 Failed to resolve component 'esp_adc_cal':提示缺少组件,多半是因为IDF版本不对;

Micropython Make 时候出现 Failed to resolve component 'mdns':提示缺少组件,多半是因为IDF版本不对;

Micropython Make 时候出现 Failed to resolve component 'esp32':提示缺少组件,多半是因为IDF版本不对;

设备运行时出现 rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT):烧录地址不对或烧录的不是带引导和分区的完整固件

参考引用

MicroPython官方仓库下的port/esp32的readme文件 [micropython/micropython: MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems (github.com)](https://github.com/micropython/micropython)

EspIdf官方仓库 [espressif/esp-idf: Espressif IoT Development Framework. Official development framework for Espressif SoCs. (github.com)](https://github.com/espressif/esp-idf/tree/master)

EspIdf 官方故障报修 [构建故障排除 ·micropython/micropython Wiki (github.com)](https://github.com/micropython/micropython/wiki/Build-Troubleshooting)


ESP32 MicroPython 固件编译记录的评论 (共 条)

分享到微博请遵守国家法律