Files
ESP-Scope/Dockerfile
2026-04-09 18:40:39 +02:00

32 lines
1.3 KiB
Docker

FROM espressif/idf:v5.5 AS firmware-builder
SHELL ["/bin/bash", "-c"]
ARG TARGET=esp32
ARG LED_BUILTIN=2
ARG BSP_CONFIG_GPIO=9
ARG BOARD_SPECIFIC_INIT="boards/default.h"
COPY CMakeLists.txt /workspace/
COPY main /workspace/main
COPY sdkconfig.defaults /workspace/sdkconfig.defaults
WORKDIR /workspace
RUN sed -i "s/^CONFIG_LED_BUILTIN=.*/CONFIG_LED_BUILTIN=${LED_BUILTIN}/" sdkconfig.defaults && \
sed -i "s/^CONFIG_BSP_CONFIG_GPIO=.*/CONFIG_BSP_CONFIG_GPIO=${BSP_CONFIG_GPIO}/" sdkconfig.defaults && \
sed -i "s|^CONFIG_BOARD_SPECIFIC_INIT=.*|CONFIG_BOARD_SPECIFIC_INIT=\"${BOARD_SPECIFIC_INIT}\"|" sdkconfig.defaults
RUN source /opt/esp/idf/export.sh > /dev/null 2>&1 && \
idf.py set-target ${TARGET} && idf.py build && \
if [ "${TARGET}" = "esp32c6" ]; then \
esptool.py --chip ${TARGET} merge_bin \
-o build/merged-firmware.bin \
0x0 build/bootloader/bootloader.bin \
0x8000 build/partition_table/partition-table.bin \
0x10000 build/esp-scope.bin; \
else \
esptool.py --chip ${TARGET} merge_bin \
-o build/merged-firmware.bin \
--flash_mode dio --flash_freq 80m --flash_size 2MB \
0x1000 build/bootloader/bootloader.bin \
0x8000 build/partition_table/partition-table.bin \
0x10000 build/esp-scope.bin; \
fi