Autor


Miloš Feč
  Začíname programovať elfa
Vydáno dne:  29.03.2007
Průměrné hodnocení:  
1111.21.21.21.41.41.41.61.61.61.81.81.82222.22.22.22.42.42.42.62.62.62.82.82.83333.23.23.23.43.43.43.63.63.63.83.83.8444   4 (hodnoceno 10x)
1111.21.21.21.41.41.41.61.61.61.81.81.82222.22.22.22.42.42.42.62.62.62.82.82.83333.23.23.23.43.43.43.63.63.63.83.83.8444
 
návod

Veľa z Vás už má vo svojom miláčikovi elfloader, patch, ktorý z Vášho telefónu spraví smartphone. Umožňuje to spúšťať .elf aplikácie (alebo aj hry), ktoré majú veľkú výhodu oproti jave v tom, že využívajú priamo inštrukcie pre procesor, čím sú rýchle a môžu ovládať všetko čo sa týka HW aj SW telefónu. Pokúsim sa napísať návod, ako si môžete takého elfa naprogramovať.



Co budeme potřebovat:

inc.rar
Stáhnout
IAR Embedded Workbench for ARM
Otevřít v novém okně
TortoiseSVN
Otevřít v novém okně


IAR Embedded Workbench for ARM

Najprv budete potrebovať nástroj na kompilovanie zdrojového kódu pre procesor telefónov siemens. Môžete si ho stiahnuť zo stránky http://www.iar.com/, kde si môžete zvoliť 30 dňovú trial verziu, alebo KickStart verziu, ktorá je obmedzená len veľkosťou aplikácií – skompilovaný kód môže byť veľký maximálne 32kB, no väčšina elfov je menšia (len emulátory a rozsiahle aplikácie sú väčšie). Túto verziu si môžete stiahnuť kliknutím na odkaz http://supp.iar.com/Download/SW/?item=EWARM-KS32.

Ako začať?

K programovaniu (kompilovaniu) elfov potrebujete rôzne knižnice (inc.rar - hore v download). Pravidelne sa aktualizujú, ak chcete ich aktuálnu verziu, tak budete potrebovať program TortoiseSVN, ktorý si môžete stiahnuť zo stránky http://tortoisesvn.net/downloads. Po nainštalovaní zadáte do exploreru adresu svn://82.207.89.182/ARM a tým sa spustí program, kde nájdete priečinky so zdrojovými kódmi elfov a aj priečinok inc. Kliknete naň pravým tlačidlom myšky a potom zvolíte možnosť „Exportovať...“



Odporúčam vytvoriť si jeden priečinok, kde budete mať všetky zdrojové kódy elfov a aj priečinok inc. Otvorte súbor incswilib.h a nájdite v ňom (niekde na začiatku) riadok #define NEWSGOLD. Určuje, či váš elf bude pre NEWSGOLD. Ak chcete spraviť elfa pre SGOLD, tak ten riadok odkomentujte (//#define NEWSGOLD).

Na začatie nového projektu odporúčam stiahnuť si zdrojové kódy (celý projekt) niektorého (najlepšie jednoduchého) elfa, otvoriť ho a zmazať obsah main.c (ak sú tam aj iné súbory, tak tie úplne zmažte). Začatie nového projektu nanovo nie je jednoduché, treba tam nastaviť veľa možnosti.


Zatiaľ si môžte stiahnuť potrebné programy a prezrieť si pár zdrojových kódov, aby ste aspoň trochu pochopili, ako to vlastne funguje. A ja snáď čoskoro dopíšem článok o samotnom programovaní elfov. Dotazy k článku píšte do komentárov, ak sa chcete spýtať niečo k elfom, napíšte do fóra.



Par poznatkov od truhlika:

Oddelenie aplikácií pre SGOLD a NEWSGOLD:
V menu vybrat polozku "project", tam je radek "Options Alt+F7" na ten kliknout, vlevo si cybrat polozku "C/C++ compiler", tam je karta "Preprocessor" a v ni dole ple defined symbol. Tam bud napsat NEWSGOLD v pripade kompilace pro newsgoldy, nebo nechat prazdne, v pripade kompilace pro sgoldy. jo a jeste jedno upozorneni

Nastavovanie projektu:
NASTAVOVANI PROVADET POUZE, pokud je ve workspace (ty soubory vlevo) oznacen CELY PROJEKT - tj nikoliv jednotlive soubory. v opacnem pripade, by se toto nastavovalo pouze pro jednotlive soubory a ely projekt by nemusel radne fungovat. pozna se to jednoduse, kdyz nastavujes pro cely projekt, tam je v Options, v levem sloupci HODNE nabidke, a kdyz se nastavuje pouze pro soubour, tak tam jsou jen DVE.
Nikdo nesmí bez souhlasu autorů kopírovat grafiku, texty ani cokoliv jiného z těchto stránek. Veškeré informace uveřejněné na těchto stránkách jsou určené pouze pro vzdělávací účely a nesmí být použity pro komerční využití nebo v rozporu se zákony. Autoři nenesou zodpovědnost za nevhodné použití dat z těchto stránek.
   ©2003-2004 Radim Zeman | ©2004 Roman Gregor