generatorglukoff
-
Постов
14 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
События
Сообщения, опубликованные generatorglukoff
-
-
Все, я разобрался. Протокол такой:
1. от телефона приходит символ 0xbe - "телефон готов"
2. телефону посылается символ 0x44 - начало связи
3. телефону посылается 4 значения (двубайтные) - настройки регистров Chip Select = настройки адресов чипов памяти
4. телефон присылает 0x44 - "телефон ждет команды"
5. далее посылаются команды
Каждая посылка команды состоит из двух байт. Три старших бита (7-5 биты) первого байта - номер команды, остальные (4-0 первого и весь второй байт) - параметр команды. Команд всего 7 (т.е. 2 идентичные). Большинство из них - операции работы с память и они используют R4 для адресации. Команды такие:
0 - установить в R4 новое значение; параметр - длина значения в байтах минус 1, при этом новое значение не может превышать слово, т.е. параметр < 4. потом посылаются побайтово значение, начиная со старшего байта.
1 - сменить скорость порта; параметр - длина значения в байтах минус 1, неболее 1, потом посылается значение скорости делённое на 100. В ответ телефон высает символ 0x05.
2 - побайтная запись в память; параметр - длина значения в байтах минус 1, затем посылаются байты. После выполнения, R4 смещается.
3 - выполнить программу начиная с R4. Параметр передается, но не используется.
4 - пополусловная запись в память. Тоже самое, но записываемая длина должна быть кратна двум.
5, 7 - заглушки, происходит сброс на программу прошивки.
6 - пополусловное чтение из памяти. Считываемая длина должна быть кратна двум. В ответ телефон пересылает содержимое памяти.
К слову, почему RamLoader запускается с нулевого адреса, а не с 0x01000000? Сравните настройки регистров Chip Select в режиме прошивки (0xc607, 0xc687, 0xc707, 0xc787) и в режиме рамлоадера (0xc700, 0xd600, 0xc780, 0x87c0). Похоже, что второе число отвечает за расположение RAM в памяти.
Осталось понять расположение регистров UART и можно писать свой загрузчик
P.S. Команды нужно отправлять быстро, иначе происходит сброс по таймауту.
-
Хороший ответ... Особенно в контекте заглавия темы...
Ну так, мне ж дали кое-какую информацию Да и если просто присоединить выключенный мобильник к кабель, то он сразу начинает писать что-то в COM-порт. Следовательно, он таки включен.
есть сайт http://www.nxp.com/ кстати в поисковиках можно нарыть ссылки на документацию на этом сайте... на самом сайте не всё прозрачно видно
Я там искал - есть только 4х страничные брошуры от том, насколько хороша эта новая технология и насколько оно удешевит производство телефонов (вроде как до $5), а вот конкретных технических подробностей нет.
Еще я сравнил OM6357 с LPC2xxx серией. Они совершенно непохожи, ибо, например, UART в LPC2xxx более похож на традиционный (который в PC) и использует куда меньше регистров, чем в OM6357.
-
просто Алекс даже для группы разработчиков продолжения проги не все исходники открыл..
А вот это он напрасно. Впрочем, это его личное дело.
Сейчас я хочу заставить загрузчик посылать информацию с мобильного назад на компьютер. Тут, в принципе, можно тупо содрать функции с загрузчика, но хотелось бы большей ясности.
PS. Может кто-нибудь знает e-mail тех. поддержки Philips/Nexperia ? Можно было бы спецификации попросить...
-
Да! кстати! Generatorglukov.... с тобой Hex делился какойньть информацией об организации памяти?
Я у него не спрашивал, но вот сам кое-чего наковырял:
при инициализации прошивки происходит следующее:
1. настройка стеков
2. вызов din0_00Startup
Внутри din0_00Startup, насколько я понял, происходит настройка адресации памяти (с помощью регистров 0xffff8006, 0xffff800a, 0xffff800e, 0xffff8012), а потом память(RAM) адресуется начиная с 0x01000000. В загрузчике же память адресуется начиная с 0x00100000 (крохи информации тут).
Еще, как я понял, нужно искать информацию не по PCF50874, даже не по OM6357, а сразу по Nexperia Sy.Sol 5130, т.к. это комплексная система, в которую Samsung засунула из своего только память, экран и клавиатуру.
При всех приношу свои извинения автору топика, за свои посты....Просто как выяснилось глупое стечение обстоятельств чуть ен привели к ссоре.. ((
Я все понимаю - когда приходит человек с улицы и чего-то требует, то совершенно не понятно, что же он может.
- 2
-
каким образом на выключенном теле?
А как он грузит что-либо, если он выключен? Вывод: тел включен и питается от кабеля.
-
Ты креведко или как? тебе же ясно сказали что загрузчики в основном оригинальные...
Что тебе еще надо?
Написать свой, альтернативный, у которого будут открытые исходники и который, в результате, может оказаться более функциональным и настраеваемым, чем оригинальный. Поэтому я собираю любую информацию, которая мне поможет в реверсинге оригинальных загрузчиков. Вроде остальные тоже хотят альтернативного, или я чего-то путаю?
Из материала, что дал Hex, я составил примерное представление карты памяти и хочу понять конкретику. Очевидно, что я сейчас ковыряю карту регистров UART0, чтобы обеспечить двухстороннюю связь.
На чип материала, похоже, нет и не будет. Может есть документация к похожим чипам?
-
generatorglukoff, http://sourceforge.net/projects/open-sfd/ - чем линк не устроил?
Там исходники только интерфейса, загрузчики все равно в бинарной форме подаются, т.к. взяты из других программ.
-
Говоришь автар не писал с нуля? ну хотелось бы услышать твою версию развития проекта
А так Мако прав... чтобы что то требовать, сначала заслужи чтобы к тебе прислушивались
Наверно, я очень плохо выразился. Я ничего не требую. Я просто прошу, чтобы мне помогли с информацией. Ведь если всю информацию собрать и выложить в открытом доступе, люди только спасибо скажут, да и развитие проектов ускорится. По крайней мере, я не нахожу мотивов против этого.
Поверь OpenSource не совсем открытые исходники как ты представляешь....
Почитай побольше. особеннно про GPL 3... если мне память не изменяет...
GPL 3ей версии - всего лишь одна из возможных лицензий. Определение OpenSource: http://www.opensource.org/docs/osd
-
Кто-то тебе уже тут чем-то обязан...
Мне - нет. Просто opensource = "открытые исходники", т.е. в свободном доступе.
-
Спешу тебя обрадовать что автор SGHFD врядли будет делиться исходниками с кем попало )))
1. Почему?
2. Если он утверждает, что его проект opensource, то исходниками он делиться обязан. Либо не делать проект opensource.
Если кто то смог с нуля ))) то и ты сможешь
ИМХО, он не делал все с нуля...
-
Если бы ты еще сказал, что именно ты хочешь узнать, и с какими целями интересуешься...
Нам со стороны не видно, кто ты и что можешь.
Тот, кто пишет прошивки для микроконтроллеров - программист.
И 1С-программист - он тоже программист.
Меня интересует именно программирование микроконтроллеров и что конкретно я смогу выжать из X100. Документации, спеков или каких-либо исходников для X100 (в котором PCF50874/OM6357) я не нашел.
А люди, которые писали прошивальщики, должны (по идее) иметь какое-то представление об устройстве и могли бы поделиться информацией об этом (если, конечно, им это несложно).
-
Как программист программисту, скажу по секрету - пересылаются байты.
Берешь флешер, любой PortMonitor и изучаешь логи.
Это конечно круто, но до меня ведь это кто-то делал, верно? Зачем мучиться, если можно просто спросить?
Если не получается, то придется ограничиться IDA и результатами труда Hex'а :
Спасибо.
-
всем привет.
я программист и меня интересует техническая сторона вопроса прошивания мобилок: что пересылается через COM-порт, какой используется загрузчик (оптимально посмотреть исходники) и прочая техническая информация.
у меня samsung X100.
спасибо за любую информацию
программистскотехническая сторона прошивания мобильника
в Программирование и реверсинг
Опубликовано
1. Расширить функционал.
2. Уменьшить размеры (например, выкинуть строки из загрузчика).
3. Копирайты.