Помощник
Здравствуйте, гость ( Вход | Регистрация )
Ответить |
![]()
Сообщение
#244223
|
|
![]() Special Группа: Главные администраторы Сообщений: 13288 Спасибо сказали: 2051 раз ![]() |
в эмуляторе оно записывается, в живом нет Может обойтись без сложения адреса 'STD 0,Y', то есть написать просто 'STD Y', вдруг компилятор капризничает и не поддерживает такую конструкцию)) Ну так, чисто мысля) |
![]() ![]() |
|
![]()
Сообщение
#244224
|
|
![]() Группа: Участник Сообщений: 12 Спасибо сказали: 4 раза ![]() |
Уточнения принял. А при эмуляции основная флэш та же, что и внутри живого камня? П-флеш я не трогаю, внедрение пишу в Ram память. Оттуда и запускаю свой код, при этом основная программа которая находится на П-флеше останавливается, и вся процессорная мощь сосредоточилась на моем коде:) только таймер наблюдатель подсматривает :) Полная эмуляция процессора осуществляется программой которую я скачал из сайта Freescale. -------------------- Telegram: @RedYu
http://rover.kulibin-auto.com/ |
![]() ![]() |
|
![]()
Сообщение
#244225
|
|
![]() Special Группа: Главные администраторы Сообщений: 13288 Спасибо сказали: 2051 раз ![]() |
И вторая бредовая идея, впиши один байт, не слово, что будет..
|
![]() ![]() |
|
![]()
Сообщение
#244226
|
|
![]() Группа: Участник Сообщений: 12 Спасибо сказали: 4 раза ![]() |
Может обойтись без сложения адреса 'STD 0,Y', то есть написать просто 'STD Y', вдруг компилятор капризничает и не поддерживает такую конструкцию)) Ну так, чисто мысля) Дело в том что процессор же постоянно свою д-флеш переписывает, и я не думаю что он для этого останавливает все прерывания. Запись я ещё предполагаю происходит (возможно) отдельным "потоком", ведь все хотят д-флеш, а она одна только:) возможно сценарий следующий: Записать данные в RAM и выставить флаг что нужно записать данные в д-флеш. После чего когда д-флеш будет готова к записи, эти данные занесутся в неё. -------------------- Telegram: @RedYu
http://rover.kulibin-auto.com/ |
![]() ![]() |
|
![]()
Сообщение
#244227
|
|
![]() Special Группа: Главные администраторы Сообщений: 13288 Спасибо сказали: 2051 раз ![]() |
П-флеш я не трогаю, внедрение пишу в Ram память. На самом деле я про это и говорил, что без изменения флеши, такая фишка может не прокатить на реальном камне, а сама запись применяется не мгновенно. Если подменить непосредственно загрузчик, тогда все будет тип топ, другой вопрос, как подменить загрузчик)) Это я и назвал замкнутым кругом :). Возможно, проц сам откатывает изменения, т.к. условия записи не выполнены. Поэтому я не зря говорю, набросай для камня свой код программы P-FLASH, запиши в проц и протестируй. Мне кажется что собака может быть зарыта в коде основной "родной" программы проца, которая отслеживает состояния до сна и после. |
![]() ![]() |
|
![]()
Сообщение
#244228
|
|
![]() Special Группа: Главные администраторы Сообщений: 13288 Спасибо сказали: 2051 раз ![]() |
Дело в том что процессор же постоянно свою д-флеш переписывает Все верно, и не только постоянно переписывает, но и воссоздает ее с нуля так сказать из P-FLASH. |
![]() ![]() |
|
![]()
Сообщение
#244229
|
|
![]() Special Группа: Главные администраторы Сообщений: 13288 Спасибо сказали: 2051 раз ![]() |
возможно сценарий следующий: Записать данные в RAM и выставить флаг что нужно записать данные в д-флеш. После чего когда д-флеш будет готова к записи, эти данные занесутся в неё. Так правильно, об этом мы и говорили пол страницы)) Нужно дождаться разрешения записи. Вполне возможно, что на реальном камне много других отвлекающих процессов общаются и мешают, тупо не укладываемся в тайминги, начиная операцию раньше, чем это можно. |
![]() ![]() |
|
![]()
Сообщение
#244232
|
|
![]() Группа: Участник Сообщений: 12 Спасибо сказали: 4 раза ![]() |
Все верно, и не только постоянно переписывает, но и воссоздает ее с нуля так сказать из P-FLASH. Немного поправлю. Этот процессор стоит в автомобиле на электронном блоке управления кузовом. В нем есть P-flash и D-flash. P - program flash, D - data flash. Насчёт программной флеши всё понятно что там код. А флеша данных в ней лежат начальные значения переменных и сохранённая информация (ошибки, время, дата, различные данные по автомобилю). При старте процессора загрузка идёт с д-флеши. Теперь сама перезапись, мы запускаем собственный код в процессоре, для того чтобы он средствами самого процессора изменил нам всё так как надо. Я склонен к тому что всё что запускается всё можно взломать и поломать, ведь процессор это кусок унылого и тупого кристаллика, человек его создал человек его и поломает:) Последовательность действий определяется программистом, все что написано он "ДОЛЖЕН" выполнить для этого он и создан. Просто не получается это из-за того что пишу я не правильно и больше склоняюсь к тому что нужно через RAM писать. П.С. Нет ничего невозможного. -------------------- Telegram: @RedYu
http://rover.kulibin-auto.com/ |
![]() ![]() |
|
![]()
Сообщение
#244235
|
|
![]() Special Группа: Главные администраторы Сообщений: 13288 Спасибо сказали: 2051 раз ![]() |
При старте процессора загрузка идёт с д-флеши Такого не может быть, из D-FLASH только берутся настройки, если они там есть, или наоборот, там сохраняются, а загрузка программы идет как раз через P-FLASH. Или слово "загрузка" нужно было заменить на "инициализация"?)) Теперь сама перезапись, мы запускаем собственный код в процессоре, для того чтобы он средствами самого процессора изменил нам всё так как надо. Я склонен к тому что всё что запускается всё можно взломать и поломать, ведь процессор это кусок унылого и тупого кристаллика, человек его создал человек его и поломает:) Есть одно но) есть плохо написанные программы, а есть хорошо написанные программы)) Последовательность действий определяется программистом, все что написано он "ДОЛЖЕН" выполнить для этого он и создан. 100% )) Но не все так просто, если "там" постарались (предусмотрели такие вылазки), то там могут "посчитать", что твой код не должен выполниться)) Они же тоже писали программу для этого :) Просто не получается это из-за того что пишу я не правильно и больше склоняюсь к тому что нужно через RAM писать. Пока "есть варианты", можно их проверять. Когда закончатся, я все же бы на живом камне проверял бы свои мысли и код. Эмуляторам нет доверия. |
![]() ![]() |
|
![]()
Сообщение
#244236
|
|
![]() Группа: Участник Сообщений: 12 Спасибо сказали: 4 раза ![]() |
100% )) Но не все так просто, если "там" постарались (предусмотрели такие вылазки), то там могут "посчитать", что твой код не должен выполниться)) Они же тоже писали программу для этого :) Программа писалась для того чтобы в автомобиле всё работало, а не для защиты самой программы:) если бы была задача защитить программу получилось ли бы запустить что-то своё на процессоре? :) думаю что нет. -------------------- Telegram: @RedYu
http://rover.kulibin-auto.com/ |
![]() ![]() |
|
![]()
Сообщение
#244237
|
|
![]() Special Группа: Главные администраторы Сообщений: 13288 Спасибо сказали: 2051 раз ![]() |
Программа писалась для того чтобы в автомобиле всё работало, а не для защиты самой программы:) В последние годы "там" умнеют и уже не полагаются на защиту "галочкой" в конфигурации проца, так что не скажи, уже пытаются защищаться по взрослому. если бы была задача защитить программу получилось ли бы запустить что-то своё на процессоре? :) думаю что нет Ну как сказать) дыры есть везде и разного "диаметра")), и если дыра будет найдена потом не только "умным человечком", но и разработчиками флэши, дырочку то и прикроют, как на мерине или бмв это стали делать.. Так что не показатель и неизвестно, что реально эта дырочка может принести, вдруг ложный след и лишние мучения в пустоту? )) Куй железо, пока горячо! )) |
![]() ![]() |
|
![]()
Сообщение
#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
|
![]() ![]() |
|
![]()
Сообщение
#244268
|
|
![]() Special Группа: Главные администраторы Сообщений: 13288 Спасибо сказали: 2051 раз ![]() |
power1977, а кто его знает) надо щупать, бывает такое. О подобных ситуациях расписано в теме по VVDI-PROG.
|
![]() ![]() |
|
![]() ![]()
Сообщение
#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/ |
![]() ![]() |
|
![]()
Сообщение
#244507
|
|
![]() Special Группа: Главные администраторы Сообщений: 13288 Спасибо сказали: 2051 раз ![]() |
RedYu, вот, расписал все грамотно и ничего лишнего, респект!
![]() Приятно, когда люди добиваются решения вопроса. Вывод, можно решить практически любую задачу, понимая, что делаешь, главное, чтобы "это оно" тебе надо было)) Теоретически этот подход можно применить для работы по OBD с такими процами на других блоках, а не через программаторы, правда у разных моделей авто будут свои нюансы, главное доказано, что можно. В мире часто либо берутся за задачи не те, кто могут, а кто может, у тех интересы другие)) Когда совпадает и то и другое, тогда получаются классные вещи! |
![]() ![]() |
|
Ответить |
![]() |
|
Вчера, 19:05 Посл. ответ от slalex |
|
![]() |
|
3.1.2024, 5:58 Посл. ответ от Александр |
|
![]() |
|
25.7.2022, 7:21 Посл. ответ от Fedorov |
|
![]() |
|
16.3.2022, 12:28 Посл. ответ от Saveliy |
|
![]() |
|
10.5.2019, 16:43 Посл. ответ от Saveliy |
![]() |
|
Вчера, 19:05 Посл. ответ от slalex |
|
![]() |
|
Вчера, 8:31 Посл. ответ от ogmraduga |
|
![]() |
|
24.4.2025, 16:06 Посл. ответ от yurinm |
|
![]() |
|
23.4.2025, 10:24 Посл. ответ от Владимир |
|
![]() |
|
22.4.2025, 18:18 Посл. ответ от Александр |
Сейчас: 26.4.2025, 18:54 |