nvoid
Expert
Регистрация: 29.11.07 Сообщений: 1375 Репутация: 380
#1821 [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
Therion
Developer/Admin
Регистрация: 9.2.08 Сообщений: 1748 Репутация: 10884 Откуда: Украина, г. Киев
#1822 [13.07.11, 11:51] Re: Создание Эльфов
den_po , и так в каждой строчке асм кода? :) синтаксис не того что мы в патчах используем,не отличается?) а вообще спс)
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1823 [13.07.11, 11:54] Re: Создание Эльфов
Therion ,
Код:
__asm( "mov r0,r1 \n\ nop" );
а лучше добавь в проект .asm файл и сунь функцию туда. либо напиши её без использования ассемблера.
promt is better than google translate
Therion
Developer/Admin
Регистрация: 9.2.08 Сообщений: 1748 Репутация: 10884 Откуда: Украина, г. Киев
#1824 [13.07.11, 19:21] Re: Создание Эльфов
den_po , опробывал) вариант asm (""); мне больше понравился. Но есть трабла,при компиляции.. (напомню,что эту функу я хочу юзать в эльфе).
Код:
#ifndef _ASM_H_ #define _ASM_H_ void SetMaxWideList (DISP_OBJ *R0,int R1) { asm ("PUSH {R4,LR}"); asm ("CMP R0, #0"); asm ("BEQ f_end"); asm ("LDR R4, 0xEF1D67D1"); asm ("ADDS R2, R0, #4"); asm ("LDR R3, [R2]"); asm ("CMP R3, R4"); asm ("BNE f_end"); asm ("LDR R2, [R2,#4]"); asm ("CMP R2, #0"); asm ("BEQ f_end"); asm ("LDR R2, [R2,#8]"); asm ("LDR R3, 0x452C8318+1"); asm ("CMP R2, R3"); asm ("BNE f_end"); asm ("MOVLS R2, #0x110"); asm ("LDR R0, [R0,R2]"); asm ("BL f_list"); asm ("f_end:"); asm ("POP {R4,PC}"); asm ("f_list:"); asm ("PUSH {R4,R5,LR}"); asm ("ADDS R4, R0, #0"); asm ("ADDS R5, R1, #0"); asm ("CMP R0, #0"); asm ("BNE c_end"); asm ("LDR R0, f_freespace"); asm ("MOVS R1, #0"); asm ("BL (0x44221CBC+1)"); asm ("c_end:"); asm ("STRB R5, [R4,#5]"); asm ("POP {R4,R5,PC}"); asm ("f_freespace DCD _f_freespace"); asm ("_f_freespace DCD 0"); END; } #endif
Ошибка:
Error[Pe020]: identifier "END" is undefined [ Редактировано Therion в 13.7.11 18:25 ]
MahmudS
Patchmaster
Регистрация: 3.12.07 Сообщений: 662 Репутация: 3103 Откуда: Черновцы.UA
#1825 [13.07.11, 19:58] Re: Создание Эльфов
Простите за тупость, но зачем там вообще END; в конце?
iPhone 5S Neverlock 64gb iOS 8.4 + Jailbreak C901 R1GA028 Ocean White W715 R1GA030 Black
Therion
Developer/Admin
Регистрация: 9.2.08 Сообщений: 1748 Репутация: 10884 Откуда: Украина, г. Киев
#1826 [13.07.11, 20:43] Re: Создание Эльфов
Разобрался, самое непонятное сделал на асме. А вообще прикольно что можно на нескольких языках писать в одной программе.
Код:
void DisplayList(DISP_OBJ *R0,int R1) { if(R0!=0) { asm("PUSH {R4, R5, LR}"); asm("MOVS R4, R0"); asm("MOVS R5, R1"); asm("STRB R5, [R4, #5]"); asm("POP {R4, R5, PC}"); } } void SetMaxWideList (DISP_OBJ *disp,int type) { if(disp!=0) { DISP_OBJ *main_list = ((DispOBJ_srtuct*)disp)->disp_list; DisplayList(main_list,type); } }
Вырезал всё ненужное. Всё работает
D3mon
Developer
Регистрация: 23.2.08 Сообщений: 1141 Репутация: 10348 Откуда: Краснодар
#1827 [13.07.11, 20:48] Re: Создание Эльфов
Therion , а вот так нельзя было:
?
Чтобы лишний раз не запоминать р0 и р1 ..
Sony Xperia XZ3 GreenSony Xperia Z3 Compact Orange W995i SW-R1GA026 :(
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1828 [13.07.11, 21:07] Re: Создание Эльфов
не надо заниматься хернёй. 1. .asm файл это не .c/.cpp/.h, это именно .asm 2. это всё легко делается без асма
promt is better than google translate
Metaler
Elfmaker
Регистрация: 26.4.10 Сообщений: 201 Репутация: 2158 Откуда: Пенза
#1829 [19.07.11, 02:00] Re: Создание Эльфов
Какими функциями можно получить количество файлов из директории и их имена?
К800 SW-R8BF003 W995 SW-R1GA026
den_po
Developer/Admin
Регистрация: 27.3.06 Сообщений: 3279 Репутация: 10763 Откуда: Чебоксары
#1830 [19.07.11, 02:13] Re: Создание Эльфов
promt is better than google translate
Спасибо сказали: MAVER145, Metaler, pavelsh
Metaler
Elfmaker
Регистрация: 26.4.10 Сообщений: 201 Репутация: 2158 Откуда: Пенза
#1831 [19.07.11, 09:13] Re: Создание Эльфов
den_po , про вики я знаю, но мои скудные познания английского не помогли найти функцию получения количества файлов
Может есть пример?
К800 SW-R8BF003 W995 SW-R1GA026
Похожие темы
Вы не можете начинать темы. Вы не можете редактировать свои сообщения. Вы не можете создавать опросы. Вы не можете вкладывать файлы в сообщения. Вы не можете отвечать на сообщения. Вы не можете удалять свои сообщения. Вы не можете голосовать.