EcuFlash — свободно распространяемый загрузчик и редактор калибровок, предназначенный для совместного использования с адаптером Openport 2.0. Автор программного продукта, Colby Boles, основатель компании Tactrix. Программное обеспечение разрабатывалось главным образом для программирования и настройки калибровок автомобилей Mitsubishi и Subaru. Программу можно скачать с официального сайта автора и использовать для редактирования калибровок, без адаптера.
Таким образом, EcuFlash — это универсальный инструмент для программирования ЭБУ и редактирования самих прошивок. Список поддерживаемых автомобилей постоянно обновляется, от версии к версии можно заметить увеличение количества поддерживаемых типов процессоров. В планах у разработчиков, добавить расширенную поддержку записи логов и настройку в режиме «on-line».
EcuFlash использует адаптер Openport 2.0 для подключения к автомобилям через диагностический разъем OBD-II. Программное обеспечение позволяет редактировать данные, сохраненные в области калибровок прошивки ЭБУ. Эти данные представляются в виде карт или таблиц и констант, в удобном для восприятия виде. Для такого преобразования используется открытый, поддерживаемый разработчиками, стандарт описаний калибровок, так называемых определений, основанный на XML разметке.
EcuFlash это именно загрузчик и редактор калибровок, но не визуализатор, позволяющий находить калибровки, без использования методов обратного инжиниринга, как например WinOLS.
С какими автомобилями можно работать, используя EcuFlash?
Это слишком общий вопрос, на который нельзя дать простой ответ. Есть несколько уровней, на которых программное обеспечение может «взаимодействовать» с определенным автомобилем, таким образом наш вопрос можно разделить на несколько:
- Может ли EcuFlash прочитать и записать прошивку ЭБУ для этого автомобиля?
- Существуют ли определения XML для этой прошивки, позволяющие редактировать различные карты и таблицы?
- Может ли ПО записывать логи или предоставлять другие функции настройки для этого автомобиля?
В общем, с помощью EcuFlash можно перепрограммировать гораздо большее количество автомобилей, чем те, для которых существуют определения XML, так как программное обеспечение поддерживает универсальные алгоритмы, применимые к целым семействам процессоров. Это означает, что вы можете считывать и записывать flash-память ЭБУ некоторых автомобилей, но не редактировать, пока определение XML не будет создано вами, разработчиком или кем-то из крупных сообществ «OpenECU» или, скажем «EvolutionM». Часто, текущая версия EcuFlash не содержит самых современных определений XML, и Вам может потребоваться посетить различные сайты и профильные форумы, чтобы найти то, что вы ищете.
Новые версии программы позволяют Вам автоматически отправлять любые новые прошивки, которые вы найдете или прочитаете из автомобиля, в Tactrix, чтобы разработчики могли быстрее создавать определения XML для них. Надо признать, что создание карт калибровок для новых моделей в последние годы существенно затягивается, и простым пользователям приходится надеяться на свои силы или прибегать к услугам профессиональных калибровщиков.
Вот неполный список известных автомобилей, которые EcuFlash может перепрограммировать в настоящее время:
- Mitsubishi: Airtrek Turbo, Brilliance, Eclipse GS/GT/GSX, Evolution 5/6/7/8/9/10, Galant, Lancer, Colt, Magna, Mirage, Montero Sport, Outlander, ASX, Pajero Sport и так далее. В целом, любой ЭБУ Mitsubishi (Melco) на базе процессоров H8, SH-2 или M32r;
- Subaru: Baja, Exiga, Forester NA (с 2005 года)/turbo/XT, Impreza NA (с 2005 года)/WRX/STI, Legacy NA (с 2005 года) / GT, Liberty NA (с 2005 года) / GT, Outback NA (с 2005 года)/XT, Tribeca и так далее. В целом, любой ЭБУ Subaru на базе процессоров HC16 или SH-2.
Не стоит забывать и об автомобилях Hyundai и Kia, Toyota, Saab 9–2 и некоторых других, использующих системы управления, на базе блоков произведенных Mitsubishi или Subaru.
Какие функции для работы с ЭБУ содержит программа?
В EcuFlash есть четыре основные функции для работы с ЭБУ:
- Read from ECU — считывание прошивки из ЭБУ в буфер (поддерживается работа с полным образом памяти, так называемым «full flash»);
- Write to ECU — запись прошивки из буфера в ЭБУ с последующей проверкой записи;
- Test write to ECU — загрузка в оперативную память ЭБУ для последующей записи прошивки, или, другими словами, отправка программных блоков данных в оперативную память для подтверждения корректности прошивки и связи с ЭБУ. При этом не задействуется flash-память, где хранятся все данные и карты, данные в этой области не перезаписываются и не меняются;
- Compare to ECU — сравнение прошивки из ЭБУ и прошивки, открытой на данный момент.
Кроме того, в программном обеспечении есть функции записи прошивки из буфера на жесткий диск компьютера, загрузки прошивок в буфер (поддерживаются бинарные файлы с расширениями bin и hex) а также служебные функции по выбору интерфейса, настройке отображения и восстановлению некоторых типов ЭБУ в случае некорректной записи.
Дистрибутив ПО содержит последнюю доступную версию прошивки (firmware) микропроцессора Openport, которая записывается в адаптер после открытия программы, если интерфейс подключен к ПК. ПО автоматически находит и применяет файл описания прошивки (XML), если таковой имеется в папке «rommetadata» расположенной в директории с установленной EcuFlash. Для того, чтобы открыть прошивку, к которой, в базовом комплекте поставки, нет описания, например MOD от Tephra, необходимо найти и скачать соответствующий файл. Вы можете добавлять найденные или созданные самостоятельно файлы описаний в эту папку. В случае, если файл не найден, программа предложит создать его на основе одного из уже имеющихся.
Также, программа имеет все необходимые функции для редактирования прошивки, просмотр дерева доступных калибровок, отображение калибровок в виде таблиц, 2D и 3D графиков, функции по работе с данными, такие как: увеличение и уменьшение как на заданную величину, так и в процентном отношении; сложение величин; умножение; ручной ввод требуемого значения; интерполяцию.
Что такое XML файл определения и что он содержит?
В области калибровок заводской прошивки ЭБУ автомобиля содержится огромное количество значений, нужных для управления двигателем, размещенных производителем в различных таблицах и константах. В оригинальной прошивке, все эти данные содержатся в бинарном виде, так, как их может обрабатывать процессор ЭБУ. Для того, чтобы узнать, что есть что в этой последовательности байт, разобраться, где какие параметры и какие у них значения нужно проанализировать файл прошивки и определить адреса и размерности калибровок.
Если прочитать родную прошивку из ЭБУ автомобиля и попробовать открыть ее в EcuFlash (или другой подобной программе), то мы не сможем этого сделать, поскольку программа «не поймет» какие именно параметры она должна отобразить, где брать значения и коэффициенты пересчёта для этих параметров, для нее прошивка — это один большой набор знаков. Когда же мы даем программе файл определения, то все начинает «работать» — мы видим то, что нам нужно видеть и редактировать. Как я уже отметил ранее, программа не содержит режим визуализации байт-кода и не позволяет находить калибровки, анализируя внешний вид таблиц. Конечно, такой подход нельзя назвать профессиональным, работать только так, на мой взгляд — недопустимо. Тем не менее этот способ позволяет существенно сократить время, которое будет потрачено на дизассемблирование и определение назначения таблиц и констант, а также коэффициентов пересчёта к ним. В данном случае, работа с прошивкой без описания формате XML, невозможна.
Проблема с XML фалами состоит в том, что для того, чтобы его создать, нужно потратить достаточно много времени на изучение оригинальной прошивки, найти в ней необходимые параметры и правильно их описать в файле. Такая работа требует применения обратного инжиниринга или дизассемблирования, а значит довольно серьезных познаний в этой сфере, материальных и временных затрат. Поэтому, как правило, файлы описаний достаточно небольшие и отображают только самые необходимые параметры, без которых тюнинг либо невозможен в принципе, либо будет ограничен и не эффективен. Те файлы определений, в которых описано большое количество параметров, встречаются нечасто; они очень известны и популярны, например это файлы от tephra для автомобилей Lancer EVO.
Ввиду того, что большинство членов комьюнити разработчиков родом из США, такие файлы можно найти в основном для автомобилей Американского (USDM) и экспортных автомобилей Японского рынка (JDM). В комплект поставки программы входит большое количество именно таких описаний.
Структура самого файла описания должна соответствовать определенному формату, чтобы он отображал информацию правильно. Сам по себе формат XML, используется для обработки различных данных и хорошо описан, например, в Википедии. В файле должны быть четко указаны hex адреса в байт-коде прошивки, для обеспечения возможности видеть и редактировать требуемые параметры. Структуру файла можно понять, посмотрев любой аналогичный из дистрибутива программы.
Кроме очевидного функционала по описанию калибровок, XML файл содержит важные данные, необходимые для идентификации прошивки, а также в нём декларируется протокол, с помощью которого программа будет записана в память ЭБУ. Таким образом, записать файл, для которого нет описания, с помощью EcuFlash — невозможно. Ввиду этого обстоятельства, использование программы требует от пользователя гораздо более высокой квалификации, чем работа с другими популярными загрузчиками, такими как MMC Flasher или PCM Flash.
Файлы описаний можно создать или изменять в любой программе для редактирования текста, например Notepad (Блокнот). Для таких целей, удобно использовать редактор с подсветкой синтаксиса, например Notepad++ или любую IDE для web-разработки. Такой файл должен иметь расширение xml. Следует обратить внимание на то, что файлы для программы EcuFlash, несмотря на используемый формат разметки, не совместимы с файлами описаний для программ «Rom Rider» или «EcuEdit». Следует отметить, что для быстрого редактирования файла описания, в программе существует встроенный интерфейс «Edit Map Definition» доступный через меню «Edit».
Где скачать и как установить и настроить EcuFlash?
Текущую актуальную версию программы (1.44.4799), вы всегда сможете найти на сайте разработчика. Более старые версии, доступны, например на сайте EvoScan. На сегодняшний день, ПО без проблем устанавливается на все современные ПК с лицензионной Windows 7 и более новыми версиями и не требует дополнительной настройки.
Однако, ряд пользователей сталкиваются с трудностями. Например, на этапе установки драйверов адаптера Openport, на некоторых версиях Windows 7, утилита «DPInst» выдает предупреждение о том, что она не может быть запущена на текущей версии ОС. Проблема эта связана с особенностями локализации Windows. Для её решения требуется завершить установку EcuFlash без установки драйверов: перейти в папку «C:\Program Files (x86)\OpenECU\EcuFlash\drivers\openport 2.0» (если вы не меняли путь установки программы); открыть в текстовом редакторе файл «dpinst.xml» и удалить из него строки «<language code="0x0409">» и «</language>», после чего запустить утилиту «DPInst.exe» от имени администратора.
Также, при использовании старых версий ПО, возможно возникновение проблем с файлами, имеющими в пути или имени, кириллицу. Если вы столкнулись с такой проблемой, перенесите все файлы в каталоги, которые не имеют кириллицы в названии и/или переименуйте их.
Перед использованием, EcuFlash необходимо сконфигурировать для обеспечения корректной работы. Для этого нужно открыть программу и нажать кнопку «Options» (доступно также через меню «File» — «Options»).
Если вы используете старую версию программного обеспечения, например 1.29a или 1.42, возможно вам потребуется ввести корректный путь для папки с описаниями. Для этого нужно выбрать пункт «Metadata Directory», и установить значение «C:/Program Files (x86)/OpenECU/EcuFlash/rommetadata», если EcuFlash установлена в директорию по умолчанию. Если вы устанавливали ПО в другое место, выберите пути соответствующим образом. Новые версии используют относительные пути и не нуждаются в дополнительной настройке.
Кроме того, для всех версий, необходимо выбрать пункт «User level», и установить значение «Developer». Эта настройка позволит вам создавать описания, если вы загрузили из ЭБУ неподдерживаемую прошивку, а также, получить доступ ко всем, без ограничения калибровкам, доступным в описании.
ВНИМАНИЕ: Если у вас установлено несколько версий EcuFlash одновременно, после запуска каждый раз проверяйте настройки, они хранятся в реестре Windows и едины для всех копий, однако, для успешного выполнения последующих операций с прошивкой и во избежание лишних недоразумений, директория «rommetadata» всегда должна соответствовать запущенной в данный момент копии EcuFlash и находиться в ее корневой директории.
Где можно найти дополнительную информацию?
Вот ссылки на несколько форумов и сайтов, посвященных Tactrix Openport, EcuFlash, разработке XML файлов, настройке калибровок ЭБУ и тюнингу в целом:
www.tactrix.com — сайт разработчика ПО EcuFlash и адаптера Openport 2.0.
openecu.org — Wiki от разработчика EcuFlash и Openport.
forums.openecu.org — Форум разработчика, на котором ведется активное обсуждение адаптера Openport 2.0, а также программы EcuFlash.
Форум evolutionm.net — Форум посвященный тюнингу автомобилей Mitsubishi, на котором есть отдельный раздел, посвященный EcuFlash и тюнингу автомобилей Lancer Evolution.
Форум evoxforums.com — Форум посвященный тюнингу автомобилей Mitsubishi Evolution X, на котором есть отдельный раздел, посвященный EcuFlash и тюнингу этих авто.
Форумы iwsti.com — Форум, посвященный тюнингу автомобилей Subaru, на котором можно найти обсуждение программы EcuFlash.
Форумы nasioc.com — еще один Форум, посвященный тюнингу автомобилей Subaru, на котором можно найти обсуждение EcuFlash.
evoscan.com — сайт разработчика программы EvoScan, предназначенной для диагностики и записи логов автомобилей Mitsubishi, на котором есть много информации о программе и архив ранних версий.
forum.amadeus-project.com — «Форум технических маньяков», специализированный ресурс, на котором можно почерпнуть много информации о чип-тюнинге автомобилей Mitsubishi, работе с адаптером Openport 2.0 и программой EcuFlash.
Форум out-club.ru — Форум, посвященный автомобилям Mitsubishi Outlander, Airtrack Turbo, на котором можно найти информацию по работе с адаптером OpenPort, программами EcuFlash, Evoscan, EcuEdit.
epifansoft.com — сайт разработчика программы EcuEdit, альтернативного редактора и загрузчика программ для автомобилей Mitsubishi и Subaru.
ecuforum.ru — форум нашего интернет-магазина, предназначенный для обсуждения оборудования для чип-тюнинга и диагностики автомобилей, в том числе загрузчиков и редакторов прошивок.
При написании статьи использовались материалы с сайта разработчика и с некоторых из указанных выше сайтов а также личные размышления автора. Размещение статьи без согласия и ссылки на источник запрещены.
Василий Армеев, 2018.