Downloadable Tools

ESP-IDF build process relies on a number of tools: cross-compiler toolchains, CMake build system, and others.

Installing the tools using an OS-specific package manager (like apt, yum, brew, etc.) is the preferred method when the required version of the tool is available. This recommendation is reflected in the Getting Started guide. For example, on Linux and macOS it is recommended to install CMake using an OS package manager.

However, some of the tools are IDF-specific and are not available in OS package repositories. Furthermore, different versions of ESP-IDF require different versions of the tools to operate correctly. To solve these two problems, ESP-IDF provides a set of scripts for downloading and installing the correct versions of tools, and exposing them in the environment.

The rest of the document refers to these downloadable tools simply as “tools”. Other kinds of tools used in ESP-IDF are:

  • Python scripts bundled with ESP-IDF (such as idf.py)

  • Python packages installed from PyPI.

The following sections explain the installation method, and provide the list of tools installed on each platform.

Note

This document is provided for advanced users who need to customize their installation, users who wish to understand the installation process, and ESP-IDF developers.

If you are looking for instructions on how to install the tools, see the Getting Started Guide.

Tools metadata file

The list of tools and tool versions required for each platform is located in tools/tools.json. The schema of this file is defined by tools/tools_schema.json.

This file is used by tools/idf_tools.py script when installing the tools or setting up the environment variables.

Tools installation directory

IDF_TOOLS_PATH environment variable specifies the location where the tools are to be downloaded and installed. If not set, IDF_TOOLS_PATH defaults to HOME/.espressif on Linux and macOS, and %USER_PROFILE%\.espressif on Windows.

Inside IDF_TOOLS_PATH, the scripts performing tools installation create the following directories and files:

  • dist — where the archives of the tools are downloaded.

  • tools — where the tools are extracted. The tools are extracted into subdirectories: tools/TOOL_NAME/VERSION/. This arrangement allows different versions of tools to be installed side by side.

  • idf-env.json — user install options (targets, features) are stored in this file. Targets are selected chip targets for which tools are installed and kept up-to-date. Features determine the Python package set which should be installed. These options will be discussed later.

  • python_env — not tools related; virtual Python environments are installed in the sub-directories.

  • espidf.constraints.*.txt — one constraint file for each ESP-IDF release containing Python package version requirements.

GitHub Assets Mirror

Most of the tools downloaded by the tools installer are GitHub Release Assets, which are files attached to a software release on GitHub.

If GitHub downloads are inaccessible or slow to access, it’s possible to configure a GitHub assets mirror.

To use Espressif’s download server, set the environment variable IDF_GITHUB_ASSETS to dl.espressif.com/github_assets. When the install process is downloading a tool from github.com, the URL will be rewritten to use this server instead.

Any mirror server can be used provided the URL matches the github.com download URL format: the install process will replace https://github.com with https://${IDF_GITHUB_ASSETS} for any GitHub asset URL that it downloads.

Note

The Espressif download server doesn’t currently mirror everything from GitHub, it only mirrors files attached as Assets to some releases as well as source archives for some releases.

idf_tools.py script

tools/idf_tools.py script bundled with ESP-IDF performs several functions:

  • install: Download the tool into ${IDF_TOOLS_PATH}/dist directory, extract it into ${IDF_TOOLS_PATH}/tools/TOOL_NAME/VERSION.

    install command accepts the list of tools to install, in TOOL_NAME or TOOL_NAME@VERSION format. If all is given, all the tools (required and optional ones) are installed. If no argument or required is given, only the required tools are installed.

  • download: Similar to install but doesn’t extract the tools. An optional --platform argument may be used to download the tools for the specific platform.

  • export: Lists the environment variables which need to be set to use the installed tools. For most of the tools, setting PATH environment variable is sufficient, but some tools require extra environment variables.

    The environment variables can be listed in either of shell or key-value formats, set by --format parameter:

    • export optional parameters:

      • --unset Creates statement that unset some global variables, so the environment gets to the state it was before calling export.{sh/fish}.

      • --add_paths_extras Adds extra ESP-IDF-related paths of $PATH to ${IDF_TOOLS_PATH}/esp-idf.json, which is used to remove global variables when the active ESP-IDF environment is deactivated. Example: While processing export.{sh/fish} script, new paths are added to global variable $PATH. This option is used to save these new paths to the ${IDF_TOOLS_PATH}/esp-idf.json.

    • shell produces output suitable for evaluation in the shell. For example,

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

      on Linux and macOS, and

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

      on Windows.

      Note

      Exporting environment variables in Powershell format is not supported at the moment. key-value format may be used instead.

      The output of this command may be used to update the environment variables, if the shell supports this. For example:

      eval $($IDF_PATH/tools/idf_tools.py export)
      
    • key-value produces output in VARIABLE=VALUE format, suitable for parsing by other scripts:

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

      Note that the script consuming this output has to perform expansion of $VAR or %VAR% patterns found in the output.

  • list: Lists the known versions of the tools, and indicates which ones are installed.

  • check: For each tool, checks whether the tool is available in the system path and in IDF_TOOLS_PATH.

  • install-python-env: Create a Python virtual environment in the ${IDF_TOOLS_PATH}/python_env directory and install there the required Python packages. An optional --features argument allows one to specify a comma-separated list of features to be added or removed. Feature that begins with - will be removed and features with + or without any sign will be added. Example syntax for removing feature XY is --features=-XY and for adding --features=+XY or --features=XY. If both removing and adding options are provided with the same feature, no operation is performed. For each feature a requirements file must exist. For example, feature XY is a valid feature if ${IDF_PATH}/tools/requirements/requirements.XY.txt is an existing file with a list of Python packages to be installed. There is one mandatory core feature ensuring core functionality of ESP-IDF (build, flash, monitor, debug in console). There can be an arbitrary number of optional features. The selected list of features is stored in idf-env.json. The requirement files contain a list of the desired Python packages to be installed and espidf.constraints.*.txt downloaded from https://dl.espressif.com and stored in ${IDF_TOOLS_PATH} the package version requirements for a given ESP-IDF version. Althought it is not recommended, the download and use of constraint files can be disabled with the --no-constraints argument or setting the IDF_PYTHON_CHECK_CONSTRAINTS environment variable to no.

  • check-python-dependencies: Checks if all required Python packages are installed. Packages from ${IDF_PATH}/tools/requirements/requirements.*.txt files selected by the feature list of idf-env.json are checked with the package versions specified in the espidf.constraints.*.txt file. The constraint file will be downloaded from https://dl.espressif.com if this step hasn’t been done already in the last day. The use of constraints files can be disabled similarly to the install-python-env command.

  • uninstall: Print and remove tools, that are currently not used by active ESP-IDF version.

    • --dry-run Print installed unused tools.

    • --remove-archives Additionally remove all older versions of previously downloaded installation packages.

Install scripts

Shell-specific user-facing scripts are provided in the root of ESP-IDF repository to facilitate tools installation. These are:

  • install.bat for Windows Command Prompt

  • install.ps1 for Powershell

  • install.sh for Bash

  • install.fish for Fish

Aside from downloading and installing the tools into IDF_TOOLS_PATH, these scripts prepare a Python virtual environment, and install the required packages into that environment.

These scripts accept optionally a comma separated list of chip targets and --enable-* arguments for enabling features. These arguments are passed to the idf_tools.py script which stores them in idf-env.json. Therefore, chip targets and features can be enabled incrementally.

Running the scripts without any optional arguments will install tools for all chip targets (by running idf_tools.py install --targets=all) and Python packages for core ESP-IDF functionality (by running idf_tools.py install-python-env --features=core).

Or for example, install.sh esp32 will install tools only for ESP32. See the Getting Started Guide for more examples.

install.sh --enable-XY will enable feature XY (by running idf_tools.py install-python-env --features=core,XY).

Export scripts

Since the installed tools are not permanently added into the user or system PATH environment variable, an extra step is required to use them in the command line. The following scripts modify the environment variables in the current shell to make the correct versions of the tools available:

  • export.bat for Windows Command Prompt

  • export.ps1 for Powershell

  • export.sh for Bash

  • export.fish for Fish

Note

To modify the shell environment in Bash, export.sh must be “sourced”: . ./export.sh (note the leading dot and space).

export.sh may be used with shells other than Bash (such as zsh). However in this case the IDF_PATH environment variable must be set before running the script. When used in Bash, the script will guess the IDF_PATH value from its own location.

In addition to calling idf_tools.py, these scripts list the directories which have been added to the PATH.

Other installation methods

Depending on the environment, more user-friendly wrappers for idf_tools.py are provided:

  • IDF Tools installer for Windows can download and install the tools. Internally the installer uses idf_tools.py.

  • Eclipse Plugin includes a menu item to set up the tools. Internally the plugin calls idf_tools.py.

  • VSCode Extension for ESP-IDF includes an onboarding flow. This flow helps setting up the tools. Although the extension does not rely on idf_tools.py, the same installation method is used.

Custom installation

Although the methods above are recommended for ESP-IDF users, they are not a must for building ESP-IDF applications. ESP-IDF build system expects that all the necessary tools are installed somewhere, and made available in the PATH.

List of IDF Tools

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-v11.2_20220715/xtensa-esp-elf-gdb-11.2_20220715-x86_64-linux-gnu.tar.gz

SHA256: 61e717ff90e90e15c506310b27012989c7811a81b29f2d3a92352076ea4bd644

linux-arm64

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/xtensa-esp-elf-gdb-11.2_20220715-aarch64-linux-gnu.tar.gz

SHA256: 7cea9068212d8cda86f7f5ba7022d5dac231a785571714736257eb369c20f3be

linux-armel

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/xtensa-esp-elf-gdb-11.2_20220715-arm-linux-gnueabi.tar.gz

SHA256: ff47ddcc5ca4896d114131441de52d7849fc88ddbb6eed4f4359b3e22876fa42

linux-armhf

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/xtensa-esp-elf-gdb-11.2_20220715-arm-linux-gnueabihf.tar.gz

SHA256: c40fe3820c97bddceb4fff7fe37785364e3fe80ce8818f1cdd596d99db61e66a

linux-i686

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/xtensa-esp-elf-gdb-11.2_20220715-i586-linux-gnu.tar.gz

SHA256: f0a1e438105ac8e67cbff30467a7f10625fdebbd1a35922f43555e3245375e80

macos

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/xtensa-esp-elf-gdb-11.2_20220715-x86_64-apple-darwin14.tar.gz

SHA256: 43a759c0445bd0838d5a837533ee76a4b5a0868ef0b4335695784bf7d3808afb

macos-arm64

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/xtensa-esp-elf-gdb-11.2_20220715-x86_64-apple-darwin14.tar.gz

SHA256: 43a759c0445bd0838d5a837533ee76a4b5a0868ef0b4335695784bf7d3808afb

win32

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/xtensa-esp-elf-gdb-11.2_20220715-i686-w64-mingw32.zip

SHA256: 145aef9de764273d6d2ec7a09718ecf8380cb6cd777f26a89a68b81c3448b6b1

win64

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/xtensa-esp-elf-gdb-11.2_20220715-x86_64-w64-mingw32.zip

SHA256: f1440094c6fb30df42cc4392956326a6096f5368316ee06f6e5389feb771e449

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-v11.2_20220715/riscv32-esp-elf-gdb-11.2_20220715-x86_64-linux-gnu.tar.gz

SHA256: b92f867cd5bc1b4db8fdded3745d3e2daab5422f41f28166bb8fa26691ea15ed

linux-arm64

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/riscv32-esp-elf-gdb-11.2_20220715-aarch64-linux-gnu.tar.gz

SHA256: 1f4b445d580c77f2e1b2c3eb0a80da6f77966fcfa2839b5654bd6ca3f8c5a952

linux-armel

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/riscv32-esp-elf-gdb-11.2_20220715-arm-linux-gnueabi.tar.gz

SHA256: fb4f010ef3fcb2a4fd5b149dfd773e3faac52ae505cd51c1730376336ed79dcd

linux-armhf

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/riscv32-esp-elf-gdb-11.2_20220715-arm-linux-gnueabihf.tar.gz

SHA256: 264cc4d9863b30e1edc24b21652332382302a7ee93c2f986a915db8702c1d87c

linux-i686

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/riscv32-esp-elf-gdb-11.2_20220715-i586-linux-gnu.tar.gz

SHA256: 4af4a9eb522b227c99349667f072224139d4fb64c9b73d57e453a3e0c7418a24

macos

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/riscv32-esp-elf-gdb-11.2_20220715-x86_64-apple-darwin14.tar.gz

SHA256: 4b3d618ce5b0f05d27b806b9053d5d948a0e9d7f83d566e972d2677e9b670b1a

macos-arm64

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/riscv32-esp-elf-gdb-11.2_20220715-x86_64-apple-darwin14.tar.gz

SHA256: 4b3d618ce5b0f05d27b806b9053d5d948a0e9d7f83d566e972d2677e9b670b1a

win32

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/riscv32-esp-elf-gdb-11.2_20220715-i686-w64-mingw32.zip

SHA256: 24ae2476a83066380d59e8c9eaddfce2c23c81d06eb256bae28a7bae0e789559

win64

required

https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220715/riscv32-esp-elf-gdb-11.2_20220715-x86_64-w64-mingw32.zip

SHA256: 8b23c29c9f059f6e780de9f03810fbe082503f46b9d9a7e5b9f49dc582ec224b

xtensa-esp32-elf

Toolchain for Xtensa (ESP32) 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-2022r1-RC1/xtensa-esp32-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz

SHA256: 5da31dfe66ee97c0e940d81e7fac3fc604bb4cbf75294a29e6d5384ae08102dc

linux-arm64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32-elf-gcc11_2_0-esp-2022r1-RC1-linux-arm64.tar.xz

SHA256: 1c1fadb50ecfd120b714e6ba094dca3f5a6ee511492dc45fe51f2cd2ed70fd61

linux-armel

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32-elf-gcc11_2_0-esp-2022r1-RC1-linux-armel.tar.xz

SHA256: c588a0e760ed81be075a4e7d107e06a6842641c55a9ffd31b13ed258fd32cc7f

linux-armhf

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32-elf-gcc11_2_0-esp-2022r1-RC1-linux-armhf.tar.xz

SHA256: b61488cef94f3ef96863669c8fc54730ac512d5a9cb185affe9ae2f7e2de0cd2

linux-i686

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32-elf-gcc11_2_0-esp-2022r1-RC1-linux-i686.tar.xz

SHA256: 05b96a8c369f595698cbe37419c22b32242323d82d61995fa4c86f4398e9bd2c

macos

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32-elf-gcc11_2_0-esp-2022r1-RC1-macos.tar.xz

SHA256: 8e64d517b08f9e2e98f28f425dea7ae4023fb3b923ebe4e93b701bda2a022740

macos-arm64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32-elf-gcc11_2_0-esp-2022r1-RC1-macos.tar.xz

SHA256: 8e64d517b08f9e2e98f28f425dea7ae4023fb3b923ebe4e93b701bda2a022740

win32

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32-elf-gcc11_2_0-esp-2022r1-RC1-win32.zip

SHA256: af0a1c38135d5bb28303b8d131cc395ce3c68b675e6a5a5f2fbfb9448125575e

win64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32-elf-gcc11_2_0-esp-2022r1-RC1-win64.zip

SHA256: 809d9833b3c183f25b231ff6478de600a633345dd4dbe0ad1cb008cd26ffc730

xtensa-esp32s2-elf

Toolchain for Xtensa (ESP32-S2) 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-2022r1-RC1/xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz

SHA256: 5ddd838f94870aa0a94242895c8dde4da620e8ba3500ca6cec1799ff9ea74ba6

linux-arm64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-RC1-linux-arm64.tar.xz

SHA256: a5c0274b852fc7264b7ee86add55a6f9f1696db78a6eac3cef30c139ffaa3567

linux-armel

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-RC1-linux-armel.tar.xz

SHA256: 4b2dff672af2601dd2ec1ee5be775fc44fcdc8aaa7093231653d939992e1256f

linux-armhf

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-RC1-linux-armhf.tar.xz

SHA256: eb84b3cac471c197de251ee65737b6f095b2ec216f67086bff7b3fbb5d405433

linux-i686

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-RC1-linux-i686.tar.xz

SHA256: 5f69ad8c781c1db35da4347467a94921fa9b9781c4e112570fae384ac3113e69

macos

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-RC1-macos.tar.xz

SHA256: 77dfcd053503fcc03b0aa8ba4df685d9322d0a6c8f475b715aef9be91e98e92a

macos-arm64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-RC1-macos.tar.xz

SHA256: 77dfcd053503fcc03b0aa8ba4df685d9322d0a6c8f475b715aef9be91e98e92a

win32

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-RC1-win32.zip

SHA256: d98355285baf4cb405de399e1335714b05facbfa79b0469edb0d7eefaeabe5d9

win64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s2-elf-gcc11_2_0-esp-2022r1-RC1-win64.zip

SHA256: 10b69180ad21779f490cbbb08ef3bbcfa993b365e5d75d5e75c87cca251c2635

xtensa-esp32s3-elf

Toolchain for Xtensa (ESP32-S3) 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-2022r1-RC1/xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz

SHA256: 117a47a535c9c96a36ac0c8b0574143e670cf12df353939819e2e0c94a30d23f

linux-arm64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-RC1-linux-arm64.tar.xz

SHA256: eef51bd9917b311aebd13b2b560617fb9d4bc900b502d984248bec0be16f3593

linux-armel

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-RC1-linux-armel.tar.xz

SHA256: 6475f629e08b9fe90e29cbe0fc1688ff2a325e5aff255d72ff0ddcaeb48e7c45

linux-armhf

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-RC1-linux-armhf.tar.xz

SHA256: 2fce387e79d154221a06f9d14b5d190e8afc82cbe92d9bcb70fe616c8440ba19

linux-i686

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-RC1-linux-i686.tar.xz

SHA256: 028879201a08d63ec34b31f602cd797956d61a85673ca1a22c3a7fcd669dc7fc

macos

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-RC1-macos.tar.xz

SHA256: 6755cfd65e26745bd26d1b8990f7c9e8a85cd4b055dc25c27215630ac2d37b1d

macos-arm64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-RC1-macos.tar.xz

SHA256: 6755cfd65e26745bd26d1b8990f7c9e8a85cd4b055dc25c27215630ac2d37b1d

win32

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-RC1-win32.zip

SHA256: 9e94507bca64b622d8dad8b8c32e4c533af65c8424ea3950641bb89d80fca7dc

win64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/xtensa-esp32s3-elf-gcc11_2_0-esp-2022r1-RC1-win64.zip

SHA256: cdfb5aaa27b533c50d6cc8215fa8dba204fad3a68e1d1daf71b446d1faf594bc

xtensa-clang

LLVM for Xtensa (ESP32, ESP32-S2) 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-14.0.0-20220415/xtensa-esp32-elf-llvm14_0_0-esp-14.0.0-20220415-linux-amd64.tar.xz

SHA256: b0148627912dacf4a4cab4596ba9467cb8dd771522ca27b9526bc57b88ff366f

macos

optional

https://github.com/espressif/llvm-project/releases/download/esp-14.0.0-20220415/xtensa-esp32-elf-llvm14_0_0-esp-14.0.0-20220415-macos.tar.xz

SHA256: 1a78c598825ef168c0c5668aff7848825a7b9d014bffd1f2f2484ceea9df3841

macos-arm64

optional

https://github.com/espressif/llvm-project/releases/download/esp-14.0.0-20220415/xtensa-esp32-elf-llvm14_0_0-esp-14.0.0-20220415-macos.tar.xz

SHA256: 1a78c598825ef168c0c5668aff7848825a7b9d014bffd1f2f2484ceea9df3841

win64

optional

https://github.com/espressif/llvm-project/releases/download/esp-14.0.0-20220415/xtensa-esp32-elf-llvm14_0_0-esp-14.0.0-20220415-win64.zip

SHA256: 793e7bd9c40fcb9a4fababaaccf3e4c5b8d9554d406af1b1fbee51806bf8c5dd

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-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-amd64.tar.xz

SHA256: 504766020be61413031650d32e642d6e69f1205b2cc1691b8fa7e004d2f33322

linux-arm64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-arm64.tar.xz

SHA256: 85dab0b6d57fccc85366757bf6b2162da967ed6d80d9734de695b4c48fbd1f94

linux-armel

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-armel.tar.xz

SHA256: 8e361785fcde89ce28934cb86ab95bda37a2d95beec37e9800c2a55b94592b35

linux-armhf

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-armhf.tar.xz

SHA256: c81a38675c5f323037dd981cc05f7abcc2119d0d55a28fd7c9d117b68087e0c5

linux-i686

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-linux-i686.tar.xz

SHA256: 6595de9ebb2b3f86edd2173042a2700e0296bc4a56a6296b4b7b83f1d3dbe474

macos

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-macos.tar.xz

SHA256: 4497a479557e3d5dd6ad6fb8a5085c6c36717121db01dfe0faf3a8b27b37d339

macos-arm64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-macos.tar.xz

SHA256: 4497a479557e3d5dd6ad6fb8a5085c6c36717121db01dfe0faf3a8b27b37d339

win32

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-win32.zip

SHA256: d6435639f9058c409a4185d4c14a29b09dfca7d6934c59a85d18d4cf75877a63

win64

required

https://github.com/espressif/crosstool-NG/releases/download/esp-2022r1-RC1/riscv32-esp-elf-gcc11_2_0-esp-2022r1-RC1-win64.zip

SHA256: c6c4d624333dcb93bd65fb19b5c44b4b1daab4642a890d853b2ae89938d37b79

esp32ulp-elf

Toolchain for ESP32 ULP coprocessor

License: GPL-2.0-or-later

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

Platform

Required

Download

linux-amd64

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32ulp-linux-amd64-2.28.51-esp-20191205.tar.gz

SHA256: 3016c4fc551181175bd9979869bc1d1f28fa8efa25a0e29ad7f833fca4bc03d7

linux-armel

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32ulp-linux-armel-2.28.51-esp-20191205.tar.gz

SHA256: 88967c086a6e71834282d9ae05841ee74dae1815f27807b25cdd3f7775a47101

linux-armhf

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32ulp-linux-armel-2.28.51-esp-20191205.tar.gz

SHA256: 88967c086a6e71834282d9ae05841ee74dae1815f27807b25cdd3f7775a47101

macos

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32ulp-macos-2.28.51-esp-20191205.tar.gz

SHA256: a35d9e7a0445247c7fc9dccd3fbc35682f0fafc28beeb10c94b59466317190c4

macos-arm64

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32ulp-macos-2.28.51-esp-20191205.tar.gz

SHA256: a35d9e7a0445247c7fc9dccd3fbc35682f0fafc28beeb10c94b59466317190c4

win32

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32ulp-win32-2.28.51-esp-20191205.zip

SHA256: bade309353a9f0a4e5cc03bfe84845e33205f05502c4b199195e871ded271ab5

win64

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32ulp-win32-2.28.51-esp-20191205.zip

SHA256: bade309353a9f0a4e5cc03bfe84845e33205f05502c4b199195e871ded271ab5

esp32s2ulp-elf

Toolchain for ESP32-S2 and ESP32-S3 ULP coprocessors

License: GPL-2.0-or-later

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

Platform

Required

Download

linux-amd64

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32s2ulp-linux-amd64-2.28.51-esp-20191205.tar.gz

SHA256: df7b2ff6c7c718a7cbe3b4b6dbcd68180d835d164d1913bc4698fd3781b9a466

linux-armel

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32s2ulp-linux-armel-2.28.51-esp-20191205.tar.gz

SHA256: 893b213c8f716d455a6efb2b08b6cf1bc34d08b78ee19c31e82ac44b1b45417e

linux-armhf

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32s2ulp-linux-armel-2.28.51-esp-20191205.tar.gz

SHA256: 893b213c8f716d455a6efb2b08b6cf1bc34d08b78ee19c31e82ac44b1b45417e

macos

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32s2ulp-macos-2.28.51-esp-20191205.tar.gz

SHA256: 5a9bb678a5246638cbda303f523d9bb8121a9a24dc01ecb22c21c46c41184155

macos-arm64

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32s2ulp-macos-2.28.51-esp-20191205.tar.gz

SHA256: 5a9bb678a5246638cbda303f523d9bb8121a9a24dc01ecb22c21c46c41184155

win32

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32s2ulp-win32-2.28.51-esp-20191205.zip

SHA256: 587de59fbb469a39f96168ae3eaa9f06b2601e6e0543c87eaf1bd97f23e5c4ca

win64

required

https://github.com/espressif/binutils-esp32ulp/releases/download/v2.28.51-esp-20191205/binutils-esp32s2ulp-win32-2.28.51-esp-20191205.zip

SHA256: 587de59fbb469a39f96168ae3eaa9f06b2601e6e0543c87eaf1bd97f23e5c4ca

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.23.1/cmake-3.23.1-linux-x86_64.tar.gz

SHA256: f3c654b2e226b9d43369e0bd8487c51618d4dbe5a1af929dd32af7e6ca432d60

linux-arm64

optional

https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-linux-aarch64.tar.gz

SHA256: 74062efddeb935bce3d33694a4db534cef9a650f77a9a153a9f217d9dc385c75

linux-armel

optional

https://dl.espressif.com/dl/cmake/cmake-3.23.1-Linux-armv7l.tar.gz

SHA256: aa6079237e16cc3b389479b2f7279d07e57f6aedad520e2b3014ef97fb906466

linux-armhf

optional

https://dl.espressif.com/dl/cmake/cmake-3.23.1-Linux-armv7l.tar.gz

SHA256: aa6079237e16cc3b389479b2f7279d07e57f6aedad520e2b3014ef97fb906466

macos

optional

https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-macos-universal.tar.gz

SHA256: f794ed92ccb4e9b6619a77328f313497d7decf8fb7e047ba35a348b838e0e1e2

macos-arm64

optional

https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-macos-universal.tar.gz

SHA256: f794ed92ccb4e9b6619a77328f313497d7decf8fb7e047ba35a348b838e0e1e2

win32

required

https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-windows-x86_64.zip

SHA256: 9b509cc4eb7191dc128cfa3f2170036f9cbc7d9d5f93ff7fafc5b2d77b3b40dc

win64

required

https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-windows-x86_64.zip

SHA256: 9b509cc4eb7191dc128cfa3f2170036f9cbc7d9d5f93ff7fafc5b2d77b3b40dc

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.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz

SHA256: 26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed

linux-arm64

required

https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz

SHA256: f97792bc2852937ec0accb9f0eb2e49926c0f747a71f101a4e34aed75d2c6fcc

linux-armel

required

https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-armel-0.11.0-esp32-20220706.tar.gz

SHA256: 27e4c628994cf342e7fc5b07f49ca5533ba892fd8a150683a382a08758c3dfbe

linux-armhf

required

https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz

SHA256: 7f3b57332104e8b8e6194553365a70a9d3754878cfc063d5dc5d839513a63de9

macos

required

https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz

SHA256: 333ee2ec3c9b5dc6ad4509faae55335cdea7f8bf83a56bfcf5327e4497c8538a

macos-arm64

required

https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-macos-arm64-0.11.0-esp32-20220706.tar.gz

SHA256: 7c5e721aac2ca11fc53595c7df32ea81c348854055ac3fe36340afbe3842756e

win32

required

https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip

SHA256: c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0

win64

required

https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip

SHA256: c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0

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://dl.espressif.com/dl/ninja-1.10.2-linux64.tar.gz

SHA256: 32bb769de4d57aa7ee0e292cfcb7553e7cc8ea0961f7aa2b3aee60aa407c4033

macos

optional

https://dl.espressif.com/dl/ninja-1.10.2-osx.tar.gz

SHA256: 847bb1ca4bc16d8dba6aeed3ecb5055498b86bc68c364c37583eb5738bb440f1

macos-arm64

optional

https://dl.espressif.com/dl/ninja-1.10.2-osx.tar.gz

SHA256: 847bb1ca4bc16d8dba6aeed3ecb5055498b86bc68c364c37583eb5738bb440f1

win64

required

https://dl.espressif.com/dl/ninja-1.10.2-win64.zip

SHA256: bbde850d247d2737c5764c927d1071cbb1f1957dcabda4a130fa8547c12c695f

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.3/ccache-4.3-windows-64.zip

SHA256: a9cacae73c3906d8193456328bee74f7748cb1559a32eaced9ee78eadd416105

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.9-win64.zip

SHA256: 5816d7ec68ef3ac07b5ac9fb9837c57d2efe45b6a80a2f2bbe6b40b1c15c470e