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

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

den_po


Developer/Admin


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




 
  #71 [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

den_po


Developer/Admin


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




 
  #72 [04.04.12, 09:15] Re: ARMPC   

 
Legas2 пишет:
-решены множественный проблемы с пробелами в путях/именах файлов (и, возможно, со включенным UAC)
-улучшена возможность компиляции патчей, находящихся в папке, отличающейся от рассположения make.bat

этих проблем нет. все имена с пробелами должны передаваться батнику с кавычками. для подключения x.inc из любой папки строчка с инклюдом может выглядеть так: Код:
include "%fasminc%\x.inc"
дописать несколько лишних символов недолго.


Известные проблемы (RUS):
-кодировки текста: консоль использует OEM кодировку, соответственно в логе все специфичные для языков буквы, будут выглядеть странно :).

chcp 866


-при использовании FASMARM пакета, патч будет генерироваться для каждого cxc файла. В mp.exe нету/плохо реализована проверка на ошибки, поэтому определяйте сами какой из полученных патчей правильный :)

делать нечего :D

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




promt is better than google translate

den_po


Developer/Admin


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




 
  #73 [04.04.12, 16:47] Re: ARMPC   

 
Legas2 пишет:
этих проблем нет. все имена с пробелами должны передаваться батнику с кавычками

должны, но в оригинале, например:
Код:
if exist %firmwares%\%target%\phone_emp_app.cxc

Код:
  echo ;%target% >%2.%target%%3.vkp


ох ты ж блин :D а я только пути с исходниками проверял :D

для подключения x.inc из любой папки строчка с инклюдом может выглядеть так:

об этом ты уже писал в этой теме, с примером добавления fasminc в "системные переменные" :)

в системное окружение, кстати, необязательно совсем. батничек при отсутствии переменной сам создаёт её

chcp 866

только для русской винды как я понел, тк в гугле я нашёл вопросы по поводу другой кодировки.

не думаю

Ещё неплохо бы, чтоб пришли к общему мнению по поводу хранения описания патча в формате elf. Пример: <patch_in_iar>\description.txt - тогда такой файлик можно будет тоже добавить в шапку патча при конвертации в elf2vkp

не вижу смысла

И, может есть более-менее общепринятое название переменной для хранения библиотек (асм)?

опять же, не вижу смысла. достаточно %fasminc% и %target%




promt is better than google translate

Legas


Expert


Регистрация: 30.4.09
Сообщений: 444
Репутация: 1407





 
  #74 [11.04.12, 17:56] Re: ARMPC   

 
заметил тут что современный компилятор неочень дружит с ошибками asm.
Вот, к примеру, "древний" компилятор выдаёт корректные предупреждения в случае отсутствия выравнивания, и попытке совершить переход (BL) за пределы. Новый же компилятор утверждает что наш процессор не совместим с некоторыми инструкциями....




improved make.bat (armpc)
--
Sе C902 SW-R3EG004 AO
Sе w995 SW-R1HA035
k800, k850, c510, c905, w880, w910, w705, w715, j105
j20 cid81

den_po


Developer/Admin


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




 
  #75 [11.04.12, 22:26] Re: ARMPC   

 
Legas2, всё правильно. потому что некоторым семействам процессоров arm пофиг на выравнивание.




promt is better than google translate

Legas


Expert


Регистрация: 30.4.09
Сообщений: 444
Репутация: 1407





 
  #76 [11.04.12, 22:43] Re: ARMPC   

 
может можно как-то улучшить ситуацию, ведь мы знаем что нашему не пофиг?




improved make.bat (armpc)
--
Sе C902 SW-R3EG004 AO
Sе w995 SW-R1HA035
k800, k850, c510, c905, w880, w910, w705, w715, j105
j20 cid81

den_po


Developer/Admin


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




 
  #77 [12.04.12, 00:50] Re: ARMPC   

 
Legas2, тему перечитай




promt is better than google translate
Спасибо сказали: a6b6

Legas


Expert


Регистрация: 30.4.09
Сообщений: 444
Репутация: 1407





 
  #78 [12.04.12, 02:28] Re: ARMPC   

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




improved make.bat (armpc)
--
Sе C902 SW-R3EG004 AO
Sе w995 SW-R1HA035
k800, k850, c510, c905, w880, w910, w705, w715, j105
j20 cid81

den_po


Developer/Admin


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




 
  #79 [12.04.12, 02:29] Re: ARMPC   

 
Legas2, читай, блин




promt is better than google translate

den_po


Developer/Admin


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




 
  #80 [10.07.12, 23:16] Re: ARMPC   

 
пересобрано с fasm 1.70.03 и fasmarm 1.27.
в прошлой версии было поломано конвертирование из utf8 в исходниках, в последней исправлено (косяк не мой)


Добавлено 11.7.12 00:37

ну вот, поспешил =)
ерунду с пробелами, что хотел выложить, забыл, да и патч на скобки устарел. буду исправлять.


Добавлено 11.7.12 00:48

проблема не в патче. пойду автора пинать.


Добавлено 11.7.12 01:12

кому нужен старый екзешник, вот версия 1.25 http://justdanpo.cheb.ru/temp/FASMARM.EXE




promt is better than google translate
Спасибо сказали: Metaler, Therion, MAVER145, Boysie

den_po


Developer/Admin


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




 
  #81 [12.07.12, 22:55] Re: ARMPC   

 
пересобрано с fasmarm 1.28. тестируйте.




promt is better than google translate
Спасибо сказали: Vov4ик, a6b6
Страница 8 из 11: « 1 ... 4 5 6 7 [8] 9 10 11 »



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

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