![]() |
![]() |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
![]() |
![]()
Сообщение
#1
|
|
Супер Технический Маньяк ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 818 Регистрация: 29.5.2009 Из: Нижний Новгород Вне форума Репутация: ![]() ![]() ![]() |
Предлагаю развить тему логгирования, чтения ошибок перепрошивки ECU.
Mprog и EPT - прошивальщик и прошивка для кабеля. (что бы виделся прогами как родной) Unlocker - для разблокирования ECU - если по каким то причинам не получается считать прошивку. Проги для пользования думаю найдете сами в инете. EcuFlash 1.28 и 1,29 (версии выше для этого шнурка уже не подходят- нужен OpenEcu2.0) в ней же драйвера для шнура EvoScan 2.5 EcuEdit 3.5 Mitsulogger как прошивать http://forums.evolutionm.net/ecuflash-179/ (на английском) не забудьте записать код иммобилайзера перед прошивкой Для каждой прошивки ROM или BIN нужен файл XML в котором написано расположение всех нужных таблиц. Иначе допустим в EcuFlash вместо таблиц будет открываться абракадабра. Кто ни то снимал логи или прошивал ?? У кого есть опыт в этих делах поделитесь плиз. |
![]() |
|
![]() |
![]()
Сообщение
#2
|
|
Супер Технический Маньяк ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 818 Регистрация: 29.5.2009 Из: Нижний Новгород Вне форума Репутация: ![]() ![]() ![]() |
При дизассемблировании
обращайте внимание на функции SUB_CC6, C28 и E2 http://forums.evolutionm.net/ecuflash/4483...le-lookups.html первое сообщение от Logica. далее машинный перевод: - Поиск Оси сделан посредством вызова программы в sub_CC6. Вы сообщаете sub_CC6 где заголовок оси - назначая адрес в регистр r4. Для столов 2D, Вы выполняете один поиск оси; для столов 3D, Вы выполняете два. Результат каждого вызова на sub_CC6 - величина сохраненная на этой оси' "адрес результата"; это - позиция на оси, что наиболее тесно (округлять в меньшую сторону), соответствует текущей величине оси ( позиция на оси ОБ/МИН, что большинство текущая машинная скорость). Как только у вас быть позициями оси из sub_CC6, Вам нужно искать фактическую табличную величину. Для байтовых-широтных таблиц, Вы называете sub_C28; для текстовых-широтных таблиц, sub_E02. Табличный заголовок имеет некоторое сходство в заголовке оси. Первый байт (или слово, для sub_E02), определяет имеет таблица два измерения (0x2) или три (0x3). Второй байт (или слово) - глобальная переменная, которая добавлена к любой величине возвращанной с таблицы. Затем, длинное слово описывается где позиция на X-axis сохранена в памяти (возвращанное из sub_CC6); на таблицу 3D, дополнительное длинное слово включено, а также один-байтовая величина, обозначающая длину колонки. После это, табличные данные следуют за, или в словом (для sub_E02) или байтом (sub_C28) формы. Так, таблицы выглядят похожим на это: Байт (или слово, для измеренных текстовых таблиц) для количества измерений: 2 = 2D, 3 = 3D. байт (или слово, для измеренных текстовых таблиц) для величины "добавленной" во все величины возвращанные из таблицы. Длинное слово для позиции на X-axis. (скорее всего адрес FFFF) Дополнительно, длинное слово для позиции на Y-axis в таблице 3D. (скорее всего адрес FFFF) Дополнительно, байт (или слово, для измеренных текстовых таблиц) для длины каждой колонки в таблице 3D. Серия слова или байтов, содержащих табличные данные. Отметьте, что X и адресы позиции Y должны или сопоставление результат обращается из таблиц оси или соответствует паре адресов в которые Вы вручную скопировали результаты поиска оси. Просто подобно с поисками оси, Вы установили регистр r4 по адресу таблицы Вы хотите выполнить поиск в. Когда управление возвращано, регистр r0 содержит интерполированную величину основанную на как "закрытие" величины оси были в помеченной позиции на оси. Так, если Вы видите вызовы на sub_CC6 при читать ваше disassembly ROM, это - признак того, что поиск оси выполняется, и если Вы видите вызовы на sub_C28 или sub_E02, есть табличное событие поиска. Смотря на линии кода постепенно подготавливающего, что для любых назначений, чтобы регистрировать регистр r4 сообщит Вам где ось или табличные заголовки расположены. Нормально, кодовое право после вызова на sub_C28 или sub_E02 назначит регистр r0 в некоторый адрес памяти (или в конечном счете получите там, прыгая это вокруг из регистра, чтобы регистрировать), какое Вы можете зарегистрировать через таблицу MUT если Вы хотите держать глаз в величине, и можете дать Вам идею которого другой код, который использует, которым величина делает (например, код, который имеется дело с результатом из Высокого поиска Карты Октанового Топлива вероятно включено в топливо). |
![]() |
|
![]() ![]() ![]() |
![]() |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2025 Форум Технических Маньяков. |
|