选择合适的烧录平台
乐鑫官方针对不同需求提供以下几种烧录工具:
基于 Web 的烧录工具: ESP LAUNCHPAD 烧录工具
优势:简单快捷,无需搭建环境或额外工具,通过 Web 界面轻松烧录固件
基于 PC 的量产烧录工具: Flash 下载工具
优势:提供了图形化界面,适用于自动化部署,支持一拖多的设备同时批量烧录
缺点:仅适用于 Windows PC 环境。
ESP-IDF 命令行终端烧录工具: idf.py 工具
优势:提供了一个前端界面,管理工程构建、部署、调试、烧录等操作。
基于 Python 的开源烧录工具: esptool 工具
优势:允许开发人员进行二次开发和脚本化集成,支持高级操作命令,可在 Windows、macOS、Linux 等平台使用。
基于 IDE 集成开发烧录环境 VS Code IDE 、 Espressif IDE (Eclipse) 、 Arduino IDE
准备工作
在给 ESP 设备烧录固件前,需要先了解 ESP 设备进入固件下载模式的硬件条件,具体说明请参见 ESP 产品固件烧录说明
ESP LAUNCHPAD 烧录工具
ESP LAUNCHPAD 是乐鑫提供的一个基于 Web 的固件烧录工具平台,用来快速将预编译固件烧录到 ESP 设备,无需本地搭建开发环境,通过浏览器访问网页即可使用。
ESP LAUCHPAD 提供了一些内置的、可直接使用的二进制固件,用户可以直接烧录到 ESP 设备上进行测试。如下:
此外,ESP LAUCHPAD 也支持上传自己本地的二进制固件来进行烧录。如下:
Flash 下载工具
Flash 下载工具是乐鑫官方提供的一款 Windows 平台烧录工具,用于将已编译好的固件(.bin 文件)烧录到 ESP 系列芯片的 Flash 中,也支持读取芯片信息、Flash 内容和 eFuse 等操作。
下载 Flash 下载工具
Flash 下载工具支持两种模式: Develop 模式与 Factory 模式,区别如下:
Develop 模式,只支持单片产品烧录。
Factory 模式:支持多片产品同时烧录。
详细说明请参见: Flash 下载工具用户指南。
另外,乐鑫配套提供了一系列烧录和产测工具,支持客户快速部署批量烧录环境,具体硬件选型参见: 产测配件 。
idf.py 工具
idf.py 是 ESP-IDF 的命令行前端工具,用来统一管理工程的配置、构建、烧录和调试等操作,本质上是对 CMake、Ninja/Make、esptool 等工具的封装。使用 idf.py 工具,用户需要先搭建 ESP-IDF 软件编译环境。
ESP-IDF 环境搭建请参见: 环境搭建 说明。
idf.py 工具使用说明请参见: IDF 前端工具 - idf.py。
注意: - idf.py 必须在 ESP-IDF 工程目录(包含 CMakeLists.txt 的目录)下运行。
idf.py 常用命令如下:
工程配置:
idf.py menuconfig构建工程:
idf.py build烧录工程:
idf.py flash监视串口输出:
idf.py monitor一键构建+烧录+监视:
idf.py flash monitor
另外,用户可在 ESP-IDF 命令行终端中运行 idf.py --help,以查看 idf.py 工具支持的所有命令及用法说明。如下:
esptool 工具
esptool 是乐鑫官方提供的基于 Python 的开源、跨平台命令行工具,可在 Windows、macOS、Linux 等平台使用,支持二次开发和脚本化集成。
esptool 工具提供了三种操作工具,分别是:
esptool.py: 通用烧录与芯片交互工具,用于通过串口与 ESP 芯片 ROM Bootloader 或 flasher stub 通信。espefuse.py: eFuse 管理工具,用于 eFuse(一次性可编程)的读写和保护配置espsecure.py: 安全操作工具,用于签名、加密等操作,与安全启动、加密 Flash 等安全特性配合使用。
esptool 安装方式
Windows 上使用 esptool
在 esptool > releases > Assets 下载 esptool 工具包
解压工具包
win + R快捷键,输入cmd,enter进入终端命令环境cd到 esptool 工具包路径,执行esptool.exe --help、espefuse.exe --help、espsecure.exe --help命令可查看支持的所有命令及用法说明。
Linux 上使用 esptool
打开终端命令行
使用
python -m pip install esptool指令安装 esptool 环境执行
esptool.py --help、espefuse.py --help、espsecure.py --help命令可查看支持的所有命令及用法说明。
esptool 常用命令
固件烧录:
esptool.py write_flash 0x0 app.bin固件读取:
esptool.py read_flash 0x0 0x20000 app.bind芯片 efuse 读取:
espefuse.py -p COM* summary生成 secure boot key:
espsecure.py generate_signing_key secure_boot_signing_key.pem --version 2
IDE 烧录
VS Code IDE
使用 VS Code IDE 烧录需要在 VS Code 中安装 ESP-IDF Extension 集成开发环境。参见 安装 ESP-IDF 和相关工具 说明。 VS Code 下的 ESP-IDF 插件可以提供一整套“所见即所得”的烧录环境,相当于把命令行的 idf.py 工具等操作做成按钮和菜单。在 VS Code ESP-IDF 插件中,常见按钮/命令与命令行的对应关系大致如下:
工程配置:图形化 “SDK 配置编辑器” ≈
idf.py menuconfig构建工程 ==
idf.py build烧录工程 ==
idf.py flash监视串口输出 ==
idf.py monitor一键构建+烧录+监视 ==
idf.py flash monitor(内部组合 build/flash/monitor)
详细使用参见: 烧录项目 说明。
Espressif IDE (Eclipse)
Espressif-IDE 是基于 Eclipse CDT 的官方集成开发环境,用于使用 ESP-IDF 开发 ESP 系列芯片的物联网应用,该独立 IDE 专为 ESP-IDF 打造,内置了 ESP-IDF 的 Eclipse 插件、Eclipse CDT 的基本插件,以及其他辅助开发的第三方插件,可支持 ESP-IDF 应用的构建。可在 Windows、macOS 和 Linux 上运行。
Espressif-IDE 环境安装和使用参见 Espressif-IDE 用户指南。
Arduino IDE
ESP32 在 Arduino IDE 下开发,主要依托 Espressif 官方维护的 ESP32 Arduino Core( arduino-esp32)。它把 ESP32 系列芯片封装成 Arduino 支持的“内核”,让你用熟悉的 Arduino API 来开发 ESP32,同时还能利用底层 ESP-IDF 的部分功能。
参考文档:
环境搭建可参考: 基于 Windows 安装 ESP32 Arduino 软件开发环境