motofan logo
7 страниц V < 1 2 3 4 > » 
Причина закрытия (Osta 07-12-2009): ура, товарищи!
       
> 

Маленький шаг по большому пути., Начало портирования QNX на моторолку c380.

b1er
сообщение 8.7.2007, 16:58 Закрепленное сообщение!


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



В темах, где поднимался вопрос типа "А можно поставить на мой телефон юникс???" разводился немыслимый флуд. Я не буду поднимать здесь этот вопрос.
Я не знаю занимается ли ктонибудь портированием unix на бюджетные моторолки, но я решился попробовать.
Вполне возможно, что в итоге unix(конкретнее это будет QNX, хотя она несовсем unix )) будет ползать как черепаха, но меня это не смущает т.к. я портирую только из интереса.

Большенство проблем не изменилось, так что обсуждение продолжается.
Привествуется любая помощь и предложения (особенно по архитектуре и железу).
Спасибо всем, кто откликнится!

Выбор системы остановился на QNX, другие системы не предлагать. А если есть очень большое желание предложить альтернативу, то нужно предоставить сильные аргументы.

Прекращаю работу над проектом до лучших времён, потому как на первый план вышли проблемы учёбы,жилья и заработка. Прикрепляю исходники системных сервисов, в которых ковырялся (распаковать в "trunk/services/") -
Прикрепленный файл system.tar.gz   ( 2.41 мегабайт ) Кол-во скачиваний: 669
а также начальные загрузчики -
Прикрепленный файл integrator.tar.gz   ( 1.4 мегабайт ) Кол-во скачиваний: 725



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

предстоит сделать:
микроядро :
- процессы (загрузка и пр.)
- правильная и полная инициализация
защита памяти
возможно, частичная эмуляция MMU
и многое другое...

Дата релиза: неизвестна



P.S.
Про линукс (сейчас неподерживается)
Здесь лежит бинарная сборка ядра линукса, и небольшая тулза (подробное описание) для загрузки в телефон бинарников из-под линукса.
Здесь лежат исходники правленного ядра линукса.
Никакого интерфейса, оболочки и прочих юзерских приблуд ещё не создано.

P.P.S.
если кто-то что то ещё делает - сообщите.

Сообщение отредактировал b1er - 9.7.2008, 10:33
Прикрепленный файл integrator.tar.gz   ( 1.4 мегабайт ) Кол-во скачиваний: 725
Прикрепленный файл system.tar.gz   ( 2.41 мегабайт ) Кол-во скачиваний: 669
Прикрепленный файл lin_flash_0.02.zip   ( 2.52 килобайт ) Кол-во скачиваний: 373
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Red_Lion
сообщение 21.7.2007, 8:56


Интересующийся
**

Группа: Пользователи
Сообщений: 31
Регистрация: 10.1.2007
Пользователь №: 116 022
Модель телефона: v3i
Прошивка: CF_Masta-Red

Рейтинг: 5



