# 可下载的 ESP-IDF 工具

[English]

构建过程中，ESP-IDF 依赖许多工具，如交叉编译工具链、CMake 构建系统等。

如 快速入门 所述，若所需工具版本可用，首选使用当前操作系统的软件包管理器（如 apt、yum、brew 等）安装相关工具。例如，在 Linux 和 macOS 系统中，建议用 Linux 和 macOS 系统的软件包管理器安装 CMake。

但部分 ESP-IDF 的特定工具在操作系统软件包存储库中不可用，且不同版本的 ESP-IDF 需相应使用不同版本的工具运行。为解决以上两个问题，ESP-IDF 提供了一组脚本，可以下载和安装正确的工具版本，并设置相应运行环境。

下文中，这类可下载的工具简称为“工具”。除此类工具外，ESP-IDF 还使用以下工具：

- ESP-IDF 捆绑的 Python 脚本，如 `idf.py`

- 从 PyPI 安装的 Python 软件包

以下各小节介绍了可下载工具的安装方法，并提供了在不同平台上安装的工具列表。

备注

本文档面向需要自定义其安装过程的高级用户、希望了解安装过程的用户以及 ESP-IDF 开发人员。

要了解如何安装 ESP-IDF 工具，请参阅 快速入门。

## 工具元数据文件

各平台所需工具及工具版本列表存放在 tools/tools.json 文件中，tools/tools_schema.json 定义了该文件的模式。

在安装工具或设置环境变量时，tools/idf_tools.py 脚本将使用上述文件。

## 工具安装目录

`IDF_TOOLS_PATH` 环境变量指定下载及安装工具的位置。若未设置该变量，Linux 和 macOS 系统的默认下载安装位置为 `HOME/.espressif`，Windows 系统的默认下载安装位置为 `%USER_PROFILE%\.espressif`。

在 `IDF_TOOLS_PATH` 目录下，工具安装脚本会创建以下子目录和文件：

- `dist` — 工具存档下载位置。

- `tools` — 工具解压缩位置。工具会解压缩到子目录 `tools/TOOL_NAME/VERSION/` 中，该操作支持同时安装不同版本的工具。

- `idf-env.json` — “目标 (target)”和“功能 (feature)”等用户安装选项均存储在此文件中。“目标”为选择需要安装和保持更新的工具的芯片目标；“功能”则决定应安装哪些 Python 软件包。有关用户安装选项的详情，请参阅下文。

- `python_env` — 与工具无关；虚拟 Python 环境安装在其子目录中。注意，设置 `IDF_PYTHON_ENV_PATH` 环境变量可以将 Python 环境目录放置到其他位置。

- `espidf.constraints.*.txt` — 每个 ESP-IDF 版本都有的约束文件，包含 Python 包版本要求。

## GitHub 资源镜像

工具下载器下载的工具大多属于 GitHub 发布的资源，即在 GitHub 上伴随软件发布的文件。

如果无法访问 GitHub 下载或访问速度较慢，可以配置一个 GitHub 资源镜像。

要使用乐鑫下载服务器，请将环境变量 `IDF_GITHUB_ASSETS` 设置为 `dl.espressif.com/github_assets`，在国内下载时，也可设置为 `dl.espressif.cn/github_assets` 加快下载速度。安装过程中，当从 `github.com` 下载工具时，URL 将重写为使用乐鑫下载服务器。

只要 URL 与 `github.com` 的下载 URL 格式匹配，任何镜像服务器均可使用，安装过程中下载的 GitHub 资源 URL 将把 `https://github.com` 替换为 `https://${IDF_GITHUB_ASSETS}`。

备注

目前，乐鑫下载服务器不会镜像 GitHub 上的所有内容，只镜像部分发布版本的附件资源文件及源文件。

## `idf_tools.py` 脚本

ESP-IDF 随附的 tools/idf_tools.py 脚本具备以下功能：

- `install`：将工具下载到 `${IDF_TOOLS_PATH}/dist` 目录，并解压缩到 `${IDF_TOOLS_PATH}/tools/TOOL_NAME/VERSION`。

  `install` 命令接收 `TOOL_NAME` 或 `TOOL_NAME@VERSION` 格式的安装工具列表。如果给定参数 `all`，则会安装列表上的所有工具，包括必须项和可选项。如果没有给定参数，或给定参数为 `required`，则只安装必须项。

- `download`：与 `install` 类似，但不会解压缩工具。使用可选项 `--platform` 可下载特定平台的工具。

- `export`：列出使用已安装工具前应设置的环境变量。对多数工具而言，只需要设置环境变量 `PATH`，但也有些工具需要设置额外的环境变量。

  环境变量可以以 `shell` 或 `key-value` 格式列出，使用 `--format` 参数设置该选项。

  - `export` 可选参数：

    - `--unset`：该参数可用于创建语句，取消特定全局变量设置，使环境恢复到调用 `export.{sh/fish}` 前的状态。

    - `--add_paths_extras`：该参数将 `$PATH` 中与 ESP-IDF 相关的额外路径添加到 `${IDF_TOOLS_PATH}/esp-idf.json` 中，以保证在退出当前 ESP-IDF 环境时删除全局变量。例如，在运行 `export.{sh/fish}` 脚本时，如果在全局变量 `$PATH` 中添加了新的路径，在命令中添加该参数可以将这些新路径保存到 `${IDF_TOOLS_PATH}/esp-idf.json` 文件中。

  - `shell`：生成适合在 shell 中执行的输出，例如，在 Linux 和 macOS 上生成以下输出

        export PATH="/home/user/.espressif/tools/tool/v1.0.0/bin:$PATH"

    在 Windows 上生成以下输出

        set "PATH=C:\Users\user\.espressif\tools\v1.0.0\bin;%PATH%"

    备注

    当前不支持以 Powershell 格式导出环境变量，可以用 `key-value` 格式代替。

    如果 shell 支持，则该命令的输出可用于更新环境变量。例如

        eval $($IDF_PATH/tools/idf_tools.py export)

  - `key-value`：以 `VARIABLE=VALUE` 格式生成输出，以便其他脚本解析

        PATH=/home/user/.espressif/tools/tool/v1.0.0:$PATH

    注意，用于处理此输出的脚本必须对输出中的 `$VAR` 或 `%VAR%` 模式进行扩展，即解析成对应变量。

- `list`：列出已知的工具版本，并指示哪些版本已安装。

  以下选项可用于自定义输出。

  - `--outdated`：仅列出安装在 `IDF_TOOLS_PATH` 中的过时版本工具。

- `check`：检查每个工具是否在系统路径和 `IDF_TOOLS_PATH` 中可用。

- `install-python-env`：在 `${IDF_TOOLS_PATH}/python_env` 目录或直接在 `IDF_PYTHON_ENV_PATH` 环境变量设置的目录中创建 Python 虚拟环境，并在其中安装所需的 Python 软件包。

  - 参数 `--features` 为可选项，用于指定要添加或删除的功能列表，功能之间用逗号分隔。

    1. 该参数将删除以 `-` 开头的功能，添加以 `+` 开头或无符号标记的功能。例如，要删除功能 `XY`，示例语法为 `--features=-XY`；要添加功能 `XY`，示例语法为 `--features=+XY` 或 `--features=XY`。如果为同一功能同时提供了删除和添加选项，则不执行任何操作。

    2. 每个功能都必须有依赖文件。例如，只有当 `${IDF_PATH}/tools/requirements/requirements.XY.txt` 文件已存在，并包含要安装的 Python 包列表时，功能 `XY` 才有效。

    3. `core` 功能为必须项，确保 ESP-IDF 的核心功能，如控制台中的构建、烧录、监视器、调试等。

    4. 用户可选择任意数量的可选功能，已选功能列表存储在 `idf-env.json` 中。

    5. 依赖文件中存储了需要安装的 Python 包以及 `espidf.constraints.*.txt` 文件，该约束文件从 https://dl.espressif.com 下载，并存储在 `${IDF_TOOLS_PATH}` 目录，包含了针对特定 ESP-IDF 版本的安装包版本要求。

  备注

  可以通过使用 `--no-constraints` 参数或将环境变量 `IDF_PYTHON_CHECK_CONSTRAINTS` 设置为 `no`，禁用约束文件的下载和使用，但 并不建议此做法。

- `check-python-dependencies`：检查所有必需的 Python 包是否均已安装。该命令会对比检查由 `idf-env.json` 功能列表从 `${IDF_PATH}/tools/requirements/requirements.*.txt` 所选择的软件包与 `espidf.constraints.*.txt` 文件指定的软件包版本是否一致。

  备注

  约束文件可通过 `install-python-env` 命令下载。与 `install-python-env` 命令类似，可以通过使用 `--no-constraints` 参数或将环境变量 `IDF_PYTHON_CHECK_CONSTRAINTS` 设置为 `no`，禁止使用约束文件。

- `uninstall`：打印并删除当前 ESP-IDF 版本未使用的工具。

  - `--dry-run` 打印已安装但未使用的工具。

  - `--remove-archives` 删除过去下载的所有旧版本软件安装包。

## 安装脚本

ESP-IDF 的根目录中提供了针对不同 shell 的用户安装脚本，包括：

- `install.bat` 适用于 Windows 命令提示符

- `install.ps1` 适用于 Powershell

- `install.sh` 适用于 Bash

- `install.fish` 适用于 Fish

这些脚本除了下载和安装 `IDF_TOOLS_PATH` 中的工具外，还会准备一个 Python 虚拟环境，并在此虚拟环境中安装所需软件包。

为启用相应功能，这些脚本可以选择性地接受一组以逗号分隔的芯片目标列表及 `--enable-*` 参数，这类参数会传递给 `idf_tools.py` 脚本，并由该脚本将这类参数存储在 `idf-env.json` 中，从而逐步启用芯片目标及功能。

要为所有芯片目标安装工具，请在不使用任何可选参数的情况下，运行 `idf_tools.py install --targets=all`。要安装具备 ESP-IDF 核心功能的 Python 软件包，请运行 `idf_tools.py install-python-env --features=core`。

也可为特定芯片安装工具，例如，运行 `install.sh esp32` 可以只为 ESP32 安装工具。更多相关示例，请参阅 第三步：设置工具。

运行 `idf_tools.py install-python-env --features=core,XY`，`install.sh --enable-XY` 可以启用 `XY` 功能。

## 导出脚本

由于安装好的工具并非永久添加到用户或系统的 `PATH` 环境变量中，因此，要在命令行中使用这些工具，还需要额外步骤。以下脚本会修改当前 shell 的环境变量，从而使用正确版本的工具：

- `export.bat` 适用于 Windows 命令提示符

- `export.ps1` 适用于 Powershell

- `export.sh` 适用于 Bash

- `export.fish` 适用于 Fish

备注

在 Bash 中修改 shell 环境时，必须使用 `. ./export.sh` 命令加载 `export.sh`，注意添加前面的点和空格。

`export.sh` 可以在除了 Bash 外的其他 shell（如 zsh）中使用。但在这种情况下，必须在运行脚本前设置 `IDF_PATH` 环境变量。在 Bash 中使用时，脚本会从当前目录猜测 `IDF_PATH` 的值。

除了调用 `idf_tools.py`，这些脚本还会列出已经添加到 `PATH` 的目录。

## 其他安装方法

为适用于不同环境，ESP-IDF 提供了更多用户友好的 `idf_tools.py` 包装工具：

- ESP-IDF 工具安装器 支持下载和安装工具，其内部使用 `idf_tools.py` 实现功能。

- ESP-IDF Eclipse 插件 包括了一个用于设置工具的菜单项，该插件内部调用 `idf_tools.py`。

- VSCode ESP-IDF 扩展 提供了设置工具的入门流程。尽管此扩展包不依赖 `idf_tools.py`，但安装方法相同。

## 自定义安装

推荐用户使用上述方法安装 ESP-IDF 工具，但也可以选择其他方式来构建 ESP-IDF 应用程序。自定义安装时，用户需将所有必要的工具都安装在某个位置，并在 `PATH` 中定义，以保证 ESP-IDF 构建系统可用。

## 卸载 ESP-IDF

卸载 ESP-IDF 需要删除安装过程中配置的工具和环境变量。

- 使用 Windows ESP-IDF 工具安装器 的 Windows 用户可以直接运行卸载向导卸载 ESP-IDF。

- 工具安装目录 下包含了已下载及安装的工具，删除该目录即可删除此前通过运行 安装脚本 安装的内容。通过 导出脚本 设置的环境变量不具备永久性，新环境中不会存在此类环境变量。

- 如在安装过程中进行了自定义设置，除删除上述工具外，可能还涉及手动恢复此前为适用 ESP-IDF 工具而修改的环境变量及系统路径，例如 `IDF_PYTHON_ENV_PATH` 或 `IDF_TOOLS_PATH`。如存在通过手动复制安装的工具，则也需手动追踪并删除相关文件。

- 如安装了 ESP-IDF Eclipse 或 VSCode ESP-IDF 扩展程序 等插件，则需按照对应插件文档中的特定卸载说明进行操作。

备注

卸载 ESP-IDF 工具不会删除任何项目文件或用户代码。为防止意外丢失其他文件，请在删除文件时谨慎操作。如果对某个步骤的操作有所疑问，请参考前述安装说明。

上述卸载指南默认需卸载的工具是按本文档中的步骤进行安装的。如果使用了自定义安装，可能需要进行相应调整。

## ESP-IDF 工具列表

### xtensa-esp-elf-gdb

GDB for Xtensa

License: GPL-3.0-or-later

More info: https://github.com/espressif/binutils-gdb

Platform | Required | Download
--- | --- | ---
linux-amd64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-x86_64-linux-gnu.tar.gz SHA256: 16d05c9104ff84529ac3799abb04d5666c193131ab461f153040721728b48730
linux-arm64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-aarch64-linux-gnu.tar.gz SHA256: ecbd53ba28cf24301be8260249bfcfb60567f938f4402797617c8a0fc170dc7d
linux-armel | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-arm-linux-gnueabi.tar.gz SHA256: c0895e88797089fd6b16e1cb986c5c85a880e0e8dc03bde1016c7771bc10ddba
linux-armhf | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-arm-linux-gnueabihf.tar.gz SHA256: d939e273150f78c79e62c15564cb880f253b8f23670968905ea00687f9a7af2f
linux-i686 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-i586-linux-gnu.tar.gz SHA256: 64ffefb7625edae77a03a13fd9bd07db088dec9d145eb1124de66f11510f7558
macos | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-x86_64-apple-darwin24.5.tar.gz SHA256: 8341493abc87e6ae468f4eda16c768b2ddb20c98336e1c491a3801ad823680ae
macos-arm64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-aarch64-apple-darwin24.5.tar.gz SHA256: 251e3be9c9436d9ab7fee6c05519fd816a05e63bd47495e24ea4e354881a851c
win32 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-i686-w64-mingw32.zip SHA256: 8fc9fa6a934523b6ad6e787cf1664d48496bae456fd85ea7589e3684ce3bbbe5
win64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/xtensa-esp-elf-gdb-16.3_20250913-x86_64-w64-mingw32.zip SHA256: 99a2243b9a75bbac95a672cc3ab4b36013429ab5b4583e7a28339e3015a3fdfa

### riscv32-esp-elf-gdb

GDB for RISC-V

License: GPL-3.0-or-later

More info: https://github.com/espressif/binutils-gdb

Platform | Required | Download
--- | --- | ---
linux-amd64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/riscv32-esp-elf-gdb-16.3_20250913-x86_64-linux-gnu.tar.gz SHA256: 4e3cf8b7d11c7a2d1b50f40b1c50c0671dfe7eb13782c27c8a8cfdc8548bcdd4
linux-arm64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/riscv32-esp-elf-gdb-16.3_20250913-aarch64-linux-gnu.tar.gz SHA256: 8f1f4f24fa534c76ed9d71efffbf728cc30169e911742d7bd67dd0fdcf5f3ae3
linux-armel | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/riscv32-esp-elf-gdb-16.3_20250913-arm-linux-gnueabi.tar.gz SHA256: ac4fc85e3daf190b21598ec468933dc2659033580715560f45827da25e15b285
linux-armhf | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/riscv32-esp-elf-gdb-16.3_20250913-arm-linux-gnueabihf.tar.gz SHA256: 628d0375f80f63834f68be1b2c4d71690d32ac71b4a9a32f514829a9eb90439f
linux-i686 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/riscv32-esp-elf-gdb-16.3_20250913-i586-linux-gnu.tar.gz SHA256: 905dcd78558d7d559a95dc1eacc4572ea908be4ae6b1c937ea63a98df4482ca9
macos | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/riscv32-esp-elf-gdb-16.3_20250913-x86_64-apple-darwin24.5.tar.gz SHA256: 2d5e5efead0b189e13cfe2670ca9d6d5965378ef3632d0b163a14f2f0536c274
macos-arm64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/riscv32-esp-elf-gdb-16.3_20250913-aarch64-apple-darwin24.5.tar.gz SHA256: 92771492084746fd22521c7c5b52bf1ed6dd86ef3cafe60e771bbdb4f0943f5a
win32 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/riscv32-esp-elf-gdb-16.3_20250913-i686-w64-mingw32.zip SHA256: c6a36c469d3b76e2b442be207814f7c3f71f21faf6faab4dd33fdedd56d89c01
win64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.3_20250913/riscv32-esp-elf-gdb-16.3_20250913-x86_64-w64-mingw32.zip SHA256: 32e79cb43b40f3b256193139b1fefd2782e3eaf82ee317b757ec8ba18b35159d

### xtensa-esp-elf

Toolchain for 32-bit Xtensa based on GCC

License: GPL-3.0-with-GCC-exception

More info: https://github.com/espressif/crosstool-NG

