ESP32 MicroPython 固件編譯記錄

平臺環(huán)境
Deepin(或其他x86 Linux發(fā)行版應(yīng)該皆可)
源碼下載
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環(huán)境)
源頭下載:在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`導出臨時環(huán)境,切換到目錄或?qū)⒛夸浛截惓鰜?*example/get-started/hello-world*),在樣本代碼目錄下執(zhí)行 `idf.py build`,沒有出現(xiàn)錯誤就說明ESP-IDF是完整的,可使用的
2. MicroPython
以下操作有官方解釋,我們理解為固定操作即可
生成的bin文件在 `port/esp32/build-GENERIC/firmware.bin`,具介紹此固件映像由:**引導加載程序.bin、分區(qū)組成.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 時候出現(xiàn) component xxx not found :子模塊更新不完整,刪掉空目錄重更
Micropython Make 時候出現(xiàn) Failed to resolve component 'esp_adc_cal':提示缺少組件,多半是因為IDF版本不對;
Micropython Make 時候出現(xiàn) Failed to resolve component 'mdns':提示缺少組件,多半是因為IDF版本不對;
Micropython Make 時候出現(xiàn) Failed to resolve component 'esp32':提示缺少組件,多半是因為IDF版本不對;
設(shè)備運行時出現(xiàn) rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT):燒錄地址不對或燒錄的不是帶引導和分區(qū)的完整固件
參考引用
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 官方故障報修 [構(gòu)建故障排除 ·micropython/micropython Wiki (github.com)](https://github.com/micropython/micropython/wiki/Build-Troubleshooting)