Здравствуйте! У меня прошивка слетела…
Периодически клиенты задают вопрос — а ваша прошивка не слетит? Или звонят со словами — я у вас год назад прошивался, а сейчас прошивка слетела!
Ну что же давайте разбираться вместе.
Прошивка — это файл записанный во внутреннюю Flash память блока управления. В этом файле содержится программа и калибровки по которым блок управляет двигателем. Как и любой другой файл сам по себе он вдруг поменяться не может! Не бывает так что вы записали на флешку любимую песню Киркорова, но после зимних морозов Бедросович на записи вдруг осипшим голосом начал петь! Так же и с прошивкой! Сам по себе файл поменяться не может, за исключением физической неисправности ЭБУ или воздействия на него внешних факторов (сильных скачков напряжения или электромагнитных импульсов) что огромная редкость.
Так же для контроля целостности прошивки используется контрольная сумма!
Контрольная сумма — некоторое значение, рассчитанное по набору данных путём применения определённого алгоритма и используемое для проверки целостности данных
При изменении хотя бы одного бита в прошивке — контрольная сумма изменится и блок в лучшем случае выдаст ошибку, а в худшем (если повреждения затронут критически важную область) двигатель вовсе не запуститься.
Но давайте попробуем на практике!
Итак берем прошивку от Лада Веста 1.6 АМТ i756ah03 и проверяем в редакторе прошивок ее контрольную сумму — 32А1

Редактор прошивок сообщает нам о том, что контрольная сумма 32A1 и совпадает с ее значением указанным в теле прошивки.
Далее мы открываем прошивку не в редакторе прошивок (т.к. он автоматически пересчитывает контрольную сумму), а в HEX редакторе, и в произвольном месте трем один байт сымитировав тем самым нештатное изменение прошивки.

сохраняем измененный файл. Снова проверяем контрольную сумму в редакторе прошивок.

Видим, что контрольная сумма поменялась с 31А1 на 32С0 и редактор прошивок автоматически исправил данные о контрольной сумме в теле прошивки! Но мы в данном случае исправления контрольной суммы не сохраняем т.к. нам интересно посмотреть что будет если прошивка вдруг поменяется сама по себе.
Записываем нашу правленую прошивку в блок

Запускаем двигатель!
В скором времени после пуска загорается CHEK ENGINE

Подключаем диагностику. И видим ошибку P0601 — ошибка контрольной суммы ПЗУ!

ЭБУ автоматически пересчитал контрольную сумму! И т.к. она не совпала с той что указана в теле прошивки выставил соответствующий код ошибки!
Вывод:
В случае если в результате неисправности памяти блока управления, скачков напряжения, электромагнитных импульсов вызванных взрывом атомной бомбы и прочих внешних факторов в теле прошивки что либо поменяется — вы тут же увидите горящий значок Chek Engine и ошибку P0601!
Если ошибки P0601 нету, а автомобиль вдруг поехал не так как раньше, значит в автомобиле что-то сломалось и надо искать причину в «железе»!
