motofan logo
12 страниц V « < 8 9 10 11 12 >        
> 

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

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


Мастер
****

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

Рейтинг: 435



Из анонса:
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 мегабайт ) Кол-во скачиваний: 5550

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

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


Сообщение отредактировал Andy51 - 18.8.2011, 7:30
Прикрепленный файл devkitARM_r26_win32.rar   ( 10.36 мегабайт ) Кол-во скачиваний: 5550
Прикрепленный файл EP2_R373_G_0E.30.49R_21.01.2010.zip   ( 163.75 килобайт ) Кол-во скачиваний: 1104
Прикрепленный файл EP2_R373_G_0E.30.79R_21.01.2010.zip   ( 163.77 килобайт ) Кол-во скачиваний: 863
Прикрепленный файл EP2_R452D_G_08.01.0AR_21.01.2010.zip   ( 165.21 килобайт ) Кол-во скачиваний: 913
Прикрепленный файл EP2_R452J_G_08.22.05R_21.01.2010.zip   ( 164.19 килобайт ) Кол-во скачиваний: 943
Прикрепленный файл EP2_R4513_G_08.B7.ACR_21.01.2010.zip   ( 163.94 килобайт ) Кол-во скачиваний: 1026
Прикрепленный файл EP2_R452J_G_08.22.05R_R52.zip   ( 13.3 килобайт ) Кол-во скачиваний: 419
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Pieeer
сообщение 2.4.2010, 6:39


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

Группа: Пользователи
Сообщений: 357
Регистрация: 5.2.2007
Из: Нижний Новгород
Пользователь №: 120 756
Модель телефона: l7e, E2, Е3
Прошивка: 0AR, Maxx E2

Рейтинг: 46.5



Скачал, поставил! Вчера словил два ребута оди раз в калькуляторе нажал варианты потом вверх получил ребут, второй мотоцмд2 перемещаясь по папкам ((

--tim apple: т.е. всё также бессистемно или иначе? при старте рибутит?

--pieeer безсистемно ((( телефон может проработать сутки полтора без ребутов, а потом опять, вчера так и было, телефон примерно сутки работал стабильно, я взял что б набрать *135 итд и как тока нажал один раз на * тел никак не отриагировал нажал еще раз - ушел в ребут((( Взял сейчас телефон, запустил motocmd2 начал перемещаться по папкам - ребут
p/s кстати при старте не ребутил у меня еще не разу грузиться с певого раза

Сегодня motocmd2 ребутит очень часто, смог снять лог - прикрепляю
Прикрепленный файл log.zip   ( 1.69 килобайт ) Кол-во скачиваний: 108

и еще лог ребута в motocmd2 -
Прикрепленный файл log1.zip   ( 1.91 килобайт ) Кол-во скачиваний: 104

ребут при нажатии на звездочку на рабочем столе -
Прикрепленный файл log2.zip   ( 376 байт ) Кол-во скачиваний: 101


Сообщение отредактировал Pieeer - 4.4.2010, 8:27
Прикрепленный файл log2.zip   ( 376 байт ) Кол-во скачиваний: 101
Прикрепленный файл log1.zip   ( 1.91 килобайт ) Кол-во скачиваний: 104
Прикрепленный файл log.zip   ( 1.69 килобайт ) Кол-во скачиваний: 108
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Pieeer
сообщение 4.4.2010, 9:33


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

Группа: Пользователи
Сообщений: 357
Регистрация: 5.2.2007
Из: Нижний Новгород
Пользователь №: 120 756
Модель телефона: l7e, E2, Е3
Прошивка: 0AR, Maxx E2

Рейтинг: 46.5



Надеюсь поможет исправить баги smile.gif

--tim apple: ( к сожалению, ясности не добавило. не понимаю в чем дело. рибуты бессистемные. могу лишь предположить, что как-то связано с хипом...

--pieeer но сборка 53 работала стабильно

Сообщение отредактировал Pieeer - 4.4.2010, 15:29
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Hairo Carela
сообщение 15.4.2010, 2:21


From a Distant Land
***

Группа: Пользователи
Сообщений: 141
Регистрация: 17.8.2009
Из: Dominican Republic
Пользователь №: 204 655
Модель телефона: ZINE Zn5
Прошивка: Qtopia Alpha


Настроение:
(-.-)'



Рейтинг: 230



i Have a question, how can i put plugins on motocmd2 to open files from it???
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 15.4.2010, 9:24


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



Цитата(Pieeer @ 4.4.2010, 12:33) *
--tim apple: ( к сожалению, ясности не добавило. не понимаю в чем дело. рибуты бессистемные. могу лишь предположить, что как-то связано с хипом...

tim apple, с патчем на хип точно не связано, на разных пробывал, всё равно ребуты причём каждый раз в разных местах, такое ощущение, что там где-то лишняя очистка памяти...
как-то можно сопоставить количество выделений и удалений в одной версии и другой?
можешь исходники работающей и следующей за ней в тему выложить? я бы глянул свежим глазом...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Pieeer
сообщение 20.4.2010, 12:13


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

Группа: Пользователи
Сообщений: 357
Регистрация: 5.2.2007
Из: Нижний Новгород
Пользователь №: 120 756
Модель телефона: l7e, E2, Е3
Прошивка: 0AR, Maxx E2

Рейтинг: 46.5



58 ревизия ребутит так же как из поста #384

--tim apple: рибутят все начиная с 54 ревизии ;(

Сообщение отредактировал tim apple - 21.4.2010, 2:58
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zema00
сообщение 20.4.2010, 12:32


Опытный
***

Группа: Пользователи
Сообщений: 112
Регистрация: 19.6.2009
Пользователь №: 201 595
Модель телефона: v3r
Прошивка: d3r

Рейтинг: 35



Напишите пожулуйста как портировать ЕП2 ? crazy.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
tim apple
сообщение 21.4.2010, 3:41


Мастер
****

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

Рейтинг: 435



Владельцы L7e, проверьте этот билд эльфпака на рибуты
Прикрепленный файл R452D_G_08.01.0AR.zip   ( 14.87 килобайт ) Кол-во скачиваний: 115

П.С. применить оба патча
Прикрепленный файл R452D_G_08.01.0AR.zip   ( 14.87 килобайт ) Кол-во скачиваний: 115
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 21.4.2010, 11:38


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



tim apple, сразу после прошивки, пользовался около пяти минут, во время пользования ребутов не заметил, только отложил телефон, пошли ребуты...

после первого ребута, не прошло и минуты, опять ребут...
после ещё пары ребутов, запустился нормально...

иногда ребут при запуске эльфа под еп2, хотя под еп1 запуск всегда без ребутов...

в общем как всегда, непонятно от чего...

после двух запусков подряд, эльфа матрикс, ребут возникает с завидным постоянством...

может конфиг к нему доложи? а то неясно какой ему нужен...

--tim apple: спасибо за тест. идей больше нет. остается только взять 53-54 ревизию и добавлять постепенно изменения.
эх, будь у меня L7e давно бы разобрался... может есть у кого рабочая плата?

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


Мастер
****

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

Рейтинг: 435



еще идея возникла - воспользоваться средством отладки самой моторолы - паник-логи.
по идее при каждой ошибке управление передается паник-логгеру, он записывает дамп во флеш (не помню номер CG) и рибутит телефон.
как минимум в дампе есть адрес, где возникла ошибка. вероятно поможет понять причину.
Andy51, Мачо, объясните как правильно это дело провернуть?

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


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



ну, если это поможет, вечером сделаю...
в принципе, как паник снять, понятно... единственно, что не факт что поможет это...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Pieeer
сообщение 22.4.2010, 11:48


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

Группа: Пользователи
Сообщений: 357
Регистрация: 5.2.2007
Из: Нижний Новгород
Пользователь №: 120 756
Модель телефона: l7e, E2, Е3
Прошивка: 0AR, Maxx E2

Рейтинг: 46.5



rev65 bildЪ 1 не стабилен! Также ребутит при нажатии на звездочку, если телефон долго лежит при нажатии уходит в ребут, на матрикс тоже как получиться то ребут то не ребут
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 22.4.2010, 14:48


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



tim apple, вот что в журнале сохранилось, было десять ребутов, отчётов только шесть... возможно оно повторные не добавляет...
Spoiler:
Журнал сбоев
Num: 0006
Ver: 08.01
ID: 80000012
Time: 16:26:52 04-22
Length: 0017
0a00 0000 0000 0b8d
3e00 0004 0114 9c45
34
------------------------------------------
Журнал сбоев
Num: 0005
Ver: 08.01
ID: 00080460
Time: 16:25:20 04-22
Length: 0209
0a00 0000 0000 048e
aa14 b4df e240 0000
33c7 319a 8614 b4ed
9cff ffff ff60 0404
bc00 0000 0000 0000
0000 0000 0900 0000
0000 0000!
------------------------------------------
Журнал сбоев
Num: 0004
Ver: 08.01
ID: 00080460
Time: 16:24:43 04-22
Length: 0209
0a00 0000 0000 0681
8314 b4df e240 0000
33be a335 ed14 b4ed
9cff ffff ff60 03db
7c00 0000 0000 0000
0000 0000 0300 0000
0000 0000!
------------------------------------------
Журнал сбоев
Num: 0003
Ver: 08.01
ID: 80000012
Time: 16:23:51 04-22
Length: 0017
0a00 0000 0000 0b67
c100 0004 0114 9c47
94
------------------------------------------
Журнал сбоев
Num: 0002
Ver: 08.01
ID: 80000012
Time: 16:22:19 04-22
Length: 0017
0a00 0000 0000 0544
e200 0004 0114 9bc1
d4
------------------------------------------
Журнал сбоев
Num: 0001
Ver: 08.01
ID: 80000012
Time: 16:21:37 04-22
Length: 0017
0a00 0000 0000 110b
9100 0004 0114 9c44
f4
[close]

отчёт надеюсь поможет, из него видно, что...
скажу стихами: от ребута до ребута, не проходит и минута... laugh.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Мачо
сообщение 22.4.2010, 14:59


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

Группа: Легенды MotoFan.Ru
Сообщений: 456
Регистрация: 26.7.2004
Из: Киров
Пользователь №: 8 569
Модель телефона: Е398 (умер), E6
Прошивка: Dream A Reality 2.0
Финалист Конкурса 2010

Рейтинг: 1410



Ихмо в логе одна оперативка, возможно где то утечка памяти либо лишний mem_free
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 22.4.2010, 15:04


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



Мачо, это я уже писал...
Цитата(baat @ 15.4.2010, 12:24) *
tim apple, с патчем на хип точно не связано, на разных пробывал, всё равно ребуты причём каждый раз в разных местах, такое ощущение,
что там где-то лишняя очистка памяти...
точнее сказать, что-то можно?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 22.4.2010, 15:14


0xFFFF
******

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


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



Рейтинг: 1224



tim apple, паники можно смотреть на компе с помощью одной из утилит, идущих с PST. Уже не помню как называется. Но факт в том, что практически всегда, когда дело доходит до паников, место исполнения уже ооочень далеко и глубоко от места, где фактически произошла ошибка. Иногда, когда я писал патчи, ID мог навести на мысли, куда копать, но таких случаев - считанные единицы за всю практику.

Цитата(Мачо @ Сегодня, 18:59)

где то утечка памяти либо лишний mem_free
*


А вот кстати, пришло вдруг в голову. У меня и tim apple стоит патч на таски, который включает переписанные мной suAlloc и suFree, может от этого ещё что-нибудь зависит. С другой стороны, ошибки возникают только у пользователей с lte2...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 22.4.2010, 15:34


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



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

решил попробывать запустить мотоцмд...
мотоцмд на ивент в конфиге висит, но в итоге запускается через раз...
раз в десять или двадцать нажатий открывается... хотя сворачивание и разворачивание консоли, и перезапуск либы, работают с первого раза...
Spoiler:

; ElfPack 2.0 config file

EnableConsole = 1
SilentMode = 0
SkipAutorun = 0

DefLibraryPath = file://b/Elf2/library.bin
AutorunPath = file://b/Elf2/auto.run

; "¦-TЛTБTВTАTЛ¦¦" TН¦¬TМTД
FastRunElf = file://b/Elf2/MotoCMD2.elf
; "¦-TЛTБTВTАTЛ¦¦" ¦¬¦-¦¦¦-TВ, TБ¦-¦-TАTВ = 0x2063
FastRunEvent = 0xA2BBCC

LibsPath1 = file://b/Elf2
LibsPath2 = file://c/libs
LibsPath3 = "file://a/shared libs"
[close]

правда конфиг от старого рабочего еп2, может поэтому?

после первого же запуска эльфа, не стабильно, но начинают проявлятся ребуты...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 10.5.2010, 11:57


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083
Модель телефона: E1, k810
Прошивка: r373_g_0e.30.79r

Рейтинг: 323



tim apple,
Взял исходники 53 и 54 ревизий, первое, что бросается это дугой адресс РАМ. Было 0x145c96c8 0x3e9 uis_data_logger_buffer. Написано, что нужно 0x400 байт рамы, взял эльф эльфпака последней ревизии, проверил, реально нужно меньше 0x200 байт.
Почему поменяли адресс? По-моему это первый претендент на случайные ребуты.
Ты делал билд последней ревизии с другим адресом рамы для тестов? --timapple: да, именно это и проверяли. не в этом дело.

Остальные различия:
- Загрузка/выгрузка динамической либы, метод подсчета реферов либы.


Вопрос: ревизия >53 не работает только на L7e или на всей линейке L7e, K1, Z3?

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


0xFFFF
******

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


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



Рейтинг: 1224



G-XaD, я собирал на z3 с разными адресами и базами ивентов. Эффект нулевой - всё те же ребуты и глючащий будильник.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
harchello
сообщение 11.5.2010, 8:57


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

Группа: Пользователи
Сообщений: 34
Регистрация: 1.12.2008
Пользователь №: 187 435
Модель телефона: Motorola

Рейтинг: 4



Цитата
Вопрос: ревизия >53 не работает только на L7e или на всей линейке L7e, K1, Z3?

k1 rev 65, в целом жалоб нет, работает, инногда matrix.elf, SyncLib.elf, motocmd.elf (при вырезать/вставить) ребутят тело.

Сообщение отредактировал harchello - 11.5.2010, 8:59
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
gordei
сообщение 12.5.2010, 4:46


Мастер
****

Группа: Пользователи
Сообщений: 150
Регистрация: 30.1.2008
Пользователь №: 161 767
Модель телефона: Motorola RIZR Z3
Прошивка: R452B_G_08.02.0DR

Рейтинг: 0



Вопрос: ревизия >53 не работает только на L7e или на всей линейке L7e, K1, Z3?
[/quote]

На z3 пробовал 51,52,53 работают без ребутов, но без будильника - все версии выше 53 без будильника и с беспорядочными ребутами.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 12.5.2010, 9:40


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



gordei, будильник это самое терпимое, на л7е тож с будильником глюки бывают, но не всегда... я в начале думал что это из-за раздельного хипа явы и камеры, но оказалось эльфпак...
G-XaD, я с Carbon с другими адресами собирали и в по другому адресу, эффекта ноль, проблема в коде и во всей линейке... L7e, K1, Z3... на L9 как не странно пролблем нет... хотя казалось бы там их больше должно было появится...

Сообщение отредактировал baat - 12.5.2010, 9:41
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
gordei
сообщение 12.5.2010, 10:31


Мастер
****

Группа: Пользователи
Сообщений: 150
Регистрация: 30.1.2008
Пользователь №: 161 767
Модель телефона: Motorola RIZR Z3
Прошивка: R452B_G_08.02.0DR

Рейтинг: 0



Цитата(baat @ 12.5.2010, 10:40) *

gordei, будильник это самое терпимое, на л7е тож с будильником глюки бывают, но не всегда... я в начале думал что это из-за раздельного хипа явы и камеры, но оказалось эльфпак...
G-XaD, я с Carbon с другими адресами собирали и в по другому адресу, эффекта ноль, проблема в коде и во всей линейке... L7e, K1, Z3... на L9 как не странно пролблем нет... хотя казалось бы там их больше должно было появится...


Самое интересное будильник и на Z3 работает, но на прошивке R452F1_G_08_04.09R. Но там добавляются другие проблемы: патч с увеличенным хипом для эльфов работает как то не правильно. Некоторые эльфы типа mc, jabber начинают давать ребут, блютус через мотосмд перестает работать и еще там чего то было помоему с midtransfer (не видит приложений). Тюнс только от L9 работает. Пробовал в либе найти ошибки, но ничего не нашел, отчаялся и перешел на прошивку 0DR.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
CarbonZyn
сообщение 12.5.2010, 13:31


Гуру
******

Группа: Пользователи
Сообщений: 849
Регистрация: 20.3.2008
Из: Саратов -63
Пользователь №: 167 051
Модель телефона: L7; Е398
Прошивка: Zver 1.4 and DaR 2.х


Настроение:
Все бодрячком=)))



Рейтинг: 281



baat, smile.gif а мне кажется всеравно проблемма в оперативке. я вот сидел на днях эльф патч собирал и вот такое дело случилось оперативки ему дал 2 кб хотя он больше 100 байт не ел... так вот был ребут за ребутом как у тебя на л7е такое чувство что буффер который мы используем используется кем то еще но только частично допустим 10 кб не используется потом 2 кб используется кем то. crazy.gif вообщем скорее всего я написал бред но все же это я заметил даже на чистом рефлеше. smile.gif


№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№
№№Andy51, tim apple, после переноса Рам на л7е ребуты остались значит надо искать дело в коде№№
№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№

Сообщение отредактировал CarbonZyn - 12.5.2010, 18:11
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kai...
сообщение 2.6.2010, 14:26


Мастер
****

Группа: Пользователи
Сообщений: 288
Регистрация: 18.10.2008
Из: Минск, степянкаCITY
Пользователь №: 184 047
Модель телефона: SLVR L7, E398
Прошивка: R4513

Рейтинг: 259



А для ACR и ACR_RB патчи одинаковые?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 2.6.2010, 15:16


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



kai..., ну вообще да, ACR это и есть ACR_RB, но если ты знаешь другие ACR_, не RB, тогда не одинаковые...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Fenja
сообщение 2.6.2010, 16:10


Авторитет
********

Группа: Модераторы
Сообщений: 5 564
Регистрация: 25.8.2008
Из: г. Пенза
Пользователь №: 179 851
Модель телефона: MotoRazr v3i
Прошивка: MotoUpdate v1.1

Рейтинг: 1756



baat,
вот ты загнул.
kai...,
надо по адресам смотреть, ибо бывают отличия в адресах функций.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 2.6.2010, 17:34


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



Fenja, ну чего я загнул? ACR на v360, а ACR_RB на л7... у них прошивки не сильно отличаются, на сколько я знаю, патчи еп2 одинаковые... хотя может и нет... на еп1 точно были одинаковые... прошивки почти идентичны...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 4.6.2010, 12:50


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083
Модель телефона: E1, k810
Прошивка: r373_g_0e.30.79r

Рейтинг: 323



Цитата(CarbonZyn @ 12.5.2010, 16:31)
Andy51, tim apple, после переноса Рам на л7е ребуты остались значит надо искать дело в коде
*

Не факт. На других еп2 работает, harchello пишет, что на к1 работает (на L9 вроде тоже). Хотя L7e, K1, Z3, L9 имеют одинаковые отличия от всех, что зачастую тебует отдельные билды!
Каким образом проходит тестирование? Motocmd2 в авторан на смарт кнопку?
Для запуска эльфов лучше использовать самый простой эльф - sc2elf2, добавлять метки можно через MotoCMD 1.8 (из ЕП1).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
CarbonZyn
сообщение 5.6.2010, 5:31


Гуру
******

Группа: Пользователи
Сообщений: 849
Регистрация: 20.3.2008
Из: Саратов -63
Пользователь №: 167 051
Модель телефона: L7; Е398
Прошивка: Zver 1.4 and DaR 2.х


Настроение:
Все бодрячком=)))



Рейтинг: 281



G-XaD, smile.gif ну как только тестирование не проходит телефон даже потестить не дает эльфы. просто лежит и пошел ребуты гонять штук 20 ребутов потом норм опять пару минут работает и опять ребуты crazy.gif мы с тимом на эту тему общались я начал сравнивать ревизии, но ща чесно забил на это т.к. ЕГЭ на носу 7 математика 11 физика. вот после 11 поковыряю not_i.gif

Добавлено позже (5.6.2010, 5:34):
grin.gif если сдам то поковыряю( helpsmilie.gif

---------------------------------------------------------
grin.gif мне пофигэто не важно я фв танке grin.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 5.6.2010, 10:47


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



CarbonZyn, если бы ты ещё и си знал, хоть немного, в которой собрался ковырятся, цены бы тебе не было)))
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 8.6.2010, 13:51


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



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

не знаю как объяснить...

ну вот, допустим есть двумерный массив какой-то...
int a[11][11];

ты его замолняешь единицами...
for (y=0; y<11; y++) for (x=0; x<11; x++) a[y][x]=1;

и выводишь квадраны на экран...
for (y=0; y<11; y++) for (x=0; x<11; x++) bar(x*3,y*3, 3, 3);

если значение ячейки 1 тогда синий квадрат...
for (y=0; y<11; y++) for (y=0; y<11; y++) {
if SetColorRGB(((a[y][x]==1)?(255):(0)),0,0);
bar(x*3,y*3, 3, 3);}


иногда, перед тем как выйти в ребут, часть квадратов(ячеек массива) содержит случайное значение, хотя заполнены при старте эльфа были правильно... сохраняешь в файл по нажатию на кнопку, там что угодно только не 1...

выходишь из єльфа и при следующем запуске уже ребут...

хотя до этого и после этого, пару сотен раз может запустится без проблем...

может где адресация неправильная? или ещё что-то?

я думаю, если оно не только массив портит, а например стрктуру приложения случайными байтами, тогда приложение не может корректрно завершится, и после чего следующее даёт ребут, из-за того что диалог остался активным или таймер пытается продолжить работать или фокус не удаётся забрать у приложения с повреждённой структурой памяти, например с испорченым указателем на диалог...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 8.6.2010, 15:55


0xFFFF
******

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


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



Рейтинг: 1224



baat, ну хоть какая-то инфа. Но эльфпак вообще говоря трогает память эльфа только когда обращается к структуре ldrElf, которую возвращает _start. Причём обращается только по поводу загрузки/выгрузки нового эльфа, в основном, и вот прям на ровном месте ничего происходить не должно.

Другая догадка - что может происходить переполнение какого-нибудь буфера, что впрочем тоже странно, т.к. на других платформах же не проявляется.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 8.6.2010, 16:29


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083
Модель телефона: E1, k810
Прошивка: r373_g_0e.30.79r

Рейтинг: 323



baat,
Есть вариант: при ребуте резко выдернуть АКБ, подождать пару сек, чтоб тело само не запустилось, включить в дуале и слить RAMу 0x14000000-0x15000000. В ИДЕ леко будет привязаться к глоб. переменным эльфпака и найти эльф.


Цитата(baat @ Сегодня, 16:51)

я думаю, если оно не только массив портит, а например стрктуру приложения случайными байтами, тогда приложение не может корректрно завершится, и после чего следующее даёт ребут, из-за того что диалог остался активным или таймер пытается продолжить работать или фокус не удаётся забрать у приложения с повреждённой структурой памяти, например с испорченым указателем на диалог...
*



Уверен, что таймеры, диалоги и т.п. не при чем. Повреждение данных скорее всего приведет к одному из следующих прерываний:
Код
ROM:00000004                 LDR     PC, =0x100815D4; Неизвестная инструкция
ROM:0000000C; ---------------------------------------------------------------------------
ROM:0000000C                 LDR     PC, =0x100815DC; Отказ считывания команды / Abort
ROM:00000010; ---------------------------------------------------------------------------
ROM:00000010                 LDR     PC, =0x100815E0; Отказ доступа к данным / Abort
ROM:00000014; ---------------------------------------------------------------------------

Эти 3 прерывания напрямую вызывают запись паники и соответственно ребут.

Сообщение отредактировал G-XaD - 8.6.2010, 16:56
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 8.6.2010, 18:36


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



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

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

может это ошибка записи в память? может что-то вызвать невозможность записи в память?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 8.6.2010, 19:25


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083
Модель телефона: E1, k810
Прошивка: r373_g_0e.30.79r

Рейтинг: 323



Цитата(baat @ Сегодня, 16:51)
сохраняешь в файл по нажатию на кнопку, там что угодно только не 1
*

Хотелось бы глянуть... Сомневаюсь что там мусор, скорее чтото значит.
Цитата(baat @ Сегодня, 21:36)
выходишь из єльфа и при следующем запуске уже ребут...
*

Похоже на запись в чужую память. Первым делом я бы проверял код эльфа а ни эльфпака.
Цитата(baat @ Сегодня, 21:36)
вопрос из-за чего данные могут портится в процессе запуска или работы эльфа, как эльфпак может данные подпортить?
*

После загрузки эльфа выполняется:
Код
    // старт эльф, вызов ф-ции _start
    elf = ( (ElfEntry)VIRT2PHYS( *pIElf, pIElf->elfHeader.e_entry ) )( uri, params );

    dbgf( "ELF returned with 0x%X\n", elf );
    
    // Если функция старта вернула указатель на структуру эльфа
    if ( elf != NULL )
    {
        // то выполним инит структуры

        elf->addr = (void*)pIElf->physBase; // физический адрес
        elf->size = pIElf->imageSize; // размер образа эльфа
        elf->app = NULL; // приложение
        elf->link = pIElf->link; // линкока с so либами

        // сделаем строку с папкой эльфа
        i = u_strlen( uri ) - 1;
        while ( i > 0 && uri[i] != L'/' ) i--;

        // выделим память
        elf->dir = suAllocMem( i * sizeof(WCHAR), &err );
        if ( elf->dir )
            u_strncpy( elf->dir, uri, i ); // копируем путь

        // добавляем
        if ( elfListAdd( &loadedElfsList, elf ) )
            ldrSendEvent( eventElfsListChanged );
    }
    else
    {
        //cprint_int( "\x89""ELF loaded but return NULL\n" );
        result = LDR_RESULT_ERROR_RETURN_NULL;
    }

Кста... сейчас пересмотрел код, сразу в глаза бросается что выделили i символов и столько же пишем через strncpy. Функция strncpy небезопасна в принципе (strncpy в вике) . - Ошибка в ЕП2!!!
Нужно писать
Код
        elf->dir = suAllocMem( (i + 1) * sizeof(WCHAR), &err );
        elf->dir[i] = 0;


Но это не должно приводить к ребуту. Возможно будут ошибки при определении папки, откуда был запущен эльф.

Цитата(baat @ Сегодня, 21:36)
и почему при их порче не происходит ребут?
*

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


Цитата(baat @ Сегодня, 21:36)
может это ошибка записи в память? может что-то вызвать невозможность записи в память?
*

Попытка записи в ReadOnly или несуществующие адреса на нептуне вызывает прерывание "Отказ доступа к данным" и естественно ребут.

Добавлено позже (8.6.2010, 22:28):
А используемая структура ldrElf совместима с ЕП2 53 ревизии? Может она изменилась с тех пор.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
baat
сообщение 8.6.2010, 20:17


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



Цитата
Похоже на запись в чужую память. Первым делом я бы проверял код эльфа а ни эльфпака.

G-XaD, ну если єльф ребутит раз в сто или двести запусков и только на л7е, причём может с десятого а может с тристо двадцать пятого? єто точно єльф виноват? єто на 53... на новой постоянно шлак в памяти и ребуты... только на 53 изредка... на е398 например нет такого, в том же эльфе... а на л7е во всех эльфах с разным постоянством происходит...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 8.6.2010, 20:19


0xFFFF
******

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


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



Рейтинг: 1224



Цитата(G-XaD @ Вчера, 23:25)

А используемая структура ldrElf совместима с ЕП2 53 ревизии? Может она изменилась с тех пор.
*


ldrElf не менялся с 42 ревизии.

Цитата(G-XaD @ Вчера, 23:25)

Ошибка в ЕП2!!!
*


Пофиксено.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
zeDDer
сообщение 9.6.2010, 0:21


mCore hacker
*****

Группа: Разработчики
Сообщений: 474
Регистрация: 27.6.2007
Из: Беларусь, Слуцк
Пользователь №: 139 587
Модель телефона: V3x
Прошивка: У вас такой нет)
Финалист Конкурса 2010

Рейтинг: 500



Извините что чуть чуть не по теме. Портирую фичи из еп2 в еп для Rainbow POG.
Ковырялся в сорцах и нарвался на один момент. В ф-ции поиска эльфа в списке запущенных ldrFindElf, используется ф-ция сравнения имён namecmp.

Код

UINT32 namecmp( const char * str1, const char * str2 )
{
    UINT32 i=0;
    
    if ( !str1 || !str2 ) return 1;
    
    while( str1[i] == str2[i] )
    {
        if(str1[i++] == 0) return 1;
    }
    return 0;
}


Судя по условию if ( !str1 || !str2 ) return 1;, получается, что если в эльфе не проинитить поле name (NULL) структуры и запустить эльф, то следующий (ещё не запущенный) эльф запустить будет невозможно. При запуске очередного эльфа, при поиске его в списке запущенных, namecmp вернёт 1 (нарвётся на NULL), мол эльф уже загружен.
Собственно вопрос: этот момент как-то обрабатывается?

Сообщение отредактировал zeDDer - 9.6.2010, 0:22
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
G-XaD
сообщение 9.6.2010, 6:59


Мастер
****

Группа: Разработчики
Сообщений: 171
Регистрация: 6.11.2007
Из: Donetsk City / Ukraine
Пользователь №: 153 083
Модель телефона: E1, k810
Прошивка: r373_g_0e.30.79r

Рейтинг: 323



zeDDer,
Получается что так. Только в этом виноват не эльфпак, а неправильно написанный эльф.
По поводу namecmp я не понимаю смысл этого велосипеда. Чем не нравится strcmp из исходников Linux?
Код
/**
* strcmp - Compare two strings
* @cs: One string
* @ct: Another string
*/
int strcmp(const char * cs,const char * ct)
{
    register signed char __res;

    while (1) {
        if ((__res = *cs - *ct++) != 0 || !*cs++)
            break;
    }

    return __res;
}

Проверять правильность аргументов не является задачей этой функции, да и читать с адреса 0x00000000 (IROM) можно. Если мне нужна какаята стандартная строковая функция я обычно из исходников линукса беру.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 10.6.2010, 10:04


0xFFFF
******

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


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



Рейтинг: 1224



baat, появились три вопроса:
1) Ты сравнивал конкретно 53 и 54 ревизию? Если нет, может стоит сделать билды, как с 51-52?
2) У тебя дебаг-версия эльфпака? Если ребуты происходят только при загрузке нового эльфа - нужно снять лог.
3) Тут ещё говорили про ребуты на ровном месте - такое наблюдается? На новых ревизиях? На 53? На ещё более старых такое было?

Цитата(zeDDer @ Вчера, 4:21)

Судя по условию if ( !str1 || !str2 ) return 1;, получается, что если в эльфе не проинитить поле name (NULL) структуры и запустить эльф, то следующий (ещё не запущенный) эльф запустить будет невозможно.
*


Пофиксил. Теперь 0 возвратит.

Цитата(G-XaD @ Вчера, 10:59)

По поводу namecmp я не понимаю смысл этого велосипеда.
*


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

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

12 страниц V « < 8 9 10 11 12 >
Ответ в темуСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 22.7.2025, 12:04

Форум живёт: