Итак.
Т.к. исходники открыто лежат на
svn://svn.boba.su/SE (используйте guest/guest для авторизации) или на зеркале
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.vkpout.vkp - это и есть эльфпак для вашего тела.
После всего проделанного папки
Debug,
settings,
W610_R6BC002 (у вас свое), и файл
ElfPack.dep можно удалить.
Теперь относительно расположения папок
ZBin,
Deamons,
Config,
Ini. Для определенных телефонов это расположение может отличаться друг от друга. Но начиная с папки other расположение одинаковое.
Заходим в
ElfPack\Target\ и ищем файл с названием вашего телефона и вашей прошивки, в моем случае
W610_R6BC002.h.
Открываем его блокнотом и видим примерно следущее (показываю только то, что имеет смысл по данному примечанию):
Это и будет правильное расположение ваших папок.
Готовые эльфпаки, которые автоматом генерируются при любом изменении содержимого на
svn://svn.boba.su/SE, можно найти здесь
http://justdanpo.cheb.ru/elfpackТакже, для телефонов на платформе
DB2010 надо брать
*.raw с замейном, иначе при перегонке
ElfPack.elf в
*.vkp вылетит ошибка. Замейн в прошивку можно добавить с помощью программы
Recovery BIN Lite, инструкция и сама прога находятся
здесь. Потом полученный файл уже перегнать в
*.raw. Для телефонов на платформе
A2 (только на тех, на которых
ElfPack устанавливается сразу в 2 файла:
phone_app.cxc и
phone_emp_app.cxc) надо брать
*.raw или
*.cxc (не знаю имеет ли значение формат файла) в котором будут совмещены должным образом 2 файла (что значит должным образом? Обратите внимания на адреса с которых начинаются и которыми заканчиваются эти файлы
),
phone_app.cxc и
phone_emp_app.cxc, а также в конце этого файла должны присутствовать зануленная область, достаточная для того, чтоб до нее дотянулись адреса и разместился сам патч
ElfPack'а, иначе при перегонке
ElfPack.elf в
*.vkp возможно вылетит ошибка и патч скомпилируется не полностью.
Получить файл
*.raw нужной вам прошивки для телефонов на платформах DB20xx можно с помощью
этой софтины. Достаточно перетащить файл вашей прошивки (либо файл полученный с помощью
Recovery BIN Lite) на
babe2raw.exe, и на выходе рядом со значком программы появится файл
*.rawТакже перегнать файл
Elfpack.elf в формат *.vkp можно несколько проще, за что говорим спасибо
INFerno--.
INFerno--Для компиляторщиков, сделал elf2vkp специально для SE, не каких махинаций с замейном на DB2010 делать не надо, автоматически добавляется модель телефона и версия прошивки в выходной файл, так же можно добавлять комментрарии из файла, прошивка используется BABE, а не RAW, базы тоже вводить не надо.
Usage: elf2vkp.exe elfname.elf main.mbn [comment.txt]
elfname.elf - Собственно сам эльф
main.mbn - Файл прошивки (BABE)
comment.txt - Файл с комментариями (можно не указывать)
elf2vkp.zipи ещё одна версия конвертора -
elf2vkpex (
краткое описание)
Вроде все!
И как обычно:
Все вышеизложенное вы проделываете на свой страх и риск!Автор: ©
awg