Помощник
Здравствуйте, гость ( Вход | Регистрация )
Ответить |
8.4.2017, 21:29
Сообщение
#244223
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2041 раз |
в эмуляторе оно записывается, в живом нет Может обойтись без сложения адреса 'STD 0,Y', то есть написать просто 'STD Y', вдруг компилятор капризничает и не поддерживает такую конструкцию)) Ну так, чисто мысля) |
|
|
8.4.2017, 21:31
Сообщение
#244224
|
|
Группа: Участник Сообщений: 12 Спасибо сказали: 4 раза |
Уточнения принял. А при эмуляции основная флэш та же, что и внутри живого камня? П-флеш я не трогаю, внедрение пишу в Ram память. Оттуда и запускаю свой код, при этом основная программа которая находится на П-флеше останавливается, и вся процессорная мощь сосредоточилась на моем коде:) только таймер наблюдатель подсматривает :) Полная эмуляция процессора осуществляется программой которую я скачал из сайта Freescale. -------------------- Telegram: @RedYu
http://rover.kulibin-auto.com/ |
|
|
8.4.2017, 21:32
Сообщение
#244225
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2041 раз |
И вторая бредовая идея, впиши один байт, не слово, что будет..
|
|
|
8.4.2017, 21:36
Сообщение
#244226
|
|
Группа: Участник Сообщений: 12 Спасибо сказали: 4 раза |
Может обойтись без сложения адреса 'STD 0,Y', то есть написать просто 'STD Y', вдруг компилятор капризничает и не поддерживает такую конструкцию)) Ну так, чисто мысля) Дело в том что процессор же постоянно свою д-флеш переписывает, и я не думаю что он для этого останавливает все прерывания. Запись я ещё предполагаю происходит (возможно) отдельным "потоком", ведь все хотят д-флеш, а она одна только:) возможно сценарий следующий: Записать данные в RAM и выставить флаг что нужно записать данные в д-флеш. После чего когда д-флеш будет готова к записи, эти данные занесутся в неё. -------------------- Telegram: @RedYu
http://rover.kulibin-auto.com/ |
|
|
8.4.2017, 21:37
Сообщение
#244227
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2041 раз |
П-флеш я не трогаю, внедрение пишу в Ram память. На самом деле я про это и говорил, что без изменения флеши, такая фишка может не прокатить на реальном камне, а сама запись применяется не мгновенно. Если подменить непосредственно загрузчик, тогда все будет тип топ, другой вопрос, как подменить загрузчик)) Это я и назвал замкнутым кругом :). Возможно, проц сам откатывает изменения, т.к. условия записи не выполнены. Поэтому я не зря говорю, набросай для камня свой код программы P-FLASH, запиши в проц и протестируй. Мне кажется что собака может быть зарыта в коде основной "родной" программы проца, которая отслеживает состояния до сна и после. |
|
|
8.4.2017, 21:38
Сообщение
#244228
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2041 раз |
Дело в том что процессор же постоянно свою д-флеш переписывает Все верно, и не только постоянно переписывает, но и воссоздает ее с нуля так сказать из P-FLASH. |
|
|
8.4.2017, 21:41
Сообщение
#244229
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2041 раз |
возможно сценарий следующий: Записать данные в RAM и выставить флаг что нужно записать данные в д-флеш. После чего когда д-флеш будет готова к записи, эти данные занесутся в неё. Так правильно, об этом мы и говорили пол страницы)) Нужно дождаться разрешения записи. Вполне возможно, что на реальном камне много других отвлекающих процессов общаются и мешают, тупо не укладываемся в тайминги, начиная операцию раньше, чем это можно. |
|
|
8.4.2017, 21:55
Сообщение
#244232
|
|
Группа: Участник Сообщений: 12 Спасибо сказали: 4 раза |
Все верно, и не только постоянно переписывает, но и воссоздает ее с нуля так сказать из P-FLASH. Немного поправлю. Этот процессор стоит в автомобиле на электронном блоке управления кузовом. В нем есть P-flash и D-flash. P - program flash, D - data flash. Насчёт программной флеши всё понятно что там код. А флеша данных в ней лежат начальные значения переменных и сохранённая информация (ошибки, время, дата, различные данные по автомобилю). При старте процессора загрузка идёт с д-флеши. Теперь сама перезапись, мы запускаем собственный код в процессоре, для того чтобы он средствами самого процессора изменил нам всё так как надо. Я склонен к тому что всё что запускается всё можно взломать и поломать, ведь процессор это кусок унылого и тупого кристаллика, человек его создал человек его и поломает:) Последовательность действий определяется программистом, все что написано он "ДОЛЖЕН" выполнить для этого он и создан. Просто не получается это из-за того что пишу я не правильно и больше склоняюсь к тому что нужно через RAM писать. П.С. Нет ничего невозможного. -------------------- Telegram: @RedYu
http://rover.kulibin-auto.com/ |
|
|
8.4.2017, 22:37
Сообщение
#244235
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2041 раз |
При старте процессора загрузка идёт с д-флеши Такого не может быть, из D-FLASH только берутся настройки, если они там есть, или наоборот, там сохраняются, а загрузка программы идет как раз через P-FLASH. Или слово "загрузка" нужно было заменить на "инициализация"?)) Теперь сама перезапись, мы запускаем собственный код в процессоре, для того чтобы он средствами самого процессора изменил нам всё так как надо. Я склонен к тому что всё что запускается всё можно взломать и поломать, ведь процессор это кусок унылого и тупого кристаллика, человек его создал человек его и поломает:) Есть одно но) есть плохо написанные программы, а есть хорошо написанные программы)) Последовательность действий определяется программистом, все что написано он "ДОЛЖЕН" выполнить для этого он и создан. 100% )) Но не все так просто, если "там" постарались (предусмотрели такие вылазки), то там могут "посчитать", что твой код не должен выполниться)) Они же тоже писали программу для этого :) Просто не получается это из-за того что пишу я не правильно и больше склоняюсь к тому что нужно через RAM писать. Пока "есть варианты", можно их проверять. Когда закончатся, я все же бы на живом камне проверял бы свои мысли и код. Эмуляторам нет доверия. |
|
|
8.4.2017, 23:03
Сообщение
#244236
|
|
Группа: Участник Сообщений: 12 Спасибо сказали: 4 раза |
100% )) Но не все так просто, если "там" постарались (предусмотрели такие вылазки), то там могут "посчитать", что твой код не должен выполниться)) Они же тоже писали программу для этого :) Программа писалась для того чтобы в автомобиле всё работало, а не для защиты самой программы:) если бы была задача защитить программу получилось ли бы запустить что-то своё на процессоре? :) думаю что нет. -------------------- Telegram: @RedYu
http://rover.kulibin-auto.com/ |
|
|
8.4.2017, 23:31
Сообщение
#244237
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2041 раз |
Программа писалась для того чтобы в автомобиле всё работало, а не для защиты самой программы:) В последние годы "там" умнеют и уже не полагаются на защиту "галочкой" в конфигурации проца, так что не скажи, уже пытаются защищаться по взрослому. если бы была задача защитить программу получилось ли бы запустить что-то своё на процессоре? :) думаю что нет Ну как сказать) дыры есть везде и разного "диаметра")), и если дыра будет найдена потом не только "умным человечком", но и разработчиками флэши, дырочку то и прикроют, как на мерине или бмв это стали делать.. Так что не показатель и неизвестно, что реально эта дырочка может принести, вдруг ложный след и лишние мучения в пустоту? )) Куй железо, пока горячо! )) |
|
|
9.4.2017, 16:45
Сообщение
#244266
|
|
Группа: Real User Сообщений: 500 Спасибо сказали: 89 раз |
Влезу в вашу тему со своим ламерским вопросом, два идентичных блока с закрытыми 9s12xeg128 2m53j один хпрог снял защиту на ура со второго не смог стер проц и залил дамп из предидущего, что за оно такое - блоки 1 в 1 ....
-------------------- AVDI.UPA.SMOKFULL.OMEGA.XPROG.BMWSCANER.FVDI18.STAR SD CONNECT.LEXIA.CLIP.VAS.IDSII.VVDI PROG.MB KEYMASTER, ICOM NEXT, HEX NET WIFI
|
|
|
9.4.2017, 17:50
Сообщение
#244268
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2041 раз |
power1977, а кто его знает) надо щупать, бывает такое. О подобных ситуациях расписано в теме по VVDI-PROG.
|
|
|
12.4.2017, 17:59
Сообщение
#244504
|
|
Группа: Участник Сообщений: 12 Спасибо сказали: 4 раза |
Всем привет! :) Решил всё таки я проблему с D-Flash, писать напрямую в D-Flash нельзя. Нужно как я сказал делать это с помощью RAM. Код показывать не хочу, но расскажу последовательность, также всё очень хорошо расписано в даташите. Итак как я сказал ранее писать напрямую в D-Flash нельзя. То есть вот этот код не верный:
CODE LDD #$1234; load value LDX #$0800; load addr STD 0,X; err Правильная последовательность записи в D-Flash: 1. Проверяем занята ли флеша. 2. Настраиваем тактирование флеши. (Это достаточно важное действие, без него не будут работать команды работы с флешой) Но для того чтобы его настроить нужно знать тактовую частоту моторолы, и относительно этой частоты выставлять тактирование флеши. Для этого просто достаточно посмотреть на кварц, но бывают такие кварцы где не написано ничего. (Такой как у меня). То это можно сделать двумя способами. 1) Методом подбора, что достаточно долго. 2) С помощью осциллографа, просто прикоснувшись к выходу кварцевого резонатора. 3. Чистим ошибки флеши. 4. Дальше нужно снять protection с флеши. 5. Стираем сектор D-Flash. (Без этого пункта мы не запишем никакие данные) 6. Снова удаляем все ошибки. 7. Пишем данные в D-Flash. (Про этот пункт можно узнать более точно в даташите найдя "Program D-Flash") 8. Снова удаляем все ошибки. 9. Радуемся данные находятся там где нам надо. Также нужно понимать что когда мы пишем и стираем данные используется глобальный адрес, а не локальный. Данные можно писать по 2,4,6,8 байта. После чего я получил готовый загрузчик для чтения и записи RAM, D-FLASH, EEPROM, P-FLASH с помощью OBD2. У меня получилась вот такая скорость: 1. Чтение 1 кб/сек. 2. Запись 90 байт/сек. 1. Чтение D-FLASH за 30сек, 32кб памяти. 2. Запись D-FLASH за 6мин, 32кб памяти. (Написал поправки и время записи уменьшилось к 2 мин) 3. Чтение P-FLASH не меньше чем за 10мин-15мин, 1мб 4. Запись и говорить не хочу) очень долго) При этом не нужно разбирать автомобиль. :) Получил то что и хотел:) Буду переходить на микрокотроллеры NEC. Отредактированно RedYu - 12.4.2017, 18:00
-------------------- Telegram: @RedYu
http://rover.kulibin-auto.com/ |
|
|
12.4.2017, 18:18
Сообщение
#244507
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2041 раз |
RedYu, вот, расписал все грамотно и ничего лишнего, респект!
Приятно, когда люди добиваются решения вопроса. Вывод, можно решить практически любую задачу, понимая, что делаешь, главное, чтобы "это оно" тебе надо было)) Теоретически этот подход можно применить для работы по OBD с такими процами на других блоках, а не через программаторы, правда у разных моделей авто будут свои нюансы, главное доказано, что можно. В мире часто либо берутся за задачи не те, кто могут, а кто может, у тех интересы другие)) Когда совпадает и то и другое, тогда получаются классные вещи! |
|
|
Ответить |
|
16.11.2024, 16:02 Посл. ответ от Mohammed Fadhil |
||
|
3.1.2024, 5:58 Посл. ответ от Александр |
||
|
25.7.2022, 7:21 Посл. ответ от Fedorov |
||
|
16.3.2022, 12:28 Посл. ответ от Saveliy |
||
|
22.3.2015, 3:08 Посл. ответ от Saveliy |
|
Сегодня, 6:09 Посл. ответ от mihnokuzia |
||
|
Вчера, 19:50 Посл. ответ от Василий88 |
||
|
22.11.2024, 22:53 Посл. ответ от Reanimotor |
||
|
22.11.2024, 11:00 Посл. ответ от Aнвар |
||
|
19.11.2024, 18:43 Посл. ответ от slalex |
Сейчас: 25.11.2024, 15:55 |