FIx build script with correct implementation for flashing firmware

This commit is contained in:
2025-10-14 21:58:48 +02:00
parent fafd6a9a7a
commit 60c6a19f13
2 changed files with 25 additions and 8 deletions
+10 -2
View File
@@ -34,7 +34,15 @@ RUN cd $IDF_PATH && ./install.sh esp32c3
COPY . /usr/src/esp/firmware/
WORKDIR /usr/src/esp/firmware/
# Create sdkconfig.defaults with correct flash settings
RUN echo "CONFIG_ESPTOOLPY_FLASHMODE=dio" > sdkconfig.defaults && \
echo "CONFIG_ESPTOOLPY_FLASHFREQ=40m" >> sdkconfig.defaults && \
echo "CONFIG_ESPTOOLPY_FLASHSIZE=4MB" >> sdkconfig.defaults
RUN rm -rf build && /bin/bash -c "source $IDF_PATH/export.sh && idf.py set-target esp32c3 && idf.py build"
RUN mkdir -p /usr/src/build && cp build/plant-manager.bin /usr/src/build/esp32.bin
RUN mkdir -p /usr/src/build && \
cp build/bootloader/bootloader.bin /usr/src/build/ && \
cp build/partition_table/partition-table.bin /usr/src/build/ && \
cp build/plant-manager.bin /usr/src/build/
+15 -6
View File
@@ -5,14 +5,23 @@ IMAGE_NAME="esp32-builder"
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
DOCKERFILE="$SCRIPT_DIR/Dockerfile"
BUILD_CTX="$SCRIPT_DIR"
DEST_BIN="$SCRIPT_DIR/build/esp32.bin"
DEST_DIR="$SCRIPT_DIR/build"
docker build -t "$IMAGE_NAME" -f "$DOCKERFILE" "$BUILD_CTX"
mkdir -p "$(dirname "$DEST_BIN")"
mkdir -p "$DEST_DIR"
docker run --rm "$IMAGE_NAME" \
cat /usr/src/esp/firmware/build/plant-manager.bin > "$DEST_BIN"
docker run --rm -v "$DEST_DIR":/output "$IMAGE_NAME" cp -r /usr/src/build/. /output/
esptool --chip esp32c3 --port /dev/ttyUSB0 --baud 115200 write-flash 0x1000 "$DEST_BIN" \
|| { echo "To find the correct port run: ls /dev/cu.*. Then modify build-esp32.sh"; exit 1; }
#echo "Erasing flash..."
#esptool --chip esp32c3 --port /dev/tty.usbmodem101 erase-flash
esptool --chip esp32c3 --port /dev/tty.usbmodem101 --baud 115200 write-flash \
--flash-mode dio \
--flash-freq 40m \
--flash-size 4MB \
0x0000 "$DEST_DIR/bootloader.bin" \
0x8000 "$DEST_DIR/partition-table.bin" \
0x10000 "$DEST_DIR/plant-manager.bin"
screen -fn /dev/tty.usbmodem101 115200