ESP32系列控制板可用乐鑫信息科技提供的SDK(軟體開發工具,ESP32 IDF,採C/C++語言)、Arduino, MicroPython, JavaScript, Lua, ….等程式語言開發,本文將示範燒錄MicroPython韌體。
MicroPython的ESP32韌體分成支援Wi-Fi(但不支援藍牙)以及支援藍牙(但不支援Wi-Fi)兩大版本,每個版本各有三個系列:
- 通用(GENERIC):適合所有一般ESP32系列控制板。
- 通用外部RAM(GENERIC-SPIRAM):適合內建外部RAM(PSRAM)的ESP32控制板。
- TinyPICO:用於世界最小(18x32mm)的ESP32微控制板TinyPICO。
WEMOS LOIN32控制板要刷入「通用」版,在MicroPython官網的下載頁下載韌體:
燒錄ESP32韌體的方式跟ESP8266一樣,可用乐鑫信息科技官方的Flash下載工具(Flash Download Tools,僅Windows版)或者esptool.py工具程式。
使用Flash下載工具燒錄MicroPython韌體
開啟Flash下載工具後,點擊ESP32 Download Tool鈕:
確認ESP32控制板的COM埠口編號,按下ERASE(清除),等待左下角的框框顯示綠底FINISH(完成),代表快閃記憶體清除成功。
選取下載的MicroPython韌體(.bin檔),位址輸入0x1000,快閃記憶體大小(FLASH SIZE)選擇32Mbit,再按下START鈕,開始燒錄韌體。
使用esptool.py燒錄韌體
esptool.py是用Python寫成的跨平台韌體燒錄工具程式,燒錄韌體之前請先清除快閃記憶體。在macOS終端機清除ESP32快閃記憶體的命令如下:
esptool.py --chip esp32 --port 序列埠號 erase_flash
接著執行燒錄韌體的命令:
esptool.py --chip esp32 --port 序列埠號 --baud 460800 write_flash -z 0x1000 韌體檔名
韌體燒錄完畢,按下Reset鍵重置控制板,即可用PuTTY或screen等終端機軟體連線操作,操作方式跟ESP8266控制板一樣。
請問如何編譯ESP32的韌體呢
剛剛略讀編譯ESP32 MicroPython韌體的官方文件,除了SDK改用ESP-IDF之外,其他步驟跟編譯ESP8266差不多(請參閱附錄B)。
thanks,
jeffrey
趙老師您好:
老師我有依照附錄B,自行編譯韌體,想請問的是ESP32 NodeMCU可以自行編譯韌體嗎?(使用micropython)
目前ESP32的官方韌體有分IDF v3 與 IDF v4請問兩者有甚麼差異呢?
另外請問IDF SDK的編譯,是否有特別需要注意的地方呢?
目前找到這四篇相關文章,但是不太理解裡面所說的內容,請問老師是否可提供協助呢?
https://www.microdev.it/wp/en/2019/04/07/esp32-idf-sdk-2/
https://www.microdev.it/wp/en/2018/08/08/esp32-micropython-compiling-for-esp32/
https://www.microdev.it/wp/en/2018/04/23/esp32-wifi-bluetooth-module/
https://www.microdev.it/wp/en/2018/08/17/esp32-nodemcu-firmware-compiling/
ESP-IDF更新功能說明,都有列舉在專案的release頁面(https://github.com/espressif/esp-idf/releases)。
建議依照這個ESP32 MicroPython平台專案頁面的說明編譯,我短期內沒有打算要自行編譯ESP32 MicroPython。
thanks,
jeffrey
老師你好
燒錄原廠韌體作用
?
老師好 想問如果想將已經燒入好MicroPython韌體的Esp32,燒入回Arduino的韌體,請問可以如何操作?
請老師幫我解惑 謝謝!!!
依照正常的程序,在Arduino IDE中上傳程式碼到ESP32板即可覆蓋之前的韌體。
thanks,
jeffrey