Platform | Required | Download
--- | --- | ---
linux-amd64 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/xtensa-esp-elf-13.2.0_20250707-x86_64-linux-gnu.tar.xz SHA256: d1f1378394baa3788bf78062e5d041cb14d4858bbb57f86d59e5b83fc9d5525f
linux-arm64 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/xtensa-esp-elf-13.2.0_20250707-aarch64-linux-gnu.tar.xz SHA256: 166c0a6268254acb6d7a72fa8953f3f569a63b1f2dc9adff752a52debb12a364
linux-armel | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/xtensa-esp-elf-13.2.0_20250707-arm-linux-gnueabi.tar.xz SHA256: 93d510b3dee9a5d59390213e617bf23c1b69c2b179e7ef415c9a803d54f9e1b1
linux-armhf | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/xtensa-esp-elf-13.2.0_20250707-arm-linux-gnueabihf.tar.xz SHA256: fdcbcaa8cd7584e45deb77f12ea51fc25b408b9a45ab9335ff0613145b119091
linux-i686 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/xtensa-esp-elf-13.2.0_20250707-i586-linux-gnu.tar.xz SHA256: 75a2abf8137e0f90927b5fc57a098bccd031d489fcc82c93bec244950d9044d2
macos | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/xtensa-esp-elf-13.2.0_20250707-x86_64-apple-darwin.tar.xz SHA256: 8152d897b559b0833d81fb4e891b42dbf225bd1166a4b5a5d91a1d94475444e1
macos-arm64 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/xtensa-esp-elf-13.2.0_20250707-aarch64-apple-darwin.tar.xz SHA256: 28e2a33b04397dcfeb8bf1beaea7f4d76eb1edf163626ca377913a1859cfb7a3
win32 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/xtensa-esp-elf-13.2.0_20250707-i686-w64-mingw32.zip SHA256: 6450e261299c601b5fbe4d25f5a6be35cf6ec4fc8d36323f686f116a2e6cd1b4
win64 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/xtensa-esp-elf-13.2.0_20250707-x86_64-w64-mingw32.zip SHA256: e0eae3964d603d15fca309d2c02af40c25429ced443460b9cb07980b261e5069

### esp-clang

Toolchain for all Espressif chips based on clang

License: Apache-2.0

More info: https://github.com/espressif/llvm-project

Platform | Required | Download
--- | --- | ---
linux-amd64 | optional | https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-linux-amd64.tar.xz SHA256: 3dbd8dd290913a93e8941da8a451ecd49f9798cc2d74bb9b63ef5cf5c4fee37f
linux-arm64 | optional | https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-linux-arm64.tar.xz SHA256: 4b115af6ddd04a9bffc1908fc05837998ee71d450891d741c446186f2aa9b961
linux-armhf | optional | https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-linux-armhf.tar.xz SHA256: 935082bb0704420c5ca42b35038bba8702135348a50cac454ae2fb55af0b4c32
macos | optional | https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-macos.tar.xz SHA256: d9824acafd3e7b1d17ace084243b82a95bbdcb149a26b085bba487ab3d3716d7
macos-arm64 | optional | https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-macos-arm64.tar.xz SHA256: ed5621396dc3e48413e14e8b6caed8e2993e7f2ab5fca1410081f40c940a1060
win64 | optional | https://github.com/espressif/llvm-project/releases/download/esp-16.0.0-20230516/llvm-esp-16.0.0-20230516-win64.tar.xz SHA256: 598c8241c8bf10fd1be8bd21845307cfc404e127041b4ba4e828350a88692883

### riscv32-esp-elf

Toolchain for 32-bit RISC-V based on GCC

License: GPL-3.0-with-GCC-exception

More info: https://github.com/espressif/crosstool-NG

Platform | Required | Download
--- | --- | ---
linux-amd64 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/riscv32-esp-elf-13.2.0_20250707-x86_64-linux-gnu.tar.xz SHA256: bd1ad6cdcee2d5de288c0c05b70f56f959dd270e2df254159594d0b05ad5dea1
linux-arm64 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/riscv32-esp-elf-13.2.0_20250707-aarch64-linux-gnu.tar.xz SHA256: c97ef1a0d7cf675ec1ba61c6733f4a821912d0af60575dbb9e90a80a0c6e598f
linux-armel | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/riscv32-esp-elf-13.2.0_20250707-arm-linux-gnueabi.tar.xz SHA256: bcf72e08e601e82dd848ced4b87e712bb88ed76ac6aa6b208c087f5f615a0e8f
linux-armhf | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/riscv32-esp-elf-13.2.0_20250707-arm-linux-gnueabihf.tar.xz SHA256: 249ecf34be5a7743798d86a53db9a5a3df618721afedd3bacf64e02046a21225
linux-i686 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/riscv32-esp-elf-13.2.0_20250707-i586-linux-gnu.tar.xz SHA256: 50277ae3a0adba0363762325e10c509c21dd42c4d2263d8bc445270934467d99
macos | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/riscv32-esp-elf-13.2.0_20250707-x86_64-apple-darwin.tar.xz SHA256: bf433fcaf46f2c124921d0a1e317d777f6f9697ac84d0b45c8aaed91fa3bc954
macos-arm64 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/riscv32-esp-elf-13.2.0_20250707-aarch64-apple-darwin.tar.xz SHA256: 984819225ecd1ccfd03fbc1417061b34c33e04ba76510f95a932d5cbc01be45c
win32 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/riscv32-esp-elf-13.2.0_20250707-i686-w64-mingw32.zip SHA256: 474be67f9c0c7bdf901265f8bd63141a1fec6e94e2fcd887693edd1d6dc106ba
win64 | required | https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20250707/riscv32-esp-elf-13.2.0_20250707-x86_64-w64-mingw32.zip SHA256: 79a65a85be948c2d64972314d785f13f4984acca556166422dbc23814c591c3b

