#!/bin/bash # Check if the number of arguments is correct if [ "$#" -ne 1 ]; then echo "Usage: $0 output_file" exit 1 fi # Extract output_file argument output_file="$1" # Check if esptool.py is installed and accessible if ! command -v esptool.py &> /dev/null; then echo "esptool.py is not installed or not in PATH. Please install it first." echo "pip install esptool" exit 1 fi # Check if the required bin files exist required_files=("build/bootloader/bootloader.bin" "build/partition_table/partition-table.bin" "build/esp-miner.bin" "build/www.bin" "build/ota_data_initial.bin") for file in "${required_files[@]}"; do if [ ! -f "$file" ]; then echo "Required file $file does not exist. Make sure to build first." echo "Exiting" exit 1 fi done # Call esptool.py with the specified arguments esptool.py --chip esp32s3 merge_bin --flash_mode dio --flash_size 8MB --flash_freq 80m 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0x10000 build/esp-miner.bin 0x410000 build/www.bin 0xf10000 build/ota_data_initial.bin -o "$output_file" # Check if esptool.py command was successful if [ $? -eq 0 ]; then echo "Successfully created $output_file" else echo "Failed to create $output_file" exit 1 fi