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 67 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
60 C UKÁZKY ZDROJOVÝCH KÓDŮ C.5.1.1 * Compiler: GCC 4.2012: * Remove write_data instruction from init_emac.2 * * 12.h" #include "semphr.2012 * Purpose: simple EMAC driver for MCB2300 * Version: 1.3.h" /*************** Macro's ****************************************************/ /*************** Definition's ***********************************************/ #define PHY_ADDRESS (0x00000100) #define PACKET_LENGTH (1536) //velikost celeho ETH paketu Bytech #define RX_BUF_SIZE (4) //pocet paketu ktere lze ulozit ETH RAM #define TX_BUF_SIZE (2) //pocet paketu ktere lze ulozit ETH RAM #define uipTOTAL_FRAME_HEADER_SIZE //prevzato FreeRTOS DEMA /*************** Variable's *************************************************/ xSemaphoreHandle xEMACSemaphore NULL; /*************** Declaraion's ***********************************************/ static void write_data(unsigned long registr,unsigned long value) { MAC_MCMD 0; MAC_MADR PHY_ADDRESS (registr 0x0000001F); MAC_MWTD 0x0000FFFF value; while(MAC_MIND 0x00000001); } static unsigned long read_data(unsigned long registr) { MAC_MCMD 1; MAC_MADR PHY_ADDRESS (registr 0x0000001F); while(MAC_MIND 0x00000001); MAC_MCMD 0; return (MAC_MRDD); } void init_emac(void) { //hardwarove zapojeni pouziva RMII volatile unsigned long delay,i; PCONP PCONP 0x40000000; //power on .h" #include "task.h" #include "emac.h" #include "FreeRTOS. This call completly disrupt * function * function send_data_emac change data type *ptr,*d,*h from long to * char */ /*************** Include's **************************************************/ #include "lpc23xx.c /* Created on: 30.1 Ovladač EMAC ver.h" #include "uipopt.4.1 soubor emac