Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
Новости
Статьи
Файлы
Патчи
Патчи A2
Патчи db2020
Эльфы
Исходники эльфов
Wiki
Форум
Обратная связь
Развернуть/Свернуть
 
Развернуть/Свернуть

ARMPC : Патчестроение : Патчи : Форум : Для Sony Ericsson патчи эльфы моддинг прошивка
/  Список форумов
   /  Патчи
      /  Патчестроение
   /  ARMPC
На печать 
Правила 
Страница 5 из 11: « 1 2 3 4 [5] 6 7 8 9 ... 11 »

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #41 [08.11.09, 19:13] ARMPC   

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

ARM Patch Compiler - набор для компиляции патчей. Делал я его для себя, делал так, как удобно работать мне.
В качестве компилятора в пакете используется FASMARM. Обновления и исходники можно взять на http://arm.flatassembler.net/ (следует учесть, что компилятор в armpc может отличаться от того, что на официальном сайте).

Дальше пойдёт набор бессвязных фактов =)

- Многие не знают, но fasmarm вполне можно использовать и вне armpc, он даёт на выходе бинарник.

- make.bat с давних пор нужно передавать максимум два параметра - имя исходника и имя raw/cxc файла. Базовый адрес передавать не нужно, он определяется автоматически. Если внутри make.bat указать полное имя наиболее часто используемого raw/cxc файла, при запуске make.bat достаточно указать только имя исходника.

- Файл x.inc содержит описания макросов. ADR и MOVL - это не команды, это макросы. Некоторые ключевые слова в x.inc заменяются на макросы (code16, code32, ldr, org), поэтому комплияция со включением x.inc и без него даёт разный результат.

- Макросы в fasmarm, в отличие от команд, регистрозависимы. Макросы ldr/code16/code32/movl продублированы и в верхнем регистре, а вот org нет. Поэтому если вы собираете патч, используйте org, а если вы хотите получить простой бинарник, вам нужен ORG.

- В исходниках можно использовать переменные системного окружения (свойства системы, дополнительно, переменные среды). Для себя я добавил переменную FASMINC, в значении которой указал полный путь к каталогу, где лежит armpc (помните, для вступления действия в силу иногда может потребоваться перезагрузка). Так можно компилировать исходники, лежащие в любых папках, без указания полного пути к x.inc.
Код:
include "%fasminc%\x.inc"


FAR+ARMPC
Мало кто использует FAR Manager в повседневности, а вот я в нём постоянно. И компиляцию запускаю из FAR так, как мне удобно. А конкретней - простое нажатие enter на исходнике собирает патч для z610, нажатие ctrl+pgdn выдаёт меню со списком прошивок, для которых будет собираться патч. Делается оно легко:

f9 -> commands -> file associatoins -> ins -> маска файла *.asm -> описание какое вам нужно -> нужная команда на выполнение для enter и ctrl+pgdn.

У меня команды выглядят примерно так:
Код:
make.bat "!.!" C702_R3EF001

или для ручного ввода имени таргета:
Код:
make.bat "!.!" !?$armpc$target?Z610_R6DA001!

Нужно учесть, что если для типа файла есть только одно действие (как у меня на enter), то оно выполняется молча, а если несколько разных (ассоциация с *.asm добавлена несколько раз, команды на выполнение для ctrl+pgdn отличаются), то показывается меню.

В последней версии armpc компилятор чуть поправлен:
- теперь он понимает movs/cmps/adds и прочие "s" в thumb безо всяких макросов (arm режим в патчах используется нечасто, но кто-то мог допустить ошибку, убирая s у арм-команд);
- ldr и adr работают с адресами без скобок, макрос для этого больше не нужен;
- du в качестве аргумента должны подаваться строки в utf8 (т.е. сам исходник при этом должен быть сохранен в utf8 без BOM).

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

Скачать текущую версию


Про использование ещё раз: 
маска файла *.asm -

[ Редактировано den_po в 28.5.15 13:50 ]




promt is better than google translate
Спасибо сказали: UltraShot, -DeJaVu-, 273308715, MNS81, MahmudS, DuXeN0N, Olegat0r, ipod, Se-MaG, Slawwan, Ax, JohnNorth, Zormax, SEVENI, Alex1992, MAVER145, PRO100light, vodoo999, Blend, Alex_E, Oganyan-Arthur, TahaSpawn, BigHercules, Therion, Pixel, russ123, H0sseiN, KIBER-DEMON, Melodic_Death, clisto, Vov4ик, farid, LiNkMaN, a6b6

pavelsh


Expert


Регистрация: 1.3.09
Сообщений: 195
Репутация: 542
Откуда: Ижевск




 
  #42 [16.04.11, 14:29] Re: ARMPC   

 
MiFa, Umieść w Код:
if %firmwares%a==a set firmwares=*folderze z firmware*
set target=*pozostaw puste*




T700 R3EG004
Спасибо сказали: MiFa

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #43 [16.04.11, 16:55] Re: ARMPC   

 
MiFa пишет:
i still can't use last version.
Now i have
Код:
D:\armpc>make patchw902.asm w902.cxc
target = w902.cxc
flat assembler for ARM version 1.69.25 (1711227 kilobytes
5 passes, 1232 bytes.
elf2vkpex by den_po v1.01 (Feb 19 2011)
unable to read 'D:\svn\auto\nightbuilds\data\w902.cxc.raw'

Can someone explain me, what i do wrong?

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




promt is better than google translate

iksrman


Пользователь


Регистрация: 25.10.09
Сообщений: 88
Репутация: 915
Откуда: Братск




 
  #44 [19.04.11, 05:14] Re: ARMPC   

 
Че то совсем не въезжаю... Лог:
Код:
target = C510_R1HA035_MAIN_GENERIC_KT_RED53 ;(имя папки с файлами прошивки)
flat assembler for ARM  version 1.69.25  (886480 kilobytes memory)
5 passes, 1072 bytes.
elf2vkpex by den_po v1.01 (Feb 19 2011)
unable to read 'D:    arget\C510_R1HA035_MAIN_GENERIC_KT_RED53.raw'

В папке с компилятором появляется только temp.bin



awg


Patcher/Moder


Регистрация: 10.1.08
Сообщений: 604
Репутация: 2844
Откуда: г.Владимир




 
  #45 [19.04.11, 08:02] Re: ARMPC   

 
а чо непонятного, не может прочитать этот файл D:\target\C510_R1HA035_MAIN_GENERIC_KT_RED53.raw




К550->W610->K700->C901->Xperia Sola->Meizu MX2->Meizu M3 Note->Xiaomi Redmi Note 4x (Mido)->Redmi Note 7Pro (Violet)

iksrman


Пользователь


Регистрация: 25.10.09
Сообщений: 88
Репутация: 915
Откуда: Братск




 
  #46 [19.04.11, 08:36] Re: ARMPC   

 
А почему не может? Извлекал из mbn с помощью read3150_0.7. Phone_app.cxc к примеру получился рабочий... Причем в логе компилятор по очереди пишет что не может прочитать то raw то mbn то phone_emp_app.cxc. Все файлы в соответствующей папке присутствуют.



awg


Patcher/Moder


Регистрация: 10.1.08
Сообщений: 604
Репутация: 2844
Откуда: г.Владимир




 
  #47 [19.04.11, 09:21] Re: ARMPC   

 
мдя. Ты лучше расскажи мне че ты пытаешься компилировать патч? Тем что здесь выложено?
Если да, то читай пока не дойдет




К550->W610->K700->C901->Xperia Sola->Meizu MX2->Meizu M3 Note->Xiaomi Redmi Note 4x (Mido)->Redmi Note 7Pro (Violet)

iksrman


Пользователь


Регистрация: 25.10.09
Сообщений: 88
Репутация: 915
Откуда: Братск




 
  #48 [19.04.11, 11:18] Re: ARMPC   

 
Тем что выложено. Уже каждую букву изучил. Судя по всему решение в посте #24... В make.bat вписал Код:
 if %firmwares%a==a set firmwares=D:    arget
set target=C510_R1HA035_MAIN_GENERIC_KT_RED53

Видимо еще что то нужно. А что - не пойму.



den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




 
  #49 [19.04.11, 11:23] Re: ARMPC   

 
24 пост содержит всю необходимую инфу. единственное, что можно добавить — mbn от а2 пакет не хавает. но и это я вроде упоминал в топике.




promt is better than google translate

iksrman


Пользователь


Регистрация: 25.10.09
Сообщений: 88
Репутация: 915
Откуда: Братск




 
  #50 [19.04.11, 11:46] Re: ARMPC   

 
Спасибо.Все решил. Нужно было всего лишь то удалить из таргета mbn и raw файлы.


Добавлено 19.4.11 19:33

Правда теперь почему то исходники через один компилятся. Хотя скачал их из соответствующей ветки, просто чтоб потренироваться. В логе никаких ошибок, а патч не появляется. В чем может быть проблема? Видимо в самих исходниках?


Добавлено 20.4.11 22:36

Код:
target = C510_R1HA035
flat assembler for ARM  version 1.69.25  (922581 kilobytes memory)

это в логе. А патч то почему не появляется?

[ Редактировано iksrman в 20.4.11 22:39 ]



pavelsh


Expert


Регистрация: 1.3.09
Сообщений: 195
Репутация: 542
Откуда: Ижевск




 
  #51 [21.04.11, 13:41] Re: ARMPC   

 
iksrman, в исходнике была бы проблема, компилятор бы тоже об этом сообщил. Копайся в make.bat и его адресах еще. И лучше не подстраиваться на то, что там есть, а менять путь на свой. Да и target лучше пустым оставить, в firmwares поставить путь до папки, где лежит файл проши.




T700 R3EG004
Страница 5 из 11: « 1 2 3 4 [5] 6 7 8 9 ... 11 »



  • Поиск
  • Права
Вы не можете начинать темы.
Вы не можете редактировать свои сообщения.
Вы не можете создавать опросы.
Вы не можете вкладывать файлы в сообщения.
Вы не можете отвечать на сообщения.
Вы не можете удалять свои сообщения.
Вы не можете голосовать.

Главная Новости Статьи Файлы Патчи Форум Опросы PDA
- Генерация страницы: 0.02 секунд | 10 Запросов | HTML: 46.71 КБ -