nvoid
Expert
Регистрация: 29.11.07 Сообщений: 1375 Репутация: 380
#421 [28.12.07, 11:46] Создание Эльфов
Предлагаю создать тему, посвященную созданию Эльфов. Думаю, удобнее будет собрать ссылки, посвященные Эльфам, в одной теме, а не оффтопить в разных...
Список функций находится в файле *.lib.vkp
Ссылки: ∙
Описание некоторых функций в Wiki ∙
Созадние ELF под Siemens ∙
Создание ELF под Siemens (здесь больше) ∙
Урезанная IAR ∙
Патч для IAR ∙
Учебник по СИ ∙
Основы программирования эльфов SVN :
∙
TortoiseSVN (программа для работы с SVN) ∙
svn://svn.boba.su/ARM -
Зеркало (http mirror) Siemens SVN
∙
svn://svn.boba.su/SE -
Зеркало (http mirror) Sony Ericsson SVN
для доступа на svn используйте guest/guest
Другие темы :
Вопросы о СИ (языке) Исходники Эльфов Компиляция ЭП Уроки :
Создание простого эльфа Фонарик от arban.
Создание GUI от arban:
часть 1 ,
часть 2 .
---------------------------------------------
elfcheck - простая прога, которая проверяет, используются ли в эльфах (включая эльфлоадер) функции, которых нет в либе.
simple tool which checks whether there are functions used in elfs (including elfloader) that are not included in library.
Q: How use elfcheck?
Q: Как использовать?
R: Look this page
here saveevents.elf - сохранение евентов (EVENT)
(c)
den_po ---------------------------------------------
Шаблоны эльфов для IAR Некоторые полезные для разработчиков шаблоны эльфов.
На данный момент имеются:
1) Пустой эльф
2) Пустой эльф со своей книгой
3) Эльф-рисовальщик на главном экране
4) Эльф для RegFile (по сути - пустой эльф, но с дополнительными входными параметрами)
5) Эльф с графическим интерфейсом - списком
6) Эльф-патч, который можно конвертировать в *.vkp при помощи elf2vkp
Установка: скопируйте содержимое архива в IAR\ARM\config\template\
Использование: Project->New project->Elf SDK->Нужный шаблон
(C)
UltraShot ---------------------------------------------
Раздел в Wiki, посвященный созданию эльфов
Прикрепленный к сообщению файл: elfcheck.rar (
32.56 kb; 1014 hits)
Скачать файл saveevents.elf (
1.13 kb; 439 hits)
Скачать файл iar_templates.zip (
114.52 kb; 720 hits)
Скачать файл
Motorola EM30
Спасибо сказали: pahon, Zormax, scorpion1616, Evil-Racer, Alex_E, avens, DuMOHsmol, TahaSpawn, vodoo999, Alex1992, ELECTRO-NIC, JohnNorth, HotRabbit, ENSAIER, Olegat0r, scorpion16_Richi, Oganyan-Arthur, Melodic_Death, toha257, farid, mugen, VovanLS, blacklizard, ZuZiK aka pavelsh, Metaler, Atreyu, Nook, Vov4ик, KnoonK, a6b6
axJeSSter
Вникающий
Регистрация: 3.5.08 Сообщений: 48 Репутация: 6
#422 [10.06.08, 21:52] Re: Создание Эльфов
Ладно, ну ее яву, но хотябы небольшой пример можно? Чисто для общего развития
З.Ы. Хотя нет яву я запорол чуть раньше
Все спасибо всем я разобрался
А не подскажете ли какой функцией можно отсканировыать всю папку на количество файлов и скопировать их в другое место(ну или попроще: как скопировать ПАПКУ.)
[ Редактировано axJeSSter в 12.6.08 10:00 ]
w810 R4EA031
ShonE
Новичок
Регистрация: 7.2.08 Сообщений: 12 Репутация: -2
#423 [12.06.08, 16:12] Re: Создание Эльфов
Хочу под себя переделать missed (den_po) Застрял на обьявлении константы const PAGE_MSG evtlist[] @ "DYN_PAGE"= { ELF_TERMINATE_EVENT ,onExit, ELF_SHOW_INFO_EVENT ,onAbout, ON_CALLMANAGER_EVENT_TAG,OnCallManagerEvent, NIL_EVENT_TAG ,NULL }; не соответствие типов Error[Pe144]: a value of type "int (*)(void *, BOOK *)" cannot be used to initialize an entity of type "int *" C:\IAR\Missed\missed.c 217 Svn самый последний Подскажите что не так
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#424 [12.06.08, 17:41] Re: Создание Эльфов
ShonE не с константами у тебя проблема, ты объявление функции поломал
promt is better than google translate
ShonE
Новичок
Регистрация: 7.2.08 Сообщений: 12 Репутация: -2
#425 [12.06.08, 17:43] Re: Создание Эльфов
а как надо ...
axJeSSter
Вникающий
Регистрация: 3.5.08 Сообщений: 48 Репутация: 6
#426 [12.06.08, 19:09] Re: Создание Эльфов
Подскажите, что я делаю неправильно. Папка не удаляется
Код:
#include "..\\include\Lib_Clara.h" #include "..\\include\Dir.h" u16 * dir0 = 0; void elf_exit(void) { kill_data(&ELF_BEGIN, (void(*)(void*))mfree_adr()); } int GetSettings() { int file; FSTAT fstat; if (isFileExist(GetDir(DIR_INI), (u16*)L"cleanfs.ini", &fstat) == 0) { if ((file = _fopen((u16*)L"/usb/other/ini/", (u16*)L"cleanfs.ini", 0x1, 0x180, 0)) >= 0) { char * buffer = new char[fstat.fsize + 1]; buffer[fread(file, buffer, fstat.fsize)] = 0; char * param; if (param = manifest_GetParam(buffer, "[DIR0]", 0)) { dir0 = new u16[strlen(param) + 1]; str2wstr(dir0, param); mfree(param); } mfree(buffer); } fclose(file); return 1; } return 0; } int main(u16 *exename,u16 *filename) { GetSettings(); rmdir(dir0, 0); SUBPROC(elf_exit); return(0); }
w810 R4EA031
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#427 [12.06.08, 19:10] Re: Создание Эльфов
ShonE книжки по си почитай сначала. потом попробуй собрать проект с свн без изменений.
promt is better than google translate
axJeSSter
Вникающий
Регистрация: 3.5.08 Сообщений: 48 Репутация: 6
#428 [12.06.08, 19:21] Re: Создание Эльфов
den_po а про функу rmdir можно забыть? и искать другую?
w810 R4EA031
UltraShot
Developer/Moder
Регистрация: 21.5.07 Сообщений: 1729 Репутация: 1827 Откуда: Санкт-Петербург / Череповец
#429 [12.06.08, 19:38] Re: Создание Эльфов
axJeSSter ты хоть сначала проверь МессэджБоксом, что тел у тебя правильно путь к папке получает
(u16*)L"/usb/other/ini/"
попробуй ГетДиром всё-таки путь брать - точнее будет
axJeSSter
Вникающий
Регистрация: 3.5.08 Сообщений: 48 Репутация: 6
#430 [12.06.08, 19:57] Re: Создание Эльфов
UltraShot А если вот так:
Код:
u16 * dir0 = 0;// папка u16 * fn0 = 0;//имя файла ... if (isFileExist(GetDir(DIR_INI), (u16*)L"cleanfs.ini", &fstat) == 0) { if ((file = _fopen(GetDir(DIR_INI), (u16*)L"cleanfs.ini", 0x1, 0x180, 0)) >= 0) { char * buffer = new char[fstat.fsize + 1]; buffer[fread(file, buffer, fstat.fsize)] = 0; char * param; if (param = manifest_GetParam(buffer, "[DIR0]", 0)) { dir0 = new u16[strlen(param) + 1]; str2wstr(dir0, param); mfree(param); } if (param = manifest_GetParam(buffer, "[FNAME0]", 0)) { fn0 = new u16[strlen(param) + 1]; str2wstr(fn0, param); mfree(param); } mfree(buffer); } fclose(file); return 1; } return 0; } int main(u16 *exename,u16 *filename) { GetSettings(); FileDelete(dir0, fn0, 0); return(0); }
А здесь тогда что? Не работает всеравно
Может сдесь ошибка в объявлении переменных или когда берешь значение из ини файла
Компилится все прекрасно
[ Редактировано axJeSSter в 12.6.08 19:02 ]
w810 R4EA031
UltraShot
Developer/Moder
Регистрация: 21.5.07 Сообщений: 1729 Репутация: 1827 Откуда: Санкт-Петербург / Череповец
#431 [12.06.08, 20:01] Re: Создание Эльфов
axJeSSter попробуй так:
Код:
#include "..\includeLib_Clara.h" #include "..\includeDir.h" u16 * dir0 = 0; void elf_exit(void) { kill_data(&ELF_BEGIN, (void(*)(void*))mfree_adr()); } int GetSettings() { int file; FSTAT fstat; if (isFileExist(GetDir(DIR_INI), (u16*)L"cleanfs.ini", &fstat) == 0) { if ((file = _fopen(GetDir(DIR_INI), (u16*)L"cleanfs.ini", 0x1, 0x180, 0)) >= 0) { char * buffer = new char[fstat.fsize + 1]; fread(file, buffer, fstat.fsize); char * param; if (param = manifest_GetParam(buffer, "[DIR0]", 0)) { dir0 = new u16[strlen(param) + 1]; str2wstr(dir0, param); mfree(param); } mfree(buffer); } fclose(file); return 1; } return 0; } int main(u16 *exename,u16 *filename) { GetSettings(); rmdir(dir0, 0); SUBPROC(elf_exit); return(0); }
Похожие темы
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.