К содержанию

Файл и процесс

Контрольные суммы прошивки ЭБУ: зачем нужны и почему файл не принимается

Контрольная сумма — это число, посчитанное по содержимому прошивки. ЭБУ и программатор сверяют его с тем, что записано в служебной области файла. Любая правка байтов делает сумму недействительной, поэтому после изменения калибровок её пересчитывают. Иначе запись обрывается с ошибкой checksum либо блок уходит в аварийный режим.

Что такое контрольная сумма прошивки

Контрольная сумма — результат арифметической свёртки блока данных в короткое число. Прошивка ЭБУ хранит такие числа в служебных полях, а программа блока при старте пересчитывает их заново по фактическому содержимому памяти. Совпало — данные считаются целыми, не совпало — блок считает прошивку повреждённой.

Механизм придуман не против тюнинга, а против повреждённой записи: сбой питания при прошивке, обрыв связи, битая ячейка флеш-памяти. Поэтому проверка живёт на нескольких уровнях сразу — в самом ЭБУ, в загрузчике и в программе флешера.

Для мастера это значит простую вещь: файл после правки — уже не тот файл, который вычитали. Пока контрольная сумма не приведена в соответствие с новым содержимым, прошивка формально повреждена.

Какие контрольные суммы встречаются в ЭБУ

В одном дампе обычно живёт не одна сумма, а несколько независимых — отдельно на программную часть, отдельно на калибровки, иногда отдельно на карты конкретных систем. Правка карты наддува задевает сумму калибровок и не задевает сумму программы.

Типы проверок целостности в прошивках ЭБУ
Тип проверкиКак устроенаЧто важно мастеру
Простая сумма (sum16 / sum32)Сложение слов области с отбрасыванием переполненияЧастый вариант на старых блоках, пересчитывается просто
CRCПолиномиальная свёртка области, чувствительна к перестановке байтовНужны точные границы области и параметры полинома
Раздельные суммы программы и калибровокОтдельные значения для кода и калибровочного набораПравка карт трогает только калибровочную сумму
Криптографическая подписьПодпись содержимого ключом производителяНа новых поколениях блоков одного пересчёта недостаточно
Контроль целостности флеш-памятиСчитается контроллером памяти при записиК содержимому калибровок отношения не имеет, это задача флешера

Чем новее блок, тем больше проверок. На поколениях Bosch MG1 и MD1 к суммам добавляется криптографическая защита прошивки, поэтому работа с такими ЭБУ строится вокруг подготовки блока, а не вокруг одного лишь пересчёта.

Что происходит, если сумма не сошлась

Сценарий зависит от того, на каком этапе обнаружено расхождение. Хороший случай — флешер отказывается писать файл и сообщает об ошибке. Плохой — файл записан, а блок обнаруживает расхождение уже на автомобиле.

Типовые проявления неверной контрольной суммы
Момент обнаруженияЧто видит мастерЧем это грозит
Проверка в программе флешераОтказ записи, сообщение об ошибке контрольной суммыНичем: файл не записан, блок цел
Проверка загрузчиком при стартеБлок не выходит на связь или отвечает только в сервисном режимеНужна повторная запись, иногда через bench или boot
Проверка программой ЭБУ на работающем мотореАварийный режим, ограничение тяги, ошибка внутренней памяти блокаАвтомобиль едет, но неправильно — и это заметит клиент
Проверка при диагностике на сервисеОтметка о несоответствии калибровокВопросы на официальном сервисе

Отдельный неочевидный случай — сумма сошлась, но изменена не та область. Блок стартует, ошибок нет, а поведение мотора отличается от ожидаемого. Здесь помогает только сравнение с сохранённым стоком.

Кто пересчитывает сумму: редактор или флешер

Единого правила нет, и это главный источник путаницы. Для части ЭБУ корректную сумму обязан положить в файл тот, кто правит калибровки. Для другой части сумму считает программа-флешер прямо в момент записи, и готовить её заранее не нужно.

Разделение ответственности за контрольную сумму
СценарийКто считает суммуЧто делать мастеру
Редактор отдаёт готовый к записи файлСервис правкиЗаписать результат как есть, ничего не пересчитывать
Флешер считает сумму при записиПрограмма записи (например, Combiloader или PCMflash)Не отключать пересчёт в настройках флешера
Считают обе стороныСначала редактор, потом флешерКонфликта обычно нет: результат совпадает
Не считает никтоНиктоОтказ записи либо аварийный режим — вернуться к стоку

В ETC tools порядок описан на карточке каждого ЭБУ. Например, для Continental SID208 и Bosch EDC17C57 контрольные суммы пересчитывает флешер при записи, а редактор готовит файл именно под этот процесс. Проверить порядок для конкретного блока можно в каталоге поддерживаемых ЭБУ до загрузки файла.

Как проверить файл перед записью

Проверка занимает несколько минут и снимает заметную часть рисков. Порядок одинаковый и для своей правки, и для файла, полученного со стороны.

  1. Сравните размер результата с размером исходного дампа — он обязан совпадать до байта.
  2. Откройте оба файла в программе побайтового сравнения и посмотрите на карту отличий: изменения должны лежать в области калибровок, а не по всему дампу.
  3. Убедитесь, что области с серийным номером блока и данными иммобилайзера не затронуты.
  4. Уточните по конкретному ЭБУ, кто отвечает за сумму — файл или флешер.
  5. Если сумму считает флешер, проверьте, что в его настройках пересчёт включён, а не отключён ради скорости.
  6. Держите исходный дамп под рукой до конца записи: откат должен быть доступен в любую минуту.

Совпадающая контрольная сумма подтверждает только целостность данных, а не их пригодность для конкретного автомобиля. Если файл пришёл от третьего лица, сумма ничего не говорит о качестве калибровок.

Частые ошибки при работе с контрольными суммами

  • Пересчёт по всему дампу, когда блок проверяет несколько независимых областей: одна сумма сходится, вторая нет.
  • Правка файла в текстовом редакторе вместо шестнадцатеричного — файл меняет размер и перестаёт быть дампом.
  • Запись файла от другой версии прошивки: сумма посчитана верно, но содержимое не соответствует блоку.
  • Отключённый пересчёт в настройках флешера, оставшийся с предыдущей работы.
  • Потерянный оригинал: без стока откатиться некуда, и любая ошибка превращается в долгий поиск исходной прошивки.

Последний пункт закрывается дисциплиной, а не инструментом. Порядок безопасного чтения и хранения исходника разобран отдельно в статье как вычитать .bin-файл и сохранить сток.

Частые вопросы

Можно ли записать прошивку с неверной контрольной суммой?

Часть флешеров откажет в записи сразу. Если запись всё же прошла, блок может не запуститься или уйти в аварийный режим, поэтому сумму проверяют до записи, а не после.

Пересчёт суммы исправляет неудачную правку калибровок?

Нет. Контрольная сумма подтверждает целостность данных, а не их корректность. Файл с неудачными картами и верной суммой остаётся неудачным файлом.

Почему на одном ЭБУ сумму считает редактор, а на другом флешер?

Это зависит от устройства конкретного блока и от возможностей программы записи. Порядок для каждого поддерживаемого ЭБУ указан в каталоге ETC tools.

Что делать, если после записи появилась ошибка внутренней памяти блока?

Вернуть сохранённый сток, убедиться, что запись прошла полностью, и повторить правку на проверенной версии файла.

ETC tools

Правка и контрольные суммы в одном проходе

Загрузите вычитанный .bin-файл в ETC tools: сервис распознает модуль, покажет доступные операции и подготовит результат по правилам конкретного ЭБУ — вместе с пересчётом сумм там, где он на стороне редактора.

Загрузить файл
МЫ ОТКРЫЛИСЬ

Платформа для специалистов по чип-тюнингу

Мы открыли ETC Platform. Всё, что нужно мастеру каждый день, теперь рядом.

  • Каталог автомобилей

    Какой ЭБУ стоит в машине? Найдите его по марке, модели и двигателю.

  • Каталог ЭБУ

    Чем читать и как подключиться? Методы, оборудование и распиновки в одной базе.

  • Офис специалиста

    Клиенты, задачи и документы под рукой. История работы вместо заметок в разных чатах.

Присоединиться

Платформа откроется в новой вкладке