警告
This document is not updated for ESP32C5 yet, so some of the content may not be correct.
This warning was automatically inserted due to the source file being in the add_warnings_pages list.
可下载的 ESP-IDF 工具
构建过程中,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 软件包
以下各小节介绍了可下载工具的安装方法,并提供了在不同平台上安装的工具列表。
工具元数据文件
各平台所需工具及工具版本列表存放在 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
为可选项,用于指定要添加或删除的功能列表,功能之间用逗号分隔。该参数将删除以
-
开头的功能,添加以+
开头或无符号标记的功能。例如,要删除功能XY
,示例语法为--features=-XY
;要添加功能XY
,示例语法为--features=+XY
或--features=XY
。如果为同一功能同时提供了删除和添加选项,则不执行任何操作。每个功能都必须有依赖文件。例如,只有当
${IDF_PATH}/tools/requirements/requirements.XY.txt
文件已存在,并包含要安装的 Python 包列表时,功能XY
才有效。core
功能为必须项,确保 ESP-IDF 的核心功能,如控制台中的构建、烧录、监视器、调试等。用户可选择任意数量的可选功能,已选功能列表存储在
idf-env.json
中。依赖文件中存储了需要安装的 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
适用于 Powershellinstall.sh
适用于 Bashinstall.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
适用于 Powershellexport.sh
适用于 Bashexport.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 |
SHA256: 9d68472d4cba5cf8c2b79d94f86f92c828e76a632bd1e6be5e7706e5b304d36e |
linux-arm64 |
required |
SHA256: bdabc3217994815fc311c4e16e588b78f6596b5ad4ffa46c80b40e982cfb1e66 |
linux-armel |
required |
SHA256: d54b8d703ba897b28c627da3d27106a3906dd01ba298778a67064710bc33c76d |
linux-armhf |
required |
SHA256: 6187d1dd54e57927f7a7b804ff431fe0a295d5d5638c7654ee2bb7c3e0e84d4b |
linux-i686 |
required |
SHA256: 64d3bc992ed8fdec383d49e8b803ac494605a38117c8293db8da055037de96b0 |
macos |
required |
SHA256: 023e74b3fda793da4bc0509b02de776ee0dad6efaaac17bef5916fb7dc9c26b9 |
macos-arm64 |
required |
SHA256: ea757c6bf8c25238f6d2fdcc6bbab25a1b00608a0f9e19b7ddd2f37ddbdc3fb1 |
win32 |
required |
SHA256: 322e8d9b700dc32d8158e3dc55fb85ec55de48d0bb7789375ee39a28d5d655e2 |
win64 |
required |
SHA256: a27a2fe20f192f8e0a51b8936428b4e1cf8935cfe008ee445cc49f6fc7f6db2e |
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 |
SHA256: ce004bc0bbd71b246800d2d13b239218b272a38bd528e316f21f1af2db8a4b13 |
linux-arm64 |
required |
SHA256: ba10f2866c61410b88c65957274280b1a62e3bed05131654ed9b6758efe18e55 |
linux-armel |
required |
SHA256: 88539db5d987f28827efac7e26080a2803b9b539342ccd2963ccfdd56d7f08f7 |
linux-armhf |
required |
SHA256: b45b9711d6a87d4c2f688a9599ce850ce02f477756e3e797c4a6c1c549127fcb |
linux-i686 |
required |
SHA256: 0e628ee37438ab6ba05eb889a76d09e50cb98e0020a16b8e2b935c5cf19b4ed2 |
macos |
required |
SHA256: 8f6bda832d70dad5860a639d55aba4237bd10cbac9f4822db1eece97357b34a9 |
macos-arm64 |
required |
SHA256: d88b6116e86456c8480ce9bc95aed375a35c0d091f1da0a53b86be0e6ef3d320 |
win32 |
required |
SHA256: d6e7ce05805b0d8d4dd138ad239b98a1adf8da98941867d60760eb1ae5361730 |
win64 |
required |
SHA256: 5c9f211dc46daf6b96fad09d709284a0f0186fef8947d9f6edd6bca5b5ad4317 |
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 |
SHA256: fcef03d87eac44c0dbee2bbee98443ed2fcf82720dcd8ebfe00640807b0f07c2 |
linux-arm64 |
required |
SHA256: cfe55b92b4baeaa4309a948ba65e2adfc2d17a542c64856e36650869b419574a |
linux-armel |
required |
SHA256: c57a062969ec3d98b02a97cd9240eb31091957788509b60c356b0a6f23032669 |
linux-armhf |
required |
SHA256: 1adc660f4d7bcf863f54051c5843719456fabc7203c1d4ccbb855924fda82987 |
linux-i686 |
required |
SHA256: f9203673aa0c42b041847c86b07e6f5b4aa9c90e6ff03d3cd3146928784447ea |
macos |
required |
SHA256: 39ee7df749f4ceb93624d73627688d5b86269a7429022f986f2940499936aacd |
macos-arm64 |
required |
SHA256: d967e49a64f823e18fbae273efb1b094ac55e2207aa21fd3947c9d59f999f47e |
win32 |
required |
SHA256: d6b227c50e3c8e21d62502b3140e5ab74a4cb502c2b4169c36238b9858a8fb88 |
win64 |
required |
SHA256: 155ee97b531236e6a7c763395c68ca793e55e74d2cb4d38a23057a153e01e7d0 |
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 |
SHA256: 3dbd8dd290913a93e8941da8a451ecd49f9798cc2d74bb9b63ef5cf5c4fee37f |
linux-arm64 |
optional |
SHA256: 4b115af6ddd04a9bffc1908fc05837998ee71d450891d741c446186f2aa9b961 |
linux-armhf |
optional |
SHA256: 935082bb0704420c5ca42b35038bba8702135348a50cac454ae2fb55af0b4c32 |
macos |
optional |
SHA256: d9824acafd3e7b1d17ace084243b82a95bbdcb149a26b085bba487ab3d3716d7 |
macos-arm64 |
optional |
SHA256: ed5621396dc3e48413e14e8b6caed8e2993e7f2ab5fca1410081f40c940a1060 |
win64 |
optional |
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 |
SHA256: f69a491d2f42f63e119f9077da995f7743ea8e1bf6944166a42a312cf60728a8 |
linux-arm64 |
required |
SHA256: 276351b883a53e81b695d858be74114a8b627bbe4fc9c69ef46a7127ab143680 |
linux-armel |
required |
SHA256: 14890f2a624e70f11da7268347adf25b6c396f42bcd4d8ac3c5bfa4050b7c934 |
linux-armhf |
required |
SHA256: b61ca9ceff25986ec1d166a01319bff09639be1d4ee5bf117502ce564fdae7e9 |
linux-i686 |
required |
SHA256: 12ef50f96deb9040ce360974a4237c64ae0706b0c429b90cecc8ab664cf6dbb4 |
macos |
required |
SHA256: cfbf5deaba05bf217701c8ceab7396bb0c2ca95ab58e134d4b2e175b86c2fd6c |
macos-arm64 |
required |
SHA256: 230628fcf464ca8856c82c55514e40a8919e97fbc5e66b7165ca42c9653d2302 |
win32 |
required |
SHA256: 590bfb10576702639825581cc00c445da6e577012840a787137417e80d15f46d |
win64 |
required |
SHA256: 413eb9f6adf8fdaf25544d014c850fc09eb38bb93a2fc5ebd107ab1b0de1bb3a |
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 |
SHA256: d13a808365b78465fa6591636dfbbb9604d9d15a397c3d9cd22626d54828ac2c |
linux-arm64 |
required |
SHA256: ecce0788ce1000e5c669c5adaf2fd5bf7f9bf96dcdbd3555d1d9ce4dcb311038 |
linux-armel |
required |
SHA256: 7228b01277f7908d72eb659470f82e143c4c66b444538a464290d88ece16130e |
linux-armhf |
required |
SHA256: 951b089c66561bc2190a8d57c316dfaef985a778728a7c30e1edcd29fe180016 |
linux-i686 |
required |
SHA256: df323d40962313168f6feeb2d9471c6010ff23a7896f40244e62991517d9745b |
macos |
required |
SHA256: b2aeba8eaafdf156e9e30be928dde1f133b00eaf33802d96827ec544ac7c864c |
macos-arm64 |
required |
SHA256: e3a4dfea043e2bce8cd00b3a0b260a59249fa61ca5931bf02f18a3d43c18deb4 |
win32 |
required |
SHA256: d33b64f49df27dcfa4a24d3af1a5ead77b020f85f33448994c31b98f88e66bb4 |
win64 |
required |
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 |
SHA256: e82b0f036dc99244bead5f09a86e91bb2365cbcd1122ac68261e5647942485df |
linux-arm64 |
required |
SHA256: 8f8daf5bd22ec5d2fa9257b0862ec33da18ee677e023fb9a9eb17f74ce208c76 |
linux-armel |
required |
SHA256: bc9c020ecf20e2000f76cffa44305fd5bc44d2e688ea78cce423399d33f19767 |
linux-armhf |
required |
SHA256: 2cd6436465333e998000b1c311d301b295d8ebaa3fb1c9aa9d4393539dc16ec6 |
macos |
required |
SHA256: 02a2dffe801a2d005fa9e614d80ff8173395b2cb0b5d3118d0229d094a9946a7 |
macos-arm64 |
required |
SHA256: c382f9e884d6565cb6089bff5f200f4810994667d885f062c3d3c5625a0fa9d6 |
win32 |
required |
SHA256: 3b5d615e0a72cc771a45dd469031312d5881c01d7b6bc9edb29b8b6bda8c2e90 |
win64 |
required |
SHA256: 5e7b2fd1947d3a8625f6a11db7a2340cf2f41ff4c61284c022c7d7c32b18780a |
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.10.2/ccache-4.10.2-windows-x86_64.zip SHA256: 6252f081876a9a9f700fae13a5aec5d0d486b28261d7f1f72ac11c7ad9df4da9 |
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 |
SHA256: 071d117c44a6e9a1bc8664ab63b592d3e17ceb779119dcb46c59571a4a7a88c9 |
linux-arm64 |
optional |
SHA256: 43552f32b303a6820d0d9551903e54fc221aca98ccbd04e5cbccbca881548008 |
macos |
optional |
SHA256: 0096734280ce04f558cd9bd72f35db39667f80d44309a35565f2f8c02d1f9cc3 |
macos-arm64 |
optional |
SHA256: fb4ca6be7b1a4dbcf153879cf0582300f974371def0826c0c5b728f12812ad08 |
win64 |
optional |
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 |
SHA256: 47120e826cfec7180db8cb611a7a4aed2e9b2191c2a739194f8ce085e63cdd8d |
linux-arm64 |
optional |
SHA256: 3b6221a8b1881d2c9b9fa0b0bf8d7065c84153d2a54e429307bde9feae235c27 |
macos |
optional |
SHA256: 3afa55d5abea52ccf18d0bc41fe819d568bd4ee1582989b1ee9b1ee4a609a31e |
macos-arm64 |
optional |
SHA256: 69ba5154594fb2922d5490a49ea6b4925c024c6c37f875b42f9885f513e0bcdd |
win64 |
optional |
SHA256: f49bb5c8f4d6e2cfbf7eeec21eb8ef190a57307778705bc689536ac13bde511c |