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 88 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
Prvním krokem pro zrealizování požadované aplikace může být dokončení procesu realizující hodiny. Jde soubory kbd_drv.81 realizovat hodiny, druhý bude realizovat stopky. prvním procesu task_hodiny již realizována ukázka jak použít proměnnou time jakým způsobem realizovat výpis na LCD.c předpřipravenou funkci pro zformátování datového typu time řetězec znaků char. Zde třeba dokončit inkrementaci proměnné obsahující čas. Jelikož časový údaj obecně skláda z několika čísel různým významem, vhodné pro tuto aplikaci použít vlastní typ proměnné. našem případě třeba dokončit modulu kbd_drv. MCU integrován pomocný blok VIC (Vectored Interrupt Controller). První ukazatel řetězec char, druhý ukazatel proměnnou typu time. ISR funkci.c kbd_drv.h. Jelikož, jádro ARM jen dva přerušovací vstupy (IRQ FIQ). Dalším krokem doplnění ovladače tlačítka využití přerušení. Ovladač tlačítka již předpřipraven složce KBD skláda dvou souborů. Tento blok umožňuje jakoby sloučit všechna přerušení jednoho použít pro jádro.ss 60) { cas.ms 0; cas.ss 0; } } Obdobným způsobem lze realizovat inkrementaci minut hodin. Po spuštění aplikace LCD měl objevit nápis: MPOA: 06 Cas:11:00:11:x Přičemž místě budou neustále probíhat čísla 9.ms 10) { cas. našem případě již máme nadefinován typ time takto: typedef struct { unsigned char hh; //hodiny unsigned char mm; //minuty unsigned char ss; //vteriny unsigned char ms; //desetiny vteriny } time; Pro další zjednodušení úlohy máte hlavním souboru main. Pro inkrementaci vteřin možno použít takovýto kód: if(cas. Tato funkce se jmenuje print_time() očekává dva parametry. Připravenou kostru tedy možné přeložit nahrát desky MCB2300.ss++; if(cas.c funkci pro inicializaci ovladače dále vytvořit funkci pro obsluhu přerušení, tzv. Při nastavení jednotlivých přerušení tedy třeba správně nastavit VIC. V jazyce vlastní typy deklarují klíčovým slovem typedef. funkci kbd_init třeba správně nastavit hodnoty předpřipravených