Интересное

SE.VO.UZ

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Компиляция Эльфпака
BloodyMessageДата: Вторник, 15.07.2008, 01:33 | Сообщение # 1
Admin
Группа: Главный АДМИН
Сообщений: 169
Статус: В реале
Итак.
Т.к. исходники открыто лежат на svn://svn.boba.su/SE или на зеркале http://perk11.info/svn/SE/, то решил написать небольшой фак по компиляции эльфпака с этих ресурсов.
Для начала заходим на один из этих сайтов и скачиваем содержимое папок ElfPack (со всеми вложенными папками), include, C++ с сохранением расположений и названий папок.
Т.е. у вас должно получится следущее, в одном месте должно находится:

-папка C++ и все ее содержимое
-папка ElfPack и все ее содержимое
-папка include и все ее содержимое

Все файлы, что нужны для компиляции, мы скачали. Теперь нужно скачать чем компилировать. Это берем отсюда:Урезанная IAR
Распаковываем содержимое куда-нибудь (мой путь выглядит так: c:\Program Files\Embedded Workbench 4.0 Evaluation).
Теперь находим файл ElfPack.eww в папке ElfPack и ассоциациируем его для простоты дальнейших действий с IAR, т.е. правой кнопкой на ElfPack.eww -> свойства -> приложения кнопка "Изменить" -> кнопка "Обзор" -> ищем файл в дериктории (в моем случае)c:\Program Files\Embedded Workbench 4.0 Evaluation\common\bin\IarIdePM.exe -> кнопка "открыть" -> кнопка "ОК" -> кнопка "Применить" -> кнопка "ОК"
Далее при двойном клике на ElfPack.eww должно открыться окно программы.
Переходим в меню Project, выбираем пункт Edit Configurations и в диалоговом окне выбираем ту модель телефона с той прошивкой, которую вам нужно, жмем "ОК". Далее заходим все в то же меню Project и выбираем пункт Rebuild All.
Если все хорошо, то внизу в окне с логом будет примерно следующее:

Total number of errors: 0
Total number of warnings: 7

Теперь у вас в папке ElfPack появились еще папки: Debug, settings, W610_R6BC002 (у вас свое), и файл ElfPack.dep.
Заходим в: W610_R6BC002\Exe\ и видим там файл ElfPack.elf
Теперь нам нужно перевести файл ElfPack.elf в формат *.vkp.
Переходим в ElfPack\_Utils. Кидаем в нее файл *.raw от нужной вам прошивки, в моем случае w610_R6BC002.raw, и скомпилированный IAR'ом ElfPack.elf из папки W610_R6BC002\Exe\ (см. выше).
Теперь редактируем блокнотом файл make.bat (в моем случае так):

elf2vkp ElfPack.elf xxx.vkp "C:\Comp\ElfPack\_Utils\w610_R6BC002.raw" 0x44140000
cnv 0x44140000 xxx.vkp out.vkp

Сохраняем его (обращаем внимание на выделенный текст, где 0x44140000 начальный адрес вашей прошивки. Его можно узнать с помощью этой софтины).
Все, теперь если все правильно сделали, остается только двойным кликом щелкнуть по make.bat, и у вас в появится два файла:
out.vkp
xxx.vkp

out.vkp - это и есть эльфпак для вашего тела.
После всего проделанного папки Debug, settings, W610_R6BC002 (у вас свое), и файл ElfPack.dep можно удалить.

Теперь относительно расположения папок ZBin, Deamons, Config, Ini. Для определенных телефонов это расположение может отличаться друг от друга. Но начиная с папки other расположение одинаковое.
Заходим в ElfPack\Target\ и ищем файл с названием вашего телефона и вашей прошивки, в моем случае W610_R6BC002.h.
Открываем его блокнотом и видим примерно следущее (показываю только то, что имеет смысл по данному примечанию):

Code
....
#define PATH_ELF_ROOT_INT     (L"/usb/other")
#define PATH_ELF_ROOT_EXT     (L"/card/other")
#define PATH_ELF_INT          (L"/usb/other/ZBin")
#define PATH_ELF_EXT          (L"/card/other/ZBin")
#define PATH_ELF_DAEMONS_INT  (L"/usb/other/ZBin/Daemons")
#define PATH_ELF_DAEMONS_EXT  (L"/card/other/ZBin/Daemons")
#define PATH_ELF_CONFIG_INT   (L"/usb/other/ZBin/Config")
#define PATH_ELF_CONFIG_EXT   (L"/card/other/ZBin/Config")
#define PATH_INI              (L"/usb/other/ini")
#define PATH_DEFAULT          (L"/usb/other")
....

Это и будет правильное расположение ваших папок.

Готовые эльфпаки, которые автоматом генерируются при любом изменении содержимого на svn://svn.boba.su/SE, можно найти здесь http://justdanpo.cheb.ru/elfpack

Теперь о DB2010. Для работоспособности эльфпака на телефонах на данной платформе, нужно либо полностью ставить патч "Тотальное изменение графики", либо если не ставить, то дополнительно с установкой эльфпака нужно ставить патч, который будет содержать первые четыре строчки патча "Тотальное изменение графики".
Пример для W810 R4EA031 (на примере нужные строки помечены красным цветом):

Code
;W810 R4EA031PORT VERSION ALPHA   
;The replacement of the graphics   
;Version 2 - Startup animation not needed, choices   
;To the choosed directory (def. /usb/other/gfx) save your graphics in XXXX.PNG (def.) / GIF format - depends on choice,   
;where XXXX is the HEX number of the replaced image   
;   
;© Hussein   
;(p) geogriffin   
;(e) Adow   
+44140000   
;   
;Choices: the only one choice in each category could be active (without ";")!!   
;   
;--- Choose the picture format   
15b5672: FFFFFFFF 706E6700 ;png   
;15b5672: FFFFFFFF 67696600 ;gif   
;15b5672: FFFFFFFF 6A706700 ;jpg   
;--- Choose a path for graphics   
;/usb/other/gfx   
15b5676: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2F007500730062002F006F0074006800650072002F006700660078000000   
;/usb/image/gfx   
;15b5676: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2F007500730062002F0069006D006100670065002F006700660078000000   
;/card/sysgfx   
;15b5676: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2F0063006100720064002F00730079007300670066007800000000   
b5e608: BCC7024C CCC7024C   
b5e720: BCC7024C CCC7024C   
b5e690: BCC7024C CCC7024C   
b5e980: BCC7024C CCC7024C   
4249f0: D5BD2A45 B1556F45   
10525d8: 0188EC231B029942 004B184701556F45   
15b5500: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00F040F8EC231B029942014B1847FFFF   
15b5510: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E125194500B5044B002102B405220121   
15b5520: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5EF5C2FA01B000BD48566F4530B583B0   
15b5530: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 04000D000F4900200290684641800022   
15b5540: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 290020000C4B984700280ED101AA6946   
15b5550: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 02A80A4B9847002807D100AB9B1C2A00   
15b5560: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 210068460088064CA0476846408803B0   
15b5570: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 30BDFFFFFFFF0000DD4A5B45D1DD5A45   
15b5580: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 9D7842450188E5231B0299420AD3EC23   
15b5590: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1B02994206D2044B044A1B6849005918   
15b55a0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 895A018001887047BCC7024C0038FEFF   
15b55b0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F3B50A271A4C1B4E8FB007204002FFF7   
15b55c0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A9FF2060E5252D022A003100684600F0   
15b55d0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2FF8684605A902E00A80401C891C0278   
15b55e0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 002AF9D10020088005A930000C30FFF7   
15b55f0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 9DFF0D4A904200D128000C4923686A00   
15b5600: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 9A1850526D1C2D042D0CEC2109028D42   
15b5610: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DAD310990F9800F013F811B0F0BDFFFF   
15b5620: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BCC7024C6D566F45FFFF00000038FEFF   
15b5630: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 08B4024B9C4608BC6047FFFF894EE244   
15b5640: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 004B1847D5BD2A45453A5C4D6F62696C   
15b5650: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 655C6B3735305C4941525C73655C4775   
15b5660: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 69546573745C6D61696E2E6300253034   
15b5670: FFFF 582E

Также, для телефонов на платформе DB2010 надо брать *.raw с замейном, иначе при перегонке ElfPack.elf в *.vkp вылетит ошибка. Замейн в прошивку можно добавить с помощью программы Recovery BIN Lite, инструкция и сама прога находятся здесь. Потом полученный файл уже перегнать в *.raw.

Получить файл *.raw нужной вам прошивки можно с помощью этой софтины. Достаточно перетащить файл вашей прошивки (либо файл полученный с помощью Recovery BIN Lite) на babe2raw.exe, и на выходе рядом со значком программы появится файл *.raw

Вроде все!
И как обычно: Все вышеизложенное вы проделываете на свой страх и риск!

© awg


 
  • Страница 1 из 1
  • 1
Поиск: