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 89 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
Posledním krokem inicializaci nastavení ukazatele funkci ISR (Interupt Service Routine). Pro možnost propojení modulu main. Systém FreeRTOS poskytuje celkem nástrojů pro komunikaci mezi procesy. Provést obsluhu 3. Fronta: Je určena pro realizaci vstupních bufferru procesů. Otestování ovladače lze provést druhém procesu následujícím kódem: void task_stopky( void *pvParameters ) { while(1) { bar_led(tlacitko); } } V tomto případě dojde při stisku tlačítka rozsvícení nebo zhasnutí všech LED diod. Po dokončení ovladače kbd pro tlačítko jej lze otestovat hlavním modulu main. Její velikost lze při vytváření zvolit. našem případě se označení provede prototypu funkce souboru kbd_drv. Fronta umožňuje mezi procesy předávat bloky dat. V případě obě úlohy začly zapisovat LCD zároveň dojde chybě výstup na LCD nebu korektní. Dalším krokem vytvořením samotné ISR funkce. Údaje pro jejich nastavení lze zjístit katalogového listu MCU. Ukončit ISR Toto provedení může vypadat takto: EXTINT 0x00000001; //vynulovani IRQ tlacitko 0xFF; //invertovani promene tlacitko VICVectAddr 0x00000000; //ukonceni ISR V tomto případě využita deklarována proměná tlacitko, jejiž stav znegován.c slouží proměná tlacitko. . Jelikož jde ISR funkci třeba speciálně označit. Jde o Mutex, Rekurzivní mutex, Binární semafor, čítací semafor Frontu. Tento ukazatel třeba předat VIC, který jej předá případě přerušení jádra. Vynulovat požadavek IRQ 2. Jelikož obě úlohy budou přistupovat LCD třeba zavést mechanizmus pro hlídání přístupu. Jde funkci, která již připravena kbd_handler.h takto: void kbd_handler (void) __attribute__ ((interrupt("IRQ"))); V samotné funkci pro obsluhu přerušení pak třeba provést následující kroky: 1.c.c kbd_drv. Systemy RTOS pro tyto účely zavádí meziprocesovou komunikaci. Posledním krokem dokončení celé aplikace realizace úlohy stopky. Nastavení tohoto ukazatele provede takto: install_irq(EINT0_INT,(void *)kbd_handler,LOWEST_PRIORITY); Přičemž argument (void *)kbd_handler odpovída adrese funkce ISR.82 registrů