Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Ускорение написания патчей


Рекомендуемые сообщения

Вот тут недавно прочитал статью на сайте сименс клаба.

Так вот там умельцы написали некий отладчик под симаки. при его использование написание и отладка патчей ускоряется в несколько раз.

Предлагаю тоже заняться подобным проектом.

Суть идеи состоит в том что пишется патч дополняющий обработчик некоторой АТ команды (в случае симаков -CGSN).

Так вот при посылке этой команды с некоторыми параметрами можно бло сливать дамп как бина так и оперативки. И ЭТО ВО ВРЕМЯ РАБОТЫ ТЕЛА. то есть реально можно мониторить регистры и отлаживать патч.

Кстати по такому принципу возможна (хотя не совсем уверен) и заливка дампа в тело и исправление регистров).

Также можно к этому всему прикрутить трассировщик. так как тело ортвечает на АТ команды хоть во включенном хоть в выключенном режиме (если батарея не села и присутствует) то это дает реальное преимущество.

P.S. прогшу администраторов не пинать за нелепые идеи. но ведь на симаках это реализовано.

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

Ссылка на комментарий
Поделиться на другие сайты

>можно бло сливать дамп как бина так и оперативки

Непонятно зачем сливать дамп бина?

Я понимаю сделать прошивку в работающем состоянии, но вот пользы от слива дампа я не вижу....

а второе уже давно реализовано :(

Ссылка на комментарий
Поделиться на другие сайты

но вот пользы от слива дампа я не вижу....

ну уж если прошива во включенном то почему бы и дамп не реализовать. не выключать же тело постоянно... тем болеее дамп можно и не полностью сливать а например еепром. во вкл режиме оч даже удобно

Сложность программы растет до тех пор, пока не превысит способности программиста!!!
Ссылка на комментарий
Поделиться на другие сайты

ну уж если прошива во включенном то почему бы и дамп не реализовать. не выключать же тело постоянно... тем болеее дамп можно и не полностью сливать а например еепром. во вкл режиме оч даже удобно

Гм, ну если только емром сливать, ну хотя я не уверен что это кому-то нужно...

да и говорить то всегда хорошо, вот кто делать будет?

Ссылка на комментарий
Поделиться на другие сайты

Сделать мониторщик можно, но толку особого не будет, ибо при при запуске практически любой команды меняются регистры =>

польза весьма сомнительная без трассировки... (не факт, что она возможна)

Также где-то читал, что на сименсе встроенный отладчик...

 

Проще прямо из своего патча сбрасывать данные регистров/даных на ком-порт или сохранять в файл

 

А вот возможность модификации памяти - хорошая идея =)

Можно поробовать =)

Ссылка на комментарий
Поделиться на другие сайты

Народ найдется для реализации. но вот помощь понадобится.....

По моему на гнусмасах тоже отладчик есть.... если не прав поправьте

Сложность программы растет до тех пор, пока не превысит способности программиста!!!
Ссылка на комментарий
Поделиться на другие сайты

Также где-то читал, что на сименсе встроенный отладчик...

Что понимаеться под отладчик? есть режим отладки...

 

Народ найдется для реализации. но вот помощь понадобится.....

С помощью и дурак сделает....:)

Ссылка на комментарий
Поделиться на другие сайты

Вроде я и не говорил что возьмусь за это...Это тема обсуждения...AlexeyK сказал что такая идея возникла давно.... я просто здесь хочу собрать мнения специалистов и инфу для реализации этого.... Вам же самим будет потом удобно этим пользоваться....

Жизнь - пьяный поэт, я - слово.

Я жесток и грустен, когда ему херово.

Жизнь - старый поэт, жизнь - усталый поэт,

А я... Что я? Его инструмент!...

 

Разработка Broadcom: http://www.rk-team.net/

Новости проекта QuB на Twitter

Ссылка на комментарий
Поделиться на другие сайты

НУ в программе FWeditor и при наличии соответсвуюшего патча на Гуми телефоне возможно сливание дампа во включеном режиме. Причем возможно с любого адреса какого захочешь. Так же у меня имеются недоверенные наработки вывода трасировки на порт uart1 телефона

Siemens C35 » Motorola C200 » Samsung X100 » Samsung X140 » LG 1100 » NOKIA 6681 + 1 Gb » Nokia E50 + 1Gb + AD46 + KOSS » Nokia 6110 Navigator

 

 

Все из этого сообшения (с) KIP

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Я уже давно, еще 2004 году, написал патч на Х100 для вывода отладочной информации со второго ком порта телефона.

Вставляете в патч вызов функции tra1_3trace с нужными параметрами и смотрите в любой терминалке в онлайне, что делается в телефоне и в вашем патче.

Но тогда этот патч мало кого заинтересовал. Все занимались портированием...

Enable_Trace_by_Vadiks.zip

Изменено пользователем Vadiks
  • Like 1
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

По примеру сиеменс написал CGSN патч. Возможности:

1. чтение данных из прошивки и оперативной памяти.

2. зпись данных в оперативную память.

3. запрос и резервирование блока памяти.

4. освобождение ранее выделеного блока

5. запуск кода с указанием значениий регистров и стека

6. поиск в прошивке и оперативной памяти по Hex маске, например 45?78???AF56

 

Примечание.

- поиск может занимать довольно продолжительное время. и если в терминале нет постоянного опроса, то ответ на запрос может прийти не сразу, а после дополнительного чтения.

- в коде патча отсутствуют всякие проверки, так что передавать параметры надо аккуратно.

- адреса и длины в патчах записываются в bigendian виде, данные регистров и стека в виде RAW данных прошивки. возврат данных соответсвенно такой же.

- при запуске на выполнение кода thumb надо к адресу прибавить 1

 

- патч проверен только для X600.

 

Дополнительно небольшая програмка - терминал COM порта (поменял 27.01.07, предыдущая для нормального запуска требовала наличие записи в реестре с параметрами соединения. :arrow: )

 

COM порт можно указать любой, надо только выбрать или ввести его имя.

Кнопка "Выполнить" в терминале позволяет запустить код записанный в Hex формате в строке запроса.

 

PS. Всё представленное выложено для тестирования с исходниками, так что предложения и комментарии принимаются.

PSS. Выражаю огромную благодарность Alex/AT за исходники работы с COM портом

X600XEDL2.ZIP

X100XEDG1.ZIP

D900XEFK2.ZIP

meCOM.zip

Изменено пользователем AlexeyK

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...
  • 1 месяц спустя...

AlexeyK,

большое спасибо за нужный патч. Вот только он у меня не работет :28:

 

На D900XEFK2 уже кто-нибудь пробовал? Подскажите настройки а то у меня при старте терминала телефон перестартовывается :ak:

 

/edit

 

ну в общем понял я, когда исходники посмотрел, что на Д900 только наброски. Придётся разбираться по тихоньку, если ктонибудь по умнее меня не доделает...

Изменено пользователем Dimy4
Ссылка на комментарий
Поделиться на другие сайты

AlexeyK,

 

Протестировал я этот патч со всех сторон. Наблюдаются такие вот глюки:

 

- Патч работает только если соединится с телефоном в meCOM.exe (Применить), при старте телефона, пока он еще до конца не загрузился. Если соединится с загруженым телефоном, тогда перезагрузка.

 

- При этом работает единственная комада: AT+CGSN, все остальные вызывают перезагрузку.

 

 

Попробывал скомпилировать в BinEdit по исходнику, он мне выдал кучу ошибок, что BL переходы не дотягиваются.

Подискал картинку по ближе к функциям памяти и разместил там код. Теперь компилируется нормально.

 

- В этом измененом патче всё также, только теперь работает команда AT+CGSN=0,XXXXXXXX,YYYY

 

- Правда возвращает она всегда одно и тоже значение, независимо от введеного адреса.

 

Ну вот, пытаюсь разобраться дальше. Есть каие-нибудь идеи?

Ссылка на комментарий
Поделиться на другие сайты

На D900XEFK2 уже кто-нибудь пробовал?

Все ровно так же,как ты описал :laugh3: .Портировал на E500 c версии для X700- работает :132: .

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

В общем подправил я этот патч для D900XEFK2.

 

Правда работуют пока только эти команды:

 

AT+CGSN

AT+CGSN=0

AT+CGSN=1

AT+CGSN=2

AT+CGSN=3

 

 

ну это уже коечто. буду копатся дальше

 

вот если кому нужен

 

 

/edit

 

теперь вроде всё работет кроме AT+CGSN? , но эта команда не сильно важная имхо.

 

Обновил архив.

CGSN.rar

Изменено пользователем Dimy4
Ссылка на комментарий
Поделиться на другие сайты

Dimy4, выложи исходник или в личку. В патче ошибка. Не правильный адрес блока 0146D480. Этим убил кучу AT комманд. Или добавь .orgbl после основного тела патча.

Одна из последних версий binedit здесь.

AlexeyK.gif

Ссылка на комментарий
Поделиться на другие сайты

AlexeyK,

 

спасибо, вот исходник.

 

А я уже думал что это глюк компайлера какой-то, никак не мог понять в чём дело :x

 

 

/edit

 

что-то не работет .orgbl , может не туда ставлю?

cgsn.rar

Изменено пользователем Dimy4
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×
×
  • Создать...