MCU MED 17.5

osoTEC: конвертер прошивок 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 подписи (ранее мы писали об этом тут и это как раз то самое функциональное ограничение, о котором я писал в самом начале). Возможно, ситуация изменится в будущем, но пока нам проще отключить возможность импорта бинарных данных полностью, чем предоставлять сервис с сомнительным результатом.

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

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

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

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

Что касается экспорта данных в формате BIN, то бесплатно и без каких-либо ограничений мы осуществляем экспорт прошивок для ЭБУ типа ME7.1, ME7.2 и MED9.1. Для прошивок ЭБУ серии MED17/EDC17, по-умолчанию, экспорт осуществляется в демонстрационном режиме, при котором без изменений передаются только первые 512 байт каждого блока данных (фактически данные инфо-блока), а далее через каждые 16 байт производится замена 4 байт на маркерные.

Первые 512 байт блока типа ASW1 в экспортированных данных
Результат экспорта в демо-режиме

Для экспорта прошивки в обычном режиме Вам потребуется пополнить баланс вашего аккаунта соответствующим количеством кредитов SSC.

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

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

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