![]() |
![]() |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
![]() ![]() |
![]() |
![]()
Сообщение
#841
|
|
Мозгодел ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 631 Регистрация: 20.2.2012 Из: Пятигорск Вне форума Авто: Mitsubishi Carisma 1,8 DOHC MT Репутация: ![]() ![]() ![]() |
Цитата Заново все запустил, переткнул в USB кабель. В итоге шаманство помогло - залил прошивку которая была. У меня тоже так изредка бывает. Сначала пугало, потом понял, что ничего страшного, бывает даже и со второй попытки то же самое опять, но в итоге всё равно заливается прошивка. Правда у меня не Опенпорт, но принцип работы похожий. |
![]() |
|
![]()
Сообщение
#842
|
|
Turbo Stackwalker ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 626 Регистрация: 1.8.2011 Из: Челябинск Вне форума Авто: MMC Colt CZT Репутация: ![]() ![]() ![]() |
После исправления ошибки с ДМА. В прошивку добавили много чего интересного. Надо искать на какой стадии добавления происходит сбой. Всё может быть гораздо веселее. Сколько выполняется добавочный код? А вы уверены что для него хватает процессорного времени? А то ведь внутри там развесистая система контроля времени - чуть таймауты вышли и переменные сбрасываются на значения по-умолчанию. У ранних прошивок на M32R можно было отдельным флагом активировать запись максимального времени выполнения отдельных блоков чтобы анализировать загрузку, как дело обстоит с SH не знаю. |
![]() |
|
![]()
Сообщение
#843
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 439 Регистрация: 28.3.2010 Из: Odessa Вне форума Репутация: ![]() ![]() ![]() |
Артем, привет!
А ты, случаем, в стек не залез? Я смотрел, что в РАМе творится у 9653хх06 в области стека, вот что насмотрел. Сюда залазить нельзя! ____FFFF A900 | | 512 byte |____FFFF AB00 ;steck___ | | 160 byte |____FFFF ABA0.....160+96=256 byte | | 96byte |____FFFF AC00_______| Вот, попробовал изобразить. Это практически без запаса на рост стека (запас около 30 байт), хотя в Тефравских 3D_VE залазят до FFFF A924, но это уже вообще без запаса. |
![]() |
|
![]()
Сообщение
#844
|
|
Супер Технический Маньяк ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 818 Регистрация: 29.5.2009 Из: Нижний Новгород Вне форума Репутация: ![]() ![]() ![]() |
Юра вот я и сделал по типу 965й прошивки
с FFFF A800 ДМА RAM до FFFF A924 увеличил. Тем самым добавил место в ROM под таблицы. Сам думаю вдруг чего зацепил таким увеличением. Как узнать или как отследить до какого адреса стек распространяется ?? |
![]() |
|
![]()
Сообщение
#845
|
|
Turbo Stackwalker ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 626 Регистрация: 1.8.2011 Из: Челябинск Вне форума Авто: MMC Colt CZT Репутация: ![]() ![]() ![]() |
А в SH нет контроля использования стека? В M32R на этапе старта область стека за исключением первых слов забивается маркером 0xaaaaaaaa и затем на каждом проходе главного цикла последняя функция из цикла делает шаг проверки стека
Код /*void init_stack_memory_counter()*/ 1b960: 82 ad 1a d0 add3 r2,fp,#6864 #- 1b964: 81 ad 13 00 add3 r1,fp,#4864 # end = stack_region + 500; start = stack_region; 1b968: 7f 04 f0 00 bra 0x1b978 || nop # while (start < end) { 1b96c: d0 c0 aa aa seth r0,#0xaaaa #- 1b970: 80 e0 aa aa or3 r0,r0,#0xaaaa #- 1b974: 20 41 41 04 st r0,@r1 -> addi r1,#4 # *start++ = 0xaaaaaaaa; 1b978: 01 52 7c fd cmpu r1,r2 -> bc 0x1b96c # } 1b97c: 80 ad 13 00 add3 r0,fp,#4864 #- 1b980: a0 4d ea 9c st r0,@(-5476,fp) # stack_check_pointer = &stack_region_start; 1b984: 63 00 f0 00 ldi r3,#0 || nop #- 1b988: a3 2d ea 98 sth r3,@(-5480,fp) # used_stack = 0; 1b98c: 1f ce f0 00 jmp lr || nop #- /*void step_check_used_stack_memory()*/ 1b920: 2e 7f f0 00 push lr || nop 1b924: a1 cd ea 9c ld r1,@(-5476,fp) 1b928: 20 c1 f0 00 ld r0,@r1 || nop 1b92c: d2 c0 aa aa seth r2,#0xaaaa 1b930: 82 e2 aa aa or3 r2,r2,#0xaaaa 1b934: b0 12 00 04 bne r0,r2,0x1b944 1b938: 41 04 f0 00 addi r1,#4 || nop 1b93c: a1 4d ea 9c st r1,@(-5476,fp) 1b940: 7f 07 f0 00 bra 0x1b95c || nop 1b944: 80 ad 1b 50 add3 r0,fp,#6992 1b948: fe 00 d0 14 bl 0x4f998 1b94c: fe 00 cd d7 bl 0x4f0a8 1b950: a0 2d ea 98 sth r0,@(-5480,fp) 1b954: 80 ad 13 00 add3 r0,fp,#4864 1b958: a0 4d ea 9c st r0,@(-5476,fp) 1b95c: 2e ef 1f ce pop lr -> jmp lr |
![]() |
|
![]()
Сообщение
#846
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 439 Регистрация: 28.3.2010 Из: Odessa Вне форума Репутация: ![]() ![]() ![]() |
Артем, проверял самым, что ни на есть, хамским способом: - ЛайвМапом перетер всю область стека нулями, и посмотрел, что от этих нулей осталось после того, как немного погонял прошивку (на иммитаторе, конечно) .
БОльшая часть стека восстановилась сразу, а после прогонки потерла еще небольшой кусок. В 96532706 последний затертай ноль был по адресу FFFF A95E, а в 96536706 (3D_VE) - FFFF A92A (или А92Е) - точно не помню - от сюда и родилась эта схема "распределения памяти". Вот xml для LiveMap, которым я издеваюсь над прошивами, подстрой только под свою адреса и размер сегмента, не забудь вписать свой адрес RAM_MUTи в реквесты. Я картинку сунул в архив, что б долго не думать, где менять. ![]() Глянь еще: - Из РОМ в РАМ при каждом включении зажигания копируется блок FF размером 1К, Саша когда-то говорил, что это похоже на какой-то буфер, связанный то-ли с обменом, то-ли с прошивкой (на тот момент он сильно глубоко в эту часть не вникал). У меня сложилось ощущение, что все-же с перепрошивкой, т.к. при работе прошивы я ни разу не видел, что б туда что-то записалось. Адрес блока в РАМ FFFF 9C00, в РОМ - 0003 FB40, то-же 1К, забитый FF и суброут по адресу 0000 8000, - это в 9653 Посмотри, что б в РОМ ты в эту область не залез - на эту мысль наводит то, что пока не выключил/включил зажигание не хотело перешиваться. |
![]() |
|
![]()
Сообщение
#847
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 151 Регистрация: 14.7.2010 Из: Мурманск Вне форума Репутация: ![]() ![]() ![]() |
А вот у меня вопрос - как рассчитываются лонг тримы при однолямбдовом варианте?
Кстати, рольфовский учебник ЕМНИП, или ничего не говорит по этому поводу, или говорит, что LTFT получается , если STFT зашкаливает, а он на основании передней лямбды рассчитывается. Увидел только у Кольта Z3.. некое подобие влияния заднего лямбда на общее смесеобразование, и то не в прошивке, а в Воркшоп Мануале. Code No. P0125: Feedback System Monitor OPERATION • Refer to Code No. P0201 No. 1 Injector System P.13A-87. Refer to Code No. P0202 No. 2 Injector System P.13A-92. Refer to Code No. P0203 No. 3 Injector System P.13A-97. • Refer to Code No. P0130 Oxygen Sensor (Front) Circuit P.13A-57. FUNCTION • The engine-ECU effects air-fuel ratio feedback control in accordance with the signals from the oxygen sensor (front). • If the oxygen sensor (front) has deteriorated, corrections в других же мануалах - ни слова о влиянии коррекции задней лямбды. Если так - то это вилы, проставки и РЦ-цепочки не рулят... ПС. Фалконыч, поделись плиз хмл-кой на 2,0 с АКПП - хочу поиграться с моментами переключений и блокировкой ГТ. ППС gktuning у тебя тоже попрошу хмл-ку на Аутбек, только до дома дойду, че-то одновременно трое знакомых и друзей Субариков взяли и пристают ко мне ))) Но у двоих JECS Hitachi стоит - я на Дроме по этому вопросу тусую..., а этот Аут вроде по-человечески слился и я даже кое-что из таблиц накопал, только не все и видимо, что-то напутал, вот и обращусь за помощью. |
![]() |
|
![]()
Сообщение
#848
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 151 Регистрация: 14.7.2010 Из: Мурманск Вне форума Репутация: ![]() ![]() ![]() |
Да, не вопрос! Тем более, если слилась, то номер прошивы знаешь. Если таковой xml есть в "закромах Родины", с удовольствием поделюсь. подозреваю, что готовенького нет ... блин, опять не могу прикрепить файл.. уф, разобрался, опера не дружит с форумом. E2ZJ102A - если я правильно понял.
Прикрепленные файлы
|
![]() |
|
![]()
Сообщение
#849
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 439 Регистрация: 28.3.2010 Из: Odessa Вне форума Репутация: ![]() ![]() ![]() |
Точно, посмотрел - готового, к сожалению, нет.
Ковырять субарины прошивы я не пытался, так что помочь могу только парой ссылок на ресурсы по этой теме: http://www.romraider.com/forum/forum25.html http://forums.openecu.org/index.php Судя по ID прошивы - это 2,5 л мотор - глянь в EcuFlash xml(и) для импрезы 2,5RS, там эта же серия прошив, может от туда что подойдет. На крайний случай сменить прошиву на ту, к которой есть xml из этой серии. Жаль, не много от меня помощи - я субарями очень мало занимался. (IMG:style_emoticons/default/unknw.gif) |
![]() |
|
![]()
Сообщение
#850
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 151 Регистрация: 14.7.2010 Из: Мурманск Вне форума Репутация: ![]() ![]() ![]() |
спасиб! придется самому или просить помощи у более сведущих товарисчей, может, помогут. А вот у нас тут ayashiko вроде бы бродит? Может, к нему? Он субару делает?
ПС - да я и пытаюсь надергать из подходящих описаний кое-что, нашел около трех таблиц топливных и пяток зажигания, дальше пока тупик. кстати, что-то никто не поправил насчет лямбды...а я недокопировал кусочек. FUNCTION • The engine-ECU effects air-fuel ratio feedback control in accordance with the signals from the oxygen sensor (front). • If the oxygen sensor (front) has deteriorated, corrections will be made by the oxygen sensor (rear). |
![]() |
|
![]()
Сообщение
#851
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 201 Регистрация: 9.8.2010 Из: Крым, Ялта Вне форума Авто: Lancer9-07 2L AT LPG, 80230006 Репутация: ![]() ![]() ![]() |
ПС. Фалконыч, поделись плиз хмл-кой на 2,0 с АКПП - хочу поиграться с моментами переключений и блокировкой ГТ. С ГТ там таблиц как таковых нет, там код. Что касается переключений, там не все так просто, там на одно переключение надо несколько карт править, начиная от граничных значений, какая скорость вообще возможна в данный момент и заканчивая несколькими таблицами на одно переключение. Иными словами, без описания всех этих таблиц там ловить нечего. А что мне больше всего нравится, что там некоторые данные вообще считаются как 2Дтаблица1*2Дтаблица2 и сравнивается с данными. Какой псих такое выдумал мне непонятно, но такое я, например, не умею отображать в экуэдите (IMG:style_emoticons/default/sad.gif) Основные таблицы переключения постараюсь выбрать и выложить на днях, пока со временем напряг. |
![]() |
|
![]()
Сообщение
#852
|
||
***** ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 2152 Регистрация: 26.7.2009 Из: Славный град Тобольск Вне форума Репутация: ![]() ![]() ![]() |
К теме о блокировке ГТ - не секрет что практически все мировые производители авто начали двигаться в сторону уменьшения расхода...
примеров масса, гибриды, дизели, но немаловажным фактором остается работа АКПП, а именно снижение потерь в ней, 1. - дизель, турбинка, АКПП, - BMW120D (очень шустрый авто) 7,2c 0-100, 184лс, 380НМ момента, расход - 4л в городе (заявленый, реальный около 6 согласно тесту Кватрорут, но все равно круто для авто с такими ТТХ) и все это в том числе именно за счет коробки, ГТ БЛОКИРУЕТСЯ СРАЗУ ПОСЛЕ ТРОГАНИЯ АВТО С МЕСТА |
|
![]() |
||
![]()
Сообщение
#853
|
||
Мозгодел ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 631 Регистрация: 20.2.2012 Из: Пятигорск Вне форума Авто: Mitsubishi Carisma 1,8 DOHC MT Репутация: ![]() ![]() ![]() |
Всем привет! Саша, глянь в Тефриной 9653хх06 этоткусок: Код ROM:0002C61E loc_2C61E: ; CODE XREF: sub_2C55C+48j ROM:0002C61E mov.l off_2C7EC, r8; unk_FFFF89FC Тут меняем r8 на r0 (0xD873 на D073) ROM:0002C620 mov.w @r0, r0 ROM:0002C622 shlr8 r0 ROM:0002C624 tst #8, r0 ROM:0002C626 bt loc_2C62E ROM:0002C628 mov.l off_2C7A4, r10; sub_2F9C0 ROM:0002C62A jsr @r10; sub_2F9C0 Тут меняем на nop (0х0009) ROM:0002C62C nop Этот патч прописан в xml, в категории Rear O2 Heater Disable, там два пункта - Rear O2 Heater Patch и Heater CEL Проверял, работает. Ошибку нагревателя убивает. А вот в периферии не во всех прошивах работает (ну, из тех, что мне попадались), не смотря на то, что индекс нулевой и даже соответствующие биты в коде проверяются. Это не только по нагревателю. Перерыл у себя всю прошивку. Единственный похожий кусок: В первой строчке уже стоит r0 , а не r8. Если вместо jsr поставить nop , как думаете, получится? |
|
![]() |
||
![]()
Сообщение
#854
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 439 Регистрация: 28.3.2010 Из: Odessa Вне форума Репутация: ![]() ![]() ![]() |
Похоже, но сравни окружающий код, от куда этот фрагмент вызывается. И нужно пробовать.
Код ROM:0002ABDC loc_2ABDC: ; CODE XREF: sub_2AB8C+48j ROM:0002ABDC mov.l off_2AE8C, r0; _FFFF89FC_MUTD3_Periphery2_FCA ROM:0002ABDE mov.w @r0, r0 ROM:0002ABE0 shlr8 r0 ROM:0002ABE2 tst #b'1000, r0 ; Check bit11 (P0031, P0032, P0037, P0038) ROM:0002ABE4 bt loc_2ABEC ROM:0002ABE6 mov.l off_2AE90, r10; sub_2E498 ROM:0002ABE8 jsr @r10; sub_2E498 ROM:0002ABEA nop Так это выглядит, если подробней расписать (это 9626хх09) В этом варианте достаточно в периферии FCA установить бит11 в 0 и переход jsr выполняться не будет. Что за чушь была с этими регистрами (r0 r8), х.з. В таком виде код выглядит совершенно логично - значение FCA загрузилось в r0, проверили бит11 на "признак 0", и если бит11=0, то переход выполнен bt, минуя переход jsr |
![]() |
|
![]()
Сообщение
#855
|
|
Мозгодел ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 631 Регистрация: 20.2.2012 Из: Пятигорск Вне форума Авто: Mitsubishi Carisma 1,8 DOHC MT Репутация: ![]() ![]() ![]() |
gktuning , спасибо тёзка. Получилось убрать ошибку нагревателя второй лямбды. Убрал по FCA в bit 11 . Правда в том куске кода, который я выложил, ничего не изменилось. Может не тот кусок я нашёл?
Непонятно, почему в FCA bit 11 , в XML прописано "Р0031, Р0032, Р0037, Р0038" ? Логичнее было бы туда прописать "Р0141" , или нагреватель второй лямбды. Остался один пустяк, вставить в код эмулятор ЛЗ-2. (IMG:style_emoticons/default/mlja.gif) |
![]() |
|
![]()
Сообщение
#856
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 439 Регистрация: 28.3.2010 Из: Odessa Вне форума Репутация: ![]() ![]() ![]() |
Да, не за шо, тёзка! Рад, что помог! (IMG:style_emoticons/default/drinks.gif)
Р0031, Р0032, Р0037, Р0038 - то же ошибки нагревателей зондов, возможно этот бит их все отключает, а "nop" в коде - только заднюю, я не сильно вникал в это. Лови полезную ссылку по расшифровке кодов ошибок: http://www.ardio.ru/dtclib.php |
![]() |
|
![]()
Сообщение
#857
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 201 Регистрация: 9.8.2010 Из: Крым, Ялта Вне форума Авто: Lancer9-07 2L AT LPG, 80230006 Репутация: ![]() ![]() ![]() |
Подскажите плиз, где найти расшифровку кодов ошибок? Все не могу доделать патч, чтобы вместе с включением эмулятора О2 сразу и проверка хитера отключалась.
В моей прошивке, в единственной среди виденных мной, механизм самодиагностики ПОЛНОСТЬЮ отличается от остальных прошивок (правда, 1.6АТ на эту тему не смотрел, но - не важно), поэтому от других прошивок патчи не подходят. Вот таблица кодов ошибок этой прошивки: (коды - шестнадцатеричные) ![]() Или, если ее надо читать десятеричными значениями, тогда она будет выглядеть так: ![]() Скажите мне, какой код соответствует ошибке заднего хитера?? А то смотрел всякие obd, ммс и прочие таблицы - нифига не сходится. Пример. Верхний левый в таблице код ошибки прошивка выставляет когда обороты меньше 500РПМ (надо понимать, это ошибка датчика коленвала или хрен знает чего еще). Код 0x11 (17) Читаем ММС доки: код 11 - не найден. код 17 - P0117 - Engine Coolant Temperature Sensor Low Voltage Нифига код не совпадает с описанием. Остальное - тоже смотрел, в доках - одно, в прошивке - другое. Где правда? PS: Я сморел на P0141 - (Right) Rear HO2 Sensor Malfunction Предвидя советы по коду из второй строки, 4го столбца: 41 кода в таблице нет, есть только 0x41. Смотрю код, выставляющий эту ошибку - проверяются иммо, обороты, тпс, разрешенные инжекторы и выдается ошибка, когда на оборотах меньше 1000 и тпс меньше 23% ЕСТЬ детонация - очень похоже на проверку ДД, а не заднего хитера. |
![]() |
|
![]()
Сообщение
#858
|
|
Turbo Stackwalker ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 626 Регистрация: 1.8.2011 Из: Челябинск Вне форума Авто: MMC Colt CZT Репутация: ![]() ![]() ![]() |
Подскажите плиз, где найти расшифровку кодов ошибок? А я нашёл таблицу кодов ошибок когда наткнулся на реализацию протокола OBD, там 16 16 битных флагов активных ошибок отображаются на таблицу размером в 256 16 битных кодов. Хранятся они в точном соответствии с OBD (см. http://en.wikipedia.org/wiki/OBD-II_PIDs mode 3). Но это в мозгах кольта... |
![]() |
|
![]()
Сообщение
#859
|
|
Технический Маньяк ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 201 Регистрация: 9.8.2010 Из: Крым, Ялта Вне форума Авто: Lancer9-07 2L AT LPG, 80230006 Репутация: ![]() ![]() ![]() |
А я нашёл таблицу кодов ошибок когда наткнулся на реализацию протокола OBD, там 16 16 битных флагов активных ошибок отображаются на таблицу размером в 256 16 битных кодов. Хранятся они в точном соответствии с OBD (см. http://en.wikipedia.org/wiki/OBD-II_PIDs mode 3). Но это в мозгах кольта... А в 80230006 таблица такая, как я ее показал. И она ничему не соответствует, из виденных мной доков. Или я не могу понять, как ее читать. Хрень какая-то. (IMG:style_emoticons/default/huh.gif) |
![]() |
|
![]()
Сообщение
#860
|
|
Turbo Stackwalker ![]() ![]() ![]() ![]() ![]() Группа: Технический Маньяк Сообщений: 626 Регистрация: 1.8.2011 Из: Челябинск Вне форума Авто: MMC Colt CZT Репутация: ![]() ![]() ![]() |
А в 80230006 таблица такая, как я ее показал. И она ничему не соответствует, из виденных мной доков. Или я не могу понять, как ее читать. Хрень какая-то. (IMG:style_emoticons/default/huh.gif) А это точно таблица кодов ошибок? Ну то есть начнём с другого конца: по какому протоколу передаются ошибки? В кольте, например, выбор протокола идёт при помощи 5baud init, что в дальнейшем отражается на специальной переменной флагов, в которой 0x40 соответствует OBD, 0x80 - скорее всего MUT-II, 0x20 - просто передаёт информацию об оборотах и т.п. 15 байтными посылками. |
![]() |
|
![]() ![]() ![]() |
![]() |
+7-978-708-85-73 Дроссель Amadeus Productions. Быстрый заказ по телефону. (Viber, WhatsApp, Telegram) |
Текстовая версия | © 2006-2025 Форум Технических Маньяков. |
|