Чтение картинок из файлов прошивок панелей VDO

Добрый день, друзья! Давно ничего не писал в блоге на автомобильную тематику, поэтому прерву паузу небольшим постом о прошивках и панелях VDO. Некоторое время назад благодаря пользователю @Mit в конверторе прошивок на моем сайте появился еще один модуль, который позволяет строить образы из прошивок панелей VDO на базе NEC850.

Заставка из прошивки 5N0920883F 1008

Особенностью модуля является то, что на выходе мы получаем не один, а сразу несколько образов. Подобная структура, конечно, не редкость, она встречается в некоторых блоках управления двигателем, но все-таки это скорее исключение, чем правило. Для черно-белых панелей, после распаковки прошивки можно получить два образа: один для MCU и второй для EEPROM. Но самое интересно начинается в случае цветных панелей, ведь к перечисленным выше образам добавляется еще два: образ процессора дисплея и внешней памяти. Да, в панелях с цветным дисплеем ЖКИ это не просто экран – это отдельный модуль в котором есть собственный МК и микросхема флеш-памяти, где, собственно, и хранятся сами картинки.

Сводка полезной нагрузки прошивки 5N0920883F 1008

Видите эту область больше чем на 11 МБ? Это тот самый блок с картинками…

Если вам интересны технические детали и отличия одних цветных панелей от других, то я настоятельно рекомендую ознакомиться с серией заметок от Andrey-NA, посвященных панелям платформы PQ35, а сам позволю пропустить всю техническую часть и перейти сразу к тому, что же можно найти в образе NAND памяти.

Для хранения картинок используется свой, на мой взгляд весьма специфичный формат, поэтому для того чтобы извлечь данные из образа, я использовал в качестве примера и описания код из репозиторий https://github.com/skypiece/vagdash и адаптировал под более привычный мне C#.

Что ж, попробуем извлечь картинки из прошивки от цветной 3D панели 5N920883F. На первый взгляд все отлично, удалось извлечь несколько сотен картинок без каких-либо артефактов. Узнаете? =)

Пример картинок из прошивки 5N0920883F 1008

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

Пример артефактов в прошивке 5N0920883 0506

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

Второй любопытный момент – это образ EEPROM. В общем-то это было и раньше очевидно, что при обновлении прошивки панели приборов может выполняться (и выполняется) частичное обновление EEPROM, но теперь при желании можно посмотреть какие конкретно области обновляются.

Будет ли продолжение? Не знаю, но если будет, вы узнаете об этом первыми.

А на этом пока все. Всем удачи!

PS Если этот материал вас заинтересовал, то можете воспользоваться конвертором прошивок: напомню, что один экспорт в месяц из комплексных форматов, к которым относится и этот тип, открыт для всех зарегистрированных пользователей.