|
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.
4. Jde celkem tři podkapitoly, nichž první obsahuje ukázky
některých užitečných kódů používaných pro testování aplikací.
(* (volatile unsigned long (0xFFFFFF00) 0x00000000;
Adresa tomto případě 0xFFFFFF00, data jsou 0x00000000. Dále pak provádí
zobrazování jednotlivých osmic bitů časovým odstupem čekáním potvrzení
tlačítkem.
Nevýhodou tohoto získávání informací je, lze získat pouze bitů. Vznikla tedy nová sada kódů pro použití LCD. První kód zobrazoval opět
. Eventuálně jej lze použít vícekrát
a pak možné získat dat kolik potřeba. Druhá podkapitola pak
obsahuje některé zajímavé chyby nebo zásady pro správné psaní kódu pro GCC. Tímto zápisem lze
kdekoliv kódu přistupovat kterékoliv části paměti, která ovšem není chráněna proti
přístupu.
Další možnost čtení obsahu dané adresy zobrazení LED diodách.
Jako první kód zde uveden jednoduchý řádek, který konkrétní adresu zapíše
konkrétní číslo.
Tento kód začátku načte proměnné 32bitů dané adresy. Řešením byl
kód uvedený příloze C.
Tyto jednoduché kódy byly používány zejména začátku práce, kdy byly
zprovozňovány základní periferie. pozdější části již bylo toto vyčítání značně
nepraktické.35
4 DROBNÉ POZNATKY VÝSTUPY
Z VÝVOJE
Předposlední kapitola této práce vznikla jako shrnutí zajímavých poznatků nápadů
z celého vývoje práce.
4. základě těchto
podnětů postupně vznikaly různé programově poměrně neefektivní kódy, určené pro
realizaci jednoduché komunikace mezi uživatelem MCU.
bar_led((unsigned char)(* (volatile unsigned long 0xFFFFF000 ));
Pro použití tohoto zápisu již nutné mít připojený modul led_drv. A
v poslední popsáno konečné řešení vývojového řetězce.c který
realizuje funkci bar_led. Samozřejmě
lze provést nový překlad číst adresu dál.1 Ukázkové testovací kódy
Jelikož během celého vývoje nebyl dispozici žádný debugovací nástroj ani práci
žádná možnost debugování nebyla objevena, často vznikaly požadavky zjištění stavu
registrů nebo obsahu paměti, které nebylo možno zodpovědět. Tímto kódem lze tedy získat celých bitů. Tímto však ale vzniká nejistota, jelikož
půjde nový program není jasné, jestli jsou oba kódy instrukčně stejné. Účel těchto kódů byl
jednoduchý: umožnit uživateli zjistit vnitřní stav MCU