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

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

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

Задаем вопросы по теме "Создание патчей, для начинающих"


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

Вот адрес окна отримати файл вид.. 2145BC64

А кнопку С задейстововать в Джава на удаления игры 20857BB8- ето адрес Мир игр .Как видно если кнопка "С" то переход туда.Ставил и на удаления и пробывал на другие действие.Ничего не получается.Пробывал делать все ето на своб .месте.но также ничего..Прошу рязяснить в чем проблема.Спасибо

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

  • Ответов 1,4 тыс
  • Создана
  • Последний ответ

Топ авторов темы

А кнопку С задейстововать в Джава на удаления игры 20857BB8- ето адрес Мир игр .Как видно если кнопка "С" то переход туда.Ставил и на удаления и пробывал на другие действие.Ничего не получается.Пробывал делать все ето на своб .месте.но также ничего..Прошу рязяснить в чем проблема.Спасибо

Часто, если не хочет реагировать кнопка описанная - значит ее блокирует специальная маска. Реже - есть функция lk_SetMenuKeyFilter, она уже используется в коде построения самого меню.

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

Для работы твоей кнопки сделай это:

а) Открой меню Java-приложений (мсс);

б) Выдели адрес со скриптом - mcc_menu_start ;

в) Открывай компилятор

г) Пиши следующее:

.start адрес_mcc_menu_start_в_java_приложениях+4

.short 0x104

© by Freeman

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

Появилось желание поковырять прошивку, в связи с чем меня интересуют вопросы:

- что происходит после включения телефона?

- копируется ли прошивка в ОЗУ или исполняется из ПЗУ?

- точка входа

- таблица прерываний

- карта памяти (не uSD, а адресное пространство)

- есть ли даташит на процессоры, применяемые в телефонах?

- возможно ли использование JTAG кустарным способом?

 

В общем-то вопросов еще очень много, а нужной информации в сети почти не нашел.

ЗЫ: Для опытов на живых у меня C5212.

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

- что происходит после включения телефона?

Ничего ) Тебя интересует, как конкретно включается телефон? На такой вопрос тебе никто не даст ответ. При включении происходит много всякого - инициализация файловой системы, загрузка некоторых настроек, и прочее.

- копируется ли прошивка в ОЗУ или исполняется из ПЗУ?

В оперативку копируется только часть прошивки, очень малая. Исполняется прямо в самой проше.

Мое мнение, что исполнение кода из оперативки - глупо (я не говорю про CGSN :ak: а именно о самой прошивке).

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

- таблица прерываний

Такой информации думаю тоже никто не даст.

- карта памяти (не uSD, а адресное пространство)

Я вот лично не понял, что тебе нужно конкретно из этого. И для чего.

- возможно ли использование JTAG кустарным способом?

Я конечно не знаю, что это. Но как понял - для тестирования кода?

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

При включении происходит много всякого - инициализация файловой системы, загрузка некоторых настроек, и прочее.

Не, меня интересует самый начальный этап. Как я понял — сначала запускается бутлоадер, который ломится в последовательный порт чтобы загрузить оттуда чего-нить. Если с последовательного порта ничего не пришло (а обычно это так) то дальше грузится основная прошивка. Вот этот этап и интересуе — с какого адреса и т.п.

 

Я вот лично не понял, что тебе нужно конкретно из этого. И для чего.

Карта памяти, ну, адреса ПЗУ, ОЗУ, IO и т.п. Насколько они стандартны по сравнению с ARM широкого применения (на которые даташиты в свободном доступе)

 

Я конечно не знаю, что это. Но как понял - для тестирования кода?

JTAG — да, для отладки кода. Вообще в СЦ этим пользуются и требуется ли для этого супер-секретное оборудование? или за пределы самсуга это не выходит?

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

Мое мнение, что исполнение кода из оперативки - глупо

Посмеялся :) А что же тогда - х86 слошная глупость? :P

Carry, сразу видно - однокристальщик! :bx:

А по сути - были бы даташиты на АРМъ и переферию - делов бы наворочали, уж поверь :) В сети только краткие описания, блистнуть понтами так сказать :)

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

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

Посмеялся :bx: А что же тогда - х86 слошная глупость? :)

Ну когда проц тех же 2GHz - то фиг с ним.

А когда 80MHz - то уже стоит призадуматься..

Ну это лично мое субъективное мнение...

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

" post=491480]

Ну когда проц тех же 2GHz - то фиг с ним.

А когда 80MHz - то уже стоит призадуматься..

Не туда смотришь :bx: Разница в архитектурах - RISC и CISC огого как отличаются...

Тормозит Gravity Defiended? Тебе

сюда. Любишь музыку, но не влазит новый альбом? Тебе сюда.

Хочешь смотреть качественное видео на мобильном? Тебе

СЮДА!

Кризис?! Нету денег на хорошие наушники? Тебе СЮДА!

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

ZhekSooN,

С ARM я пока дело не имел, может часть вопросов отпали бы.

Но все равно мне проще разобраться с низкоуровневых вещей чем копать с середины, как предлагается в инструкции для начинающих.

Вот, есть мысль начать копать с лоадеров из комплекта OpenSFD. Они маленькие.

Интересно, откуда их вообще взяли? Выдрали из родных прошивальщиков?

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

Carry, некоторые из родных прошивальщиков.. некоторые самописные..

Ты лучше опиши что ты хочешь сотворить, а народ уж подскажет...

 

Появилось желание поковырять прошивку, в связи с чем меня интересуют вопросы:

- что происходит после включения телефона?

- копируется ли прошивка в ОЗУ или исполняется из ПЗУ?

- точка входа

- таблица прерываний

- карта памяти (не uSD, а адресное пространство)

- есть ли даташит на процессоры, применяемые в телефонах?

- возможно ли использование JTAG кустарным способом?

 

- при включении IROM опрашивает порт.и потом отдает управление самой прошивке...

- на твоем аппарате исполнение идет из ПЗУ..

- возьми прошивку в бин формате и открой бинедитом.. сразу отпадет этот и следующий вопрос про прерывания..

- карта памяти - тут уж самому искать.. хотя бинедит может немного помочь...

- конкретно на сами процы даташитов не встречал но вот на фдро на котором он построен можно погуглить.. хотя зачем это?

- по поводу JTAG.. wiggler впринципе можно зацепить , но смысл опять же?? отладка?? не настолько уж он и удобен..хотя кому как..

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

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

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

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

 

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

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

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

Ты лучше опиши что ты хочешь сотворить, а народ уж подскажет...

Спасибо за ответ, некоторые вещи немного прояснились.

Я как и все — патчи писать. Меня многие вещи не устраивают, многих не хватает.

Спрашиваю чтоб получить представление о том, как это работает.

Может, еще опыт работы с другими процессорами немного отвлекает. Привык что информация о железе исчерпывающая :)

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

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

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

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

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

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

 

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

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

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

Почешите репу кто-нить вместе со мной :bx:

 

Портировал патч "Профиль по расписанию", столкнулся с такой проблемой, как и у всех - "некорректно включается" (а на самом деле даже и вообще не включается) Автономный профиль, начал копать проблему, причину нашел, вот объяснение:

 

.equ gs_PhoneProfile					0x305EAAFC

.little
.thumb
.plugin

push {lr}
sub sp, 0x100

ldr  r1,=gs_PhoneProfile
mov  r0,5
strb r0,[r1]

mov  r1,0
adr  r0,=mcc_change_profile_run
bl   lk2_12start_menu_edit_fsm

;mov  r1,0
;ldr  R0, =0x21623FC8
;BL	lk2_12start_menu_edit_fsm

add sp, 0x100
pop {pc}

.align 4
mcc_change_profile_run:
.insertbin 0x208B8A60 0x40
.insertbin 0x208B8AB0 0x10
.mcc mcc_task 0x18 0xFF 0x15;Вибротаск
.mcc mcc_exit

.endplugin

 

профиль нормально запускается, но если раскомментировать второй вызов start_fsm, то все работать перестает, специально для проверки поставил таск с виброй, вот во втором случае вибры нет...

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

вот теперь вопрос, как это побороть? :)

пробовал несколько вариантов:

 

ldr r0,=TempRAM

mov  r1,0

strb r1,[r0]

adr  r0,=mcc_change_profile_run
bl   lk2_12start_menu_edit_fsm

ldr r0,=TempRAM

metka:
ldrb r1,[r0]
cmp r1,0
beq metka

и в конце mcc_change_profile_run ставил таск, который писал единицу в TempRAM

 

не помогло - срабатывает watchdog :)

 

также пробовал ставить delay-функцию (hmel6_78Delay1ms), в этом случае замирает все, в том числе выполнение MCC и эффекта нет... после окончания delay второй вызов опять прерывает первый... :(

 

у кого еще какие варианты будут? :)

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

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

