#!/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