motofan logo
46 страниц V  1 2 3 > »         
> 

ElfPack v2.0, начало всеобщего тестирования

tim apple
сообщение 22.4.2009, 6:55 Закрепленное сообщение!


Мастер
****

Группа: Разработчики
Сообщений: 260
Регистрация: 13.7.2007
Из: РФ, Башкирия, Стерлитамак
Пользователь №: 141 375

Рейтинг: 403



Из анонса:
Spoiler:

Было решено отказаться от ADS в пользу GCC - а конкретно devkitARM. Процесс сборки эльфа дополнился новым этапом - постлинк-обработкой.
  • *.c -> [GCC] -> *.o
  • *.o -> [AR] -> *.a (необязательно - но удобно хранить прекомпилированные библиотеки вроде libc.o в одном файле)
  • *.o + *.a -> [LD] -> *.so -> [POSTLINKER] -> [EP2]*.so (это и есть динамическая библиотека)
  • *.o + *.a + *.so -> [LD] -> *.elf -> [POSTLINKER] -> [EP2]*.elf (готовый к выполнению на телефоне эльф)
Постлинкер оптимизирует эльф, а также делает его меньше путем вырезания всякого шлака.
Использование GCC позволило перейти на открытую архитектуру, и в частности, добавить поддержку общих динамических библиотек (*.so).

Что уже сделано:
  • Работоспособная сборка для L7e.0A, L9.05, E1.79
  • Полная поддержка 2х типов динамических библиотек
  • Несколько эльфов - HelloWorld, DRMChanger, MotoCMD2, ProcessManager, Matrix (работа с ATI), ScrShot (аналог Screener-a), LibTest, несколько инет-эльфов.
Делается:
  • Открытое бетта-тестирование (поиск и фикс багов)
  • Изменение кода, преимущественно для красоты и удобства
Что еще предстоит сделать:
  • Исправить обнаруженные баги
  • Описать новый API и портирование с ЕР1
  • Зарелизить
Примечания:
  • ЕР2 не заменяет ЕР1 - они спокойно работают совместно shades.gif (ЕР2 даже запускает эльфы от ЕР1, если последний установлен)
  • Хорошая новость - исходники будут доступны через SVN. spiteful.gif
[close]


Whats new since EP1:
Spoiler:
  • Наконец-то появился контроль запускаемых эльфов на наличие всех необходимых для их работы функций. Если для эльфа чего-то нехватает, он просто не запустится.
  • Библиотеки функций теперь не зависят от патча эльфпака. Тоесть, можно ими теперь меняться без проблем в пределах прошивки.
  • В заголовке библиотек функций теперь указывается целевая прошивка и версия библиотеки.
  • "Динамические" константы - в либе можно хранить объекты размером 4 байта и получать их по уникальным ID (2 байта).
    Примеры использования: прошивко-зависимые ивенты, адреса, константы и пр.
  • Добавился конфигурационный файл.
  • Графическая консоль - что-то вроде игровой консоли по ~, служит для вывода текстовой информации прямо на экран (необходим дисплей ATI). Эльфы имеют доступ к этой консоли.
  • Список загруженных в память эльфов - теперь можно отследить повторную загрузку эльфа и не только.
  • Динамические библиотеки с load- и run-time линковкой. Даешь плагины!
  • Параметры в функцию Register(теперь _start) передаются в Unicode.
  • Сделан API для установки коллбеков на обновление дисплея (полезно для вывода графики через драйвер прямо поверх системной)
[close]


12.08.2009 Начало тестирования.
Начинаем выкладывать тестовые сборки ЕР2 под несколько прошивок. Целью не ставится портировать под все, а лишь на достаточное количество для проведения тестирования.

Тестирование закончено, всем спасибо. Имеем то, что имеем.

Как этим пользоваться:
  1. Делаем как написано в readme_for_*.txt - получаем ЕР2 в своем телефоне.
  2. По нажатию "быстрой" кнопки запускается MotoCMD2 - через него можно запускать другие эльфы (в том числе от ЕР1)
  3. Сообщаем сюда обо всех проблемах и задаем вопросы.
Примечание. "Быстрая" кнопка мульти-функциональная - действие зависит от длительности нажатия:
  1. ивент (см. FastRunEvent в elfpack.cfg)
  2. эльф (см. FastRunElf в elfpack.cfg)
  3. консоль
  4. перегрузка либы и конфига
Пояснение к конфигу:
Spoiler:

EnableConsole = 0/1 - выкл/вкл поддержку консоли.
AutoShowConsole = 0/1 - автоматически показывать консоль при выводе в нее.
DebugMode = 0/1 - режим отладки, ЕР2 выводит системные сообщения.
ShowLogo = 0/1 - показ лого при запуске.
SkipAutorun = 0 пропустить обработку авторана (1-да,0-нет)

DefLibraryPath = file://b/Elf2/library.bin путь к либе
AutorunPath = file://b/Elf2/auto.run путь к авторану

FastRunElf = file://b/Elf2/MotoCMD2.elf пусть к эльфу, запускаемому по "быстрой" кнопке
FastRunEvent = 0x02dc посылать ивент по "быстрой" кнопке

Пути поиска общих либ
LibsPath1 = file://b/Elf2
LibsPath2 = file://c/libs
LibsPath3 = "file://a/shared libs"
[close]


А знаете ли вы, что:
  • Консоль можно прокручивать качелькой громкости
  • Строки в auto.run можно комментировать с помощью знака ;
  • Название прошивки должно быть заводским, иначе либа не загрузится!
С уважением, tim apple.

===========================================================
ВАЖНО! Вышла новая версия DevkitARM v.27, но она не совместипа с ЕР2. Используйте v.26
Прикрепленный файл devkitARM_r26_win32.rar   ( 10.36 мегабайт ) Кол-во скачиваний: 5405

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

/* Самые свежие версии вы всегда можете скачать с SVN и собрать сами.
Более подробно смотрите в Wiki */


Сообщение отредактировал Andy51 - 18.8.2011, 7:30
Прикрепленный файл devkitARM_r26_win32.rar   ( 10.36 мегабайт ) Кол-во скачиваний: 5405
Прикрепленный файл EP2_R373_G_0E.30.49R_21.01.2010.zip   ( 163.75 килобайт ) Кол-во скачиваний: 1014
Прикрепленный файл EP2_R373_G_0E.30.79R_21.01.2010.zip   ( 163.77 килобайт ) Кол-во скачиваний: 808
Прикрепленный файл EP2_R452D_G_08.01.0AR_21.01.2010.zip   ( 165.21 килобайт ) Кол-во скачиваний: 842
Прикрепленный файл EP2_R452J_G_08.22.05R_21.01.2010.zip   ( 164.19 килобайт ) Кол-во скачиваний: 881
Прикрепленный файл EP2_R4513_G_08.B7.ACR_21.01.2010.zip   ( 163.94 килобайт ) Кол-во скачиваний: 961
Прикрепленный файл EP2_R452J_G_08.22.05R_R52.zip   ( 13.3 килобайт ) Кол-во скачиваний: 361
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tim apple
сообщение 22.4.2009, 7:31


Мастер
****

Группа: Разработчики
Сообщений: 260
Регистрация: 13.7.2007
Из: РФ, Башкирия, Стерлитамак
Пользователь №: 141 375

Рейтинг: 403



в ЕР2 будет возможность отключить загрузку эльфов для предотвращения вечных ребутов изза кривой либы или эльфа в авторуне.
(Пока только для телефонов с three-pole клавиатурой - е398 и пр. На L7e/L9 и др. с two-pole клавиатурой - не реализовано)

ЕП2 умеет "говорить" о проблемах загрузки и пр. (Через консоль)

Сообщение отредактировал tim apple - 26.5.2009, 3:00
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Alesha_Pl
сообщение 22.4.2009, 8:41


Гуру
******

Группа: Почётные мотофаны
Сообщений: 986
Регистрация: 19.5.2005
Из: Россия, г.Петрозаводск
Пользователь №: 42 716
Модель телефона: e398
Прошивка: 49R+EP1+EP2

Рейтинг: 681



Цитата(tim apple @ Сегодня, 10:55)

ЕР2 не заменяет ЕР1 - они спокойно работают совместно
*



Т.е. нам не надо будет сносить первый эльфпак перед установкой второго? И те эльфы, которые уже есть под первый эльфпак не обязательно будет переделывать, они будут продолжать нормально работать?

[ tim apple ] :
сносить ЕР1 не нужно. и есстественно все эльфы под ЕР1 будут и дальше нормально работать под ним.
но эльфы не совместимы между разными ЕР - требуется портация. в простейшем случае - это изменение имен ф-ций лоадера (Ldr* -> ldr*) и необходимые коррективы в параметрах.

авторан, либа и конфиг по умолчанию будут лежать в /b/Elf2.
я думаю ввести некое подобие обратной совместимости - при попытке запустить эльф от ЕР1 он передастся в ЕР1. (Сделано)

Сообщение отредактировал tim apple - 26.5.2009, 2:40
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Alesha_Pl
сообщение 22.4.2009, 9:08


Гуру
******

Группа: Почётные мотофаны
Сообщений: 986
Регистрация: 19.5.2005
Из: Россия, г.Петрозаводск
Пользователь №: 42 716
Модель телефона: e398
Прошивка: 49R+EP1+EP2

Рейтинг: 681



