选择合适的烧录平台

[English]

乐鑫官方针对不同需求提供以下几种烧录工具:

  1. 基于 Web 的烧录工具: ESP LAUNCHPAD 烧录工具

    • 优势:简单快捷,无需搭建环境或额外工具,通过 Web 界面轻松烧录固件

  2. 基于 PC 的量产烧录工具: Flash 下载工具

    • 优势:提供了图形化界面,适用于自动化部署,支持一拖多的设备同时批量烧录

    • 缺点:仅适用于 Windows PC 环境。

  3. ESP-IDF 命令行终端烧录工具: idf.py 工具

    • 优势:提供了一个前端界面,管理工程构建、部署、调试、烧录等操作。

  4. 基于 Python 的开源烧录工具: esptool 工具

    • 优势:允许开发人员进行二次开发和脚本化集成,支持高级操作命令,可在 Windows、macOS、Linux 等平台使用。

  5. 基于 IDE 集成开发烧录环境 VS Code IDEEspressif 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 下载工具支持两种模式: Develop 模式与 Factory 模式,区别如下:

  • Develop 模式,只支持单片产品烧录。

  • Factory 模式:支持多片产品同时烧录。

详细说明请参见: Flash 下载工具用户指南

另外,乐鑫配套提供了一系列烧录和产测工具,支持客户快速部署批量烧录环境,具体硬件选型参见: 产测配件

idf.py 工具

idf.py 是 ESP-IDF 的命令行前端工具,用来统一管理工程的配置、构建、烧录和调试等操作,本质上是对 CMake、Ninja/Make、esptool 等工具的封装。使用 idf.py 工具,用户需要先搭建 ESP-IDF 软件编译环境。

注意: - 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

    1. esptool > releases > Assets 下载 esptool 工具包

    2. 解压工具包

    3. win + R 快捷键,输入 cmd , enter 进入终端命令环境

    4. cd 到 esptool 工具包路径,执行 esptool.exe --helpespefuse.exe --helpespsecure.exe --help 命令可查看支持的所有命令及用法说明。

  • Linux 上使用 esptool

    1. 打开终端命令行

    2. 使用 python -m pip install esptool 指令安装 esptool 环境

    3. 执行 esptool.py --helpespefuse.py --helpespsecure.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 上运行。

Arduino IDE

ESP32 在 Arduino IDE 下开发,主要依托 Espressif 官方维护的 ESP32 Arduino Core( arduino-esp32)。它把 ESP32 系列芯片封装成 Arduino 支持的“内核”,让你用熟悉的 Arduino API 来开发 ESP32,同时还能利用底层 ESP-IDF 的部分功能。

参考文档: