motofan logo
Motorola Ситилинк
7 страниц V < 1 2 3 4 > » 
Причина закрытия (Osta 29-07-2008):
       
> 

Elf на (M)otorola, архивная тема, С чего всё начиналось

AstaRoth
сообщение 24.2.2007, 12:47 Закрепленное сообщение!


Бошетунмай
********

Группа: Почетные МотоФаны
Сообщений: 3 114
Регистрация: 5.11.2005
Из: СЕВЕРОДВИНСК,29, РФ ☭
Пользователь №: 57 206

Рейтинг: 4089



Это - архивная тема типа "А с чего всё начиналось"

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

Вот такая тема: http://cbn.narod.ru/documents/elf_info.html
http://www.siemens-club.org/faq/index.php?...e&faqID=231
В кратце:


Помимо патчей существует еще одна возможность расширения функциональных возможностей телефона. Она состоит в исполнении непосредственно кода ARM-процессора аппаратов на платформах SGold и NewSGold, т.е. имеется возможность создавать собственные приложения, работающие аналогично cименсовскому программному обеспечению и использующие производственный стандарт ELF (Executable and Linking Format). Отсюда и название - эльфы.

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

Подобные приложения распространяются в виде файлов с расширением *.elf. Эльфы не зависят (в рамках одной платформы) от модели аппарата и версии прошивки. Исполняются они либо как обычные приложения - нажатием кнопки джойстика в Card Explorer'е, либо вешаются в памяти демонами при загрузке аппарата.

Перед использованием эльфов необходимо ознакомиться с понятиями ELFpack и ELFloader. ELFpack - патч, позволяющий загружать эльфов, абстрагируя их от конкретной версии прошивки (по аналогии с Библиотекой функций в Мастер-Патче). ELFloader - часть ELFpack'а, отвечающая непосредственно за загрузку кода приложения в оперативную память и передачу ему управления. © siemens-club.org


Все эльфы для сименс - читаем описалово, делаем выводы
основы программирования-изучаем, берем опыт ковырятелей сименса
Общие вопросы по эльфам на семенах


Тема обсуждения на спрочтите правила форума Motofan !е

========================
Описание Эльф-формата (eng) PDF

========================

Были написаны Bin Loader (автор: om2804) и бинарик (автор: Andy51). Бинарик выводит текст на экран, выход по любой кнопке. Закинуть в корень флешки, т.е. b/test.bin. Bin Loader грузит бинарик в RAM и от туда его выполняет. Т. к. это ява ставим через MMM. Бинарик работает только на моде от elektro255


Исходник

Компилер

BinLoader


Бинарники для Electro255 v3 и v4 -Также переименовать в test.bin и на флешку.

--------

!!! Первый эльфлоадер !!! (с) om2804 (не стесняемся-благодарим комрада за труды ТУТ)

Прикрепленный файл elf_loader_1.0.zip   ( 10.9 килобайт ) Кол-во скачиваний: 1678
обновленный bin loader 1.2.2 + адрес теперь в hex + округление адреса до кратного 4
Прикрепленный файл bin_loader_1.2.2.rar   ( 12.04 килобайт ) Кол-во скачиваний: 1455



********* Первый эльфпак для моторола! ! !


ТЕМА Автор Andy51

(+) Особая благодарность om2804

(+) Ну и ессно без Vilko некуда

(+) Спасибо Exebyte

(+)
********

Сообщение отредактировал Andy51 - 2.3.2008, 23:28
Прикрепленный файл bin_loader_1.2.2.rar   ( 12.04 килобайт ) Кол-во скачиваний: 1455
Прикрепленный файл elf_loader_1.0.zip   ( 10.9 килобайт ) Кол-во скачиваний: 1678
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lv333
сообщение 22.1.2007, 15:47


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

Группа: Пользователи
Сообщений: 656
Регистрация: 11.7.2005
Из: Украина, Киев
Пользователь №: 45 916
Модель телефона: Motorola Defy+
Прошивка: СМ 10

Рейтинг: 199.6



Цитата(AstaRoth @ Понедельник, 22 Января 2007, 17:36)
В первых постах было предложение-делать эмуль на яве ( идея на мой взгляд не лучшая), или я что-то не понимаю....
*



biggrin.gif Тогда уж на яве эмулировать функции win32 например biggrin.gif
А имелось ввиду лоадер на яве так как в проше от elektro255 есть теоретически такая возможность как передача управления коду в памяти и его загрузка туда разумеется. Только здесь есть такая проблема как выделения этой самой памяти и нормальное распределения ресурсов для этого кода (обработка прерываний например). Одним словом нужно создать некое системное окружения. smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Akceptor
сообщение 23.1.2007, 10:26


За Гомеза!
******

Группа: Почетные МотоФаны
Сообщений: 926
Регистрация: 25.3.2005
Из: Ивано-Франковск@Ukraine
Пользователь №: 39 521
Модель телефона: Motorola XT1080M
Прошивка: 19.5.3.obake-maxx


Настроение:
I'm back! May be...



Рейтинг: 364



Цитата(f0f @ Вторник, 23 Января 2007, 10:50)
Извините конечно за тупые вопросы, но стоит ли вообще овчика выделки? Какие у эльфа преимущестава по сравнению с явой?
*


СКОРОСТЬ и ФУНКЦИОНАЛЬНОСТЬ
Ява выполняется в виртуальной машине и потому она медленная и сильно ограниченая. Эльфы написаны под процессор тела и работать будут быстро. По сути мы получим те же патчи, только запускаемые, а не вшитые в прошивку (как ексешники в винде wink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 23.1.2007, 12:23


Freestyler
********

Группа: Координаторы
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(lv333 @ Понедельник, 22 Января 2007, 16:47)
Только здесь есть такая проблема как выделения этой самой памяти и нормальное распределения ресурсов для этого кода
*


из своего , пока печального опыта скажу так:
я не нашёл за неделю кусочка в 240h байт оперативки на прошивке от с650 :-(

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


За Гомеза!
******

Группа: Почетные МотоФаны
Сообщений: 926
Регистрация: 25.3.2005
Из: Ивано-Франковск@Ukraine
Пользователь №: 39 521
Модель телефона: Motorola XT1080M
Прошивка: 19.5.3.obake-maxx


Настроение:
I'm back! May be...



Рейтинг: 364



Цитата(Osta @ Вторник, 23 Января 2007, 13:23)
из своего , пока печального опыта скажу так:
я не нашёл за неделю кусочка в 240h байт оперативки на прошивке от с650 :-(
*


У нас то флэшка побольше чем на с650, может и оперативка найдется. А на с650 и дуалбут впихать некуда
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lv333
сообщение 23.1.2007, 13:28


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

Группа: Пользователи
Сообщений: 656
Регистрация: 11.7.2005
Из: Украина, Киев
Пользователь №: 45 916
Модель телефона: Motorola Defy+
Прошивка: СМ 10

Рейтинг: 199.6



Ближе к делу: smile.gif
На сегоднешний день из бинарных кодов мы имеем dualboot от Vilko. Есть так же библиотека от elektro255 в которой в свою очередь есть функции:

Код

записать код в память по адрессу:
static void writebyte(int address,int value)
а так же передать ему управления:
static void jmp(int address)


Так что лоадер хоть на том же мидлет паскале хоть на джаве можно прямо сейчас написать - это не есть проблема smile.gif
Главное знать адреса куда можно записать и иметь что туда записать(код который не вызовет полного краха всей системы smile.gif)
Попытатся выполнить таким способом dualboot думаю не стоит, smile.gif он все таки был написан для однозадачного и однопользовательского режима. biggrin.gif Но написать свой бинарик, аналог проги Hello World думаю вполне реально.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Freemmy
сообщение 23.1.2007, 14:22


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

Группа: Пользователи
Сообщений: 49
Регистрация: 12.3.2006
Пользователь №: 73 916
Модель телефона: MOTOROKR E6
Прошивка: самая новая

Рейтинг: 7



lv333, ты хочеш сказать что если написать лоадер на яве, он будет распаковывать эльф в оперативку, затем яву закрываеш а эльф работает? huh.gif
и разве проблема стоит только в нахождении куска адреса?
думаю под обычную мелкую прогу места навалом будет
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lv333
сообщение 23.1.2007, 14:30


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

Группа: Пользователи
Сообщений: 656
Регистрация: 11.7.2005
Из: Украина, Киев
Пользователь №: 45 916
Модель телефона: Motorola Defy+
Прошивка: СМ 10

Рейтинг: 199.6



Цитата(Stalker.mg @ Вторник, 23 Января 2007, 16:19)
давай, напиши. ничего не выйдет, static void writebyte(int address,int value) записывает бинарник куда ему скажут, а эльф мало просто записать. тут все гораздо сложней. как по твоему джампы будут выполняться если они написаны в нем изначально относительно его адресации а потом станут выполнятся относительно общей адресации, я промолчу к чему это приведет
*



блин, ну я же написал вроде:

Цитата
Главное знать адреса куда можно записать и иметь что туда записать(код который не вызовет полного краха всей системы smile.gif)


А насчет адресации, конечно нужно иметь таблицу что и где лежит и по какому адресу. Иначе ничего не получится. smile.gif И это еще не все код должен взаимодействовать с аппаратными ресурсами телефона: например если берет на себя вывод на экран, то при выходе должен его обновлять, если принимает ввод с клавиатуры то анологично должен его возвращать, если занимает память должен ее освобождать и т.д.


Цитата(Freemmy @ Вторник, 23 Января 2007, 16:22)
lv333, ты хочеш сказать что если написать лоадер на яве, он будет распаковывать эльф в оперативку, затем яву закрываеш а эльф работает?  huh.gif
и разве проблема стоит только в нахождении куска адреса?
думаю  под обычную мелкую прогу места навалом будет
*



Нет не только, читай выше.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 30.1.2007, 15:18


МотоКодер
******

Группа: Разработчики
Сообщений: 786
Регистрация: 14.8.2006
Из: Архангельск
Пользователь №: 95 055
Модель телефона: E398
Прошивка: DaR
Победитель конкурса 2008

Рейтинг: 1635



Цитата(Stalker.mg @ Понедельник, 29 Января 2007, 14:32)
эльф вроде исполняемый а не интерпритируемый код. поэтому просто джамп на его начало
*



Тогда в чем проблема? Написать загрузчик на ява. Пусть он грузит код на ассме (или 16ричный код ) в адреса хипа и jmp ставит
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 31.1.2007, 7:32


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

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





эх, ё.... ща начнется флуд на тему "что же такое эльф"...
читаем, делаем выводы:
Прикрепленный файл ELF_Format.pdf   ( 147.9 килобайт ) Кол-во скачиваний: 3012
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Elf на (M)otorola, архивная тема, С чего всё начиналось · ELFs for Motorola. Эльфы, их разработка и портирование · Forum
 

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

 



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

Форум живёт: