NodeMCU是以 ESP8266 晶片為基礎,含 WiFi 功能的微控制板,使用 Lua 語言撰寫程式,適合物聯網終端節點的應用開發,官網資料下載網址:https://github.com/nodemcu
NodeMCU是一個使用Lua語言的開發環境,可以燒錄在許多不同版本的ESP8266模組上,且經歷多次改版,網路上也有眾多不同的說明版本[1],有的版本並不穩定。本文以2015/03/18的 0.9.5 版為例,說明如何燒錄 NodeMCU 的韌體,使用的是下圖的這款以ESP-12為主的NodeMCU V2。
1. 下載燒錄工具
先到https://github.com/nodemcu/nodemcu-flasher,按下 Download ZIP ,下載燒錄工具,然後執行Win32或Win64 Release目錄下之ESP8266Flasher.exe。
2. 一鍵燒錄韌體更新
在Operation頁面選擇COM Port:
在Config頁面,預設會自動使用INTERNAL://NODEMCU,位址設定為0x00000:
如果想手動變更燒錄檔,可以按下齒輪按鈕,選擇所需要的檔案,並設定燒錄的位址。預設的檔案是在Resource\Binary\nodemcu_integer_0.9.5_20150318.bin:
在Advanced頁面,使用預設值即可:
回到Operation頁面,按下 FLASH(F) 開始燒錄,開始燒錄後會自動取得MAC位址,NodeMCU上ESP8266-12模組GPIO-4的LED開始閃動,此時可以切換到Log頁面看燒錄狀況:
如果燒錄失敗,先按下 STOP(S) 停止,再按下 FLASH(F) 重新燒錄即可。如果失敗太多次,可以到Advance頁面將Baudrate降低 (例如115200) 試試看。
燒錄完成後,要按下NodeMCU的RST按鈕,重新開機後才能使用。
3. 其他韌體版本
4. 自訂韌體更新
以下是根據下載的文件說明如何自訂韌體燒錄位址,因為實作測試燒錄後無法使用 NodeMCU 的功能,因此僅供參考。
首先到https://github.com/nodemcu/nodemcu-firmware,按下 Download ZIP ,下載最新版本韌體檔,稍後燒錄要用到的二進位檔,放在 \sdk\esp_iot_sdk_v1.4.0\bin 目錄:
參考 \sdk\esp_iot_sdk_v1.4.0\bin\at\readme.txt,設定相關的bin檔與燒錄位置:
***********************BOOT MODE***********************
download:
Flash size 8Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0xfc000 (optional)
blank.bin 0x7e000 & 0xfe000
Flash size 16Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0x1fc000 (optional)
blank.bin 0x7e000 & 0x1fe000
Flash size 16Mbit-C1: 1024KB+1024KB
boot_v1.2+.bin 0x00000
user1.2048.new.5.bin 0x01000
esp_init_data_default.bin 0x1fc000 (optional)
blank.bin 0xfe000 & 0x1fe000
Flash size 32Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0x3fc000 (optional)
blank.bin 0x7e000 & 0x3fe000
Flash size 32Mbit-C1: 1024KB+1024KB
boot_v1.2+.bin 0x00000
user1.2048.new.5.bin 0x01000
esp_init_data_default.bin 0x3fc000 (optional)
blank.bin 0xfe000 & 0x3fe000
***********************NON-BOOT MODE***********************
download
eagle.flash.bin 0x00000
eagle.irom0text.bin 0x40000
blank.bin
Flash size 4Mbit: 0x3e000 & 0x7e000
Flash size 8Mbit: 0x7e000 & 0xfe000
Flash size 16Mbit: 0x7e000 & 0x1fe000
Flash size 16Mbit-C1: 0xfe000 & 0x1fe000
Flash size 32Mbit: 0x7e000 & 0x3fe000
Flash size 32Mbit-C1: 0xfe000 & 0x3fe000
esp_init_data_default.bin (optional)
Flash size 4Mbit: 0x7c000
Flash size 8Mbit: 0xfc000
Flash size 16Mbit: 0x1fc000
Flash size 16Mbit-C1: 0x1fc000
Flash size 32Mbit: 0x3fc000
Flash size 32Mbit-C1: 0x3fc000
|
在燒錄程式的Config頁面,按下齒輪按鈕,選擇自訂的二進為檔來源,以BOOT MODE 的Flash size 32Mbit-C1 1024KB+1024KB為例,燒錄檔案與位置如下表:
二進位檔
|
燒錄位置
|
boot_v1.2+.bin
|
0x00000
|
user1.2048.new.5.bin
|
0x01000
|
esp_init_data_default.bin
|
0x3fc000
|
blank.bin
|
0xfe000
|
blank.bin
|
0x3fe000
|
燒錄Config設定畫面,記得要勾選前面 x ,該檔案才會進行燒錄:
設定完成後,按照一鍵燒錄的方式進行燒錄即可。
參考資料:
[1] “如何燒錄 ESP8266 無線模組的韌體 (使用一鍵燒錄軟體)”, http://ruten-proteus.blogspot.tw/2014/12/esp8266-firmware-burning.html
沒有留言:
張貼留言