MCU MED 17.5

osoTEC.com: конвертация прошивок SGO/FRF/ODX для блоков MED/EDC

Продолжая серию заметок про обновления нашего сервера, мы подошли к самому главному, а именно: менеджерам полезной нагрузки. Первым менеджером в обзоре у нас будет MED/EDC менеджер. И хотя его функционал для конечного пользователя может показаться несколько урезанным, но именно этот компонент всегда был локомотивом, разработка которого тянула за собой разработку множества сопутствующих решений, в том числе конвертера FRF и ODX менеджера.

MED/EDC менеджер, как менеджер полезной нагрузки, обеспечивает, в первую очередь, выполнение следующих задач:

  • получение данных полезной нагрузки из SGO или ODX менеджеров;
  • распаковка и упаковка данных в соответствии с форматом (включая шифрование и дешифрование);
  • формирование образа флеш памяти (flash image);
  • предоставление методов, обеспечивающих экспорт, импорта и валидацию данных образа.

Очевидно, что самому менеджеру не нужно знать о том, как пакуются данные в SGO или ODX файлах, это задача для одноименных менеджеров.

Если Вы занимаетесь модификацией прошивок ЭБУ двигателей, то Вы прекрасно знаете, что существует большое количество версий MED и EDC, которые отличаются друг от друга как типом процессора, так и наличием микросхемы внешней памяти (FLASH). Естественно, нам пришлось реализовать соответствующие механизмы, чтобы менеджер поддерживал все варианты и при необходимости создавал два образа: для внутренней и внешней памяти соответственно. Поэтому не стоит удивляться, если, при экспорте прошивки под MED9.1, вы получите два бинарных файла. Это не ошибка =)

На момент публикации заметки наш MED/EDC Manager поддерживает следующие типы блоков:

  • EDC17C46;
  • EDC17CP14;
  • EDC17CP24;
  • ME7.1;
  • ME7.2;
  • MED9.1;
  • MED17.1;
  • MED17.1.6;
  • MED17.5;
  • MED17.5.2;
  • MED17.5.5

Актуальный список поддерживаемых типов всегда можно найти на этой странице.

Импорт образов флеш памяти MED/EDC в данный момент отключен из-за сложностей с формированием RSA подписи (ранее мы писали об этом тут и это как раз то самое функциональное ограничение, о котором я писал в самом начале). Возможно, ситуация изменится в будущем, но пока нам проще отключить возможность импорта, чем предоставлять сервис с сомнительным результатом.

Что касается экспорта образов в бинарном формате и чтение идентификации, то эти методы работают для всех поддерживаемых типов.

Под идентификацией мы понимаем некоторый набор информации, который становится доступен после распаковки данных. Эта операция доступна для всех блоков, которые поддерживает менеджер в настоящее время. Разумеется, объем и характер этой информации зависит от типа блока, но, в общем случае, идентификация представляет собой следующую табличку.

Пример идентификационной таблички MED/EDC

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

Экспорт образов флеш памяти в формате BIN может осуществляться как в режиме демонстрационном режиме (DEMO), так и в нормальном (NORMAL). В режиме DEMO без изменений передаются только первые 512 байт каждого блока данных, фактически область данных инфо-блока, а далее в группе каждых 16 байт производится замена первых 4 байт на маркерные.

DEMO mode of flash image export
DEMO mode of flash image export

Конечно, при экспорте в режиме NORMAL все байты передаются без изменений. Однако, стоимость экспорта в режиме NORMAL зависит от типа ECU. Для некоторых типов, вроде ME7.x или MED9.x, экспорта в режиме NORMAL мы осуществляем бесплатно.

NORMAL mode of flash image export
NORMAL mode of flash image export

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

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

А на сегодня это все. Всем спасибо за внимание =)

Как обычно, отзывы и предложения, связанные с работой MED/EDC менеджера, Вы можете оставить в специальном разделе нашего форума.