### esp32ulp-elf

Toolchain for ESP32 ULP coprocessor

License: GPL-3.0-or-later

More info: https://github.com/espressif/binutils-gdb

Platform | Required | Download
--- | --- | ---
linux-amd64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp32ulp-elf-2.38_20240113/esp32ulp-elf-2.38_20240113-linux-amd64.tar.gz SHA256: d13a808365b78465fa6591636dfbbb9604d9d15a397c3d9cd22626d54828ac2c
linux-arm64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp32ulp-elf-2.38_20240113/esp32ulp-elf-2.38_20240113-linux-arm64.tar.gz SHA256: ecce0788ce1000e5c669c5adaf2fd5bf7f9bf96dcdbd3555d1d9ce4dcb311038
linux-armel | required | https://github.com/espressif/binutils-gdb/releases/download/esp32ulp-elf-2.38_20240113/esp32ulp-elf-2.38_20240113-linux-armel.tar.gz SHA256: 7228b01277f7908d72eb659470f82e143c4c66b444538a464290d88ece16130e
linux-armhf | required | https://github.com/espressif/binutils-gdb/releases/download/esp32ulp-elf-2.38_20240113/esp32ulp-elf-2.38_20240113-linux-armhf.tar.gz SHA256: 951b089c66561bc2190a8d57c316dfaef985a778728a7c30e1edcd29fe180016
linux-i686 | required | https://github.com/espressif/binutils-gdb/releases/download/esp32ulp-elf-2.38_20240113/esp32ulp-elf-2.38_20240113-linux-i686.tar.gz SHA256: df323d40962313168f6feeb2d9471c6010ff23a7896f40244e62991517d9745b
macos | required | https://github.com/espressif/binutils-gdb/releases/download/esp32ulp-elf-2.38_20240113/esp32ulp-elf-2.38_20240113-macos.tar.gz SHA256: b2aeba8eaafdf156e9e30be928dde1f133b00eaf33802d96827ec544ac7c864c
macos-arm64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp32ulp-elf-2.38_20240113/esp32ulp-elf-2.38_20240113-macos-arm64.tar.gz SHA256: e3a4dfea043e2bce8cd00b3a0b260a59249fa61ca5931bf02f18a3d43c18deb4
win32 | required | https://github.com/espressif/binutils-gdb/releases/download/esp32ulp-elf-2.38_20240113/esp32ulp-elf-2.38_20240113-win32.zip SHA256: d33b64f49df27dcfa4a24d3af1a5ead77b020f85f33448994c31b98f88e66bb4
win64 | required | https://github.com/espressif/binutils-gdb/releases/download/esp32ulp-elf-2.38_20240113/esp32ulp-elf-2.38_20240113-win64.zip SHA256: 3a7627008ac92d1580542b95c696449e56aaa1d0881dc3ef5fd5c60afc77a49d

### cmake

CMake build system

On Linux and macOS, it is recommended to install CMake using the OS-specific package manager (like apt, yum, brew, etc.). However, for convenience it is possible to install CMake using idf_tools.py along with the other tools.

License: BSD-3-Clause

More info: https://github.com/Kitware/CMake

Platform | Required | Download
--- | --- | ---
linux-amd64 | optional | https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2-linux-x86_64.tar.gz SHA256: cdd7fb352605cee3ae53b0e18b5929b642900e33d6b0173e19f6d4f2067ebf16
linux-arm64 | optional | https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2-linux-aarch64.tar.gz SHA256: d18f50f01b001303d21f53c6c16ff12ee3aa45df5da1899c2fe95be7426aa026
linux-armel | optional | https://dl.espressif.com/dl/cmake/cmake-3.30.2-Linux-armv7l.tar.gz SHA256: 446650c69ea74817a770f96446c162bb7ad24ffecaacb35fcd4845ec7d3c9099
linux-armhf | optional | https://dl.espressif.com/dl/cmake/cmake-3.30.2-Linux-armv7l.tar.gz SHA256: 446650c69ea74817a770f96446c162bb7ad24ffecaacb35fcd4845ec7d3c9099
macos | optional | https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2-macos-universal.tar.gz SHA256: c6fdda745f9ce69bca048e91955c7d043ba905d6388a62e0ff52b681ac17183c
macos-arm64 | optional | https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2-macos-universal.tar.gz SHA256: c6fdda745f9ce69bca048e91955c7d043ba905d6388a62e0ff52b681ac17183c
win32 | required | https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2-windows-x86_64.zip SHA256: 48bf4b3dc2d668c578e0884cac7878e146b036ca6b5ce4f8b5572f861b004c25
win64 | required | https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2-windows-x86_64.zip SHA256: 48bf4b3dc2d668c578e0884cac7878e146b036ca6b5ce4f8b5572f861b004c25

### openocd-esp32

OpenOCD for ESP32

License: GPL-2.0-only

More info: https://github.com/espressif/openocd-esp32

Platform | Required | Download
--- | --- | ---
linux-amd64 | required | https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20251215/openocd-esp32-linux-amd64-0.12.0-esp32-20251215.tar.gz SHA256: 5e6ff40aeca23bdd203cde04d60bc808c0e6bff110eadcbce3d602618c880531
linux-arm64 | required | https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20251215/openocd-esp32-linux-arm64-0.12.0-esp32-20251215.tar.gz SHA256: 29f98e2f90cd37924b714562b876a471d444a8f2aec428c6760e82bbf3b54cca
linux-armel | required | https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20251215/openocd-esp32-linux-armel-0.12.0-esp32-20251215.tar.gz SHA256: 25de2b2dd0f5b437f5d5540c505eb9d0fbb971256ab13acd19642f8acdbd5cee
linux-armhf | required | https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20251215/openocd-esp32-linux-armhf-0.12.0-esp32-20251215.tar.gz SHA256: 2a2e6240a688ec91eee054140cc4967afceadeb8660f23f4b55a3936f65720a8
macos | required | https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20251215/openocd-esp32-macos-0.12.0-esp32-20251215.tar.gz SHA256: 956dd02ccf35116d565be2b148e041bd47c135e551a1f5097eae756d7d4dd079
macos-arm64 | required | https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20251215/openocd-esp32-macos-arm64-0.12.0-esp32-20251215.tar.gz SHA256: e6414c8db2ab09b687eaf765b1e69a92aecdcfe44e073d6f47ff829777e2e823
win32 | required | https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20251215/openocd-esp32-win32-0.12.0-esp32-20251215.zip SHA256: 032a3791c256c974bceced073dc8cf0e18c07a75f39592110cbe71fc8de914b2
win64 | required | https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20251215/openocd-esp32-win64-0.12.0-esp32-20251215.zip SHA256: d406be70d26098ced57eefcf636c4b4c184cd8c151204a459bb6ccbe4aa47eca

### ninja

Ninja build system

On Linux and macOS, it is recommended to install ninja using the OS-specific package manager (like apt, yum, brew, etc.). However, for convenience it is possible to install ninja using idf_tools.py along with the other tools.

License: Apache-2.0

More info: https://github.com/ninja-build/ninja

Platform | Required | Download
--- | --- | ---
linux-amd64 | optional | https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux.zip SHA256: 6f98805688d19672bd699fbbfa2c2cf0fc054ac3df1f0e6a47664d963d530255
macos | optional | https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-mac.zip SHA256: 89a287444b5b3e98f88a945afa50ce937b8ffd1dcc59c555ad9b1baf855298c9
macos-arm64 | optional | https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-mac.zip SHA256: 89a287444b5b3e98f88a945afa50ce937b8ffd1dcc59c555ad9b1baf855298c9
win64 | required | https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-win.zip SHA256: f550fec705b6d6ff58f2db3c374c2277a37691678d6aba463adcbb129108467a

### idf-exe

IDF wrapper tool for Windows

License: Apache-2.0

More info: https://github.com/espressif/idf_py_exe_tool

Platform | Required | Download
--- | --- | ---
win32 | required | https://github.com/espressif/idf_py_exe_tool/releases/download/v1.0.3/idf-exe-v1.0.3.zip SHA256: 7c81ef534c562354a5402ab6b90a6eb1cc8473a9f4a7b7a7f93ebbd23b4a2755
win64 | required | https://github.com/espressif/idf_py_exe_tool/releases/download/v1.0.3/idf-exe-v1.0.3.zip SHA256: 7c81ef534c562354a5402ab6b90a6eb1cc8473a9f4a7b7a7f93ebbd23b4a2755

