eXeL@B —› Программирование —› Процессор GPS MK3 BMW 7 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >> |
Посл.ответ | Сообщение |
|
Создано: 07 ноября 2007 16:52 · Поправил: Kot_358 · Личное сообщение · #1 Проводим анализ закрытой штатной системы Carin 520 на базе BMW MK1-MK3 VDO, также используемой на рульных телегах от Peugeot, Renault, Land Rover. Заинтересованным добро пожаловать! Раскуриваем сабжи с картами Москвы и СПБ http://www.bmwnav.narod.ru а также картой Сингапура http://www.freefile.ru/files/4649 . |
|
Создано: 07 декабря 2007 12:52 · Личное сообщение · #2 |
|
Создано: 07 декабря 2007 14:46 · Поправил: Kot_358 · Личное сообщение · #3 А не подскажешь, дорогой, танкисту, как трассировать команды в ИДЕ и просматривать регистры со стеком? До этого юзал ОЛЮ и ее призрак до сих пор блуждает за мной приятной дружелюбностью F7 и бряками, ктр. так хорошо просматриваются Ну хоть убейте - не дается ИДА. Цитата: Блиииин.... НУ КАКИМ МНЕ СЛОВАМИ ТЕБЕ НАДО СКАЗАТЬ ЧТО ЭТО НЕ PALM OS??? - ыыыыы ну вот такой вот я упертый баранчег - пока в ИДЕ сам не увидел слово "OS-9" - нос воротил ЗЫ: Адресовано понятно кому - боле тут никого и не видно... |
|
Создано: 07 декабря 2007 15:09 · Поправил: Grom_ · Личное сообщение · #4 по менюшкам иды лазь , там вроде все понятно(типо Trace , Step или типо того, может это еще и в Debug лежит , точно не помню ). Домой попаду получше посмотрю. А молчат я думаю потому что: 1) нет ссылки на то чтоб попробывать .(не всем же БЕХИ для тестов искать) 2) тут в основном железное , а не РСх86-железное |
|
Создано: 07 декабря 2007 16:07 · Личное сообщение · #5 |
|
Создано: 07 декабря 2007 16:09 · Личное сообщение · #6 |
|
Создано: 07 декабря 2007 16:22 · Поправил: Rid3r · Личное сообщение · #7 |
|
Создано: 07 декабря 2007 16:37 · Личное сообщение · #8 |
|
Создано: 08 декабря 2007 14:39 · Поправил: Kot_358 · Личное сообщение · #9 ЦИтата с грен ру: Q4:Я понял(а), что существуют разные версии программного обесечения нави блоков (прошивки). Как определить какая у меня? A4: Нажмите кнопку MENU на мониторе. Зайдите в меню SET. В правом верхнем углу Вы увидите значение вида 3-1/63. Первая цифра: версия нави блока (1- Мк1, 2- Мк2, 3-Мк3, 4-Мк4) Вторая цифра: версия навигационной системы (1 - топ версия с цветным экраном, 2 - версия с монохромным экраном) Третья цифра: версия графической компоненты (например 63 это графическая компонентаа 6.3) На текущий момент последние версии прошивок: - для Мк1 версия 15 (1-1/72) - для Мк2 версия 18 (2-1/80) - для Мк3 версия 22 (3-1/63) - для Мк4 версия 29.1 (4-1/91) с поддержкой Perspective View и русского голосового сопровождения У меня высветилось 1-1/71. Т.е. МК1 где то 14,5 версия. Ну чтож, беру пиво и лезу в ИДУ. Впереди 2 выходных и 2 ночи А это нам для архива: x5world.com/articles/all-bmw/navigation/9458-bmw-navigation-system-faq.html |
|
Создано: 15 декабря 2007 20:42 · Личное сообщение · #10 |
|
Создано: 16 декабря 2007 05:22 · Личное сообщение · #11 Hexxx, очень толковая статья. Кста, с этим всем быстро разбираешься если работаешь в компании которая разрабатывает какой-нить embedded stuff. Вот пара мелких коментов... Кроме JTAG отладчика есть ещё всякие разные logic analyzers которые цепляются к шине проца и ты видишь обращения к памяти, к flash, к перефирии... По поводу memory map - то что упаковано в сам чип будет в data sheet, осальное зависит от HW инженеров. Во flash обычно есть несколько образов кода... ещё есть участок flash (или eeprom) в котором загрузчик. Эта часть проецируется прямо в адресное пространство и проц начинает исполнять инструкции прямо оттуда. В загрузчике обычно есть код инициализации, там происходит config контроллера dram, и потом всего остального... В современных чипах есть PCI контроллер, и с переферией ты говоришь через PCI address space. Данные качаются используя DMA. Ладно, чего то я растёкся мыслью... тот кто копает - сам раскопает. А остальным это всё до жёппы... |
|
Создано: 16 декабря 2007 11:23 · Личное сообщение · #12 Так откоментил бы прям на форуме у меня s0larian пишет: Кста, с этим всем быстро разбираешься если работаешь в компании которая разрабатывает какой-нить embedded stuff И типа у всех есть возможность устроиться в такую контору. И если даже устроишься, в конторе с радостью тебя начнут обучать и ответят на все вопросы - хрен там. s0larian пишет: Кроме JTAG отладчика есть ещё всякие разные logic analyzers которые цепляются к шине проца и ты видишь обращения к памяти, к flash, к перефирии... "Удивительное рядом, но нам оно запрещено..." s0larian пишет: Во flash обычно есть несколько образов кода... ещё есть участок flash (или eeprom) в котором загрузчик Да, в последнее время любят делать Secondary Bootloader, Recovery loader и т.д. s0larian пишет: В современных чипах есть PCI контроллер, и с переферией ты говоришь через PCI address space. Данные качаются используя DMA. Какие чипы считаются современными? Я PCI шины, к примеру в OMAP'ах, которые юзаются в смартах и кпк, пока не видел. ----- Реверсивная инженерия - написание кода идентичного натуральному |
|
Создано: 16 декабря 2007 22:49 · Личное сообщение · #13 Hexxx, у меня был проект с PowerPC процем на e600 ядре, так там были упакованы DRAM и PCI контроллеры. Под эту архитектуру компилит новый gcc и ессно, green hills, которые эту поддержку в gcc и добавили Вся эти кухня идёт от Motorola/freescale и они продают кучу разных вариантов для разных применений... Кста, PCI контроллер был и в более ранних версиях... не помню уже названий, я этим мало занимался. |
|
Создано: 17 декабря 2007 19:10 · Личное сообщение · #14 |
|
Создано: 17 декабря 2007 19:12 · Личное сообщение · #15 |
|
Создано: 17 декабря 2007 20:03 · Личное сообщение · #16 |
|
Создано: 18 декабря 2007 13:29 · Личное сообщение · #17 |
|
Создано: 19 декабря 2007 17:16 · Поправил: Kot_358 · Личное сообщение · #18 Назревший прыщ: Где смотрим карту памяти? Какие адреса выставляем в ИДЕ при загрузке? С чего мы увидели, что \MMI93\0720\mmirel - это бутлоадер. Код начинается со смещения 0xE06 (ткните носом :s1 В каких местах в ИДЕ нажимаем "С"? Как видим список процедур типа компилера ST20 Toolset? csb\0100\BMWC01S\app_sw\file.1 - нах он нам нужен вообще? Предположим, наша прошва имеет последний релиз MK1. Непонятен алгоритм взаимодействия с ближлежащими файлами и обработки спутникового сигнала... |
|
Создано: 19 декабря 2007 20:35 · Поправил: Hexxx · Личное сообщение · #19 Опять ты нифига не понял Какого хрена ты берешься за компилер от другого проца? Ты берешь компилер для своего проца, компилишь сишные примеры, которые с ним идут. Получаешь бинари. Изучаешь по полученым бинарям как выглядят начала функций, какие значения байтиков у стандартных прологов функций. Потом зная стандартные прологи, ты открываешь прошивку и начинаешь искать такие же последовательности байтов. Где находишь - там и код. Карту памяти смотрищь на свой проц. Ссылки на даташиты я тебе уже давал. Все остальное понятия не имею. Это тебе самому придется разобраться. ----- Реверсивная инженерия - написание кода идентичного натуральному |
|
Создано: 20 декабря 2007 11:39 · Личное сообщение · #20 |
|
Создано: 20 декабря 2007 12:18 · Поправил: Grom_ · Личное сообщение · #21 Kot_358 пишет: Кстати, у меня тоже есть адреса, ктр. уходят за пределы памяти - думал, я один такой... есди у тя это адреса для прыжков то : тут 2 варианта , либо не правельно дизасмишь (у мя такое было когда я под ARM колупал , и дизасмнул команды как thumb вместо обычных длинных команд), VVVVVVVV-----------------------------САМ НА ПРАКТИКЕ ЭТОГО НЕ ВСТРЕЧАЛ --------------------------------------- VVVVVVVV либо я как то читал про такие хитрости как прыжки по кругу(с "переполнением") , т.е. в команде прыжка дается смещение , вверх или вниз (по адресам) , дизасм в автомате те вычисляет адрес за счет АДРЕС КОМАНДЫ + КОНСТАНТА типо 4 или 8 (БАЙТ) + СМЕЩЕНИЕ прыжка , в итоге имеем запредельный адрес, но проц понимает это дело как перемолнение, типо как переменная баЙТ = 255 +10 будет равно 10. и в обратную сторону так же. типо того . ЗЫ это всего лишь мои наблюдения. |
|
Создано: 20 декабря 2007 12:27 · Личное сообщение · #22 Kot_358 пишет: А вот по функциям я и хотел узнать, как их распознать, ты на мой вопрос и ответил ДА? А это тогда потвоему что: Hexxx пишет: Получаешь бинари. Изучаешь по полученым бинарям как выглядят начала функций, какие значения байтиков у стандартных прологов функций. Потом зная стандартные прологи, ты открываешь прошивку и начинаешь искать такие же последовательности байтов. Где находишь - там и код. ----- Реверсивная инженерия - написание кода идентичного натуральному |
|
Создано: 20 декабря 2007 13:03 · Личное сообщение · #23 Hexxx хорошая статья Kot_358 может быть после копирования себя(загрузчика) на новое место эти адреса(которые не существуют , т.к. адреса эти могут быть вычеслены через смещение) становяться валидными , это при условии что загрузчик копирует себя в другое адресное пространство. Копирование загрузчика у тя есть ???? Если да , то Адреса НЕ ВАЛИДНЫЕ после копирования или до ? |
|
Создано: 20 декабря 2007 14:10 · Личное сообщение · #24 Grom_ пишет: Kot_358 может быть после копирования себя(загрузчика) на новое место эти адреса(которые не существуют , т.к. адреса эти могут быть вычеслены через смещение) становяться валидными , это при условии что загрузчик копирует себя в другое адресное пространство. Копирование загрузчика у тя есть ???? Если да , то Адреса НЕ ВАЛИДНЫЕ после копирования или до ? Забей, он еще не научился код находить. Рано ему этим мозги засорять. Когда, у него сам собой возникнет вопрос: "а нафига кусок кода копировать в RAM?" - тогда и будем рассказывать. ----- Реверсивная инженерия - написание кода идентичного натуральному |
|
Создано: 20 декабря 2007 15:27 · Личное сообщение · #25 |
|
Создано: 20 декабря 2007 17:09 · Личное сообщение · #26 |
|
Создано: 20 декабря 2007 17:50 · Личное сообщение · #27 |
|
Создано: 20 декабря 2007 18:09 · Личное сообщение · #28 |
|
Создано: 20 декабря 2007 18:45 · Личное сообщение · #29 |
|
Создано: 21 декабря 2007 11:09 · Поправил: Kot_358 · Личное сообщение · #30 |
|
Создано: 21 декабря 2007 14:46 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >> |
eXeL@B —› Программирование —› Процессор GPS MK3 BMW 7 |
Эта тема закрыта. Ответы больше не принимаются. |