tim apple, т.е. все же чтобы воспользоваться теми эльфами которые есть сейчас, надо будет либо перекомпилировать их (а процесс пока в моем представлении несколько более сложный бедет, хотя может просто кажется так), либо как-то передавать управление первому эльфпаку (что тоже я себе слабо представляю). Или оба эльaпака будут работать одновременно, один со своими эльфами, а другой со своими?

[ tim apple ] :
- компиляция не сложнее - всё прекрасно автоматизируется например батником.
- одновременно, каждый со своими.

tim apple, это порадовало особенно. Значит мы не останемся без нужных эльфов smile.gif

Сообщение отредактировал tim apple - 26.5.2009, 3:04
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
.:DMX:.
сообщение 22.4.2009, 14:25


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

Группа: Пользователи
Сообщений: 35
Регистрация: 6.6.2007
Пользователь №: 137 314
Модель телефона: E398
Прошивка: ДаР 2 тест

Рейтинг: 0



а можете сказать для каких прошивок на Е398 будет выпущен ЕР2 и каков примерно прогресс в процентах готовности ЕР2?

[ tim apple ] :
там где ЕР1 смогли портировать - ЕР2 тоже пойдет (возможно не в полном функционале).

Сообщение отредактировал tim apple - 16.8.2009, 10:38
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 22.4.2009, 14:46


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 530



.:DMX:., EP2 будет выпущен не только для прошивок E398, уже есть работоспособные версии для L9 и L7e. К тому же будут доступны исходники, с ними можно хоть куда портировать
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DDA-E398
сообщение 22.4.2009, 14:49


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

Группа: Пользователи
Сообщений: 372
Регистрация: 12.3.2008
Из: Нижегородская обл.
Пользователь №: 166 356
Модель телефона: E2, A910, Е398, ATRIX2
Прошивка: разные


Настроение:
Роботаю...



Рейтинг: 340



Если, как написано в первом посте, эльфы станут легче, значит и памяти им нужно будет меньше. Я правильно думаю?

[ tim apple ] :
верно. только учтите что уменьшение идет в основном за счет удаления ненужной информации, оставляемой линкером. таких монстров как тюнс это уменьшит незначительно.

Сообщение отредактировал tim apple - 22.4.2009, 15:03
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 22.4.2009, 15:30


0xFFFF
******

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


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



Рейтинг: 1224



Нет, идея постлинкера заключается совсем не в том, чтобы удалять мусор. Это он делает просто "заодно". Основная задача postlink - привести эльф к такому виду, чтобы загрузчик уже на телефоне мог с ним быстро и эффективно работать.


[ tim apple ] :
В закрепленке так и сказано - оптимизирует - просто я не стал объяснять подробнее.
А вопрос был лишь о размере эльфа. Но спасибо за развернутое объяснение =)

Сообщение отредактировал tim apple - 22.4.2009, 15:43
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 22.4.2009, 16:38


0xFFFF
******

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


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



Рейтинг: 1224



Цитата(CrayZor @ Сегодня, 19:34)

юзер сам следит что именно запускает.
*

Проще говоря, в EP1 и EP2 используются различные функции для загрузки эльфов. Вот и всё.

[ tim apple ] :
Обновлено. ЕР2 перенаправляет запуск эльфов от ЕР1 в загрузчик последнего (спасибо, что сделал там через ивент)

Сообщение отредактировал tim apple - 16.8.2009, 10:31
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
CrayZor
сообщение 22.4.2009, 17:26


Мастер
****

Группа: Пользователи
Сообщений: 164
Регистрация: 22.3.2008
Пользователь №: 167 295
Модель телефона: E398, ROKR E1, X2, G100
Прошивка: In development

Рейтинг: 54



Ясно, спасибо за пояснение. Меня интересует такой вопрос, возможна ли на ЕР2 работа с драйвером дисплея напрямую, возможно ли будет подключать отдельные кодеки, и возможно ли будет написать таскменеджер?

Добавлено позже (22.4.2009, 17:28):
Цитата
т.к. либа загружается лишь один раз, а использоваться может несколькими эльфами, то получаем экономию по памяти.
либу можно обновлять независимо от эльфов
увеличивается переносимость эльфов - на каждой платформе/проше либа содержит правильный код. а эльфы одни и теже

А разве на ЕР1 не так?

[ tim apple ] :
- работать с драйвером дисплея напрямую можно и без ЕР2.
- таскменеджер (список запущенных эльфов) уже разрабатывается готов.
- я имел ввиду *.so-либы пользователей. библиотека ф-ций в ЕР2 является so. в ЕР1 фактически аналог.

Сообщение отредактировал tim apple - 16.8.2009, 10:32
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
ElfPack v2.0, начало всеобщего тестирования · Эльфы, их разработка и портирование · Forum
 

46 страниц V  1 2 3 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.3.2024, 2:46

Форум живёт: