Цитата:
Еще раз собрал все вместе и мое понимание процесса выглядит так:
1. При проведении теста в D-PDUAPI_Test.exe, адаптер опрашивается и если версия прошивки (Module FW-Version) в нем отличается от версии в файле VCFUSBLU.BIN (в нем версия находится в трех байтах по смещению 0x2C), микроконтроллеру передается на выполнение Flash54.bin
|
Не совсем так. Проверяется контрольная сумма. Если контрльная сумма того что сейчас залито отличается от суммы в файле .cnf или расчитанной по файлу .bin то происходит принудительная перезаливка файла независимо от дат.
Пруф: ставим оригинальный PDU .42, запускаем тест, адаптер прошиватся, все ок. Дальше подкладываем патч1 с исправленым одним байтом и свежий .cnf, запускаем тест -> адаптер снова обновляется (это можно понять по времени выполнения теста - около минуты по BT и морганию светодиода). Итого: пофиг на дату, важна CRC
Да и общие принципы написания такого рода проверок обычно базируются на CRC. Не надежно просто дату проверять. А если дата потурлась или другой какой байт изменился - то по CRC сразу обнаружится несоответствие и выполнится принудительная перепрошивка.