简介
esptool是一个Python软件程序,适用于ESP8266等一系列芯片的烧写,灵活高效。
环境构建
在官网下载安装最新2.7版python
(linux和os x一般会自带python2.7,如若不是推荐使用apt-get/yum/brew等工具下载安装)
记住安装路径,以待留用设置环境变量
添加环境变量D:Python27和D:Python27Scripts
(linux或os x会自动设置环境变量)
打开命令提示行,输入pip install esptool 安装esptool
(os x如果没有pip命令,可以先使用easy_install安装pip,然后再pip install esptool)
烧写
使用USB转TTL模块连接ESP8266串口,并确认串口号(下图中为COM2),并调整ESP8266相关引脚的电平,使之处于下载模式
(提前确认linux/os x安装了相关usb转串口驱动,其文件名类似/dev/ttyUSB0或/dev/cu.cu.SLAB_UBtoUART)
1. 针对非IDF的SDK
编译完成后,取blank.bin、boot_v1.6.bin(其他版本版本亦可)、esp_init_data_default.bin和user1.bin(示例程序Flash-40MH-DOUT-2MB:启动AP,SSID:beecom123;密码:beecom123:提取码:ib9i)
esptool.py --chip esp8266 --port COM2 --baud 115200 write_flash -z --flash_mode dout --flash_freq 40m --flash_size 2MB 0x0000 boot_v1.6.bin 0x1FB000 blank.bin 0x1FC000 esp_init_data_default.bin 0x1FE000 blank.bin 0x01000 upgrade/user1.2048.new.5.bin
第一次烧写必须写Boot和参数,以后可简化,只烧写user1.bin即可:
esptool.py --chip esp8266 --port COM2 --baud 115200 write_flash -z --flash_mode dout --flash_freq 40m --flash_size 2MB 0x01000 upgrade/user1.2048.new.5.bin
(注:烧写过程中如若长时等待未启动,可以尝试重启芯片并检查GPIO0是否接地以开启下载模式)
2. 针对IDF的SDK
搭建完IDF编译环境后,根据编译输出提示,取其中的bin文件,并按照对应的地址使用同上命令烧写即可,比如
esptool.py --chip esp8266 --port COM2 --baud 115200 write_flash -z --flash_mode dout --flash_freq 40m --flash_size 2MB 0x0000 bootloader.bin 0x10000 project_template.bin 0x8000 partitions_singleapp.bin