nvoid
Expert
Регистрация: 29.11.07 Сообщений: 1375 Репутация: 380
#1851 [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
albertnet3
Patcher/Elfmaker
Регистрация: 12.6.09 Сообщений: 283 Репутация: 1826 Откуда: Argentina-Bs. As.
#1852 [07.08.11, 00:01] Re: Создание Эльфов
Metaler пишет:
Joker XT , писал:
GUIonMessage_SetMenuItemIcon(msg, item, IMAGEID[item]);
я пробовал так, не катит )
массив вроде правильно сделал wchar_t* img[]={ &imgID_1, &imgID_2 };
GUIonMessage_SetMenuItemIcon( GUI_MESSAGE* msg, int align, IMAGEID )
GUI_MESSAGE* msg - Message of the GUI
int align - 0 left 1- right 2- center
IMAGEID your Id of the icon or set your icon in hex
example:
Код:
GUIonMessage_SetMenuItemIcon( msg,1,0x24D) );
den_po , sorry hehe
[ Edited by albertnet3 в 6.8.11 19:13 ]
Confidence in yourself is the first secret of success(R. W. Emerson)
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1853 [07.08.11, 00:42] Re: Создание Эльфов
albertnet3 , GUI_MESSAGE* это НЕ gui
promt is better than google translate
albertnet3
Patcher/Elfmaker
Регистрация: 12.6.09 Сообщений: 283 Репутация: 1826 Откуда: Argentina-Bs. As.
#1854 [07.08.11, 01:24] Re: Создание Эльфов
den_po , I need your help please ;)
I can not work the function OneOfMany_SetChecked
my gui have 5 items and only show cheked the item 2
please look this code:
Код:
typedef struct{ BOOK book; GUI *gui; GUI *gui2; GUI *Request; int itemID; int fileitem; }MyBOOK; #define FILE_COUNT 5 typedef struct{ char item[FILE_COUNT]; }FILE_DATA; void GetData(void *mydata,int size) { int f; wchar_t *path=FILE_PATH; wchar_t *name=FILE_NAME; f=_fopen(path,name,0x108,0x180,0); fread(f,mydata,size); fclose(f); } void WriteData(int numitem,int itemID) { int f; wchar_t *path=FILE_PATH; wchar_t *name=FILE_NAME; FILE_DATA *fd=(FILE_DATA*)malloc(sizeof(FILE_DATA)); memset(fd,0xFF,sizeof(FILE_DATA)); GetData(fd,sizeof(FILE_DATA)); fd->item[numitem]=itemID; f=_fopen(path,name,0x204,0x180,0); fwrite(f,fd,sizeof(FILE_DATA)); fclose(f); mfree(fd); } void onEnterSetID(BOOK *book,void *r1) { MyBOOK *m_bk = (MyBOOK *)book; GUI_ONEOFMANY *om = (GUI_ONEOFMANY *)(m_bk->gui2); int item = OneOfMany_GetSelected(om); m_bk->itemID=item; if (m_bk->itemID == 0) { action1(); VA_Restart_On(book); vibra(); } if (m_bk->itemID == 1) { action2(); VA_Restart_On(book); vibra(); } if (m_bk->itemID == 2) { action3(); VA_Restart_On(book); vibra(); } if (m_bk->itemID == 3) { action4(); VA_Restart_On(book); vibra(); } if (m_bk->itemID == 4) { action5(); VA_Restart_On(book); vibra(); } WriteData(m_bk->fileitem,m_bk->itemID); FREE_GUI(m_bk->gui2); } int CreateEditItem(BOOK *book,int itemnum) { MyBOOK *m_bk = (MyBOOK *)book; GUI_ONEOFMANY *om=CreateOneOfMany(&m_bk->book); ... OneOfMany_SetChecked(om,m_bk->fileitem); ... m_bk->gui2 = (GUI *)om; GUIObject_Show(om); return(1); }
Confidence in yourself is the first secret of success(R. W. Emerson)
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1855 [07.08.11, 10:44] Re: Создание Эльфов
albertnet3 , don't you realise what does the name of this gui mean?
promt is better than google translate
albertnet3
Patcher/Elfmaker
Регистрация: 12.6.09 Сообщений: 283 Репутация: 1826 Откуда: Argentina-Bs. As.
#1856 [07.08.11, 19:07] Re: Создание Эльфов
den_po пишет:albertnet3 , don't you realise what does the name of this gui mean?
thanks for your reply, but the actions of the gui oneofmany works correct.
only I can´t work correctly setcheked,
I think my problem is in writing data and get data.
I wanted to do it thus but I have not been able.
Код:
PUSH {R4,LR} ADD R4, R1, 0 BL _SetChecked CMP R1, 0 BEQ Estilo1 CMP R1, 1 BEQ Estilo2 CMP R1, 2 BEQ Estilo3 CMP R1, 3 BEQ Estilo4 CMP R1, 5 BEQ Estilo4 POP {R4,PC} Estilo1: BL _SetStylo1 POP {R4,PC} Estilo2: BL _SetStylo2 POP {R4,PC} Estilo3: BL _SetStylo3 POP {R4,PC} Estilo4: BL _SetStylo4 POP {R4,PC} nop ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ... BL _SetChecked LDR R0, [R4,0x18] LDR R2, _OneOfMany_SetChecked ... ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx _SetChecked: PUSH {R0,R2-R7,LR} MOV R0, 0 PUSH {R0} adr R1, afile_bin ldr R0, aTpaPresetSys MOV R2, 1 MOV R3, 0xFF ADD R3, 0x81 PUSH {R3} LDR R3, __fopen MOV R12, R3 POP {R3} BLX R12 ADD R4, R0, 0 MOV R2, 1 MOV R1, SP LDR R3, _fread BLX R3 ADD R0, R4, 0 LDR R1, _fclose BLX R1 LDR R1, [SP] ADD SP, SP, 4 POP {R0,R2-R7,PC} aTpaPresetSys du "/tpa/preset/system/",0 afile_bin du "file.bin",0
Confidence in yourself is the first secret of success(R. W. Emerson)
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1857 [07.08.11, 22:21] Re: Создание Эльфов
albertnet3 , once again: don't you realise what does the name of this gui mean?
promt is better than google translate
Спасибо сказали: farid
Evil-Racer
Elfmaker
Регистрация: 26.5.08 Сообщений: 124 Репутация: 415 Откуда: Казахстан, Семипалатинск
#1858 [17.08.11, 21:52] Re: Создание Эльфов
Эмм... Мож и глупый вопрос... Но... BOOK* top_book = Display_GetTopBook(0); Теперь, я получил верхнюю буку, как узнать что это, ява или просто бука? В исходниках от БМ есть кусок кода что то на подобие этого (пишу по памяти) if (strcmp(top_book->xbook->name, JAVA_BOOK_NAME)) {...} else {... mbk->isJava = TRUE;} Но почему то у меня имя топ бука не CUIDisplayableBook а имя приложения (к примеру BombusMod), по этому isJava у меня всегда ложь. В общем... Что делать?
K3OOi » K75Oi » K8OOi » K85Oi » K3OOi » T29Oi » W95Oi » W995 » C51O » W7OOi » MT15i » K8OOi » Z53Oi » K75Oi
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1859 [18.08.11, 01:20] Re: Создание Эльфов
ещё раз напоминаю: патч для IAR позволит избежать кучи проблем. ссылка в первом сообщении. Evil-Racer , смотри GetJavaName
promt is better than google translate
Спасибо сказали: Evil-Racer
Karasyov
Elfmaker
Регистрация: 1.9.09 Сообщений: 65 Репутация: 834
#1860 [18.08.11, 14:01] Re: Создание Эльфов
Подскажите, а как можно сделать, чтобы была возможность менять язык через конфиг?
K800 R8BF003 CID53 Dead Samsung Galaxy S i9003
IronMaster
VIP Developer
Регистрация: 16.5.06 Сообщений: 1135 Репутация: 8514 Откуда: Пермь
#1861 [18.08.11, 14:25] Re: Создание Эльфов
Karasyov , кто мешает добавить опцию в бцфг, а в самом эльфе проверять и подсовывать соответствующие строки??
K700->W810->W850->W705 & W995 (cid81) ==========WMZ307721639637 WMR675285842893 Спасибо за пожертвования:Resp , ploik , BanditNN , AlexTin , polza , romanchenko , Ryabchik , Ax , [b]Desp
Похожие темы
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.