选择合适的烧录平台

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

  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 LAUNCHPAD 提供了一些内置的、可直接使用的二进制固件,用户可以直接烧录到 ESP 设备上进行测试。如下:

esp-launchpad
点击放大

此外,ESP LAUNCHPAD 也支持上传自己本地的二进制固件来进行烧录。如下:

esp-launchpad-diy
点击放大

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 软件编译环境。

[!Note] 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 工具支持的所有命令及用法说明。如下:

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 快捷键,输入 cmdenter 进入终端命令环境。
    4. cd 到 esptool 工具包路径,执行 esptool.exe --helpespefuse.exe --helpespsecure.exe --help 命令可查看支持的所有命令及用法说明。

    esptool
    点击放大

  • 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.bin
  • 芯片 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)

vscode-flash
点击放大

详细使用参见: 烧录项目 说明。

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 的部分功能。

参考文档:

arduino-ide
点击放大