Все для Sony Ericsson, патчи, эльфы, моддинг, прошивка
Логин: Пароль: Запомнить: Привет гость! Зарегистрируйся или авторизируйся для получения доп. возможностей!
Разделы
PDA версия сайта
Новости
Статьи
Файлы
Патчи
Патчи 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
Сообщений: 3279
Репутация: 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
Сообщений: 3279
Репутация: 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
Сообщений: 3279
Репутация: 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
Репутация: 1422





 
  #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
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




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

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




promt is better than google translate

Legas


Expert


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





 
  #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
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




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

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




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

Legas


Expert


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





 
  #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
Сообщений: 3279
Репутация: 10763
Откуда: Чебоксары




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

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




promt is better than google translate

den_po


Developer/Admin


Регистрация: 27.3.06
Сообщений: 3279
Репутация: 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
Сообщений: 3279
Репутация: 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.03 секунд | 11 Запросов | HTML: 49.49 КБ -