B1er, спасибо за исходники! Только я попал в больницу неделю назад :(
отдал их своему знакомому по работе, посмотрит на них и что можно сделать его силами.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 24.7.2007, 15:08


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



Цитата(Vilko @ 12.7.2007, 10:19)

недоступен только swi, но это тоже довольно серьезное ограничение (
*


Да, ограничение серьёзное, но если нам недоступны софтварные прерывания, мы создадим свои!
Вместо инструкции swi мы будем использовать неизвестную в природе инструкцию, т.е. ту, которая генерит исключительную ситуацию "Неопределенная инструкция". Причём будет две версии инструкции: под ARM и под Thumb режимы исполнения. Обработчик этого исключения будет проверять опкод сбойной инстукции на соответствии с нашим, затем проверяет условие выполнение и если всё нормално запускает обработчик swi исключения ядра.
инструкции уже есть:
для Thumb'а это 0xbe 0xPP
для Arm это 0xIe 0xPP 0xPP 0xPP
, где
P - поле коментариев
I - поле условия выполнения
только нужно будет сделать трепонацию ассемблеру и добавить самопальные инструкции.
P.S.
кслову опкод 0x0e000000 - это не что иное как mrc, которая генерит (на моторолке c380) исключение "Неопределенная инструкция".

Сообщение отредактировал b1er - 27.7.2007, 6:59
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 11.8.2007, 5:52


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



Написал маленькую тулзу для прошивки/загруки лоадера/отправление команд/чтение памяти из под линукса и не только.
Несколько слов о проге:
Прога выполняет простейшие скрипты из файлов или потока ввода.
Формат скрипта:
В каждой строке находится комманда и параметры, разделённые пробелом.
Кометарии - символ #.
Например:
Код
loadfile my_boot.bin 03fd0000
jump 03fd0008 #Кометарии
ack
#Кометарии


Команды:
Код
addr <hex addr> # устанавливает текущий адрес (сам не знаю зачем она сдесь)
jump <hex addr> # прыгает по адресу
loadfile <filename> <hex addr> # загружает файл в телефон
dumpfile <filename> <hex begin addr> <hex end addr> # делает дамп
ack # ждёт ответа телефона
#Любая другая команда отправляется в телефон как есть и только с одним параметром.
#Например:
test command
ack


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

Исходники в аттаче.
Компилим так "gcc lin_flash.c -lusb".
Отдельное "спасибо" хочется сказать dion'у т.к. его исходники сильно помогли в написании этой проги. Отдельные функции изменив я взял из p2kmoto.c.

P.S.
Если прога упорно невидит телефон надо заменить в строке
"phone=u_finddev(0x22b8,0x4903);"
эти числа своми idVendor и idProduct.


Сообщение отредактировал b1er - 11.8.2007, 12:20
Прикрепленный файл lin_flash.c.gz   ( 2.32 килобайт ) Кол-во скачиваний: 248
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 13.8.2007, 7:27


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



На счёт фоток, например у меня нет никакого фотика под рукой. Но я написал маломальскую usb консольку (только для вывода) и вот лог загрузки (точнее недозагрузки).
Код
> setup_arch launch
> setup_arch exit
> memory available is 3902828KB
> start_mem is 0x120a4f4c
> virtual_end is 0x400000
> before free_area_init
> free_area_init -> start_mem is 0x120a6f4c
> virtual_end is 0x400000
> start_kernel
> hex=0x00000000
> Bad mode in prefetch abort handler detected: mode SVC_32
> Internal error: Oops: 0
> CPU: 0
>
> pc : [<12074438>]
> lr : [<12002680>]
> sp : 1207ecc4  ip : 1200130c  fp : 1207ed18
> r10: 00000000  r9 : 00000000  r8 : 120a4f4c
> r7 : 12083524  r6 : 12083520  r5 : 120a4f4d  r4 : 00000000
> r3 : ff030000  r2 : ffffffff  r1 : 12001278  r0 : 03fc3694
> Flags: nZCv
>   IRQs off  FIQs off  Mode SVC_32
> Process
> Stack:
> *** corrupted stack page
>        
> 1207ed0c invalid kernel stack pointer
> Backtrace: invalid frame pointer
> Code:
> e3e02000
> e5832124
> e5832128
> e3a01000
> e5831130

P.S. Именно для того, чтобы не прошивать лишний раз телефон, я загружаю ядро в большую оперативку. Ктомуже так быстрее.

Сообщение отредактировал b1er - 13.8.2007, 7:30
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 13.8.2007, 7:52


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



b1er,
плиз ядро в студию... )
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 13.8.2007, 10:31


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



Ок, понял )
Порядок действий:
1. Загружаем модифицированный лодер телефона (b1ers_loader.bin) по адресу 0x3fd0000, прыгаем на 0x3fd0008 (надо немного подождать, пора ramldr не подключится снова).
2. Загружаем, образ ядра (linux.bin) по адресу 0x12000010, прыгнуть на адрес 0x12000010
3. Вынимам usb из тела и вставлаем обратно. (просто баг в лоадере, еоторый я ещё не исправил, ramldr должен написать, что подключился).
4. Посалаем любую команду, и ядро начинает грузиться.

Сообщения выводящиеся на экран дублируются на usb, но ramldr их не будет читать т.к. он ждёт ответа только на посланную команду, а там ответов будет много.

Прочитать ответы можно с помощью моей проги, но её надо ещё скомпилить под винду, её исходники прилагаются, кстати там добавлена псевдо команда timeout <время в милисекундах>, она устанавливает общий т.е. на ожидания данных и передачу.
С помощью этой проги читать сообщения можно так
Код
perl -e "print \"timeout 1000000\\n\";print \"test\\n\";while(1){print \"ack\\n\";}" | sudo ../usbcom/a.out


Обнаружил, что если не читать из usb сообщения загрузка стопорится. По этому прикрепляю ядро без вывода на usb. Но перетыкивать usb всё равно надо. Кстати у меня лоадер в конце загрузки ядра в память пишет ошибку, но ядро полностью загружается в память. Это часть бага в лоадере.

Естественно это заработает только на c380. Как это всё будет вести себя на других моделях я незнаю.

Сообщение отредактировал b1er - 13.8.2007, 11:51
Прикрепленный файл b1ers_loader.bin.gz   ( 20.08 килобайт ) Кол-во скачиваний: 366
Прикрепленный файл linux.bin.gz   ( 235.98 килобайт ) Кол-во скачиваний: 247
Прикрепленный файл lin_flash.c.gz   ( 2.38 килобайт ) Кол-во скачиваний: 205
Прикрепленный файл linux_nousb.bin.gz   ( 216.48 килобайт ) Кол-во скачиваний: 224
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Red_Lion
сообщение 13.8.2007, 12:11


Интересующийся
**

Группа: Пользователи
Сообщений: 31
Регистрация: 10.1.2007
Пользователь №: 116 022
Модель телефона: v3i
Прошивка: CF_Masta-Red

Рейтинг: 5



Цитата(b1er @ Сегодня, 14:31)

> Bad mode in prefetch abort handler detected: mode SVC_32
> Internal error: Oops: 0
> CPU: 0
*


http://lists.arm.linux.org.uk/pipermail/li...May/002913.html
http://www.uclinux.org/pub/uClinux/archive/8752.html - аналогичная ошибка но при монтировании /
как выяснилось она либо глюк сборки либо h/w ошибка в работе
Часто вылезает при работе некоторых модулей. Как вариант предлагаю просто срубить все из ядра оставив только основной код (ну это я так, предложил smile.gif )

Нашли причину смерти телефона - он был утопленником, когда вскрыли почти ВСЕ под защитной крышкой было в корозии

Сообщение отредактировал Red_Lion - 13.8.2007, 12:25
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 13.8.2007, 13:00


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



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

Vilko,
Цитата(Vilko @ 15.4.2005, 20:51)

по IRQ - это найденная копанием и эксперементально проверенная инфа.
такой у меня еще много - почти все железо опознано... smile.gif
*


Можешь поделиться инфой о прерываниях? Ну, а потом и о таймерах и пр. )

Сообщение отредактировал b1er - 13.8.2007, 13:19
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Red_Lion
сообщение 13.8.2007, 14:26


Интересующийся
**

Группа: Пользователи
Сообщений: 31
Регистрация: 10.1.2007
Пользователь №: 116 022
Модель телефона: v3i
Прошивка: CF_Masta-Red

Рейтинг: 5



b1er,
кстати, а можешь в жабе ответить? smile.gif
поправьте если ошибаюсь: контроллер прерываний тут сделан в самом проце (?! сам понимаю что чушь но его на схемах отдельно нет) и как я понял стандартен для процесоров arm7 под которые оптимизировано твое ядро
насколько я знаю надо просто в ядро включить список известных устройств с данными по доступу к ним

кстати о птичках - на схемах lte2 телефонов в сервис-центре (знакомый работал в одном) есть mmu. Это правда или сказать ему чтобы он проделал shift-del ? smile.gif выяснилось нет ,проверил схему сам с форума

Сообщение отредактировал Red_Lion - 13.8.2007, 15:14
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
yakk
сообщение 13.8.2007, 18:11



*****

Группа: Разработчики
Сообщений: 336
Регистрация: 6.7.2006
Из: Днепропетровск
Пользователь №: 90 408
Модель телефона: milestone
Финалист Конкурса 2010


Настроение:
не нужен..



Рейтинг: 904



Цитата(Red_Lion @ 13.8.2007, 17:26) *

b1er,
кстати, а можешь в жабе ответить? smile.gif
поправьте если ошибаюсь: контроллер прерываний тут сделан в самом проце (?! сам понимаю что чушь но его на схемах отдельно нет) и как я понял стандартен для процесоров arm7 под которые оптимизировано твое ядро
насколько я знаю надо просто в ядро включить список известных устройств с данными по доступу к ним

А чё чушь?? Ведь проц в данном случае не просто CPU, а ещё и периферия в придачу - контроллер прерываний, там клавы, памяти и т.д.. т.е. chipset в одном корпусе вместе с процом..
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Red_Lion
сообщение 13.8.2007, 19:12


Интересующийся
**

Группа: Пользователи
Сообщений: 31
Регистрация: 10.1.2007
Пользователь №: 116 022
Модель телефона: v3i
Прошивка: CF_Masta-Red

Рейтинг: 5



yakk,
несовсем, часть функций чипсета вынесены за процессор и входят в модуль neptune
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 14.8.2007, 6:56


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



b1er,
по прерываниям - уточни что именно от них нужно, какие режимы и т.п.
и, если я правильно понял, данная версия ядра скомпилена в обычном режиме, не XIP? вообще для uclinux xip возможен как таковой?

Сообщение отредактировал Vilko - 14.8.2007, 7:06
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mario7
сообщение 14.8.2007, 7:25


Интересующийся
**

Группа: Пользователи
Сообщений: 92
Регистрация: 17.7.2006
Пользователь №: 91 640
Модель телефона: С380&Е398
Прошивка: Volcanur & Deluxe

Рейтинг: 21



блин что то ен могу разобраться как это всё дело в с650 засунуть, по подробнее не напишешь?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Chik_v
сообщение 14.8.2007, 10:52


Опытный
***

Группа: Разработчики
Сообщений: 107
Регистрация: 13.1.2007
Из: Херсон
Пользователь №: 116 653
Модель телефона: Samsung i5700
Прошивка: i570EXXJH7
Победитель конкурса 2008

Рейтинг: 174.5



b1er,
а как обстоит дело с тестерами?(они же добровольцы, они же подопытные шимпанзе biggrin.gif )
Я тут собираюсь себе второй телефончик прикупить, на эксперименты, думаю мож с380 взять. Очень мне идея понравилась.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 14.8.2007, 11:25


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



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

Сообщение отредактировал b1er - 14.8.2007, 11:26
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 14.8.2007, 11:26


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



b1er,
а выложи плиз адаптированные драйвера видео и usb - переделаю их под 398 - и тестеров сильно прибавится
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 14.8.2007, 11:49


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



Выкладываю. Правда там много путаницы. Главная функция - console_print_c380 (конечно "консоль" - слишком громкое название).
Для работы обработчиков исключительний ядра надо пачить прошивку. Начиная с адреса 0x100815d0 вставить мой начальный обработчик исключений.

config.gz - это конфигурация ядра, но кроме отладочного вывода я немного ядро поправил. Так что надо всё ядро выложить или сделать патч для оригинального. Скоро сделаю.

