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 35 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
Bohužel však bez kladných výsledků. Po této úvodní přípravě začala tvorba kódů. Zde realizovaný ovladač odpovídá mapě paměti Obr. Bylo zvoleno, nový ovladač bude poskytovat pouze 3 základní funkce. další části pak bylo třeba provést nastavení registrů, které řídí obsluhu DMA mapování paměti pro ethernet. Princip činností funkcí pro tuto obsluhu byl převzat katalogového listu . Samotná realizace ovladače byla rozdělena dvě části. Prvním krokem bylo definování softwarového rozhraní. Proto bylo rozhodnuto napsat nový ovladač základu. Nejprve bylo nastudováno rozhraní mezi stávajícím ovladačem systémem uIP- stacku. Poznámka Paměť ethernet MAC vrstvy odpovídá kruhovému bufferu. druhém kroku pak úprava tohoto kódu jeho rozšíření nové části kódu realizující univerzálnější funkci ovladače. Po dokončení této funkce byly započaty práce funkcích pro odeslání přijem paketů. Jako podstatné podklady pro napsání této funkce byly vzaty potaz následující informace: -HW rozhraní RMII -pevná rychlost 100Mbit -pevně Full Duplex provoz -vytvoření mapy paměti obsahující buffer společně deskriptory pro využití DMA Na základě těchto předpokladů byl napsán nejprve kód realizující základní nastavení registrů MCU. 4. dále přidání definic maker pro zpřehlednění celého kódu. void init_emac (void); unsigned long get_data_emac (char *data); void send_data_emac (void *header, void *data, unsigned long length); Začalo tvorbou funkce inicializace MAC vrstvy. Nejprve napsání nejjednoduššího možného ovladače bez univerzálnosti kódu minimálním využitím přehlednosti zápisu.28 provedeny pokusy nalezení hotového ovladače internetu. Zejména jedná problematiku detekce rychlosti připojené linky. Pro správnou realizaci ovladače byly dále nastudovány následující problematiky: hardwarové rozhraní MCU PHY, katalogový list PHY [19], MAC vrstva MCU a způsob práce pamětí vyhrazenou pro ethernet [18]. Bylo zjištěno, systém uIP volá celkem funkcí ovladače: Init_EMAC(); uiGetEMACRxData(); RequestSend(); CopyToFrame_EMAC(); DoSend_EMAC(); Poslední funkce realizují odeslání paketu, funkce Init_EMAC provede inicializaci ovladače funkce uiGetEMACRxData realizuje příjem paketů