Как перевести bin в vbf

[Tech] Создаем конвертер VBF to BIN

Как перевести bin в vbf

Те кто касался прошивок двигателя, а точнее PCM-модуля знаком с файлами прошивок в формате VBF. Вообще VBF файлы используют многие производители автомобилей: Volvo, Ford, Mazda, Land Rover и др. Однако, для загрузки прошивки сторонними загрузчиками/флешерами используется другой формат файла, а именно BIN. Многие загрузчики (kess, pcmflash, mmcflash и др.) работают именно с ним.

Как же преобразовать VBF-файл в BIN-файл? Какова структура VBF-файла?

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

Если вбить в www.google.ru запрос: vbf file и перейти в отображение картинок, то одной из первых появится следующая картинка.

Как перевести bin в vbf

Как мы видим vbf файл состоит из двух частей:
1. Header — заголовок
2. Blocks — блоки данных

Где последние имеют следующую структуру (например, когда в vbf всего 3 блока):
[4 byte — address block1]
[4 byte — length block1]
[x byte — data block1]
[2 byte — CRC16 CCITT of block1]

[4 byte — address block3]
[4 byte — length block3]
[x byte — data block3]
[2 byte — CRC16 CCITT of block3]

Блоки следует один за другим.

Также поисковые системы выдают ещё интересную программу — VBF Tool.

Как перевести bin в vbf

На основе выше описанной информации была создана программа VBF Parser в среде Visual Studio на языке C#.

Как перевести bin в vbf

А как это было сделано смотрите в следующем видео.

Update 26.07.2017:
Про просьбе seregawoof выкладываю видео работы программы VBF Tool. Программа позволяет просматривать VBF-файлы, а также создавать свои.
Кстати, VBF расшифровывается как Versatile Binary Format = Универсальный Бинарный Формат

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

PPS:
Исходники проекта в открытый доступ выкладывать не буду.
Кому интересно — пишите в личку.

PPPS:
Цель поста — немного приоткрыть завесу тайны по теме VBF-файлов.
Как и везде VBF-файлы имеют некоторые нюансы. Например, блоки данных могут быть сжаты или зашифрованы. Об этом нам скажет параметр data_format_identifier в заголовочной части.

Источник

Редактор vbf файлов

Как перевести bin в vbf

В данной заметке предоставлена информация о VBF формате файлов и возможностях его редактирования. VBF файлы используются для хранения прошивок и настроек электронных блоков(ЭБУ) автомобилей, таких марок как JLR, Ford, Volvo и Mazda. Потребность в редактировании vbf файлов возникает, при необходимости модифицикации штатной прошивки какого либо блока в автомобиле. Так всем владельцам дорестайлового Freelander2 известна альтернативная прошивка для приборной панели, автор которой alex pescaru, что бы сделать нечто подобное, как раз и нужен vbf редактор, с его помощью можно извлечь исходную прошивку из vbf файла, а затем обратно запаковать модифицированную прошивку в vbf файл. А потом уже этот vbf файл можно прошить штатными средствами в ЭБУ.

На драйве я нашел пару описаний VBF файлов: раз и два, авторы этих заметок сделали программы для редактирования vbf файлов, правда эти программы я не стал скачивать, т.к. к этим программам нет исходников, и такие программы оказываются бесполезными, когда нужно что-то реализовать в своей разработке. То же самое относится к программе VBF Tool, которую я даже скачал и попробовал ей пользоваться, но мне она показалась крайне не удобной. Но в любом случае авторам заметок спасибо, а отдельное спасибо esaulenka за то что он в комментарии к одной из заметок указал ссылку на свой парсер vbf файлов с исходниками.

После тестирования TFT приборки от Jaguar, я задался целью с помощью перепрошивки превратить приборку от Jaguar в приборку от Range Rover, поэтому мне пришлось разбираться с прошивками в формате vbf, а из-за отсутствия vbf редакторов, пришлось написать свой vbf редактор. Исходные тексты, получившегося редактора доступны на githube, exe-шник под windows там же. Сборка редактора под другими ОС, осуществляется так же как со всеми другими программами написанными на qt: qmake && make.

Ниже приведено краткое описание формата VBF файла и возможностей редактора, название я ему дал qVBF, т.к. написан он на Qt.

VBF-файл начинается с текстового заголовка, заголовок начинается со слова vbf_version и заканчивается символом >, за заголовком следуют один или несколько блоков данных. Каждый блок данных начинается с адреса размещения блока данных в ЭБУ и размера блока данных, затем следуют сами данные блока и контрольная сумма блока данных. Адрес размещения данных в ЭБУ и размер блока данных 32 битные, контрольная сумма блока данных 16-битная, адрес, размер и контрольная суммы хранятся в файле в формате big-endian. Структура vbf файла получается очень простой: заголовок и несколько блоков данных.

Как перевести bin в vbf

Чтобы стало более понятнее, рассмотрим содержимое содержимое конкретного vbf файла с одним блоком данных. Ниже скриншот этого vbf файла открытого в обычном текстовом редакторе. Текстовый заголовок vbf файла хорошо читаем, в нем видные служебные слова со значениями, которые интуитивно понятны из их названий, в конце заголовка находится контрольная сумма всех блоков файла, равная 0x241286fa. Сам блок данных в текстовом редакторе отображается только частично, потому что он частично состоит из данных, которые текстовый редактор не в силе отобразить. Чуть ниже на этом же скриншоте, этот же vbf файл открыт в бинарном редакторе, и на нем видны значения всех символов файла, в том числе и не читаемых. В блоке данных можно увидеть, что адрес загрузки в памяти ЭБУ равен 0x000000b8, размерность блока равна 0x00000018 и контрольная сумма равна 0xc406, для удобства эти данные я выделил цветом.
Из содержимого vbf файла, можно понять, что в нем находится VIN номер автомобиля, этот vbf файл я использовал для замены VIN номера в приборной панели дорестайлового Freelander2, а адрес 0x000000b8 это адрес, где хранится VIN номер в EEPROM приборной панели Freelander2.
Если этот файл с помощью программы sdd прошить в приборную панель, то ней поменяется VIN номер, тоже самое можно сделать с пробегом автомобиля и другими параметрами.

Как перевести bin в vbf

Ниже скриншот vbf редактора с уже открытым vbf файлом с VIN номером автомобиля.
В левой части редактора отображается список из заголовка файла и всех блоков данных, в данном случае есть только один блок данных, в правой части редактора отображается блок или заголовок из выделенный списка.

В верхней части редактора находятся кнопки со следующим функционалом:
— открыть vbf файл
— сохранить vbf файл
— экспортировать все блоки из vbf файла в соответствующие bin файлы в текущем каталоге
— импортировать все блоки из соответствующих bin файлов обратно в vbf файл из текущего каталога
— добавить блок данных в vbf файл из bin файла

Как перевести bin в vbf

При выборе из списка заголовка, в редакторе доступны для редактирования значения следующих полей заголовка vbf файла:

sw_part_number — заводской номер
Можно задать произвольное значение

sw_part_type — тип содержимого vbf-файла
Доступен для задания выбор из следующего списка
CARCFG — Конфигурация автомобиля
CUSTOM — Пользовательские параметры
DATA — Данные или параметры
EXE — Выполняемый код
GBL — Загрузчик для шлюза
SBL — Вторичный загрузчик
SIGCFG — Конфигурационная база CAN сигналов
TEST — Тестовая программа

network — тип шины к которой подключен ЭБУ
Доступен для задания выбор из следующего списка
CAN_HS — высокоскоростная шина CAN, 500kbs
CAN_MS — среднескоростная шина CAN, 125kbs
SUB_MOST — шина MOST подключенная к шлюзу
SUB_CAN1 — шина CAN1 подключенная к шлюзу
SUB_CAN2 — шина CAN2 подключенная к шлюзу
SUB_LIN1 — шина LIN1 подключенная к шлюзу
SUB_LIN2 — шина LIN2 подключенная к шлюзу
SUB_OTHER — какая-то другая шина подключенная к шлюзу Начиная с версии 2.2 vbf файла

ecu_address адрес ЭБУ на шине
Можно задать произвольную величину

can_frame_format — тип адресации на шине CAN
Доступен для задания выбор из следующего списка
STANDART — 11 битная адресация в шине CAN
EXTENDED — 29 битная адресация в шине CAN

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

call — стартовый адрес в памяти ЭБУ с которого должна выполняться программа SBL
Можно задать произвольную величину

omit — диапазон памяти который должен быть пропущен при очистке и записи
Начиная с версии 2.3 vbf файла

file_checksum — контрольная сумма всех блоков VBF файла
Рассчитывается автоматически

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

Как перевести bin в vbf

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

Те у кого установлена программа JLR SDD могут найти vbf файлы в каталоге C:\Program Files\JLR\IDS\Flash\vbf и попробовать открыть с помощью данного редактора. Обратная связь по поводу глюков в редакторе приветствуется.

PS В процессе написания заметки нашел проект с открытым кодом FTools для манипуляции с картинками в фордовских приборках, в котором есть консольный vbf редактор, может он тоже кому то окажется полезным.

Источник

BIN to VBF convertion for Ford Focus 3

Как перевести bin в vbf

Hello! My name’s Eugene, I’m from Belarus and writing from my company’s account. I’m started to learn essentials of car software and found that very interesting for me. I’m decided to «tune» our company’s car Ford Focus 2014, 1.6L Duratec Ti-VCT (105PS) to 125PS and Euro 2 standart, because it’s russian version with «strangled» engine and catalyst has been removed.

We have an ELS27 adapter, wich can flash VBF files using foCCCus software, but of course all tuned firmware is available in BIN format. The question is not in money (to buy ucds, ads or openport) but only in interest about how does it work, so i tried to convert BIN file of Paulus «startpower» firmware to VBF (I know I’m mad) and then I flashed this firmware to focus using foCCCus. This doesnt work, exactly, it shows «engine defective! service is urgent!» message and PCM is invisible for ForScan. I’ve counted all CRC16-CCITT (3) and CRC32 (1) checksums. Maybe, you guys can tell what’s wrong with my edited firmware. Thanks a lot in advance!

P.S.: used vbf tool, hex workshop, and hex editor neo for converting and a picture of vbf structure Как перевести bin в vbf

P.P.S.: I have read forum rules but It’s my first thread, so tell me if I did something wrong

Как перевести bin в vbf

Как перевести bin в vbf

ff3.txt

Как перевести bin в vbf

Как перевести bin в vbf

Use WinOLS for VBF to BIN and BIN to VBF conversions.

You will also have to checksum correct the file if its a modified non oem file.

Как перевести bin в vbf

You are one the right way.

The trouble I see is that Foccus probably can’t update vbf file on Ford new cars +2012. Mk3 or Mk4. Menus of Foccus program is developed for old cars.

Maybe It’s like that.

WinOls is ok but s a Little bit complecated.

Say us if you get lucky.

Как перевести bin в vbf

Как перевести bin в vbf

(10-16-2019, 01:22 PM) Dieselmix Wrote: Hello! My name’s Eugene, I’m from Belarus and writing from my company’s account. I’m started to learn essentials of car software and found that very interesting for me. I’m decided to «tune» our company’s car Ford Focus 2014, 1.6L Duratec Ti-VCT (105PS) to 125PS and Euro 2 standart, because it’s russian version with «strangled» engine and catalyst has been removed.

We have an ELS27 adapter, wich can flash VBF files using foCCCus software, but of course all tuned firmware is available in BIN format. The question is not in money (to buy ucds, ads or openport) but only in interest about how does it work, so i tried to convert BIN file of Paulus «startpower» firmware to VBF (I know I’m mad) and then I flashed this firmware to focus using foCCCus. This doesnt work, exactly, it shows «engine defective! service is urgent!» message and PCM is invisible for ForScan. I’ve counted all CRC16-CCITT (3) and CRC32 (1) checksums. Maybe, you guys can tell what’s wrong with my edited firmware. Thanks a lot in advance!

P.S.: used vbf tool, hex workshop, and hex editor neo for converting and a picture of vbf structure Как перевести bin в vbf

Источник

Многобукв. (Или немного о формате VBF)

Как перевести bin в vbf

Внимание! Данный материал является узкоспециализированным. А поэтому, прежде чем начать читать, подумайте: оно Вам надо?

Итак…
Поделюсь неким опытом, который я приобрел, начав изучать способы программирования блоков управления двигателем. А именно, меня интересовало, как прошить блок DCU-204 и ему подобные. А так же надо было понять, что можно заливать в блок кроме заводского обновления имеющейся прошивки, когда из оборудования на руках только VCM-II и программа IDS 86.04.
Почитав интернет, более-менее стало ясно, что все нестандартные прошивки идут в формате BIN. Это фактически копия всего содержимого памяти блока управления. Но программа IDS для заливки прошивок использует файлы в формате VBF. Изучив этот формат, я понял, что ничего сложного в нем нет, и при желании можно будет править эти файлы или преобразовывать BIN в VBF. Оставалось только написать программу для удобства работы.
Итак, в чем же отличие этих форматов? В отличие от BIN, который заливается в память целиком, в VBF отделены мухи от котлет. То есть, VBF содержит один или несколько блоков данных (в нашем случае их 2), а так же вспомогательную информацию, указывающую, по каким адресам памяти контроллера эти данные должны быть залиты. Так же содержатся контрольные суммы для проверки целостности файла и текстовый заголовок с некоей дополнительной информацией.
Параллельно с написанием программы, я начал экспериментировать с прошивкой стандартного обновления. У меня имелся подменный блок AC11-12A650-CC с прошивкой 9C11-12K532-ABE. IDS предлагала обновить имеющуюся калибровку до 9C11-12K532-ABH. Но мне было не понятно, если загрузить в блок обновление, то смогу ли я туда залить что-то еще или IDS скажет – обломайтесь, больше ничего загрузить не дам!
В итоге я решил пойти на этот шаг. И нажал кнопку. Но тут оказалось, что самой прошивки в компьютере нет и более того, программе нужны дополнительно какие-то два обновления: 6C11-14C273-AB и 6C11-14C273-BA. Удалось скачать их из интернета, как и саму прошивку. После этого зайдя в пункт «Перепрограммирование модуля», процесс удалось запустить. Теперь в подменном блоке стояла прошивка 9C11-12K532-ABH. Кстати, забыл уточнить, после замены блока управления, что бы машина заводилась, надо провести инициализацию модуля. Это делается в IDS в том разделе, где программируются ключи. Для этого еще понадобится онлайн-калькулятор IN-OUT кодов. Но это не сложно.
После удачной прошивки, я решил перекинуть прошивку со штатного блока в подменный. Кто-то в интернете написал, что это можно сделать через процедуру «инсталляция программируемого модуля». Я подключил обратно штатный блок, запустил эту процедуру, далее IDS попросила подключить новый модуль для программирования. После подключения пошел процесс программирования, но оказалось, что прошивка была залита та же, то есть 9C11-12K532-ABH. В принципе меня это не сильно расстроило. Главное, что была возможность многократно заливать прошивку в блок.
Когда программа-редактор была частично написана, я решил изменить один байт в прошивке, корректно пересчитать контрольные суммы и попытаться залить ее в подменный блок под видом оригинальной. Но не тут то было. Даже не попросив подключить новый модуль для программирования, IDS заявила, что файл поврежден и удалила его из папки «Calibration files». Вот тут я немного расстроился. Неужели весь этот путь я прошел зря? А может просто моя программа некорректно посчитала суммы? Но ведь всякое может быть. Я решил вернуть измененный байт на место, заново пересчитать контрольные суммы и все совпало и IDS, как ни в чем не бывало, принялась программировать блок.
Ну и как теперь с этим жить? Неужели ничего в прошивке изменить не получится? Как IDS определяет, что файл изменен? Предположения были, но для их проверки требовалось еще приложить некие усилия.
Из самого простого предполагался вариант соответствия каждой прошивке своей контрольной суммы. А это значит, что для заводской прошивки 9C11-12K532-ABH должна быть контрольная сумма 14724006h и никакая другая. Решить эту задачку математическим путем не представлялось возможным. Поэтому в своей программе я добавил функцию, которая циклически изменяет значения нескольких неиспользуемых байтов прошивки с последующим пересчетом контрольных сумм пока контрольная сумма файла не совпадет с оригинальной. Компьютер думал минут 15, в итоге выдал некую последовательность из пяти байт. Эти пять байт требовалось изменить в самом конце последнего блока данных. После коррекции контрольных сумм, реальная контрольная сумма файла совпала с оригинальной. По блоку данных, конечно же, отличалась. Но я надеялся, что IDS будет проверять на соответствие оригиналу только общую контрольную сумму файла.
Итак, копирую я эту измененную прошивку в папку «Calibration files», запускаю «инсталляцию программируемого модуля» и вот IDS просит подключить новый модуль для программирования. Подключаю его и моя прошивка успешно заливается. Значит моя теория подтвердилась и можно пробовать конвертировать нестандартные прошивки в VBF-формат и заливать в блок.

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

VBF-файл начинается с текстового заголовка. Пожалуй, единственная для нас полезная информация там – это file_checksum. Это и есть та контрольная сумма файла, которую нельзя менять.

Как перевести bin в vbf

Вот окончание заголовка файла прошивки. 7D – это закрывающая фигурная скобка. В данном случае она последняя и после нее сразу же начинается первый блок данных, а точнее, его атрибуты.

Как перевести bin в vbf

Первые 4 байта атрибутов – это адрес загрузки в память контроллера. Следует обратить внимание, что в атрибутах старший байт идет первым, а младший последним. То есть адрес загрузки: 00002000.
Длина загружаемой в контроллер части 00001E40.
Далее идет сам блок, после которого следуют 2 байта контрольной суммы, которые так же следует читать как E4AF. За ними сразу же следуют атрибуты второго блока и т.д.

Как перевести bin в vbf

Теперь о том, как считается контрольная сумма для блока данных. Алгоритм подсчета я нашел в интернете, так что переписать на паскале не составило труда.

Вот пример программы для подсчета контрольной суммы некого массива buf:

Как перевести bin в vbf

После контрольной суммы последнего блока файл заканчивается.
Теперь более подробно про подсчет контрольной суммы файла, значение которой хранится в заголовке:
file_checksum = 0x14724006;

Это 32-битная контрольная сумма, получаемая при пересчете байтов сразу после заголовка файла и до окончания файла. Соответственно атрибуты блоков тоже идут в ход. И пересчет идет по некому другому алгоритму, точную информацию о котором, я так и не смог найти в интернете, поэтому пришлось до всего дойти самому. Сейчас попытаюсь объяснить как это делается:

1. перед началом счета 32-битная контрольная сумма обнуляется; здесь она обозначена буквами S; так же есть байт данных B и пустой регистр 0;
2. делаем вот такой циклический сдвиг (младший бит из байта данных переходит в контрольную сумму, а младший бит контрольной суммы переходит в пустой регистр), перед каждым сдвигом регистр 0 должен быть пуст;
3. теперь проводим операцию XOR между старшим байтом контрольной суммы и байтом регистра 0:

Как перевести bin в vbf

4. далее проверяем значение старшего бита контрольной суммы, если он равен 0, то с контрольной суммой проводим еще одну операцию, а именно XOR 6DB88320h.
5. далее переходим к пункту 2 и задвигаем остальные биты из байта данных. Если байт исчерпан (сдвинут 8 раз), то берем значение следующего байта из файла.

Я обратил внимание, что те прошивки, которые меня интересовали, а именно прошивки для контроллеров DCU-102, DCU-104, DCU-204 состояли из двух блоков данных и первый блок был везде одинаковый. А это значит что нас интересует только второй блок, в котором и находится прошивка. Адрес загрузки 00020000h. Длина 000B0000h. В самом конце блока данных есть много неиспользуемых байтов, значит их можно использовать для подгонки результата. Я решил использовать 5 байт. Получается что надо сделать 5 вложенных циклов изменения значения этих байтов от 00h до FFh, и после каждого шага цикла надо пересчитывать контрольные суммы по блоку и по файлу. Если сумма по файлу не совпадает, значит делаем следующий шаг цикла.
Из без подсчетов ясно сколько миллионов вариантов может быть перебрано, прежде чем сумма совпадет, и для каждого варианта надо будет пересчитать сначала контрольную сумму блока, а затем контрольную сумму файла. Перспектива совсем не радужная. Даже если это делает компьютер, можно себе представить, сколько на это уйдет времени. Тем более что файл грузится в память с диска по частям.
А потом я подумал: а зачем каждый раз пересчитывать весь файл? Ведь можно предварительно подсчитать неполную сумму для блока и неполную сумму для файла, а затем для каждого варианта просто досчитывать по 5 и 7 байт соответственно.
Действуем следующим образом:
1. считаем контрольную сумму блока, но не до конца, а до начала этих 5 байтов и запоминаем это значение;
2. считаем контрольную сумму файла, но тоже не до конца, а до начала этих же 5 байтов и так же запоминаем это значение;
3. делаем шаг цикла изменения значений пяти байт;
4. досчитываем контрольную сумму блока (+5 байт);
5. досчитываем контрольную сумму файла (+7 байт);
6. если сумма файла отличается от оригинала, возвращаемся к пункту 3.
Процесс подсчета не 5 секунд, но все же. Реально время подсчета может колебаться от нескольких минут до нескольких часов, но если нам надо создать файл, который мы в дальнейшем будем использовать многократно, то один раз подождать можно. Тем более, что других вариантов «обмануть» IDS я пока не нашел. Проще было бы найти где находится эта таблица контрольных сумм и подправить ее, но с первого раза найти не получилось. Видимо, она хранится в зашифрованном или запакованном виде. Если кто-то найдет способ – будет здорово. А пока имеем то, что имеем.

Источник

Рассказ о том, как я MotorSoft Stage 2 себе прошивал

Как перевести bin в vbf

Доброго времени суток, дорогие драйвовчане!

После месяца эксплуатации машины с чип-прошивкой захотелось попробовать распиаренный чип от MotorSoft Stage 2. Как вы наверно догадались, был у меня до этого прошит другой чип.

После недолгих поисков достался мне в руки тот самый чип от MotorSoft. Чип есть, значит нужно шить! Пошел к машине. Процесс занял всего 5 минут. После прошивки поехал на тест-драйв в индустриальный парк Грабцево, где дороги прямые, аки стрелы.

Сразу отметил хорошую динамику автомобиля на верхах. То есть разогнавшись до 140 км/ч у машины есть ещё запас по мощности. Понравилась очень четкая обратная связь педали акселератора. Стоит только чуть притопить и машина начинает плавно и ровно ускоряться.
На низах машина стала чуть-чуть плавней, нет такой резкости как на предыдущей прошивке.
На холостых машина меньше вибрирует, что очень порадовало.

Вернувшись после заезда к дому, припарковал машину и решил проверить наличие или отсутствие ошибок по двигателю (модулю PCM). Делаю это всегда после прошивки, дабы быть уверенным, что двигатель работает исправно.

Но стоило мне снова включить зажигание, как на приборке загорелось сообщение:

Как перевести bin в vbf

PCM-модуль сбросил свое ПО, или другими слова мы получили кирпич.

Сделаю небольшое отступление.
Прошивку в bin-формате я загружал через адаптер UCDS. А он в свою очередь для Ford Focus 3 2.0 не выполняет проверку прошивки на контрольные суммы (КС).
Как оказалось прошивка MotorSoft Stage 2 содержала не посчитанные КС. Моей печали не было предела 🙁

Что делать? Прошил себе снова предыдущий чип. Прошилось все без проблем. Все-таки, PCM-модули достаточно живучие.

Что же такое КС?
wiki нам подсказывает, что Контро́льная су́мма (КС) — некоторое значение, рассчитанное по набору данных путём применения определённого алгоритма и используемое для проверки целостности данных при их передаче или хранении. В данном случае КС нужны для контроля целостности загруженной программы/прошивки в PCM-модуль.
Стоит также отметить, что для PCM-модуля Ford Focus 3 2.0 существует отложенная проверка КС. Что и было в моем случае, т.е. ошибка вылетает не сразу, а спустя какое-то время. Хотя обычно, если загружено в pcm-модуль некорректное ПО, двигатель сразу не заводится.

Начал изучать мат.часть по прошивке PCM-модуля. У Форда почти все прошивки можно скачать с официального сайта.
Скачиваем zip-архив с айдентами желаемой прошивки. В моем случае — DV61-14C204-DJD. В архиве был файл в формате vbf. Как он устроен, и как преобразовать из vbf в bin и обратно я опишу в следующей записи БЖ.
Главное, это понять какие именно блоки мы берем из vbf-файла и как следствие используем в bin-файле. И где содержатся контрольные суммы.
Если внимательно просмотреть заголовочную часть vbf-файла, то можно увидеть блоки, которые стираются (erase) и пропускаются (omit) при загрузке прошивки в PCM-модуль. А также какой PCM-модуль используется и какой его объем памяти. В моем случае это MED 17. Также в заголовке можно увидеть ещё много интересной информации.

Как перевести bin в vbf

Распарсив vbf-файл на составляющие я получил искомую стоковую прошивку в формате bin.

Как перевести bin в vbf

Проведя небольшой анализ и испытания мне удалось получить чип прошивку от MotorSoft Stage 2 с правильными контрольными суммами. Где конкретно они находится и как считаются, описывать здесь не буду, это отдельная тема для рассказа.
Отмечу лишь, что нужно было изменить чип-прошивку в 4-х местах.

Как перевести bin в vbf

Собравшись духом пошел снова загружать чип-прошивку в машину. Дальше серия картинок самого процесса.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *