6. ESP8266固件的下載

ESP8266固件的編譯6(固件的下載)

固件下載工具有很多,有nodemcu提供的flasher,也有pytools,不過使用樂鑫官方的FLASH_DOWNLOAD_TOOLS感覺是比較好用的。

可以在樂鑫官方網站找到它,當前的最新版本是3.4.8.
http://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.4.8.zip

1、 UART串口轉接
Nodemcu自帶usb轉串口的芯片(CP2102),可以直接PC。
安信可模組如ESP01,ESP12E/F等等,需要TTL轉USB的轉接板才能下載固件。
可以選擇一般CP2102,CH340或者是FT232芯片的轉接板都可以。

如果ESP8266芯片模組,接法都是一樣的,包括樂鑫自己的ESP-WROOM-02模組。

TX(esp8266)  -----  RX(usb轉接板)
RX(esp8266)  -----  TX(usb轉接板)
GND(esp8266)-----  GND(usb轉接板)  共地
VCC(esp8266)  ----- 外接3.3V,不可用usb自帶的3.3V
CH_PD(esp8266A) ----- 3.3V (高電平有效)

如果正常連接,PC中即可看到虛擬出的串口,通過各種串口工具訪問原有的固件。

如圖,ESP12F的接法,其他等ESP模組,包括官方的ESP-WROOM-02也是同樣接法。
ESP12接串口

2、固件下載模式的接線
固件下載時,在以上接線的基礎上,將GPIO0和GPIO15拉低。
NodeMCU因爲具有自動下載功能,通過USB即可完成拉低重啓等工作,無需另外接線。

GPIO0(esp8266)  -----  GND(下拉爲UART下載模式,上拉爲工作模式)
GPIO15(esp8266)----- GND

TX(esp8266)  -----  RX(usb轉接板)
RX(esp8266)  -----  TX(usb轉接板)
GND(esp8266)-----  GND(usb轉接板)  需要和ESP8266共地
VCC(esp8266)  ----- 外接3.3V,不可用usb自帶的3.3V
CH_PD(esp8266A) ----- 3.3V (高電平有效)

接線後,模組重新上電後,即進入下載模式。

3、固件地址映射表
打開FLASH_DOWNLOAD_TOOLS,選擇ESP8266,然後填寫各固件的寫入地址,可以參考下表:
固件地址映射表

對照上圖,ESP01S是8Mbit(1Mbyte);ESP12系列是32Mbit(4Mbyte);nodemcu也是4Mbyte。
如是nodemcu固件,編譯出的固件名爲0x00000.bin,0x10000.bin,相當於上面的eagle.flash.bin和irom0text.bin。
如是RTOS固件,則eagle.irom0text.bin的地址變爲0x20000。

4、下載工具參考圖
可以參考下圖,進行固件下載的設定。
1)RTOS固件->nodemcu硬件
RTOS固件->nodemcu硬件

2)nodemcu固件->ESP12硬件
nodemcu固件->ESP12硬件

SPI Mode一般選擇QIO,但是nodemcu需要選擇DIO。
因爲固件都比較大,COM口的波特率可以選擇高些,如921600之類的,提高效率。

下載後,將GPIO0和GPIO15拉高或懸空,重新上電即可進入到新固件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章