Сообщение отредактировал b1er - 14.8.2007, 12:04
Прикрепленный файл console_db_c380.tar.gz   ( 71.82 килобайт ) Кол-во скачиваний: 217
Прикрепленный файл exceptions.tar.gz   ( 523 байт ) Кол-во скачиваний: 211
Прикрепленный файл config.gz   ( 759 байт ) Кол-во скачиваний: 211
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mario7
сообщение 14.8.2007, 12:36


Интересующийся
**

Группа: Пользователи
Сообщений: 92
Регистрация: 17.7.2006
Пользователь №: 91 640
Модель телефона: С380&Е398
Прошивка: Volcanur & Deluxe

Рейтинг: 21



Да у меня с650, научи поставить, буду тестером.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Fads
сообщение 14.8.2007, 13:19


Интересующийся
**

Группа: Пользователи
Сообщений: 32
Регистрация: 29.4.2006
Из: Самара, Москва
Пользователь №: 81 101
Модель телефона: E398, E2, HTC Uni

Рейтинг: 4.5



Могу предложить себя в роль тестера. Имеется с38О. умею работать с рамлодером, но в линуксах, ассемблере, Си не шарю
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Karpoff-net-aka-Pskov
сообщение 14.8.2007, 13:25


Интересующийся
**

Группа: Пользователи
Сообщений: 37
Регистрация: 30.1.2007
Из: Россия\Псковская_область\Псков
Пользователь №: 119 777
Модель телефона: Motorola E398
Прошивка: R373_G_0E.30.49R

Рейтинг: 2.5



Если обьясните как это чудо поставить на 398... буду тестером... с линуксом дружу но не сильно... с рамлодырем общался....

Сообщение отредактировал Karpoff-net-aka-Pskov - 14.8.2007, 13:26
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
mototeddy
сообщение 14.8.2007, 13:30


Интересующийся
**

Группа: Пользователи
Сообщений: 59
Регистрация: 15.3.2007
Из: Казань
Пользователь №: 127 054
Модель телефона: C650
Прошивка: MotoKDE_2F

Рейтинг: 2



я тоже могу тестером быть. правда с рамлодером не шарю. знаком с си
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
бан
сообщение 14.8.2007, 14:55


Новичок
*

Группа: Пользователи
Сообщений: 13
Регистрация: 11.8.2007
Пользователь №: 144 140
Модель телефона: C380

Рейтинг: 11



Mario7,
абсолютно также как на 380ом. Платформа одна. Память одна. Проц один. Все абсолютно у них совпадает(ну кроме камеры)))).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 15.8.2007, 6:46


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



кто хочет попробовать потестить у себя - читайте внимательно тему. ядро и описание как загрузить было выложено. за бессмысленные посты "дайте, скажите как" буду карать.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Motohobiman
сообщение 15.8.2007, 7:01


Мотофан
*******

Группа: Почётные мотофаны
Сообщений: 1 749
Регистрация: 3.5.2006
Из: Ukraina
Пользователь №: 81 710
Модель телефона: Е1,E2,U9,L6,W510.
Прошивка: Слава Украине!


Настроение:
Вечный мотодроллер;)



Рейтинг: 908



Ребята скажите пожалуйста,есть ли преспективы у этого направления дальше чем хело ворлд,какие шансы на ГСМ часть и мультимедию?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Taradov Alexander
сообщение 15.8.2007, 9:52


Новичок
*

Группа: Пользователи
Сообщений: 5
Регистрация: 10.8.2007
Пользователь №: 144 016
Модель телефона: slvr l7

Рейтинг: 0



Я для фана занимаюсь аналогичными играми с железками и по опыту могу сказать - нет. До состояния в кором устройством можно пользоватьтся нормально не доведен ни один КПК даже (хотя HP очень близки, но расзработчикам в HP дали полную документацию , правда насколько я знаю под NDA и не всем smile.gif).

Запустить ядро на любой железке с ARM'ом или PPC (вероятно и сдругими, просто я други не видел smile.gif) не составляет труда. Иногда можно заставить монтиоовать корневую FS по NFS или с карточки, но дальше начинается гемор.

