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

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

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

программистскотехническая сторона прошивания мобильника


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

Всем добрый вечер!

Да! кстати! Generatorglukov.... с тобой Hex делился какойньть информацией об организации памяти?

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

Возможно он хочет задействовать дисплей как на Мотороллах... для вывода сервис инфы..

 

При всех приношу свои извинения автору топика, за свои посты....

Просто как выяснилось глупое стечение обстоятельств чуть ен привели к ссоре.. ((

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

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

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

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

 

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

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

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

Да! кстати! Generatorglukov.... с тобой Hex делился какойньть информацией об организации памяти?

Я у него не спрашивал, но вот сам кое-чего наковырял:

при инициализации прошивки происходит следующее:

1. настройка стеков

2. вызов din0_00Startup

Внутри din0_00Startup, насколько я понял, происходит настройка адресации памяти (с помощью регистров 0xffff8006, 0xffff800a, 0xffff800e, 0xffff8012), а потом память(RAM) адресуется начиная с 0x01000000. В загрузчике же память адресуется начиная с 0x00100000 (крохи информации тут).

 

Еще, как я понял, нужно искать информацию не по PCF50874, даже не по OM6357, а сразу по Nexperia Sy.Sol 5130, т.к. это комплексная система, в которую Samsung засунула из своего только память, экран и клавиатуру.

 

При всех приношу свои извинения автору топика, за свои посты....

Просто как выяснилось глупое стечение обстоятельств чуть ен привели к ссоре.. ((

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

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

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

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

  • Like 1

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

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

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

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

 

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

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

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

спасибо.... сейчас почитаю что там за крохи

 

а пот по поводу Nexperia нам бы всем её нарыть бы :128:

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

просто Алекс даже для группы разработчиков продолжения проги не все исходники открыл..

А вот это он напрасно. Впрочем, это его личное дело.

 

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

 

PS. Может кто-нибудь знает e-mail тех. поддержки Philips/Nexperia ? Можно было бы спецификации попросить...

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

А как он грузит что-либо, если он выключен?

Хороший ответ... :128: Особенно в контекте заглавия темы...

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

Может кто-нибудь знает e-mail тех. поддержки Philips/Nexperia ? Можно было бы спецификации попросить...

 

есть сайт http://www.nxp.com/ кстати в поисковиках можно нарыть ссылки на документацию на этом сайте... на самом сайте не всё прозрачно видно

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

Хороший ответ... :128: Особенно в контекте заглавия темы...

Ну так, мне ж дали кое-какую информацию :ag: Да и если просто присоединить выключенный мобильник к кабель, то он сразу начинает писать что-то в COM-порт. Следовательно, он таки включен.

 

есть сайт http://www.nxp.com/ кстати в поисковиках можно нарыть ссылки на документацию на этом сайте... на самом сайте не всё прозрачно видно

Я там искал - есть только 4х страничные брошуры от том, насколько хороша эта новая технология и насколько оно удешевит производство телефонов (вроде как до $5), а вот конкретных технических подробностей нет.

 

Еще я сравнил OM6357 с LPC2xxx серией. Они совершенно непохожи, ибо, например, UART в LPC2xxx более похож на традиционный (который в PC) и использует куда меньше регистров, чем в OM6357.

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

Все, я разобрался. Протокол такой:

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. Команды нужно отправлять быстро, иначе происходит сброс по таймауту.

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

А какова конечная цель модификации загрузчика?

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

А какова конечная цель модификации загрузчика?

1. Расширить функционал.

2. Уменьшить размеры (например, выкинуть строки из загрузчика).

3. Копирайты.

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

а вот это уже хорошая задумка..поддерживаю )))

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

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

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

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

 

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

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

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

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

Я переписывал загрузчик с нуля. Там сложно тока написать хороший код работы с COM-портом. Чтобы с фрэймами работало. Я не осилил написал синхронную, побайтно работает. Дампит 16 мб NAND'а 5 часов. Но мне пофиг :ak:

А так, сидишь-реверсишь-пробуешь. Никаких особых трудностей там нет.

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

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

ну мож ктоньть поделится... где они? ...эти регистры ....или так и будем молчать =)

ну на для затравки кусочек - дальше по реакции посмотрим

 

0xFFFF8200 DMA

 

0xFFFF8400 GPIO

0xFFFF8900 timer

0xFFFF8902 TIMER CTRL REG

0xFFFF8102 INTERRUPT ENABLE REGISTER

 

 

0xFFFF9500 GPO

0xFFFF8006 CHIP SELECT 0

bit

0..2 WAIT STATES (0..7)

9.10 READ/WRITE BUS CONTROL (READ ONLY,RESERVED,WRITE ONLY,READ/WRITE)

11..13 BUS MODE (16 BIT,8 BIT,16 BIT L/H 1,16 BIT L/H 2,8 BIT LOW,8 BIT)

14..15 BLOCK SIZE FOR 16 BIT BUS (256KB,512KB,1MB,2MB )

 

0xFFFF800A CHIP SELECT 1

bit

0..2 WAIT STATES (0..7)

9.10 READ/WRITE BUS CONTROL (READ ONLY,RESERVED,WRITE ONLY,READ/WRITE)

11..13 BUS MODE (16 BIT,8 BIT,16 BIT L/H 1,16 BIT L/H 2,8 BIT LOW,8 BIT)

14..15 BLOCK SIZE FOR 8 BIT BUS (128KB,256KB,512KB,1MB )

 

0xFFFF800E CHIP SELECT 2

bit

0..2 WAIT STATES (0..7)

9.10 READ/WRITE BUS CONTROL (READ ONLY,RESERVED,WRITE ONLY,READ/WRITE)

11..13 BUS MODE (16 BIT,8 BIT,16 BIT L/H 1,16 BIT L/H 2,8 BIT LOW,8 BIT)

14..15 BLOCK SIZE FOR 8 BIT BUS (128KB,256KB,512KB,1MB )

 

0xFFFF8012 CHIP SELECT 3

bit

0..2 WAIT STATES (0..7)

9.10 READ/WRITE BUS CONTROL (READ ONLY,RESERVED,WRITE ONLY,READ/WRITE)

11..13 BUS MODE (16 BIT,8 BIT,16 BIT L/H 1,16 BIT L/H 2,8 BIT LOW,8 BIT)

14..15 BLOCK SIZE FOR 8 BIT BUS (128KB,256KB,512KB,1MB )

 

0xFFFF8017 MEMORY CONTROL FOR EMULATION

bit

0=CS0 MODE NORMAL,EMUL

1=CS1 MODE NORMAL,EMUL

2=CS2 MODE NORMAL,EMUL

3=CS3 MODE NORMAL,EMUL

4=Rom OE MODE INTERN,EMUL

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

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

вот теперь и мне интересна тема загрузчиков.... жду в асю тех кто заинтересован в написание собственного загрузчика...собираю пока по крохам инфу

 

Копаю первый загрузчик на PNX5230... без документациии тяжело идет... пока разобрал инициализацию стека ((

Может кто поделится инфой?

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

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

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

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

 

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

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

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

  • 2 месяца спустя...

Копаю первый загрузчик на PNX5230... без документациии тяжело идет... пока разобрал инициализацию стека ((

Может кто поделится инфой?

Теоретически я могу расковырять/переписать Loader1 для X100 и подобных, но у меня на это просто времени ныне нет.

 

А вот Loader2 - это жуткая засада. Модуль работы с флеш-памятью придется либо искать,

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

  • Like 3

Переcел с Pantech PG8000, благополучно уроненного с 3 этажа на бетонный пол, на SGH-D900i.

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

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

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

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

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

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

Войти

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

Войти


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