79 lines
2.3 KiB
Bash
Executable File
79 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
echo "=== Processing HVAC Firmware ==="
|
|
|
|
# Разделение файла
|
|
./fc_bin_hvac --split 0xB0000 --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 |