本文说明ESP32 WiFi模块的开发.
ESP32 WiFi 模块核心处理器 ESP32提供了一套完整的802.11 b/g/n/e/i 无线局域网(WLAN)和蓝牙4.2解决方案,具有最小物理尺寸。此款芯片专为低功耗和移动消费电子设备、可穿戴和物联网设备而设计,片上集成了WLAN和蓝牙的所有功能,具有低成本、布局好的特点。ESP32同时提供了一个开放的平台,支持用户灵活地自定义功能,用于不同的应用场景。
ESP32是一款WiFi和蓝牙系统级芯片(SoC),具有行业领先的射频性能、低功耗和高度集成的优势。ESP32集成了完整的发射/接收射频功能,包括天线开关,射频balun,功率放大器,低噪放大器,过滤器,电源管理模块和先进的自校准电路。自校准电路实现了动态自动调整以消除外部电路的缺陷。ESP32带有2个32位、LX6 CPU,主频高达240MHz,采用7级流水线架构。ESP32还集成了丰富的模拟传感和数字接口。 ESP32的超低功耗射频架构和拥有专利的省电技术延长了实际应用的电池续航时间。
ESP32完全符合WiFi 802.11b/g/n/e/i和蓝牙4.2的标准,集成了WiFi/蓝牙/BLE射频和低功耗技术,并且支持开放性的实时操作系统RTOS。ESP32所集成的调整缓存帮助提高系统性能并且优化系统存储。灵活的RAM/ROM划分架构则允许用户自定义以满足特殊要求和使用情况。 ESP32可作为独立应用程序或是主机MCU的从设备。作为从设备,ESP32通过SPI/SDIO或I2C/UART接口提供WiFi和蓝牙功能。
要展开对WIFI模块的开发, 需要具备以下软体工具:
下载安装包"ESP系列新IDE"
打开下载文件包中的文件夹"最新版本ESP32 GCC v5.2 OpenOCD 支持XP V0.5", 运行其中的"AiThinkerIDE_V0.5_Setup.exe", 解压到文件夹D:/AiThinkerIDE_V0.5
目的: ESP FLASH TOOL 是 Espressif 官方开发的烧录工具,用户可根据实际的编译方式和Flash的容量,将SDK编译生成的多个bin文件一键烧录到 ESP8266/ESP32 的SPI Flash中。
第一步、链接电缆: 使用MicroUSB数据线连接 PC 与 Nodemcu 核心开发板,并从 Windows 设备管理器中确认芯片的 COM 口
目的: ESP FLASH TOOL 是 Espressif 官方开发的烧录工具,用户可根据实际的编译方式和Flash的容量,将SDK编译生成的多个bin文件一键烧录到 ESP8266/ESP32 的SPI Flash中。
使用MicroUSB数据线连接 PC 与 Nodemcu 核心开发板,并从 Windows 设备管理器中确认芯片的 COM口
打开“串口调试助手”,从电脑通过串口发送 AT 指令给芯片,可以看到回复 Send OK(即确保电源和串口连接正常)
ESP8266有运行模式、下载模式、测试模式(仅用于芯片生产)的区别,如果要进行下载,那么必须使芯片处于下载模式。
打开串口助手,设置波特率为74880,然后复位芯片模组(即重新上电一次),观察接收中是否输出字符串ets Jan 8 2014,rst cause 1, boot mode:(1,7)或者 ets Jan 8 2013,rst cause:2, boot mode:(1,7)如果出现,表示可以正常下载。
“运行模式”与“下载模式”的唯一区别就是GPIO0端口。GPIO0为低电平就是下载模式;GPIO0为高电平就是工作模式。所以,烧录之前,必然存在一个拉低GPIO0端口的操作,一般地是在线路板上通过跳线短接的方式,将该端口的电平拉低。
ESP8266 Flash 地址配置:
烧录时的配置选项与编译时的配置是相关的, 编译SDK时,控制台会提示bin文件的烧录地址,配置不同,烧录的地址和需要的文件也不同
我们按照烧录文件的不同分为两种情况: 支持云端升级 和 不支持云端升级
另外,根据flash容量的不同,我们还要调整bin文件烧录的地址
支持云端升级的固件,在 flash 中会分为 2 个区,一个用来运行程序,一个用来保存升级固件, 当运行 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 发布日期: 2018.03.06