Диагностика двигателя, логгирование и прошивка ECU. |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Диагностика двигателя, логгирование и прошивка ECU. |
1.6.2009, 13:00
Сообщение
#501
|
|
Супер Технический Маньяк Группа: Администраторы Сообщений: 818 Регистрация: 29.5.2009 Из: Нижний Новгород Вне форума Репутация: 57 |
Предлагаю развить тему логгирования, чтения ошибок перепрошивки 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 вместо таблиц будет открываться абракадабра. Кто ни то снимал логи или прошивал ?? У кого есть опыт в этих делах поделитесь плиз. |
|
|
5.10.2011, 17:05
Сообщение
#502
|
|
Технический Маньяк Группа: Технический Маньяк Сообщений: 439 Регистрация: 28.3.2010 Из: Odessa Вне форума Репутация: 16 |
To falcon
Решил пока начать с того, что попроще - довести до ума расходомерную прошивку 96532706, перенести в область DMA карты, касающиеся настройки MAF и форсунок - для этого места в RAM вполне достаточно. И снова возник вопрос: выборка данных из карты Injector Battery Voltage Latency Compensation происходит не с овсем понятно - первое обращение к карте - как обычно - к заголовку по адресу 37BA, второе 37С0 - собственно тело таблици Latency и третее - 37С7 не известные данные. Прокомментируй пожалуйста работу этой таблицы - что за такая хитрая выборка данных, может подскажешь за одно, что за данные по адресу 37С7 ? И еще, как корректно перенести таблицу в RAM - всю таблицу, соответственно переадресовав обращения к ней, или достаточно перенести только фрагмент, касающийся Latency? Места хватает для всей карты, я подсобрал все "дырки" в блоке DMA в кучу - так что место пока есть. Код ROM:000037BA unk_37BA: .data.b 2 ; DATA XREF: sub_16546+E ROM:000037BA ; sub_16614:off_166B8 ROM:000037BB .data.b 0 ROM:000037BC .data.l unk_FFFF886C ROM:000037C0 unk_37C0: .data.b h'8A; К ; DATA XREF: sub_14196+46 ROM:000037C0 ; ROM:off_14258 ROM:000037C0 ; Injector Latency ROM:000037C1 .data.b h'46; F ROM:000037C2 .data.b h'2B; + ROM:000037C3 .data.b h'1C ROM:000037C4 .data.b h'12 ROM:000037C5 .data.b h'B ROM:000037C6 .data.b 6 ROM:000037C7 unk_37C7: .data.b h'35; 5 ; DATA XREF: sub_282F4+1C ROM:000037C7 ; ROM:off_28554 ROM:000037C8 .data.b h'33; 3 ROM:000037C9 .data.b h'30; 0 ROM:000037CA .data.b h'2E; . ROM:000037CB .data.b h'2C; , ROM:000037CC .data.b h'2A; * ROM:000037CD .data.b h'28; ( ROM:000037CE .data.b h'25; % ROM:000037CF .data.b h'23; # ROM:000037D0 .data.b h'21; ! ROM:000037D1 .data.b h'1F ROM:000037D2 .data.b h'1D ROM:000037D3 .data.b h'1B ROM:000037D4 .data.b h'19 ROM:000037D5 .data.b h'17 ROM:000037D6 .data.b h'15 ROM:000037D7 .data.b h'14 ROM:000037D8 .data.b h'12 ROM:000037D9 .data.b h'10 ROM:000037DA .data.b h'F ROM:000037DB .data.b h'D ROM:000037DC .data.b h'C ROM:000037DD .data.b h'B ROM:000037DE .data.b 9 ROM:000037DF .data.b 8 ROM:000037E0 .data.b 7 ROM:000037E1 .data.b 6 ROM:000037E2 .data.b 5 ROM:000037E3 .data.b 4 ROM:000037E4 .data.b 4 ROM:000037E5 .data.b 3 ROM:000037E6 .data.b 2 ROM:000037E7 .data.b 2 ROM:000037E8 .data.b 1 ROM:000037E9 .data.b 1 ROM:000037EA .data.b 1 ROM:000037EB .data.b 0 ROM:000037EC .data.b 0 ROM:000037ED .data.b 0 ROM:000037EE .data.b 0 ROM:000037EF .data.b 0 ROM:000037F0 .data.b 0 ROM:000037F1 .data.b 0 ROM:000037F2 .data.b 0 ROM:000037F3 .data.b 0 ROM:000037F4 .data.b 0 ROM:000037F5 .data.b 0 ROM:000037F6 .data.b 1 ROM:000037F7 .data.b 1 ROM:000037F8 .data.b 1 ROM:000037F9 .data.b 1 ROM:000037FA .data.b 1 ROM:000037FB .data.b 2 ROM:000037FC .data.b 2 ROM:000037FD .data.b 2 ROM:000037FE .data.b 2 ROM:000037FF .data.b 2 ROM:00003800 .data.b 2 ROM:00003801 .data.b 2 ROM:00003802 .data.b 2 ROM:00003803 .data.b 1 ROM:00003804 .data.b 1 ROM:00003805 .data.b 0 ROM:00003806 .data.b 0 ROM:00003807 .data.b 0 ROM:00003808 .data.b 0 |
|
|
6.10.2011, 2:22
Сообщение
#503
|
|
Технический Маньяк Группа: Технический Маньяк Сообщений: 201 Регистрация: 9.8.2010 Из: Крым, Ялта Вне форума Авто: Lancer9-07 2L AT LPG, 80230006 Репутация: 26 |
У меня сегодня случилась "радость", сдох винт с кучей софта и наработками. Копии есть, но не всего и не свежие. (IMG:style_emoticons/default/russian_roulette.gif)
Поэтому пока могу только в общих чертах и по памяти ответить. форсунок - для этого места в RAM вполне достаточно. И снова возник вопрос: выборка данных из карты Injector Battery Voltage Latency Compensation происходит не с овсем понятно - первое обращение к карте - как обычно - к заголовку по адресу 37BA, Тут обычное обращение к таблице, ничего особенного. Цитата второе 37С0 - собственно тело таблици Latency Это обращение к ПЕРВОМУ элементу таблицы. Изначальные значения переменных некоторых алгоритмов надо инициализировать не взятыми с потолка значениями, типа 0/0x80/0xFF, а "действительными" значениями. В зависимости от вкусов программиста, в таких местах либо "забивают гвоздями" отдельное значение для инициализации переменной, либо берут какое-то значение из таблицы. Первый метод выглядит проще, но при настройке таблицы надо не забывать менять и инициализирующую переменную. Второй метод чуть-чуть трудозатратнее (совсем чуть-чуть - символов 10-20 в исходнике, но для особо ленивых и этого хватает) для программиста, зато при изменении таблицы ничего больше менять не надо. Лично мне по душе больше второй метод. Так вот этот пример - как раз такой случай. В прошивке куча мест, где некоторые переменные инициализируются первым или последним значением из таблицы. Цитата и третее - 37С7 не известные данные. Сейчас мне 37С7 выглядит как начало другой "беззаголовочной" таблицы, возможно я не прав, но посмотреть и проверить сейчас некуда. Цитата Прокомментируй пожалуйста работу этой таблицы - что за такая хитрая выборка данных, может подскажешь за одно, что за данные по адресу 37С7 ? И еще, как корректно перенести таблицу в RAM - всю таблицу, соответственно переадресовав обращения к ней, или достаточно перенести только фрагмент, касающийся Latency? Таблица имеет заголовок, поэтому число элементов в таблице надо посмотреть по оси этой таблицы. Скорее всего, это обычная таблица из 6 элементов, первый элемент которой используется где-то независимо от оси. 37С7, скорее всего к этой таблице отношения не имеет. Переносить - сперва скопировать ее в 0x3xxxx адреса, откуда происходит копирование блока РОМ в РАМ - благодаря этому таблица будет копироваться в РАМ. После этого, как обычно, переназначить адреса обращений к таблице с учетом адресов РАМ, куда она будет скопирована. |
|
|
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2024 Форум Технических Маньяков. |
|