Využítí ARM GCC vývojového retezce

| 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.

Vydal: FEKT VUT Brno Autor: Jan Ledvina

Strana 29 z 93

Vámi hledaný text obsahuje tato stránku dokumentu který není autorem určen k veřejnému šíření.

Jak získat tento dokument?






Poznámky redaktora
3. 3.5. Pro tuto realizaci třeba provést propojení mezi jazykem ASM. 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. Poté povedlo aplikaci zkompilovat nahrát MCU, avšak nic nestalo. Rovněž ani žádná další ukázková aplikace. Prototyp deklarován v hlavičkovém souboru irq. 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í. Na základě této dokumentace tedy povedlo napsat obě funkce, jak pro vypnutí, tak pro zapnutí přerušení. 3. Samotný kód obou funkcí jejich prototypy jsou uvedeny příloze C. Tyto chyby byly odstraněny vypuštěním částí kódů, kde vznikaly. 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. této práci byl zvolen projekt FreeRTOS. Místo registru použije virtuální „proměnná“ %0 (nula) viz ukázka. Tato druhá aplikace principiálně stejná, avšak využívá již RTOS. Návod tedy příloze D. Tato aplikace však nepodařila rozběhnout.h. Bylo opět jasné, někde zásadní systematická chyba. Jednalo o nepodstatné části kódů. Tento soubor vkladán preprocesorem jednotlivých modulů, které mohly využít tuto funkci.3. Výsledný projekt touto aplikací opět elektronické příloze. Nejprve docházelo chybám při překladu. 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. vytvoření nejnutnější kostry byly vytvořeny . Bylo zjištěno, startu jádra RTOS dojde „pádu“ aplikace. Funkce byly uspěšně ověřeny byly přidány modulu irq. 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. 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.c.5 Realizace pokročilejších aplikací Tato podkapitola již věnuje úlohám náročnějšími aplikacemi. Prvním pokusem tímto systémem bylo zprovoznit demo aplikaci pro MCU LPC2368.1 FreeRTOS První aplikací oblasti pokročilejších bylo základní zprovoznění jádra RTOS. Toto propojení velice jednoduché. Jedná RTOS, Ethernet USB