HVAC_M7_MONO/WORK/create.sh

79 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
echo "=== Processing HVAC Firmware ==="
# Разделение файла
./fc_bin_hvac --split 0xC0000 --output1 HVAC_MAIN.bin --output2 HVAC_CALIB.bin HVAC_M7.bin && \
echo "✓ Split OK" || { echo "✗ Split failed"; exit 1; }
# Запись CRC в MAIN файл
./fc_bin_hvac -w HVAC_MAIN.bin && \
echo "✓ CRC MAIN written" || { echo "✗ CRC MAIN write failed"; exit 1; }
# Проверка CRC MAIN файла
echo -e "\n--- Verifying CRC for MAIN ---"
./fc_bin_hvac -c HVAC_MAIN.bin
if [ $? -eq 0 ]; then
echo "✓ CRC MAIN verification PASSED"
else
echo "✗ CRC MAIN verification FAILED"
exit 1
fi
# Запись CRC в CALIB файл
./fc_bin_hvac -w HVAC_CALIB.bin && \
echo "✓ CRC CALIB written" || { echo "✗ CRC CALIB write failed"; exit 1; }
# Проверка CRC CALIB файла
echo -e "\n--- Verifying CRC for CALIB ---"
./fc_bin_hvac -c HVAC_CALIB.bin
if [ $? -eq 0 ]; then
echo "✓ CRC CALIB verification PASSED"
else
echo "✗ CRC CALIB verification FAILED"
exit 1
fi
# Запись CRC в BOOT файл
./fc_bin_hvac -w HVAC_BOOT_OTA_M7.bin && \
echo "✓ CRC BOOT written" || { echo "✗ CRC BOOT write failed"; exit 1; }
# Проверка CRC BOOT файла
echo -e "\n--- Verifying CRC for BOOT ---"
./fc_bin_hvac -c HVAC_BOOT_OTA_M7.bin
if [ $? -eq 0 ]; then
echo "✓ CRC BOOT verification PASSED"
else
echo "✗ CRC BOOT verification FAILED"
exit 1
fi
# Конвертация в HEX
echo -e "\n--- Converting to HEX ---"
objcopy -I binary -O ihex --change-addresses 0x01010000 HVAC_MAIN.bin HVAC_MAIN.hex && \
echo "✓ HEX MAIN OK" || echo "✗ HEX MAIN failed"
objcopy -I binary -O ihex --change-addresses 0x010C0000 HVAC_CALIB.bin HVAC_CALIB.hex && \
echo "✓ HEX CALIB OK" || echo "✗ HEX CALIB failed"
objcopy -I binary -O ihex --change-addresses 0x01000000 HVAC_BOOT_OTA_M7.bin HVAC_BOOT_OTA_M7.hex && \
echo "✓ HEX BOOT OK" || echo "✗ HEX BOOT failed"
echo -e "\n=== All operations completed ==="
ls -lh *.bin *.hex
# Дополнительная финальная проверка всех CRC
echo -e "\n=== Final CRC Verification ==="
echo "MAIN file CRC:"
./fc_bin_hvac -s HVAC_MAIN.bin
echo -e "\nCALIB file CRC:"
./fc_bin_hvac -s HVAC_CALIB.bin
echo -e "\nBOOT file CRC:"
./fc_bin_hvac -s HVAC_BOOT_OTA_M7.bin