ESP32 build/toolchain dependencies

In another posting,

There are a number of github threads and forum topics relating to building and how we need 5.2.0. I think that they are old/obsolete, and we need to stamp them out, which is why I think that I’m posting this new topic, and a place to point to.

riotdocker/riotbuild/Dockerfile at master · RIOT-OS/riotdocker · GitHub says:

ARG ESP32_GCC_RELEASE="esp-2021r2-patch3"
ARG ESP32_GCC_VERSION="gcc8_4_0"
ARG ESP32_GCC_REPO=https://github.com/espressif/crosstool-NG/releases/download
ARG ESP32_GCC_FILE=xtensa-esp32-elf-${ESP32_GCC_VERSION}-${ESP32_GCC_RELEASE}-linux-amd64.tar.gz
ARG ESP32_GCC_URL=${ESP32_GCC_REPO}/${ESP32_GCC_RELEASE}/${ESP32_GCC_FILE}

RUN echo 'Installing ESP32 toolchain' >&2 && \
    curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xz && \
    pip install --no-cache-dir pyserial
ENV PATH $PATH:/opt/esp/xtensa-esp32-elf/bin

which results in: https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz being downloaded into the docker. (I’m a fan of Dockerfiles, but not docker. I way prefer to just setup my compilers on my machine be done)

The other thing I want to repeat here is that if you have been doing ESP32 stuff, you like have put a bunch of IDF variables in your .profile/.zshenv/etc. and you should remove them, particularly: ESP32_SDK_DIR.

Also, don’t forget: pip3 install pyserial

There is also a script in RIOT that will take care of downloading and installing the toolchain: Local Toolchain Installation

Great… but how would I have found about it? :slight_smile: