|
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.
c který
realizuje funkci bar_led.
4.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. Účel těchto kódů byl
jednoduchý: umožnit uživateli zjistit vnitřní stav MCU.4.
Tento kód začátku načte proměnné 32bitů dané adresy.
Další možnost čtení obsahu dané adresy zobrazení LED diodách. Eventuálně jej lze použít vícekrát
a pak možné získat dat kolik potřeba.
Nevýhodou tohoto získávání informací je, lze získat pouze bitů. 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. 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. Samozřejmě
lze provést nový překlad číst adresu dál. Druhá podkapitola pak
obsahuje některé zajímavé chyby nebo zásady pro správné psaní kódu pro GCC.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.
bar_led((unsigned char)(* (volatile unsigned long 0xFFFFF000 ));
Pro použití tohoto zápisu již nutné mít připojený modul led_drv. pozdější části již bylo toto vyčítání značně
nepraktické.
Tyto jednoduché kódy byly používány zejména začátku práce, kdy byly
zprovozňovány základní periferie. Vznikla tedy nová sada kódů pro použití LCD.
(* (volatile unsigned long (0xFFFFFF00) 0x00000000;
Adresa tomto případě 0xFFFFFF00, data jsou 0x00000000.
Jako první kód zde uveden jednoduchý řádek, který konkrétní adresu zapíše
konkrétní číslo. První kód zobrazoval opět
. Dále pak provádí
zobrazování jednotlivých osmic bitů časovým odstupem čekáním potvrzení
tlačítkem. Řešením byl
kód uvedený příloze C. 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í. Tímto však ale vzniká nejistota, jelikož
půjde nový program není jasné, jestli jsou oba kódy instrukčně stejné. Tímto kódem lze tedy získat celých bitů. A
v poslední popsáno konečné řešení vývojového řetězce