Выбери свою прошивку!

Форматы файлов прошивок (bin, sgo, frf, odx)

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

И это самый фундаментальный момент, который следует осознать. Поэтому проговорим его ещё раз. "Файл прошивки" (дамп) и "прошивка" - это несколько разные понятия. Ни в коем случае не следует путать их между собой. Прошивка - это последовательность единиц и нулей, абстрактно от способа хранения. Файл прошивки - это последовательность единиц и нулей, сохранённая как отдельный файл, как именованная область данных в рамках файловой системы вашего компьютера.

Форматов прошивок, с которыми можно столкнуться в работе довольно много. Это далеко не всегда привычный всем *.bin. Логика многих дилерских загрузчиков реализована так, что помимо тела самой прошивки, этим загрузчикам нужны определённые метаданные (об автомобиле, блоке управления, протоколе обмена и т.п.). Соответственно, как правило, "дилерский" формат файла прошивки подразумевает, что файл содержит в себе не только прошивку. В то же время, разработчики недилерских загрузчиков для чип-тюнинга вольны придумывать дополнительный функционал (например зашифрованные файлы-контейнеры прошивок под слейв и т.п.). Поэтому, повторимся, форматов прошивок существует много.

Далее перечислим те форматы файлов прошивок, которые чаще всего встречаются в сфере чип-тюнинга:

Двоичный файл произвольного вида (*.bin)

Простая последовательность байтов. Наиболее часто встречающийся формат в рамках сферы чип-тюнинга. Как правило, представляет собой образ памяти ЭБУ, или какую-то область образа памяти, сохранённую "как она есть", как она хранятся в памяти ЭБУ. Практически все мультимарочные загрузчики для чип-тюнинга работают именно с таким форматом. И это несомненный плюс, так как сформированный одним загрузчиком файл прошивки можно записывать другими загрузчиками, и, наоборот. В большинстве случаев имеет расширение *.bin. Но в некоторых загрузчиках могут применять иные расширения (например, в K-Tag можно встретить *.fls и *.mpc).

На самом деле, двоичный файл произвольного вида- это не совсем формат. И ключевая проблема именно в "произвольности". Дело в том, что разные загрузчики (в разных режимах работы с памятью ЭБУ) могут по разному формировать файлы.

К примеру, загрузчик "А" умеет читать только калибровки на определённом блоке управления, загрузчик "Б" прочитает калибровки + управляющую программу, когда загрузчик "В" считает "фуллфлеш". При этом, загрузчик "А" сформирует файл, содержащий только калибровки (допустим, 32kb), а загрузчик "Б" сформирует полный образ (допустим, 512kb), но заполнит не считанные области байтами "0xFF", и т.д.

SMS-Soft Container File (*.bcf)

Файл-контейнер, используемый в продуктах компании SMS-Soft. Имеет расширение *.bcf. В частности, применяется в загрузчике Combiloader. Позволяет хранить в едином файле данные внутренней\внешней флэш-памяти, данные eeprom, прочие мета-данные, что очень удобно. Помимо этого, имеет проверку целостности, защиту паролем, сжатие и многое другое.

Но в бочке с мёдом есть ложка дёгтя. Данный формат поддерживается только в рамках продукции SMS-Soft. К примеру, сохранённую в bcf-файле прошивку не получится записать через любой другой загрузчик, кроме как через Combiloader. Также, её нельзя будет открыть ни в одном редакторе, кроме как в ChipTuningPRO.

В любом случае, считав прошивку через Combiloader, её не обязательно сохранять именно в bcf-контейнере. Её можно сохранить и как обычный двоичный файл (*.bin). В старых модулях это делается при помощи зажатой клавиши Shift (необходимо зажать и удерживать в момент нажатия кнопки "Сохранить"). В более современных модулях выбор формата сохранения осуществляется прямо в диалоговом окне сохранения.

Calibration Update Wizard File (*.cuw)

Дилерский формат файлов прошивок Toyota\Lexus, предназначенных для программы Calibration Update Wizard, входящей в состав Toyota Techstream. Представляет собой файл-контейнер, содержащий заводскую прошивку (обновление заводской прошивки). Примечательно, что один cuw-файл может содержать в себе сразу две прошивки (для двигателя и для АКПП).

Volvo binary file (*.vbf)

Очень распространённый дилерский формат файлов с заводскими прошивками, применяемый у многих автопроизводителей (в частности, Volvo, Ford, Mazda, Jaguar, Land Rover). Является файлом-контейнером, в начале которого идут мета-данные (заголовок) для загрузчика, а затем двоичные данные самой прошивки.

VAG *.sgo, *.odx, *.frf и т.д.

Отдельным обобщённым пунктом следует выделить дилерские форматы файлов-контейнеров с заводскими прошивками автомобилей концерна VAG. Наиболее известные это *.sgo, *.odx, *.frf. Но также встречаются *.sgm, *.pdx, *.sox.

Разумеется, можно встретить и другие форматы файлов прошивок, как дилерские, так и не дилерские. Ничего необычного в этом нет. Главное - работать внимательно и следить за тем, что считываете и записываете в блок управления, а также пользоваться хорошим оборудованием и всегда (ВСЕГДА!) читать инструкцию к загрузчику. И не забывайте, что чип-тюнинг является наукой о нюансах, которые нужно знать и предугадывать, дабы не получать "увалы" блоков.