@@ -204,19 +204,19 @@ RUN echo 'Installing ESP8266 toolchain' >&2 && \
204204ENV PATH $PATH:/opt/esp/xtensa-esp8266-elf/bin
205205ENV ESP8266_RTOS_SDK_DIR /opt/esp/ESP8266_RTOS_SDK
206206
207- # Install ESP32 toolchain in /opt/esp (289 MB)
208- ARG ESP32_GCC_RELEASE="esp-2021r2-patch3 "
209- ARG ESP32_GCC_VERSION="gcc8_4_0 "
207+ # Install ESP32 toolchain in /opt/esp (338 MB)
208+ ARG ESP32_GCC_RELEASE="esp-12.2.0_20230208 "
209+ ARG ESP32_GCC_VERSION="12.2.0_20230208 "
210210ARG ESP32_GCC_REPO=https://github.com/espressif/crosstool-NG/releases/download
211- ARG ESP32_GCC_FILE=xtensa-esp32-elf-${ESP32_GCC_VERSION}-${ESP32_GCC_RELEASE} -linux-amd64 .tar.gz
211+ ARG ESP32_GCC_FILE=xtensa-esp32-elf-${ESP32_GCC_VERSION}-x86_64 -linux-gnu .tar.xz
212212ARG ESP32_GCC_URL=${ESP32_GCC_REPO}/${ESP32_GCC_RELEASE}/${ESP32_GCC_FILE}
213213
214214RUN echo 'Installing ESP32 toolchain' >&2 && \
215- curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xz && \
215+ curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xJ && \
216216 pip install --no-cache-dir pyserial
217217ENV PATH $PATH:/opt/esp/xtensa-esp32-elf/bin
218218
219- # Install ESP32 QEMU in /opt/esp (89 MB)
219+ # Install ESP32 QEMU in /opt/esp (130 MB)
220220ARG ESP32_QEMU_VERSION="esp-develop-20220203"
221221ARG ESP32_QEMU_REPO=https://github.com/espressif/qemu/releases/download
222222ARG ESP32_QEMU_FILE=qemu-${ESP32_QEMU_VERSION}.tar.bz2
@@ -226,33 +226,49 @@ RUN echo 'Installing ESP32 QEMU' >&2 && \
226226 curl -L ${ESP32_QEMU_URL} | tar -C /opt/esp -xj
227227ENV PATH $PATH:/opt/esp/qemu/bin
228228
229- # Install ESP32-C3 toolchain in /opt/esp (344 MB)
230- ARG ESP32_GCC_FILE=riscv32-esp-elf-${ESP32_GCC_VERSION}-${ESP32_GCC_RELEASE} -linux-amd64 .tar.gz
229+ # Install ESP32-C3 toolchain in /opt/esp (859 MB)
230+ ARG ESP32_GCC_FILE=riscv32-esp-elf-${ESP32_GCC_VERSION}-x86_64 -linux-gnu .tar.xz
231231ARG ESP32_GCC_URL=${ESP32_GCC_REPO}/${ESP32_GCC_RELEASE}/${ESP32_GCC_FILE}
232232
233233RUN echo 'Installing ESP32-C3 toolchain' >&2 && \
234- curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xz && \
235- pip install --no-cache-dir pyserial
234+ curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xJ
236235ENV PATH $PATH:/opt/esp/riscv32-esp-elf/bin
237236
238- # Install ESP32-S2 toolchain in /opt/esp (290 MB)
239- ARG ESP32_GCC_FILE=xtensa-esp32s2-elf-${ESP32_GCC_VERSION}-${ESP32_GCC_RELEASE} -linux-amd64 .tar.gz
237+ # Install ESP32-S2 toolchain in /opt/esp (340 MB)
238+ ARG ESP32_GCC_FILE=xtensa-esp32s2-elf-${ESP32_GCC_VERSION}-x86_64 -linux-gnu .tar.xz
240239ARG ESP32_GCC_URL=${ESP32_GCC_REPO}/${ESP32_GCC_RELEASE}/${ESP32_GCC_FILE}
241240
242241RUN echo 'Installing ESP32-S2 toolchain' >&2 && \
243- curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xz && \
244- pip install --no-cache-dir pyserial
242+ curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xJ
245243ENV PATH $PATH:/opt/esp/xtensa-esp32s2-elf/bin
246244
247- # Install ESP32-S3 toolchain in /opt/esp (292 MB)
248- ARG ESP32_GCC_FILE=xtensa-esp32s3-elf-${ESP32_GCC_VERSION}-${ESP32_GCC_RELEASE} -linux-amd64 .tar.gz
245+ # Install ESP32-S3 toolchain in /opt/esp (341 MB)
246+ ARG ESP32_GCC_FILE=xtensa-esp32s3-elf-${ESP32_GCC_VERSION}-x86_64 -linux-gnu .tar.xz
249247ARG ESP32_GCC_URL=${ESP32_GCC_REPO}/${ESP32_GCC_RELEASE}/${ESP32_GCC_FILE}
250248
251249RUN echo 'Installing ESP32-S3 toolchain' >&2 && \
252- curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xz && \
253- pip install --no-cache-dir pyserial
250+ curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xJ
254251ENV PATH $PATH:/opt/esp/xtensa-esp32s3-elf/bin
255252
253+ # Install GDB for Xtensa base ESP32 x SoCs in /opt/esp (94 MB)
254+ ARG ESP32_GDB_VERSION=12.1_20221002
255+ ARG ESP32_GDB_REPO=https://github.com/espressif/binutils-gdb/releases/download
256+ ARG ESP32_GDB_REPO_DIR=esp-gdb-v${ESP32_GDB_VERSION}
257+ ARG ESP32_GDB_FILE=xtensa-esp-elf-gdb-${ESP32_GDB_VERSION}-x86_64-linux-gnu.tar.gz
258+ ARG ESP32_GDB_URL=${ESP32_GDB_REPO}/${ESP32_GDB_REPO_DIR}/${ESP32_GDB_FILE}
259+
260+ RUN echo 'Installing GDB for Xtensa based ESP32x SoCs' >&2 && \
261+ curl -L ${ESP32_GDB_URL} | tar -C /opt/esp -xz
262+ ENV PATH $PATH:/opt/esp/xtensa-esp-elf-gdb/bin
263+
264+ # Install GDB for RISC-V based ESP32 SoCs in /opt/esp (93 MB)
265+ ARG ESP32_GDB_FILE=riscv32-esp-elf-gdb-${ESP32_GDB_VERSION}-x86_64-linux-gnu.tar.gz
266+ ARG ESP32_GDB_URL=${ESP32_GDB_REPO}/${ESP32_GDB_REPO_DIR}/${ESP32_GDB_FILE}
267+
268+ RUN echo 'Installing GDB for RISC-V based ESP32x SoCs' >&2 && \
269+ curl -L ${ESP32_GDB_URL} | tar -C /opt/esp -xz
270+ ENV PATH $PATH:/opt/esp/riscv32-esp-elf-gdb/bin
271+
256272ARG PICOLIBC_REPO=https://github.com/keith-packard/picolibc
257273ARG PICOLIBC_TAG=1.4.6
258274ARG PICOLIBC_URL=${PICOLIBC_REPO}/archive/${PICOLIBC_TAG}.tar.gz
0 commit comments