@@ -205,68 +205,66 @@ RUN echo 'Installing ESP8266 toolchain' >&2 && \
205
205
ENV PATH $PATH:/opt/esp/xtensa-esp8266-elf/bin
206
206
ENV ESP8266_RTOS_SDK_DIR /opt/esp/ESP8266_RTOS_SDK
207
207
208
- # Install ESP32 toolchain in /opt/esp (338 MB)
209
- ARG ESP32_GCC_RELEASE="esp-12.2.0_20230208"
210
- ARG ESP32_GCC_VERSION="12.2.0_20230208"
208
+ # Install ESP32x Xtensa toolchain in /opt/esp (1.1 GB)
209
+ ARG ESP32_GCC_RELEASE="esp-14.2.0_20241119"
210
+ ARG ESP32_GCC_VERSION_DIR="14.2.0"
211
+ ARG ESP32_GCC_VERSION_DOWNLOAD="14.2.0_20241119"
211
212
ARG ESP32_GCC_REPO=https://github.com/espressif/crosstool-NG/releases/download
212
- ARG ESP32_GCC_FILE=xtensa-esp32-elf-${ESP32_GCC_VERSION}-x86_64-linux-gnu.tar.xz
213
+
214
+ ARG ESP32_GCC_FILE=xtensa-esp-elf-${ESP32_GCC_VERSION_DOWNLOAD}-x86_64-linux-gnu.tar.xz
213
215
ARG ESP32_GCC_URL=${ESP32_GCC_REPO}/${ESP32_GCC_RELEASE}/${ESP32_GCC_FILE}
214
216
215
- RUN echo 'Installing ESP32 toolchain' >&2 && \
217
+ RUN echo 'Installing ESP32 toolchain for Xtensa ' >&2 && \
216
218
curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xJ && \
217
219
pip install --no-cache-dir pyserial
218
- ENV PATH $PATH:/opt/esp/xtensa-esp32-elf/bin
219
-
220
- # Install ESP32 QEMU in /opt/esp (130 MB)
221
- ARG ESP32_QEMU_VERSION="esp-develop-20220203"
222
- ARG ESP32_QEMU_REPO=https://github.com/espressif/qemu/releases/download
223
- ARG ESP32_QEMU_FILE=qemu-${ESP32_QEMU_VERSION}.tar.bz2
224
- ARG ESP32_QEMU_URL=${ESP32_QEMU_REPO}/${ESP32_QEMU_VERSION}/${ESP32_QEMU_FILE}
220
+ ENV PATH $PATH:/opt/esp/xtensa-esp-elf/bin
225
221
226
- RUN echo 'Installing ESP32 QEMU' >&2 && \
227
- curl -L ${ESP32_QEMU_URL} | tar -C /opt/esp -xj
228
- ENV PATH $PATH:/opt/esp/qemu/bin
229
-
230
- # Install ESP32-C3 toolchain in /opt/esp (859 MB)
231
- ARG ESP32_GCC_FILE=riscv32-esp-elf-${ESP32_GCC_VERSION}-x86_64-linux-gnu.tar.xz
222
+ # Install ESP32x RISC-V toolchain in /opt/esp (2.1 GB)
223
+ ARG ESP32_GCC_FILE=riscv32-esp-elf-${ESP32_GCC_VERSION_DOWNLOAD}-x86_64-linux-gnu.tar.xz
232
224
ARG ESP32_GCC_URL=${ESP32_GCC_REPO}/${ESP32_GCC_RELEASE}/${ESP32_GCC_FILE}
233
225
234
- RUN echo 'Installing ESP32-C3 toolchain' >&2 && \
226
+ RUN echo 'Installing ESP32 toolchain for RISC-V ' >&2 && \
235
227
curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xJ
236
228
ENV PATH $PATH:/opt/esp/riscv32-esp-elf/bin
237
229
238
- # Install ESP32-S2 toolchain in /opt/esp (340 MB)
239
- ARG ESP32_GCC_FILE=xtensa-esp32s2-elf-${ESP32_GCC_VERSION}-x86_64-linux-gnu.tar.xz
240
- ARG ESP32_GCC_URL=${ESP32_GCC_REPO}/${ESP32_GCC_RELEASE}/${ESP32_GCC_FILE}
230
+ # Install ESP32x QEMU in /opt/esp (136 MB)
231
+ ARG ESP32_QEMU_VERSION="esp-develop-9.0.0-20240606"
232
+ ARG ESP32_QEMU_VERSION_DOWNLOAD="esp_develop_9.0.0_20240606"
233
+ ARG ESP32_QEMU_REPO=https://github.com/espressif/qemu/releases/download
241
234
242
- RUN echo 'Installing ESP32-S2 toolchain' >&2 && \
243
- curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xJ
244
- ENV PATH $PATH:/opt/esp/xtensa-esp32s2-elf/bin
235
+ ARG ESP32_QEMU_FILE=qemu-xtensa-softmmu-${ESP32_QEMU_VERSION_DOWNLOAD}-x86_64-linux-gnu.tar.xz
236
+ ARG ESP32_QEMU_URL=${ESP32_QEMU_REPO}/${ESP32_QEMU_VERSION}/${ESP32_QEMU_FILE}
245
237
246
- # Install ESP32-S3 toolchain in /opt/esp (341 MB)
247
- ARG ESP32_GCC_FILE=xtensa-esp32s3-elf-${ESP32_GCC_VERSION}-x86_64-linux-gnu.tar.xz
248
- ARG ESP32_GCC_URL=${ESP32_GCC_REPO}/${ESP32_GCC_RELEASE}/${ESP32_GCC_FILE}
238
+ RUN echo 'Installing ESP32 QEMU for Xtensa' >&2 && \
239
+ mkdir -p /opt/esp/qemu-xtensa-softmmu && \
240
+ curl -L ${ESP32_QEMU_URL} | tar -C /opt/esp/qemu-xtensa-softmmu -xJ
241
+ ENV PATH $PATH:/opt/esp/qemu-xtensa-softmmu/bin
249
242
250
- RUN echo 'Installing ESP32-S3 toolchain' >&2 && \
251
- curl -L ${ESP32_GCC_URL} | tar -C /opt/esp -xJ
252
- ENV PATH $PATH:/opt/esp/xtensa-esp32s3-elf/bin
243
+ ARG ESP32_QEMU_FILE=qemu-riscv32-softmmu-${ESP32_QEMU_VERSION_DOWNLOAD}-x86_64-linux-gnu.tar.xz
244
+ ARG ESP32_QEMU_URL=${ESP32_QEMU_REPO}/${ESP32_QEMU_VERSION}/${ESP32_QEMU_FILE}
253
245
254
- # Install GDB for Xtensa base ESP32 x SoCs in /opt/esp (94 MB)
255
- ARG ESP32_GDB_VERSION=12.1_20221002
246
+ RUN echo 'Installing ESP32 QEMU for RISC-V' >&2 && \
247
+ mkdir -p /opt/esp/qemu-riscv32-softmmu && \
248
+ curl -L ${ESP32_QEMU_URL} | tar -C /opt/esp/qemu-riscv32-softmmu -xJ
249
+ ENV PATH $PATH:/opt/esp/qemu-riscv32-softmmu/bin
250
+
251
+ # Install GDB for ESP32x Xtensa SoCs in /opt/esp (91 MB)
252
+ ARG ESP32_GDB_VERSION="14.2_20240403"
256
253
ARG ESP32_GDB_REPO=https://github.com/espressif/binutils-gdb/releases/download
257
254
ARG ESP32_GDB_REPO_DIR=esp-gdb-v${ESP32_GDB_VERSION}
255
+
258
256
ARG ESP32_GDB_FILE=xtensa-esp-elf-gdb-${ESP32_GDB_VERSION}-x86_64-linux-gnu.tar.gz
259
257
ARG ESP32_GDB_URL=${ESP32_GDB_REPO}/${ESP32_GDB_REPO_DIR}/${ESP32_GDB_FILE}
260
258
261
- RUN echo 'Installing GDB for Xtensa based ESP32x SoCs ' >&2 && \
259
+ RUN echo 'Installing ESP32 GDB for Xtensa' >&2 && \
262
260
curl -L ${ESP32_GDB_URL} | tar -C /opt/esp -xz
263
261
ENV PATH $PATH:/opt/esp/xtensa-esp-elf-gdb/bin
264
262
265
- # Install GDB for RISC-V based ESP32 SoCs in /opt/esp (93 MB)
263
+ # Install GDB for ESP32x RISC-V SoCs in /opt/esp (89 MB)
266
264
ARG ESP32_GDB_FILE=riscv32-esp-elf-gdb-${ESP32_GDB_VERSION}-x86_64-linux-gnu.tar.gz
267
265
ARG ESP32_GDB_URL=${ESP32_GDB_REPO}/${ESP32_GDB_REPO_DIR}/${ESP32_GDB_FILE}
268
266
269
- RUN echo 'Installing GDB for RISC-V based ESP32x SoCs ' >&2 && \
267
+ RUN echo 'Installing ESP32 GDB for RISC-V' >&2 && \
270
268
curl -L ${ESP32_GDB_URL} | tar -C /opt/esp -xz
271
269
ENV PATH $PATH:/opt/esp/riscv32-esp-elf-gdb/bin
272
270
@@ -292,9 +290,6 @@ RUN cd /usr/src/picolibc/picolibc-${PICOLIBC_TAG} && \
292
290
cd build-riscv && \
293
291
meson .. -Dtests=true -Dmultilib=false -Dincludedir=picolibc/riscv-none-elf/include -Dlibdir=picolibc/riscv-none-elf/lib --cross-file ../cross-riscv-none-elf.txt && \
294
292
ninja && ninja install && \
295
- cd ../build-esp32 && \
296
- sh ../do-esp32-configure && \
297
- ninja && ninja install && \
298
293
cd ../build-arm && \
299
294
sh ../do-arm-configure && \
300
295
ninja && ninja install
0 commit comments