今天在零件箱找到一塊之前測試過的 Wemos ESP8266, 接上 USB 後板載藍色 LED 會持續閃爍, 可見裡面已有程式在跑, 但卻無法用 Thonny 與 Putty 連線 COM 埠, 可能太久沒有使用秀逗了. 我看背板有打印這是 32MB, 喜出望外以為這是 32M Bytes :
我用 esptool.py 查詢 flash_id 發現只有 4M Bytes, 背板打印的其實是 32M bits, 執行下列指令前須按住右下方的 Flash 鈕約直到顯示結果再放開 :
D:\ESP8266>esptool.py --port COM8 flash_id
esptool.py v2.6
Serial port COM8
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: 2c:3a:e8:06:b9:ca
Uploading stub...
Running stub...
Stub running...
Manufacturer: c8
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...
雖然用 Thonny 或 ESPFlasher.exe 燒錄韌體很方便, 但命令列的 esptool.py 提供的功能更多 (Thonny 背後也是執行 esptool.py), 例如 flash_id 指令不僅顯示 Flash 大小, 還包括所使用的晶片. 詳細用法參考 :
我之前都是在燒錄 ESP32 時才會用 esptool.py, 今天就用它來將這塊無法連線的板子重新燒錄最新版 MicroPython 吧!
1. 抹除 Flash 內容 :
首先要將 Flash 裡面的舊資料清除乾淨, 同樣地, 在執行下列指令前須按住右下方的 Flash 鈕直到顯示結果再放開 :
D:\ESP8266>esptool.py --chip esp8266 --port COM8 erase_flash
esptool.py v2.6
Serial port COM8
Connecting....
Chip is ESP8266EX
Features: WiFi
MAC: 2c:3a:e8:06:b9:ca
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 6.1s
Hard resetting via RTS pin...
2. 燒錄 MicroPython 映像檔 :
接下來就可以開始燒錄映像檔了, 同樣地, 在執行下列指令前須先按住右下方的 Flash 鈕直到顯示結果再放開 :
D:\ESP8266>esptool.py --port COM8 --baud 115200 write_flash --flash_size=detect -fm dio 0 esp8266-20210902-v1.17.bin
esptool.py v2.6
Serial port COM8
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
MAC: 2c:3a:e8:06:b9:ca
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0040
Compressed 633688 bytes to 416262...
Wrote 633688 bytes (416262 compressed) at 0x00000000 in 36.8 seconds (effective 137.8 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
此處黃底色部分是連續燒兩次沒成功 (燒錄過程無錯誤, 但出現怪碼) 後添加上去的, Baud rate 用 115200 較保險, 總之, 整個指令須要改的部分就是 COM 埠與映像檔檔名而已.
完成後用 Thonny 或 Putty 均可正常連線進入 Shell/REPL 介面了 :
關於 Thonny 操作參考 :
燒錄 ESP32 的 esptool 指令轉寫如下 :
1. 清除 Flash :
2. 燒錄韌體 :
3. 檢查 Flash :
參考 :
沒有留言:
張貼留言