|
1 | 1 | #!/usr/bin/env bash |
2 | 2 |
|
3 | | -esptool.py --chip esp32 merge_bin \ |
| 3 | +# Detect target - priority: command line arg > IDF_TARGET env var > sdkconfig fallback |
| 4 | +if [ $# -gt 0 ]; then |
| 5 | + TARGET="$1" |
| 6 | + echo "Using target from command line: $TARGET" |
| 7 | +elif [ -n "$IDF_TARGET" ]; then |
| 8 | + TARGET="$IDF_TARGET" |
| 9 | + echo "Using target from IDF_TARGET environment variable: $TARGET" |
| 10 | +else |
| 11 | + echo "Error: No target specified. Use:" |
| 12 | + echo " $0 <target> # Command line argument" |
| 13 | + echo " IDF_TARGET=<target> # Environment variable" |
| 14 | + echo "" |
| 15 | + echo "Supported targets: esp32, esp32s3" |
| 16 | + exit 1 |
| 17 | +fi |
| 18 | + |
| 19 | +# Set parameters based on target |
| 20 | +case "$TARGET" in |
| 21 | + "esp32") |
| 22 | + CHIP="esp32" |
| 23 | + FLASH_MODE="qio" |
| 24 | + FLASH_FREQ="80m" |
| 25 | + FLASH_SIZE="4MB" |
| 26 | + APP_OFFSET="0x10000" |
| 27 | + WWW_OFFSET="0x300000" |
| 28 | + ;; |
| 29 | + "esp32s3") |
| 30 | + CHIP="esp32s3" |
| 31 | + FLASH_MODE="qio" |
| 32 | + FLASH_FREQ="80m" |
| 33 | + FLASH_SIZE="16MB" |
| 34 | + APP_OFFSET="0x10000" |
| 35 | + WWW_OFFSET="0xEE0000" |
| 36 | + ;; |
| 37 | + *) |
| 38 | + echo "Error: Unsupported target $TARGET" |
| 39 | + exit 1 |
| 40 | + ;; |
| 41 | +esac |
| 42 | + |
| 43 | +echo "Building merged firmware for $TARGET..." |
| 44 | +echo " Flash mode: $FLASH_MODE" |
| 45 | +echo " Flash freq: $FLASH_FREQ" |
| 46 | +echo " Flash size: $FLASH_SIZE" |
| 47 | + |
| 48 | +esptool.py --chip "$CHIP" merge_bin \ |
4 | 49 | -o ../build/merged-firmware.bin \ |
5 | | - --flash_mode dio \ |
6 | | - --flash_freq 80m \ |
7 | | - --flash_size 4MB \ |
| 50 | + --flash_mode "$FLASH_MODE" \ |
| 51 | + --flash_freq "$FLASH_FREQ" \ |
| 52 | + --flash_size "$FLASH_SIZE" \ |
8 | 53 | 0x1000 ../build/bootloader/bootloader.bin \ |
9 | 54 | 0x8000 ../build/partition_table/partition-table.bin \ |
10 | | - 0x20000 ../build/suntransit.bin \ |
11 | | - 0x300000 ../build/www.bin \ |
| 55 | + "$APP_OFFSET" ../build/suntransit.bin \ |
| 56 | + "$WWW_OFFSET" ../build/www.bin |
0 commit comments