
本文說明ESP32 WiFi模塊的開發(fā).
ESP32 WiFi 模塊核心處理器 ESP32提供了一套完整的802.11 b/g/n/e/i 無線局域網(WLAN)和藍牙4.2解決方案,具有最小物理尺寸。此款芯片專為低功耗和移動消費電子設備、可穿戴和物聯網設備而設計,片上集成了WLAN和藍牙的所有功能,具有低成本、布局好的特點。ESP32同時提供了一個開放的平臺,支持用戶靈活地自定義功能,用于不同的應用場景。
ESP32是一款WiFi和藍牙系統級芯片(SoC),具有行業(yè)領先的射頻性能、低功耗和高度集成的優(yōu)勢。ESP32集成了完整的發(fā)射/接收射頻功能,包括天線開關,射頻balun,功率放大器,低噪放大器,過濾器,電源管理模塊和先進的自校準電路。自校準電路實現了動態(tài)自動調整以消除外部電路的缺陷。ESP32帶有2個32位、LX6 CPU,主頻高達240MHz,采用7級流水線架構。ESP32還集成了豐富的模擬傳感和數字接口。 ESP32的超低功耗射頻架構和擁有專利的省電技術延長了實際應用的電池續(xù)航時間。
ESP32完全符合WiFi 802.11b/g/n/e/i和藍牙4.2的標準,集成了WiFi/藍牙/BLE射頻和低功耗技術,并且支持開放性的實時操作系統RTOS。ESP32所集成的調整緩存幫助提高系統性能并且優(yōu)化系統存儲。靈活的RAM/ROM劃分架構則允許用戶自定義以滿足特殊要求和使用情況。 ESP32可作為獨立應用程序或是主機MCU的從設備。作為從設備,ESP32通過SPI/SDIO或I2C/UART接口提供WiFi和藍牙功能。
要展開對WIFI模塊的開發(fā), 需要具備以下軟體工具:
下載安裝包"ESP系列新IDE"
打開下載文件包中的文件夾"最新版本ESP32 GCC v5.2 OpenOCD 支持XP V0.5", 運行其中的"AiThinkerIDE_V0.5_Setup.exe", 解壓到文件夾D:/AiThinkerIDE_V0.5
目的: ESP FLASH TOOL 是 Espressif 官方開發(fā)的燒錄工具,用戶可根據實際的編譯方式和Flash的容量,將SDK編譯生成的多個bin文件一鍵燒錄到 ESP8266/ESP32 的SPI Flash中。
第一步、鏈接電纜: 使用MicroUSB數據線連接 PC 與 Nodemcu 核心開發(fā)板,并從 Windows 設備管理器中確認芯片的 COM 口
目的: ESP FLASH TOOL 是 Espressif 官方開發(fā)的燒錄工具,用戶可根據實際的編譯方式和Flash的容量,將SDK編譯生成的多個bin文件一鍵燒錄到 ESP8266/ESP32 的SPI Flash中。
使用MicroUSB數據線連接 PC 與 Nodemcu 核心開發(fā)板,并從 Windows 設備管理器中確認芯片的 COM口
打開“串口調試助手”,從電腦通過串口發(fā)送 AT 指令給芯片,可以看到回復 Send OK(即確保電源和串口連接正常)
ESP8266有運行模式、下載模式、測試模式(僅用于芯片生產)的區(qū)別,如果要進行下載,那么必須使芯片處于下載模式。
打開串口助手,設置波特率為74880,然后復位芯片模組(即重新上電一次),觀察接收中是否輸出字符串ets Jan 8 2014,rst cause 1, boot mode:(1,7)或者 ets Jan 8 2013,rst cause:2, boot mode:(1,7)如果出現,表示可以正常下載。
“運行模式”與“下載模式”的唯一區(qū)別就是GPIO0端口。GPIO0為低電平就是下載模式;GPIO0為高電平就是工作模式。所以,燒錄之前,必然存在一個拉低GPIO0端口的操作,一般地是在線路板上通過跳線短接的方式,將該端口的電平拉低。
ESP8266 Flash 地址配置:
燒錄時的配置選項與編譯時的配置是相關的, 編譯SDK時,控制臺會提示bin文件的燒錄地址,配置不同,燒錄的地址和需要的文件也不同
我們按照燒錄文件的不同分為兩種情況: 支持云端升級 和 不支持云端升級
另外,根據flash容量的不同,我們還要調整bin文件燒錄的地址
支持云端升級的固件,在 flash 中會分為 2 個區(qū),一個用來運行程序,一個用來保存升級固件, 當運行 user1 時升級,程序會下載固件到 user2,下載完畢后,下次啟動時從 user2 啟動,依次替換,實現云端升級。
user2 僅用作升級使用,用戶燒錄時無需下載 user2.bin,此處僅為說明 user2 的存放位置
| 文件名稱 | 8Mbit 地址分配 | 16Mbit 地址分配 | 32Mbit 地址分配 | 備注 |
|---|---|---|---|---|
| boot.bin | 0x00000 | 0x00000 | 0x00000 | 由SDK 中提供,建議一直使用最新版本 |
| user1.bin | 0x01000 | 0x01000 | 0x01000 | 主程序,由代碼編譯生成 |
| user2.bin | 0x81000 | 0x81000 | 0x81000 | 主程序,由代碼編譯生成 |
| esp_init_data_default.bin | 0xFC000 | 0x1FC000 | 0x3FC000 | 在 SDK 中提供 |
| blank.bin | 0xFE000 | 0x1FE000 | 0x3FE000 | 在 SDK 中提供 |
| 文件名稱 | 8Mbit 地址分配 | 16Mbit 地址分配 | 32Mbit 地址分配 | 備注 |
|---|---|---|---|---|
| eagle.flash.bin | 0x00000 | 0x00000 | 0x00000 | 主程序,由代碼編譯生成 |
| eagle.irom0text.bin | 0x40000 | 0x40000 | 0x40000 | 主程序,由代碼編譯生成 |
| esp_init_data_default.bin | 0xFC000 | 0x1FC000 | 0x3FC000 | 由樂鑫在 SDK 中提供 |
| blank.bin | 0xFE000 | 0x1FE000 | 0x3FE000 | 由樂鑫在 SDK 中提供 |
運行AiThinker_IDE.exe,進入IDE界面。
點擊鏈接https://www.espressif.com/en/support/download/other-tools
下載:flash_download_tools_v3.6.4.rar
最新版本: 3.6.4 發(fā)布日期: 2018.03.06