zyr3x,

честно говоря, не понял, что ты имеешь ввиду... :connie:

но, на сколько я понял, профиль не успевает включаться, т.к. его прерывают дальнейшие вызовы MCC после врезки (их там много и избавиться от них невозможно)

Вроде Автономный профиле, но с него потом вернутся не другой не возможно

как раз именно из-за того, что он не включается до конца

 

у меня, например, визуально это выглядит как:

в меню профилей автономный профиль выглядит как установленый

индикатор сети показывает 0 делений

при попытке позвонить и т.п. что связано сетью, выскакивает сообщение "Включен автономный профиль"

но не потухает индикатор EDGE/GPRS

 

и еще при смене профиля через меню, у нас появляется сообщение с песочными часами "Подождите" (держится 2-3 секунды),

а при смене по расписанию, видно, что оно прерывается - появляется на мгновение и исчезает (гораздо меньше секунды)

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

Чет я тоже не понял =)

Насколько я понял, ты тут описал способ, который как-таки дал тебе я, показав, как я включал профили в смене режимов оповещения на G600.

Речь в вопросе FRAER'a не в том, как включить профиль, а как заставить телефон выполнить параллельный процесс до конца...

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

и выполнить MCC с момента нажатия OK(образно)

ну именно так у меня и сделано, только не прямо туда адресовано, а оттуда скопировано за исключением некоторых мсс (вывода окна "Сохранено" и вибрации)

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

который сделал я

ух.. вот оно как.. значит можно считать, что "профили по расписанию" на D780 вышле раньше, чем смена режимов оповещения на G600? и я слизал твой код для полумоего патча.... вот значит как мы благодарим за помощь.. ох и помнится, что это я тебе кидал свой код с G600, и объяснял, как делал я.. ну лана, спасибо..

но мот ему что не хватает и есть вариант записать в оперу ид профиля установить все gs_DspMenu,gv_CurMenuIndex в соответствии с пунктами меня и выполнить MCC с момента нажатия OK(образно)! так ясней?

Нет, это здесь вообще не причем. В gs_DspMenu хранится просто тип меню, а это никак не поможет в этом случае.

Я же уже объяснил..

>>Речь не в том, как включить профиль, а как заставить телефон выполнить параллельный процесс до конца...

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

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

Я всерьез хочу взятся за изучения Асмблера.Почитав инструкцыи от пользователей,я понял очень много,чего раньше не понимал.Изучил регистры,стеки.Короче.Меня очень интересует все что нада изучить,чтобы научится делать более серйозные патчы.

Тоисть перечислити списки литературы,где можно что узнать

1)Асамблер

2)фунцкыи и тому подобие.Спасибо .Возможно я смогу делать класные ,серйозные патчы.Ведь главное стремления и знания?

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

сиспсон,

ну касательно команд ассемблера, могу предложить тебе эту статейку (если не ошибаюсь, автор Artyomcool):

thumb.rar

 

а это почитать можно будет позже, когда уже начнешь немного писать патчи на асме:

ARM_enviroment.rar

 

 

а насчет функций... либо исследовать их самому (что порой бывает очень сложно)

либо, спросить у кого-то есть ли функция, делающая то, а есть ли делающая это

или что делает та или иная функция и какие у нее параметры

а конкретной литературы по этой теме ты врядли найдешь...

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

) Пиши следующее:

.start адрес_mcc_menu_start_в_java_приложениях+4

.short 0x104

© by Freeman

Все ето написал Получилось <nord offset="0x857C00" from="249A5821" to="70D63320" />

<nord offset="0x857BFC" from="0200" to="0401" /> Все правильно поставлено ,но кнопка С в джаве так и не работает

Вот компилятор .start 0x20857BF8+4

.short 0x104

.start 0x20857BF8+8

.word 0x2033D670

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

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

что основной код выполняется параллельно с кодом в MCC

А что ты считаешь "основным" кодом?

ОС в телефоне многозадачная, и параллельно выполняется куча процессов, один другого "основнее"...

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

А что ты считаешь "основным" кодом?

в данном случае, имею ввиду тот код, в котором происходит запуск МСС, т.е. происходит запуск МСС, а код продолжает выполняться дальше, не ожидая завершения МСС-скрипта... как-то так в общем... :)

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

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

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

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

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

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

Войти

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

Войти



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