天天看點

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也是同樣接法。

6. ESP8266固件的下載下傳

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,然後填寫各固件的寫入位址,可以參考下表:

6. 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硬體

6. ESP8266固件的下載下傳

2)nodemcu固件->ESP12硬體

6. ESP8266固件的下載下傳

SPI Mode一般選擇QIO,但是nodemcu需要選擇DIO。

因為固件都比較大,COM口的波特率可以選擇高些,如921600之類的,提高效率。

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

繼續閱讀