### ccache

Ccache (compiler cache)

License: GPL-3.0-or-later

More info: https://github.com/ccache/ccache

Platform | Required | Download
--- | --- | ---
win64 | required | https://github.com/ccache/ccache/releases/download/v4.12.1/ccache-4.12.1-windows-x86_64.zip SHA256: 98aea520d66905b8ba7a8e648a4cc0ca941d5e119d441f1e879a4a9045bf18f6

### dfu-util

dfu-util (Device Firmware Upgrade Utilities)

License: GPL-2.0-only

More info: http://dfu-util.sourceforge.net/

Platform | Required | Download
--- | --- | ---
win64 | required | https://dl.espressif.com/dl/dfu-util-0.11-win64.zip SHA256: 652eb94cb1c074c6dbead9e47adb628922aeb198a4d440a346ab32e7a0e9bf64

### esp-rom-elfs

ESP ROM ELFs

License: Apache-2.0

More info: https://github.com/espressif/esp-rom-elfs

Platform | Required | Download
--- | --- | ---
any | required | https://github.com/espressif/esp-rom-elfs/releases/download/20240305/esp-rom-elfs-20240305.tar.gz SHA256: a26609b415710f0163d785850c769752717004059c129c472e9a0cbd54e0422c

### qemu-xtensa

QEMU for Xtensa

Some ESP-specific instructions for running QEMU for Xtensa chips are here: https://github.com/espressif/esp-toolchain-docs/blob/main/qemu/esp32/README.md

License: GPL-2.0-only

More info: https://github.com/espressif/qemu

Platform | Required | Download
--- | --- | ---
linux-amd64 | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-xtensa-softmmu-esp_develop_9.0.0_20240606-x86_64-linux-gnu.tar.xz SHA256: 071d117c44a6e9a1bc8664ab63b592d3e17ceb779119dcb46c59571a4a7a88c9
linux-arm64 | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-xtensa-softmmu-esp_develop_9.0.0_20240606-aarch64-linux-gnu.tar.xz SHA256: 43552f32b303a6820d0d9551903e54fc221aca98ccbd04e5cbccbca881548008
macos | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-xtensa-softmmu-esp_develop_9.0.0_20240606-x86_64-apple-darwin.tar.xz SHA256: 0096734280ce04f558cd9bd72f35db39667f80d44309a35565f2f8c02d1f9cc3
macos-arm64 | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-xtensa-softmmu-esp_develop_9.0.0_20240606-aarch64-apple-darwin.tar.xz SHA256: fb4ca6be7b1a4dbcf153879cf0582300f974371def0826c0c5b728f12812ad08
win64 | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-xtensa-softmmu-esp_develop_9.0.0_20240606-x86_64-w64-mingw32.tar.xz SHA256: 281659f7a1d49761ac6f54d0aeb14366cb93c002f21948b847a0e15c0b8f5425

### qemu-riscv32

QEMU for RISC-V

Some ESP-specific instructions for running QEMU for RISC-V chips are here: https://github.com/espressif/esp-toolchain-docs/blob/main/qemu/esp32c3/README.md

License: GPL-2.0-only

More info: https://github.com/espressif/qemu

Platform | Required | Download
--- | --- | ---
linux-amd64 | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-riscv32-softmmu-esp_develop_9.0.0_20240606-x86_64-linux-gnu.tar.xz SHA256: 47120e826cfec7180db8cb611a7a4aed2e9b2191c2a739194f8ce085e63cdd8d
linux-arm64 | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-riscv32-softmmu-esp_develop_9.0.0_20240606-aarch64-linux-gnu.tar.xz SHA256: 3b6221a8b1881d2c9b9fa0b0bf8d7065c84153d2a54e429307bde9feae235c27
macos | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-riscv32-softmmu-esp_develop_9.0.0_20240606-x86_64-apple-darwin.tar.xz SHA256: 3afa55d5abea52ccf18d0bc41fe819d568bd4ee1582989b1ee9b1ee4a609a31e
macos-arm64 | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-riscv32-softmmu-esp_develop_9.0.0_20240606-aarch64-apple-darwin.tar.xz SHA256: 69ba5154594fb2922d5490a49ea6b4925c024c6c37f875b42f9885f513e0bcdd
win64 | optional | https://github.com/espressif/qemu/releases/download/esp-develop-9.0.0-20240606/qemu-riscv32-softmmu-esp_develop_9.0.0_20240606-x86_64-w64-mingw32.tar.xz SHA256: f49bb5c8f4d6e2cfbf7eeec21eb8ef190a57307778705bc689536ac13bde511c

提供有关此文档的反馈