概述
esptool.py 是乐鑫官方提供的命令行工具。它实现对esp8266 、esp32 flash 读写、擦除等操作。
环境配置
python 安装
either Python 2.7 or Python 3.4 or newer
利用pip 安装
pip3 install esptool
cygwin 或 wsl 端口号表示 转换
为了提高脚本执行的效率,在调用脚本时,需要指定esp 设备对应的串口端口号。在window环境,用COM1、COM2… 等表示端口号。在cygwin 或wsl 需要转换(COM1 -> /dev/ttyS1)
如果不知道esp 设备对应的版本号,或者忘记指定了版本号。esptool 会枚举所有的端口号,直至找到正确的版本号。
命令行实现简单的at固件烧录脚本(esp_at_download.py)
#!/usr/bin/python3
import os
import sys
# portName = "/dev/ttyS4"
portName = sys.argv[1]
list = [
[0x00000, "./boot_v1.7.bin"],
[0x01000, "./at/1024+1024/user1.2048.new.5.bin"],
[0x0fe000, "./blank.bin"],
[0x1fc000, "./esp_init_data_default_v08.bin"],
[0x1fe000, "./blank.bin"],
]
for item in list:
command = 'python3 /usr/local/bin/esptool.py --port '+ portName + ' write_flash ' + str(item[0]) + ' ' + str(item[1])
os.system(command)
执行 python3 esp_at_download.py /dev/ttyS4