motofan logo
7 страниц V  1 2 3 > » 
Причина закрытия (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
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
AstaRoth
сообщение 10.1.2007, 11:21


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

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

Рейтинг: 4098



Изучаем Эльфы:
Мануал для сименс
Цитата
Q: Что такое Эльфы?
A: Эльфы - это одна из возможностей расширения функциональных возможностей телефона, которая состоит в исполнении непосредственно кода ARM-процессора аппаратов на платформах SGold и NewSGold, т.е. имеется возможность создавать собственные приложения, работающие аналогично cименсовскому программному обеспечению и использующие производственный стандарт ELF (Executable and Linking Format). Отсюда и название - эльфы.
*********
Q:Как установить эльфпак на телефон?
A: Для того чтобы установить эльфпак на свой телефон, нам понадобятся следующие патчи:
Большая Библиотека Функций
SWI-Hook
Загрузчик эльфов
API 14
Последовательность устанавливаемых патчей значения не имеет.
*********
Q: Что быстрее: java-приложение или эльф?
A: Поскольку эльфы исполняются непосредственно процессором без промежуточных надстроек типа java-машины, им доступна вся оперативная память и абсолютно все функции прошивки, созданные программистами Сименса. Скорость исполнения любых команд ограничена только мощностью процессора, поэтому она огромна, в десятки раз выше скорости исполнения java-приложений.
*********
Q: Где мне взять эльф (*.elf) для моего телефона и моей прошивки?
A: Эльфы не зависят (в рамках одной платформы) от модели аппарата и версии прошивки.
*********
Q: Как мне запустить эльфа (*.elf)?
A: Запуск эльфа производится либо как обычное приложения - нажатием кнопки джойстика в CardExplorer'е,
либо автоматически загружаются при включении аппарата, если эльф лежит в папке 0:\ZBin\Daemons
*********
Q: Какие папки нужно создать для работы эльфпака?
A: Необходимо создать структуру каталогов в соответствии с данным архивом
*********
Q: Как выгрузить эльфов?
A: Выгрузка эльфов (не являющихся демонами) возможна только после перезагрузки аппарата, если эта операция не предусмотрена в самом приложении. Чтобы выгрузить эльфа, висящего
демоном, перед перезагрузкой телефона его надо убрать из каталога ZBin\Daemons или сменить расширение файла elf на любое другое.


* Меню "Пуск" на сименсе, вопросы и ответы
* Эльфы на линукс
* Спецификация Эльфов под линукс

Возможно ли такое на моторе?? Хотя бы в принципе? ДА!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 10.1.2007, 12:39


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

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

Рейтинг: 1116



AstaRoth,
вполне. единственно что стандарт эльфа предполагает его загрузку с флехи в оперативку и запуск там. он не рассчитан на XIP.
а оперативки у нас в LTE всего 8мб, и бОльшая часть уже "поделена".
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
hobbit19
сообщение 10.1.2007, 12:45


квант истории
******

Группа: Пользователи
Сообщений: 1 043
Регистрация: 1.4.2005
Из: Рязань
Пользователь №: 39 980
Модель телефона: (M)oTorola
Прошивка: testing/unstable
Победитель конкурса 2008

Рейтинг: 739.5



Vilko

а эльфы те что от сименса после шлифовки непойдут нам ? или у нас
структура их будит абсолютна другая ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 10.1.2007, 16:38


0xFFFF
******

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


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



Рейтинг: 1224



hobbit19, структуру скорее всего можно сделать совместимой, а вот функции ОС, которые из эльфов вызываются - врядли:
Цитата(AstaRoth @ Среда, 10 Января 2007, 14:21)
библиотека функций
*

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 10.1.2007, 18:00


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

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

Рейтинг: 1116



hobbit19,
API операционки различается. кучу "переходников" придецца делать
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
SANYO_K
сообщение 10.1.2007, 22:15


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

Группа: Пользователи
Сообщений: 64
Регистрация: 3.1.2006
Пользователь №: 64 324
Модель телефона: ROKR E1 (E398)
Прошивка: elektro255!!! 49r

Рейтинг: 3



О такой совместимости конечно вряд ли может идти речь. Что-то же похожее есть в модах прошивки от Elektro255 .
Цитата
I'm added JMP instruction from JAVA:
public static void jmp(int address)
where parameter is address to any procedure on flash or RAM.
If you will JMP to procedure in Thumb code you must add 1 to adress, if you will make jump to ARM code don't increment.
All procedures must have return (BX LR).
If you making another jump from procedure you must save linkregister on stack PUSH {LR}.
This function is only for assembler programmers, or somebody who want teach ASM for ARM processors smile.gif
To upload your code to RAM you can use Writebyte() from my lib, your code can use RAM to swap data between Java and ASM code.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 11.1.2007, 8:32


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

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

Рейтинг: 1116



SANYO_K,
ха, это новое, еще не видел. а выделение памяти он там реализовал? если да, то впринципе уже можно даж на яве сделать elf-loader
которая распаковывает elf в оперативку и стартует его там
еще б сделать стандартизированный api к операционке wink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Паук
сообщение 12.1.2007, 7:29


Open Mind
*****

Группа: Почётные мотофаны
Сообщений: 452
Регистрация: 17.6.2005
Из: Полтава, Украина
Пользователь №: 44 370
Модель телефона: (M)
Прошивка: разные

Рейтинг: 530



Интересно, реально ли использовать под эти цели heap от явы?
По инструкции JMP соорудить обработку для использования хипа, а после BX LR - опять отдать память хипа ява-машине...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 12.1.2007, 17:53


0xFFFF
******

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


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



Рейтинг: 1224



Паук, вполне smile.gif ~700кб останется - хватит для простеньких приложений
Цитата(Паук @ Пятница, 12 Января 2007, 10:29)
По инструкции JMP соорудить обработку для использования хипа
*


А зачем? Можно просто использовать функции выделения памяти самой JVM.
Есть ещё две проблема: насколько я понимаю, параллельно эльфу, загруженному таким "явным" загрузчиком, будет работать и JVM, что не есть хорошо в плане вычислительных ресурсов sad.gif

Уж лучше сделать нормальный загрузчик, который создавал бы отдельный процесс...
В таком случае становятся возможными эльфы, работающие "в фоне"
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 20.1.2007, 20:36


0xFFFF
******

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


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



Рейтинг: 1224



Stalker.mg, адреса тебе вернёт функция выделения heap. См. код загрузки мидлета
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Elf на (M)otorola, архивная тема, С чего всё начиналось · Эльфы, их разработка и портирование · Forum
 

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

 



Текстовая версия Сейчас: 19.4.2024, 0:47

Форум живёт: