motofan logo
7 страниц V « < 3 4 5 6 7 >
Причина закрытия (Osta 29-07-2008):
       
> 

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

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


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

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

Рейтинг: 4098



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

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

Вот такая тема: 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 килобайт ) Кол-во скачиваний: 1579



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


ТЕМА Автор Andy51

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

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

(+) Спасибо Exebyte

(+)
********

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


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

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

Рейтинг: 1650



ELF loader 1.2
+ поддержка нескольких программных секций
+ используется один тип релокации
Эльфами ещё привязанны к определенной прошивке;
Тестовый эльф для elektro v3 49R, прилагается в архиве, закинуть в корень флешки.
Тестовый эльф при завершении ребутит тел (где-то ошибка в самом эльфе)

Сообщение отредактировал om2804 - 11.6.2007, 11:09
Прикрепленный файл elf_loader_1.2.zip   ( 12.49 килобайт ) Кол-во скачиваний: 144
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 13.6.2007, 16:15


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Люди! Не надейтесь, что получится запускать эльфы от сименса!
Это то же самое, что пытаться запустить Linux-приложение под Win. Нужна будет довольно большая работа по переделке эльфа с сименса, так что рассчитывать остаётся только на наших программистов wink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 13.6.2007, 20:06


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

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

Рейтинг: 1650



ELF loader 1.3
+ поддержка многоплатформенности

Пробуем на elektro v3
Содержимое test.zip закинуть в корень флешки

В архиве test.zip:
1) папка lib, в которой strtable и symtable - файлы библиотеки функций для v3.
2) test.elf - эльф для v4a4. Для v4a4 чтобы показать, что эльф откомпилированный для другой прошивки (v4a4) успешно работает на v3 при наличии библиотеки функций.

В архиве elf_loader_1.3.zip - сам эльф лоадер, ставим всё так же МММ

В эльфе есть глюк - тело виснет.

PS Вообщем лоадер готов. В принципе уже можно писать эльфы. Вот только лоадер работает ну очень медленно. Эльф в 5 Кб грузит аж 40 сек. Это никуда не годиться. Поэтому следующий шаг - встроить лоадер в прошивку. Далее продолжать разработку лоадера на яве я считаю бессмысленной.

Хочу сказать ОГРОМНОЕ СПАСИБО Andy51, Vilko, Gr@fMoto, а также всем кто хоть как-то помогал, напрямую или косвенно.

Сообщение отредактировал om2804 - 20.6.2007, 16:32
Прикрепленный файл elf_loader_1.3.zip   ( 12.38 килобайт ) Кол-во скачиваний: 421
Прикрепленный файл test.zip   ( 2.29 килобайт ) Кол-во скачиваний: 406
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Star_cas
сообщение 23.6.2007, 15:29


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

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

Рейтинг: 148.5



А вот мне интересно, если получится встроитьв прошивку ELF, тогда его в можно использовать? И если из явы нет доступа к блютузу, то из ELF он будет? И последний вопрос будет ли тянуть 3D(или псевдо 3D) нормально без зависонов? Ведь памяти будет больше.....
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 23.6.2007, 15:53


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Star_cas, с эльфами можно практически всё.
Цитата(Star_cas @ Сегодня, 19:29)

И если из явы нет доступа к блютузу, то из ELF он будет?
*

Да
Цитата(Star_cas @ Сегодня, 19:29)

будет ли тянуть 3D(или псевдо 3D) нормально без зависонов?
*


Да, но в прошивке конечно не предусмотрен встроенный 3D движок, не говоря уже об аппаратной поддержке. Если написать software renderer - будет работать, только скорее не потому, что
Цитата(Star_cas @ Сегодня, 19:29)

памяти будет больше.....
*

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

Если кто помнит, игрушки под DOS, работавшие в реальном режиме, вполне обходились своими 640 кб, а как известно, в играх наибольшую часть памяти потребляют графические ресурсы. Если учесть, что у нас разрешение меньше, чем 320х240, то и с памятью можно обойтись даже меньшим количеством smile.gif

Сообщение отредактировал Andy51 - 23.6.2007, 15:59
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 24.6.2007, 8:56


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

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

Рейтинг: 1650



эльфы можно и на си писать, и на асме. Да хоть на бейсике, вот только думаю компилятор найти будет сложно или невозможно. Кодеры на си и на асме конечно нужны, надо же кому-то эльфы писать
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 24.6.2007, 20:17


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

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

Рейтинг: 1650



Единственное ограничение эльфов - это ограничение железа. Т.е. эльф может всё, что может сам телефон и а частности железо телефона.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Neomoto
сообщение 7.7.2007, 20:46


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

Группа: Разработчики
Сообщений: 615
Регистрация: 2.3.2006
Из: Белгород
Пользователь №: 72 604
Модель телефона: MotoZINE ZN5
Прошивка: sym X beta

Рейтинг: 481



А что это за компилер в закрепленом сообщении - он в .gba компилирует (это вроде для GameBoyAdvanced?). А у тестового эльфа .elf. Можно просто переименовывать?

Сообщение отредактировал Neomoto - 7.7.2007, 20:47
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 8.7.2007, 12:02


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Neomoto, ага, в gba smile.gif Только в бинарник, а не в эльф. Просто у gba и у LTE одинаковое ядро
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Kim Li Sun
сообщение 9.7.2007, 20:19


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

Группа: Пользователи
Сообщений: 44
Регистрация: 13.4.2007
Из: Солнечная система Земля Россия
Пользователь №: 130 912
Модель телефона: E398 && ROKR E6
Прошивка: R373_G_0E.30.46R

Рейтинг: 5



(прочитал всю эту ветку и ещё несколько на сименс-клабе)
Сам программист и С/С++ знаю (буду рад собрать что-нибуть, хотя в последние пару лет пишу на Delphi). Очень понравилась эта идея, особенно возможность, самостоятельно реализовать ELF-операционную систему (или хотя бы промежуточное звено между владельцем и железом его сотового, улучшающее функциональность и удобство самой трубки; вплоть до полного визуального перехода от стандартной оболочки к ELF'у и оставления в прошивки только основных функций), однако прошу заранее подумать над ELF-loader’ом и не допустить ошибки программистов с siemens-club по поводу сильно большой открытости в восможностях ELF-программ и как следствия возможности вирусов. Полагаю не зря некоторые папки как на Windows'е, так и в наших прошивках являются изначально скрытыми и системными и не подлежащие изменениям.
Вариантов реализации этого несколько, но все сводятся к запрещённости определённых действий с файловой системой, функциями связи и, обобщая всё, выглядит так:
- Каждый ELF-программа работает в строго отведённой ей папке и всех подпапках вложенных в неё, а первичная папка этой ELF-программы не может быть корневым каталогом диска, что предупреждает любой вред связанный с системными и другими файлами (наилучшим будет размещение программ в области например "c:\elf\" или "b:\elf". При этом общие манипуляции с файловой системой можно осуществлять либо средствами прошивки (через файловый-менеджер), либо установленным через эти средства или с помощью компьютера ELF-файлового менеджера.
- Это позволяет обезопасить системные файлы, данные пользователя и другие ELF-программы. А самим программам выделять "Доверия" на доступ к различным функциям телефона. Т.е. по сути, давать разрешения программам как в аналогии с java-приложениями. При этом ELF-файловый менеджер, из первого пункта, не способен ни к каким другим действиям, кроме манипуляции с файловой системой, что предупреждает потерю информации через средства связи. Также ограничивать все ELF-программы и после их появления брать их доверие за "0" и позволять пользователю устанавливать их самостоятельно.
- Как таковая ограниченность ELF-программ в собственных подкаталогах, не лишает их полноценного функционирования, через избранные доступы к файлам (например для графического редактора, соответствующие доступ на чтение графических файлов) дающиеся от Файлового менеджера, при по пытки обращения к определённым типам файлов последним. Сами связи между типами и программами настраиваются пользователем, а файл, хранящий эти данные (как и другие, жизненно важные, файлы "системы") имеют атрибут системных файлов, что запрещает обращаться к ним, даже на чтение, всем ELF-программам. Их можно будет редактировать например с помощью компьютера или средствами прошивки, для тех у кого нет прямого или постоянного доступа к ПК.
- Функциональность программ можно будет упростить и сделать их универсальными. Их частные вызовы будут осуществляться по связи типа файла с программой-обработчиком. Это позволит сэкономить как оперативную память, отдав её на обработку данных, так и увеличить общее быстродействие программ (пропадает часть внутреннего анализа выбора между подпрограммами обработчиками). По сути можно свести это до связи один тип - одна программа-обработчик данного типа.

Подытоживая всё это, мы получаем закрытую операционную систему на базисе прошивки и ELF-файлового менеджера (возможностями которого являются работа с файловой системой памяти телефона и флешки [вырезать/копировать/вставить/создать/удалить : файл/каталог] и вызова программы-обработчика на "открывающийся" файл) в дополнении с самими программами-обработчиками. В данном случае будет актуальным использовать открытый код минипрограмм-обработчиков, а вирусная опасность может грозить только ELF-файловому менеджеру и халатности работы минипрограмм при работе с фалами. А в совокупности с "Довериями" к ELF-прораммам получим окончательно защищённую систему, главной опасностью которой будут только багги в программах. (Что касается BT/ИК/GPRS-соединений, то их лучше будет оставить под управлением прошивки и складировать полученные файлы в буферном каталоге, перед последующим ручным распределением пользователем).

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

P.P.S. Так как сам являюсь программистом и очень заинтересован этой темой, буду рад помочь, по мере возможностей. smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Elf на (M)otorola, архивная тема, С чего всё начиналось · Эльфы, их разработка и портирование · Forum
 

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

 



Текстовая версия Сейчас: 24.4.2024, 9:48

Форум живёт: