|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Předmětem této práce je studium stávajícího vývojového řetězce pro mikroprocesor LPC23xx v předmětu MPOA. Hlavním cílem je zkoumání možností realizace nového vývojového řetězce, postaveného na GCC. Výstupy této práce jsou ukázkové aplikace s mikroprocesorem LPC2378 a GCC. Součástí vysledků jsou i návody pro studenty, jak tyto ukázkové aplikace implementovat. Ukázky zahrnují základní aplikace, RTOS aEthernet.
Samotný kód obou funkcí jejich prototypy jsou uvedeny příloze C. Pro tuto realizaci třeba provést propojení mezi jazykem ASM. této
práci byl zvolen projekt FreeRTOS. Přesné úkoly aplikací byly opět převzaty zadání počítačových
cvičení předmětu MPOA pro zimní semestr 2011/2012. Funkce byly uspěšně ověřeny byly přidány modulu
irq.5 Realizace pokročilejších aplikací
Tato podkapitola již věnuje úlohám náročnějšími aplikacemi.c. Toto
propojení velice jednoduché. Místo registru použije virtuální „proměnná“
%0 (nula) viz ukázka. Pokud tedy modul bude tuto funkci volat,
překladač jejího prototypu zjisti, že:
extern funkce jiném modulu
inline funkce měla být přeložena jako In-Line, pokud použije
optimalizace
void žádné předávání parametrů
__attribute__ ((always_inline)) funkce vždy přeloží jako inline, nezavisle na
optimalizaci
Na závěr ještě vysvětlení kódu samotné funkce. Aby překladač dostal maximální
volnost pro případné optimalizace, vhodné funkci napsat tak, aby nezasahovala do
konkrétních registrů MCU, ale aby překladač mohl rozhodnout tom, který registr bude
použit.3.3.
Rovněž ani žádná další ukázková aplikace. Návod tedy příloze D.5. Jedná RTOS,
Ethernet USB. základě dokumentace
k projektu FreeRTOS byl vytvořen nový projekt, kterého byly postupně přidávány
klíčové soubory jádra RTOS.
3. Tento soubor vkladán preprocesorem jednotlivých
modulů, které mohly využít tuto funkci. konci kódu provede přiřazení této proměnné proměnné
jazyka Detailní popis této problematiky lze nalézt dokumentaci GCC [14]
v kapitole sekcích In-Line Function, Extended Asm, Constrains Assembler
Instruction with Expression Operands.
3.
Bylo opět jasné, někde zásadní systematická chyba. Prototyp deklarován
v hlavičkovém souboru irq.h. Bylo zjištěno, startu jádra RTOS dojde „pádu“ aplikace. Jednalo o
nepodstatné části kódů. Jelikož tato
aplikace jen částí úlohy, návod spojen návodem druhé aplikaci.22
Důvody proč prototyp funkce vypadá takto jsou následující. Poté povedlo aplikaci zkompilovat nahrát MCU, avšak
nic nestalo. Prvním pokusem tímto systémem bylo zprovoznit
demo aplikaci pro MCU LPC2368. vytvoření nejnutnější kostry byly vytvořeny
.1 FreeRTOS
První aplikací oblasti pokročilejších bylo základní zprovoznění jádra RTOS.
Tyto chyby byly odstraněny vypuštěním částí kódů, kde vznikaly.
Na základě této dokumentace tedy povedlo napsat obě funkce, jak pro vypnutí,
tak pro zapnutí přerušení. Tato aplikace však nepodařila rozběhnout.
Výsledný projekt touto aplikací opět elektronické příloze. Nejprve docházelo chybám při překladu. Tato druhá
aplikace principiálně stejná, avšak využívá již RTOS