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 33 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
Tento řetězec později doplní zbývající text poté pošle LCD. Ukázalo tato funkce při použití upravené funkce _write_r funguje správně.1) ( 21_ ⋅+ = MPLL f f VCO comp přičemž )MHzMHzfVCO 550275 (3. Avšak pro použití všech aplikacích i všech deskách naprosto nevhodné důvodu, desce již přítomen krystal. Pro výpočet těchto hodnot třeba dodržet následující vztahy [18] 1_ + = NPLL f f Xtal comp (3. Tento modul byl nazván pll_drv. Postupně bylo zjišťováno, kde vzniká problém.c. Tato proměnná potom připojena modulu main.c. Při tomto testování byl použit ovladač LCD Petera Fleuryho.2) 1_ + = KPLL f f VCO CPU přičemž KPLL liché (3.h, konkretně funkce sprintf. Během vývoje dalších aplikací, zejména pak aplikace Telnet klientem, došlo k novému testování knihovny stdio. Dále byla samozřejmě testována funkce printf. Tato úprava byla napsána velmi rychle fungovala naprosto korektně. Po dokončení této úpravy byla aplikace kompletní, byl však zjištěn další nedostatek v podobě velké chyby měření času. Zde však byl objeven zásadní . Poslední úpravou této aplikace bylo tedy vytvoření jednoduchého modulu pro obsluhu bloku oscilátoru generátoru hodinového taktu MCU. Bylo zjištěno, zde funkce sprintf funguje správně.c. Až této části byla aplikace stále realizována bez využití přerušení pro tlačítko. první variantě byla napsána pouze jedna funkce realizující prvotní nastavení bloku generátoru hodin. Zde však způsobilo problémy, jelikož ISR nelze zapsat části kódu, která překládána režimu Thumb instrukcí.c, kde řídí aplikaci stejným způsobem jako kdyby byl ovladač součástí souboru main.3) kde fcomp frekvence vstupu fázového detektoru PLL, fXtal frekvence generována krystalovým oscilátorem, fVCO frekvence napětím řízeného oscilátoru v PLL, fCPU výsledná frekvence pro MCU konstanty PLL_N, PLL_M, PLL_K jsou kladná celá čísla určující dělicí poměry PLL. Proto byl vytvořen kompletní samostatný modul ovladačem, který deklaruje globální proměnnou tlacitko. Pro tyto potřeby by se tedy dalo uvažovat nějaké metodě kalibrace.26 Takováto proměnná předána této formátovací funkci, která vytvoří výstupní řetězec. Zjistilo se, chyba způsobena tím, aplikace běží vnitřní oscilátor MCU. Místo přerušení bylo napevno využíváno čtení aktuální hodnoty vstupu MCU. Součástí této úlohy být rovněž vytvoření nového ovladače pro tlačítko, který již bude využívat přerušení. Pro ostatní kmitočty lze využít definice, které přímo drží hodnoty určující dělicí poměry PLL. původních cvičeních byla funkce ISR zapsána přímo v modulu main. Detailnější popis lze opět získat z katalogového listu MCU [18]. Pro jednodušší použití jsou předdefinovány makra, které realizují nastavení nejobvyklejší kmitočty. Tento oscilátor rovněž laditelný pomocí svého řídícího registru