В том что своими силами можно завести GSM чать я вообще сомневаюсь.


А теперь вопросы ко всем кто занимается этой железкой:
1. Какова полная аппаратная конфиругация этого телефона (объем флеша, озу, частота проца)
2. Точная архитектура (ARM7TDMI - это правда)?
3. В каком чипе находится проц и флеш? Из схемы это как-то слабо видно. Шины адреса и данных идут от нептуна, к нему-же прицеплено и ОЗУ.
4. Нашел дамп загрузчика ( с именм boot_08D0_LTE2.bin, свой пока не успел снять). Судя по внешнему виду это не инструкции АРМа, хотя текстовые сторки которые он выводит есть в файле. Где тама собственно точка входа?



Сообщение отредактировал Taradov Alexander - 15.8.2007, 9:59
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 15.8.2007, 10:21


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Taradov Alexander,
1 - флеш - 16Мб на С380 и 32Мб на Е398. но 512к в начале и 128к в конце требуются для обхода подписи и соотв. запуска аппарата вообще.
оперативка - 4Мб на С380 и 8Мб - Е398 (+256к "быстрой", интегрированной на чипсете)
частота проца - 53
2 - ARM7TDMI-S BE
3 - что значит в каком чипе? собсно в нептуне и находятся. по схемам он вроде U800 именуется.
4 - возьми другой бут, от LTE2 не подходит к LTE.
(добавлено: поглядел модель твоего аппарата. сорри. действительно, тебе изучать 8D0 лучше)
инструкции там точно армовские, уж поверь ) режим big-endian, основная масса кода в thumb
точка входа - ее адрес прописан в +18 от начала

ЗЫ: насчет gsm готов подискутировать в привате(а лучше в аське)

Сообщение отредактировал Vilko - 15.8.2007, 10:26
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Red_Lion
сообщение 15.8.2007, 16:26


Интересующийся
**

Группа: Пользователи
Сообщений: 31
Регистрация: 10.1.2007
Пользователь №: 116 022
Модель телефона: v3i
Прошивка: CF_Masta-Red

Рейтинг: 5



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

Vilko, слушай, а по идее то что прошло у b1er с загрузкой в ram ядра прокатит с загрузчиком от v3i без модификаций? а то из-за отсутсвия c380 решил свой телефон использовать... а в асме я правда нифига толком не смыслю
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
yakk
сообщение 15.8.2007, 17:11



*****

Группа: Разработчики
Сообщений: 336
Регистрация: 6.7.2006
Из: Днепропетровск
Пользователь №: 90 408
Модель телефона: milestone
Финалист Конкурса 2010


Настроение:
не нужен..



Рейтинг: 904



Цитата(Red_Lion @ 15.8.2007, 19:26) *

а по идее то что прошло у b1er с загрузкой в ram ядра прокатит с загрузчиком от v3i без модификаций? а то из-за отсутсвия c380 решил свой телефон использовать... а в асме я правда нифига толком не смыслю

без модификаций - по идее не прокатит. сама идея загрузки в ram работать будет, но как минимум адреса придется менять.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 15.8.2007, 20:41


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Red_Lion,
дуалбут поможет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 16.8.2007, 12:12


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



Выкладываю исходники правленного ядра.
Все файлы склееваем в порядке согласно номерам.
для никсов можно так :
Код
cat linux_new.bak.4.[0-9]* > linux_new.bak.tar.bz2
'
Для компиляции нужен ещё toolchain, вот линк на HOWTO компиляции оного. А сдесь линки на исходники для тулчаина.
Есть пара тонкостей:
скрипт bad.sh компилит head-trio.S, make почемуто неправильно пытается его скомпилить.
скрипт mkbin.sh использует маленькую тулзу для конвертирования elf > bin
elf2bin.c: компилить можно так
Код
gcc elf2bin.c
.
Общая последовательность компиляции ядра:
./bad.sh
make
./mkbin.sh
Файл linux_file.bin есть образ ядра и его залвать в 0x12000000, передавать управление на 0x12000010

Сообщение отредактировал b1er - 25.8.2007, 12:19
Прикрепленный файл linux_new.bak.4.6.zip   ( 836.9 килобайт ) Кол-во скачиваний: 265
Прикрепленный файл linux_new.bak.4.5.zip   ( 1 мегабайт ) Кол-во скачиваний: 244
Прикрепленный файл linux_new.bak.4.4.zip   ( 1 мегабайт ) Кол-во скачиваний: 249
Прикрепленный файл linux_new.bak.4.1.zip   ( 1 мегабайт ) Кол-во скачиваний: 253
Прикрепленный файл linux_new.bak.4.0.zip   ( 1 мегабайт ) Кол-во скачиваний: 139
Прикрепленный файл elf2bin.c.gz   ( 684 байт ) Кол-во скачиваний: 245
Прикрепленный файл linux_new.bak.4.3.zip   ( 1 мегабайт ) Кол-во скачиваний: 260
Прикрепленный файл linux_new.bak.4.2.zip   ( 1 мегабайт ) Кол-во скачиваний: 252
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Star_cas
сообщение 17.8.2007, 3:32


Ветеран
*****

Группа: Пользователи
Сообщений: 377
Регистрация: 14.12.2006
Из: KZ, Алматы
Пользователь №: 111 405
Модель телефона: Motorola L7
Прошивка: чё-то там на L7 =)))

Рейтинг: 148.5



Цитата(b1er @ 16.8.2007, 16:12) *

Выкладываю исходники правленного ядра.
Все файлы склееваем в порядке согласно номерам.
для никсов можно так :
Код
cat linux_new.bak.4.[0-9]* > linux_new.bak.tar.bz2
'
Для компиляции нужен ещё toolchain, вот линк на HOWTO компиляции оного. А сдесь линки на исходники для тулчаина.
Есть пара тонкостей:
скрипт bad.sh компилит head-trio.S, make почемуто неправильно пытается его скомпилить.
скрипт mkbin.sh использует маленькую тулзу для конвертирования elf > bin
elf2bin.c: компилить можно так
Код
gcc elf2bin.c
.

Сразу соррри, Это только для C380? А для Е398 пока не пойдёт?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 17.8.2007, 7:27


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Star_cas,
должно подойти. пробуй.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ratmagor
сообщение 19.8.2007, 23:48


Ветеран
*****

Группа: Пользователи
Сообщений: 474
Регистрация: 22.11.2005
Из: Мск
Пользователь №: 59 289
Модель телефона: Motorola Moto Maxx
Прошивка: KitKat

Рейтинг: 194.5



народ, выложите куда-нить исходники, что выложил b1er... А то GPRS и без докачки... ((
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Kido
сообщение 20.8.2007, 11:10


Опытный
***

Группа: Пользователи
Сообщений: 132
Регистрация: 19.9.2006
Из: Санкт-Петербург
Пользователь №: 99 751
Модель телефона: V3i
Прошивка: R4441D_G_08.01.03R

Рейтинг: 6.5



Ratmagor,
Вот. http://dump.ru/files/g/g654568165/
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 21.8.2007, 9:43


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



тем кто хочет эксперементировать:
после недели плясок с бубном есть результат:
с помощью этого тулсета
http://anton.vestco.ru/bu-2.15_gcc-3.4.3-c...12.0_gi-6.1.exe + cygwin
можно собирать ядро из-под win32.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 29.8.2007, 14:29


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



Над ядром немного поработал. Вот результат:
Код
usb out console test
setup_arch launch
setup_arch exit
memory available is 3451KB
start_mem is 0x120a114c
virtual_end is 0x12400000
before free_area_init
free_area_init -> start_mem is 0x120a314c
virtual_end is 0x12400000
start free_area_init
PAGE_OFFSET=301989888
size=53248,dst=0x120a314c
start_kernel
Calibrating delay loop.. ok - 0.81 BogoMIPS
PAGE_OFFSET=12000000
Memory: 3388k/4M available (456k kernel code, 4k reserved, 248k data)
Swansea University Computer Society NET3.035 for Linux 2.0
NET3: Unix domain sockets 0.13 for Linux NET3.035.
Swansea University Computer Society TCP/IP for NET3.034
IP Protocols: ICMP, UDP, TCP
Linux version 2.0.38.0 (b1er@dark) (gcc version 3.3.3) #278 Thu Aug 30 19:34:01 Local time zone must be set--see zic manual page 2007
loop: registered device at major 7
VFS: Cannot open root device 00:00
Kernel panic: VFS: Unable to mount root fs on 00:00

Исходники в аттаче, собирать в один апхив также, компилить теперь просто "make dep; make ".
Теперь первые задачи это:
1. написание/использование существующего/исправление существующего блочного устройства для монтирование корневой файловой системы.
2. Оптимизирование эмуляции MMU (а её у нас можно оптимизоровать).
3. Написание полноценных дрова для usb консоли и, возможно, для полноценного fb.
4. Ну и исправление всех багов, которые найдутся.
Прикрепленный файл linux_new.bak.6.0.zip   ( 1 мегабайт ) Кол-во скачиваний: 114
Прикрепленный файл linux_new.bak.6.1.zip   ( 1 мегабайт ) Кол-во скачиваний: 210
Прикрепленный файл linux_new.bak.6.2.zip   ( 1 мегабайт ) Кол-во скачиваний: 235
Прикрепленный файл linux_new.bak.6.3.zip   ( 1 мегабайт ) Кол-во скачиваний: 208
Прикрепленный файл linux_new.bak.6.4.zip   ( 1 мегабайт ) Кол-во скачиваний: 210
Прикрепленный файл linux_new.bak.6.5.zip   ( 965.49 килобайт ) Кол-во скачиваний: 216
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
b1er
сообщение 7.9.2007, 5:32


Интересующийся
**

Группа: Пользователи
Сообщений: 62
Регистрация: 8.5.2005
Пользователь №: 42 074

Рейтинг: 40.5



На текущий момент монтируется rootfs, образ которой расположен прямо в образе ядра (временная мера).
Переделан блок usb вывода. USB консоль находиться в разработке.
Обновлённые исходники выложу позже, когда доделаю usb консоль.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
nougmanoff
сообщение 12.9.2007, 9:34


Новичок
*

Группа: Пользователи
Сообщений: 21
Регистрация: 19.8.2007
Пользователь №: 144 959
Модель телефона: c390
Прошивка: .....ofr

Рейтинг: 0



а что если сделать графическую оболочку на java и все нужные проги. ведь на яве проще да и разнообразнее. только надо сделать мощьную ява машину чтоб кэшировала код для производительности.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
MONSTER92
сообщение 12.9.2007, 10:48


Мастер
****

Группа: Пользователи
Сообщений: 224
Регистрация: 19.11.2006
Пользователь №: 107 368
Модель телефона: ROKR e6
Прошивка: Неважно

Рейтинг: 9.5



А мне почемуто казалось что при эмулировании явы теряется производительность.....


Сообщение отредактировал MONSTER92 - 12.9.2007, 10:49
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zamanjenya
сообщение 12.9.2007, 12:57


Новичок
*

Группа: Пользователи
Сообщений: 11
Регистрация: 1.1.2007
Пользователь №: 114 219
Модель телефона: l7
Прошивка: R4513_G_08.B7.AER_RB

Рейтинг: 0



щас ставят на телефоны именно яву с линуксом
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Маленький шаг по большому пути., Начало портирования QNX на моторолку c380. · Ломаем и строим! · Forum
 

7 страниц V < 1 2 3 4 > » 
Причина закрытия (Osta 07-12-2009): ура, товарищи!
Закрытая темаСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.7.2025, 11:16

Форум живёт: