motofan logo
7 страниц V < 1 2 3 4 5 > » 
Причина закрытия (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
сообщение 12.4.2007, 16:32


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

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

Рейтинг: 1650



Загрузчик нужно писать на яве, т. к. ява-кодеров не один человек. ИМХО
На модах от elektro225 можно перепрыгнуть на определенный адрес в RAM.
Остается только:
1. считать из файла 16-тиричный код
2. изменить адресацию в нем относительно адресации в RAM
3. загрузить измененный код в RAM
3. И терепрыгнуть на него ( в 4й альфе этот ява метод выглядит как static void jmp(int address) )
Свободное место в RAM есть!
Проблемой будет компилятор ASM 7 (для e398)? т. к. весить он будет не мало

Встраивать в прошивку загрузчик точно никто не возьмется.

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


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

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

Рейтинг: 4098



Господа, Нужны люди знающие асм и с компилятором ARM 7. om2804 пишет софтину, но у него нет компилятора AMR 7. Нужно чтоб кто-нибудь написал мини прогу на асме и откомпилировал бы в бинарик, компилятором AMR 7,Надо чтобы прога работала по линейному алгоритму, т. е. без джампов в коде, Также результат выполнения был заметен. Если у Вас есть знакомые программисты или Вы сами разбираетесь - пожалуйста- прочитайте тему с самого начала - и если будут соображения- стукните в асю 335962171 (om2804) или 5131549 ( AstaRoth)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 20.4.2007, 20:30


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

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

Рейтинг: 1650



Прошивка для E398 - мод от elektro255 4я альфа
В RAM область 0х12200000 - 0х12500000 (393,2 Кб) свободна.
Поэтому грузить надо с адреса 0х12200000. Если не получается сделать без джампов так чтобы было заметно результат, можно сделать с джампами но адреса подогнать не относительно эльфа а относительно адреса 0*12200000, т. е. адрес джампа + 12200000. Это возможно?

Т. к. загрузчик на яве адреса аpi прописывать в эльф проге не нужно. Доступ к RAM из явы есть только на моде от elektro255 4я альфа.
Для других телефонов нужно писать лоадер не на яве, а встраивать в прошивку. Этим делом заняться никто не хочет.
Vilko, спасибо что внес ясность.
Всё еще нужна прога. Её результат не важен. Лишь бы он был заменен (вывод на экран "Hello World" например). Этим можно будет проверить работает ли эльф из RAM. Потом уже от этого и плясать.

P. S. Где можно скачать компилятор AMR7?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 22.4.2007, 13:39


0xFFFF
******

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


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



Рейтинг: 1224



om2804, для проверки есть хорошая easy-to-use функция printf. При подключённом usb можно писать в консоль, которую можно смотреть в MidWay или MMM wink.gif Только не совсем понимаю, зачем это нужно?
Цитата(om2804 @ Вчера, 0:30)

подогнать не относительно эльфа а относительно адреса 0*12200000
*


Если не ошибаюсь, для этого виртуальная память существует. Вот только как с ней дело у нас обстоит - не в курсе
Цитата(om2804 @ Вчера, 0:30)

Прошивка для E398 - мод от elektro255 4я альфа
В RAM область 0х12200000 - 0х12500000 (393,2 Кб) свободна.
*


Откуда инфа?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 22.4.2007, 17:54


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

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

Рейтинг: 1650



Опытным путем через Synerj_tools 2.8 нашел.
Свободные области:
0х12200000 - 0х12500000 (393,2 Кб)
0х3FC0200 - 0х3FFFFFF (32,7 Кб)

Прошивка для E398 - мод от elektro255 4я альфа. Т. к. на ней работает ява метод jmp. Есть ещё конечно на других модах этот джамп, но у меня есть только 4я альфа, а качать через GPRS мне уж очень не охота. В дальнейшем думаю elektro255 баги на 4ой альфе исправит. Т. к. доступ к оперативе из явы есть только на модах от elektro255, поэтому и могут быть елфы только на E398 (пока на Е398 smile.gif )

Вся проблема в самом ельфе. Кто бы его написал?
А бинлоадер можно уже сейчас выложить.

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


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

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

Рейтинг: 1116



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


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

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

Рейтинг: 1650



Andy51, был написан первый бинарик, который выводит строку в консоль. Этим доказано, что бинарики запускаются из RAM. Разработка продолжается. Требуются люди знающие асм и с компилятором ARM 7 (желающие помочь пишите в личку или стучите в асю 335962171 ).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
om2804
сообщение 5.5.2007, 22:22


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

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

Рейтинг: 1650



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


Немного доработал Bin Loader (Bin Loader 1.2)

Сообщение отредактировал om2804 - 6.5.2007, 9:36
Прикрепленный файл BinLoader.zip   ( 10.44 килобайт ) Кол-во скачиваний: 283
Прикрепленный файл binarik.zip   ( 645 байт ) Кол-во скачиваний: 333
Прикрепленный файл BinLoader_1.2_.zip   ( 10.68 килобайт ) Кол-во скачиваний: 887
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 5.5.2007, 23:59


0xFFFF
******

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


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



Рейтинг: 1224



В копмлекте - бинарники для elektro255 v4 и v3
Также переименовать в test.bin и на флешку.
На v3 не тестировалось! - Отпишитесь кто будет пробовать

Сообщение отредактировал Andy51 - 6.5.2007, 0:01
Прикрепленный файл bin.rar   ( 1.19 килобайт ) Кол-во скачиваний: 1263
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 6.5.2007, 20:16


0xFFFF
******

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


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



Рейтинг: 1224



Если кому интересно
Исходник:
Прикрепленный файл bin_src.rar   ( 3.11 килобайт ) Кол-во скачиваний: 1320

Компилер:
Прикрепленный файл goldroad1_7.zip   ( 48.93 килобайт ) Кол-во скачиваний: 1263


cmepx, убери, пожалуйста, лог из тела своего сообщения

Сообщение отредактировал Andy51 - 6.5.2007, 21:11
Прикрепленный файл bin_src.rar   ( 3.11 килобайт ) Кол-во скачиваний: 1320
Прикрепленный файл goldroad1_7.zip   ( 48.93 килобайт ) Кол-во скачиваний: 1263
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Elf на (M)otorola, архивная тема, С чего всё начиналось · Эльфы, их разработка и портирование · Forum
 

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

 



Текстовая версия Сейчас: 5.5.2024, 7:34

Форум живёт: