ESP8266及ESP32固件生成及烧录方法
介绍
ESP32模块是将天线开关、RF balun、功率放大器、接收低噪声放大器、滤波器、电源管理模块等功能集于一体。ESP32只需极少的外围器件,即可实现强大的处理性能、可靠的安全性能,和 Wi-Fi & 蓝牙功能。
采购新的ESP32模块的时候,里面是没有AT指令固件的,需要进行烧录,下面以ESP-32S为例进行说明,同时也作为以后工作中使用。
相关的工具和资料,可以关注我的公众号,回复“ ESP-32S ”,进行下载。
一、烧录工具介绍
软件介绍
1 | 在这里,老刘使用的是: |
1 | flash_download_tool_v3.8.7_0 |
1 | 我们将软件进行解压缩,找到以下图标的exe文件。 |
1 | 以管理员的模式进行打开。 |
1 | 其中ChipType我们选择“ESP32”, |
①我们选择SPIDownload
②点击…找到我们要下载固件的路径,地址为0x0
③默认的是40MHz
④默认的DIO模式
⑤要进行DoNotChgBin的勾选
⑥开始下载、停止、擦除按钮
⑦选择电脑识别的COM口,可以在设备管理器里面进行查询,而波特率,个人建议越大越好,下载的速度会快一些。
硬件连接
1 | 使用串口调试助手,连接到模块的"下载固件/输出日志"的串口,在这里,根据文档中,ESP-32S模块的"下载固件/输出日志"的串口为U0TXD和U0RXD。分别连接到USB转串口的工具上。别忘记连接GND。 |
进行下载
1 | 点击START按键的时候,会有如下提示: |
1 | SYNC等待上电同步,右边的窗口也在等待中,我们将ESP32模块重新上电。 |
1 | 软件自动进行下载操作,直到显示FINISH完成 |
至此,下载完成,如果不成功,有以下几种可能,需要注意一下:
a、下载的版本号不对;
b、选择的bin文件不对;
c、没有勾选DoNotChgBin
d、没有选对COM口(USB转串口的COM以及模块的下载串口)
e、没有将GPIO0和GND相连。
二、at.py工具的使用
1 | 该工具是用来修改ESP-AT官方发布的固件,包括Wi-Fi配置、证书和密钥配置、串口配置、GATTS配置等等。我们使用这个工具来进行"AT命令响应"串口的配置,配置为GPIO16和GPIO17。 |
a、python安装(3.7版本以上,在这里默认安装好了)
**b、at.py下载(在我的资料包里面有,或者从官网下载) **
c、查看at.py的用法
在命令行中输入以下指令:
1 | python at.py modify_bin --help |
1 | 会有详细的说明,我们现在使用更改串口的指令。按照官方的说明进行设置。 |
d、修改AT指令的串口
1 | python at.py modify_bin --baud 921600 --tx_pin 17 --rx_pin 16 --cts_pin -1 --rts_pin -1 --input factory_XXX.bin |
1 | https://docs.ai-thinker.com/en/esp32/sdk |
1 | 更改之后,生成了新的bin文件。而文件名称是target.bin文件,而且每次生成的都是这个文件名字,可以查看一下at.py文件,可以看见以下的代码,默认的就是target.bin。 |
1 | parser_modify_bin.add_argument('--output', '-o', |
结:
1 | 以上为使用at.py工具修改bin文件,以及如何进行烧录的设置。留作备份,后续工作中会使用到。 |
延续阅读
1.环境搭建 | VScode与ESP-IDF完美结合让ESP32窜起来
2.环境搭建 | Eclipse与ESP-IDF完美结合让ESP32飞起来
3.Python挺酷的 | Thonny MicroPython ESP32 开发环境搭建
4.Python挺酷的 | 识别蓝牙MIDI(基于ESP32开发板)
5.Python挺酷的 | PyCharm MicroPython ESP32 开发环境搭建
出现等待上电同步如何解决
前提
开发板:ESP32 DEVKIT V1
芯片:ESP32-F
问题:
使用乐鑫ESP32 DOWNLOAD TOOL V3.9.2向ESP32开发板烧录固件时,点击“START”,出现“等待上电同步”
解决办法:
同时按住RST与BOOT持续一秒,然后松开RST键,观察是否开始下载,如果未成功多试几次,已验证。
相关链接(侵删)
欢迎到公众号来唠嗑: