亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? eth_test.c

?? Freescale MCF5445evb 參考測(cè)試代碼
?? C
字號(hào):
/*! * \file    eth_test.c * \brief   Test an Ethernet interface on Jamaica (MCF5445x EVB) * \version $Revision: 1.1 $ * \author  Michael Norman * * This is a simple Ethernet test that uses loopback tests to verify the * proper operation of an Ethernet port.  Three different loopbacks are * attempted: *  - Internal FEC loopback.  This is a sanity check to make sure the FEC is  *    working properly *  - PHY loopback.  This checks the connectivity between the FEC and the PHY *  - Cable loopback.  This test requires that an Ethernet "plug" cable is *    inserted into the RJ45 connector.  An external link partner that echoes *    the packet could also be used.     */ #include "common.h"#include "queue.h"#include "nbuf.h"#include "eth.h"#include "fecbd.h"#include "mii.h"#include "eth_phy.h"#include "m54451evb_tests.h"/********************************************************************//* Buffer Descriptors -- must be aligned on a 4-byte boundary but a  * 16-byte boundary is recommended. To avoid playing games with the  * various compilers and their different extension to ANSI C, these  * buffers are aligned by allocating an extra line of data and  * adjusting the pointers in nbuf_init(). */uint8 unaligned_txbd[(sizeof(NBUF) * 3) + 15];uint8 unaligned_rxbd[(sizeof(NBUF) * 3) + 15];#define Rx	1#define Tx	0/* Buffer sizes in bytes (must be divisible by 16) */#define RX_BUFFER_SIZE 576#define TX_BUFFER_SIZE 576/* Number of Receive and Transmit Buffers and Buffer Descriptors */#define NUM_RXBDS 3#define NUM_TXBDS 3FECBD *TxNBUF;FECBD *RxNBUF;/* Data Buffers -- must be aligned on a 16-byte boundary. To avoid  * playing games with the various compilers and their different  * extension to ANSI C, these buffers are aligned by allocating an  * extra line of data and adjusting the pointers in nbuf_init(). */uint8 unaligned_rxbuffer[(RX_BUFFER_SIZE * 3) + 16];uint8 *TxBuffer;uint8 *RxBuffer;/* Data to be transmitted */const int packet[] = {	0x00CFCFCF,0xCF0100CF,0xCFCFCF01,0x3a00eeff,	0x55555555,0x66666666,0x77777777,0x88888888,	0x99999999,0x00000000,0xaaaaaaaa,0xbbbbbbbb,	0xcccccccc,0xdddddddd,0xeeeeeeee,0xffffffff, /* 64 Bytes */	0x11111111,0x22222222,0x33333333,0x44444444,	0x55555555,0x66666666,0x77777777,0x88888888,	0x12345678,0x90abcdef,0x78162435,0xbd895b14,	0xcccccccc,0xdddddddd,0xeeeeeeee,0xffffffff, /* 128 Bytes */	0x11111111,0x22222222,0x33333333,0x44444444,	0x55555555,0x66666666,0x77777777,0x88888888,	0x99999999,0x00000000,0xaaaaaaaa,0xbbbbbbbb,	0xcccccccc,0xdddddddd,0xeeeeeeee,0xffffffff, /* 192 Bytes */	0x99a152a3,0x54a556a7,0x58a95aab,0x5cad5eaf,	0x99a152a3,0x54a556a7,0x58a95aab,0x5cad5eaf,	0x99a152a3,0x54a556a7,0x58a95aab,0x5cad5eaf,	0x99a152a3,0x54a556a7,0x58a95aab,0x5cad5eaf  /* 256 Bytes */};/********************************************************************//*! * \brief   Simple Ethernet test * \param   n   FEC channel to test * \return  0 if all tests were successful *          1 if cable loopback failed *          2 if PHY loopback failed *          3 if internal loopback all failed * * \warning Assumes running on Jamaica platform with dual-FEC enabled MCF5445x */inteth_test(int n){    int i, j, k, retval;	    ASSERT(n >= 0 && n <= 1);    ASSERT(sizeof(packet) <= RX_BUFFER_SIZE);        /* Reset the FEC */    MCF_FEC_ECR(n) = MCF_FEC_ECR_RESET;        /* Enable FEC RMII pin functions */    if (n == 0) {        MCF_GPIO_PAR_FEC = MCF_GPIO_PAR_FEC            & MCF_GPIO_PAR_FEC_FEC0_MASK            | MCF_GPIO_PAR_FEC_FEC0_RMII_GPIO;    }    else {        MCF_GPIO_PAR_FEC = MCF_GPIO_PAR_FEC            & MCF_GPIO_PAR_FEC_FEC1_MASK            | MCF_GPIO_PAR_FEC_FEC1_RMII_GPIO;    }    MCF_GPIO_PAR_FECI2C |= 0        | MCF_GPIO_PAR_FECI2C_MDC0_MDC0        | MCF_GPIO_PAR_FECI2C_MDIO0_MDIO0;            /* initialize the buffers and buffer descriptors */	TxNBUF = (FECBD *)((uint32)(unaligned_txbd + 15) & 0xFFFFFFF0);	RxNBUF = (FECBD *)((uint32)(unaligned_rxbd + 15) & 0xFFFFFFF0);	RxBuffer = (uint8 *)((uint32)(unaligned_rxbuffer + 15) & 0xFFFFFFF0);	/* Initialize receive descriptor ring */	for (i = 0; i < 3; i++)	{		RxNBUF[i].status = RX_BD_E;		RxNBUF[i].length = 0;		RxNBUF[i].data = &RxBuffer[i * RX_BUFFER_SIZE];	}	/* Set the Wrap bit on the last one in the ring */	RxNBUF[2].status |= RX_BD_W;	/* Zero out the receive buffers so we can insure proper reception later */	for (i = 0; i < sizeof(packet); i++)		RxNBUF[0].data[i] = 0;	/* Initialize transmit descriptor ring */	for (i = 0; i < 3; i++)	{		TxNBUF[i].status = TX_BD_L | TX_BD_TC;		TxNBUF[i].length = sizeof(packet);		TxNBUF[i].data = (uint8 *)packet;	}	/* Set the Wrap bit on the last one in the ring */	TxNBUF[2].status |= TX_BD_W;		/* Set the source address for the controller */	MCF_FEC_PALR(n) = 0x00CFCFCF;	MCF_FEC_PAUR(n) = 0xCF010000;		MCF_FEC_IALR(n) = 0x00000000; 	MCF_FEC_IAUR(n) = 0x00000000;		MCF_FEC_GALR(n) = 0x00000000;	MCF_FEC_GAUR(n) = 0x00000000;		/* Set Receive Buffer Size */	MCF_FEC_EMRBR(n) = (uint16)RX_BUFFER_SIZE;	/* Point to the start of the circular Rx buffer descriptor queue */	MCF_FEC_ERDSR(n) = (uint32)RxNBUF;	/* Point to the start of the circular Tx buffer descriptor queue */	MCF_FEC_ETDSR(n) = (uint32)TxNBUF;	MCF_FEC_RCR(n) = 0        |MCF_FEC_RCR_MAX_FL(1518)         | MCF_FEC_RCR_MII_MODE        | MCF_FEC_RCR_PROM;	MCF_FEC_TCR(n) = 0        | MCF_FEC_TCR_FDEN;    /* Make sure the FEC knows we are trying to put it into RMII mode */    ASSERT(MCF_FEC_RCR(n) & MCF_FEC_RCR_RMII_MODE);		/* Enable FEC */	MCF_FEC_ECR(n) |= MCF_FEC_ECR_ETHER_EN;	    /* Initialize the MII channel */    mii_init(FSYS_MHZ);	/* Tell the FEC that empty Rx buffers have been produced */	MCF_FEC_RDAR(n) = MCF_FEC_RDAR_R_DES_ACTIVE;				for (j = 0; j < 3; j++)    {        if (j == 0) {            /* Turn on internal loopback */            MCF_FEC_RCR(n) |= MCF_FEC_RCR_LOOP;                        /* Set the return value in case of failure */            retval = (n == 0) ? ETH0_FAIL_FEC_LOOP : ETH1_FAIL_FEC_LOOP;        }        else if (j == 1)         {            /* Turn off internal loopback */            MCF_FEC_RCR(n) &= ~MCF_FEC_RCR_LOOP;                /* Set the return value in case of failure */            retval = (n == 0) ? ETH0_FAIL_PHY_LOOP : ETH1_FAIL_PHY_LOOP;                        /* Put the PHY in loopback mode */            if (eth_phy_manual(n, MII_100BASE_TX, MII_FDX, TRUE))                return retval;        }        else /* j = 2 */        {            /* Set the return value in case of failure */            retval = (n == 0) ? ETH0_FAIL_CBL_LOOP : ETH1_FAIL_CBL_LOOP;                        /* Put the PHY in normal 100/full mode */            if (eth_phy_manual(n, MII_100BASE_TX, MII_FDX, FALSE))                return retval;        }    	/* Mark packet as ready to send */     	TxNBUF[j].status |= TX_BD_R;	        /* Indicate to FEC that transmit buffer is ready to send */        MCF_FEC_TDAR(n) = MCF_FEC_TDAR_X_DES_ACTIVE;    	for (k = 0; k < 1000000; k++)    	{    		if (MCF_FEC_EIR(n) & MCF_FEC_EIR_RXF)     		{    		    MCF_FEC_EIR(n) = MCF_FEC_EIR_RXF;    			break;		    		}    	}            /* Check for timeout */        if (k == 1000000)         {            return retval;        }        /* Check for data corruption */        for (k = 0; k < sizeof(packet); k += 4)    	{    		if (TxNBUF[j].data[k] != RxNBUF[j].data[k])    		{    			return retval;    		}    	}	}    /* passed all tests */	return (n == 0) ? ETH0_PASS : ETH1_PASS;}/********************************************************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲丶国产丶欧美一区二区三区| 中文字幕在线播放不卡一区| 99国产精品视频免费观看| 亚洲一区影音先锋| 久久婷婷久久一区二区三区| 欧美在线观看禁18| 成人免费av网站| 日韩中文字幕av电影| 亚洲人成影院在线观看| 精品国一区二区三区| 欧美日韩一区精品| www.av精品| 国产美女精品人人做人人爽| 亚洲成人一区在线| 亚洲人成网站精品片在线观看| 日韩免费一区二区| 欧美精品一级二级| 欧洲视频一区二区| 成人免费视频网站在线观看| 久久成人综合网| 天天色天天操综合| 亚洲国产日韩a在线播放性色| 国产日韩欧美不卡在线| 精品美女一区二区| 日韩一卡二卡三卡四卡| 欧美午夜视频网站| 在线视频一区二区免费| 色诱视频网站一区| 欧美成人精品福利| 日韩一区二区免费在线观看| 欧美日韩免费电影| 欧美天堂一区二区三区| 在线一区二区视频| 色综合视频一区二区三区高清| 国产成+人+日韩+欧美+亚洲| 国产精品正在播放| 国产精品99久久久久久似苏梦涵| 黄页网站大全一区二区| 久久se精品一区精品二区| 免费在线观看一区二区三区| 日韩成人精品在线观看| 老司机免费视频一区二区三区| 久久成人av少妇免费| 久久精品国产99| 国内成人精品2018免费看| 国产一区二区网址| 粗大黑人巨茎大战欧美成人| 成人av在线资源| 色综合久久综合网97色综合| 色94色欧美sute亚洲线路二| 欧美系列在线观看| 欧美日韩另类一区| 91麻豆精品国产91久久久久久| 日韩一级完整毛片| 久久久不卡影院| 亚洲欧美中日韩| 亚洲永久精品国产| 三级影片在线观看欧美日韩一区二区| 免费看欧美美女黄的网站| 激情综合色丁香一区二区| 国产精品影视网| 成人小视频免费观看| 色婷婷精品大在线视频| 在线视频国内自拍亚洲视频| 欧美精品三级在线观看| 精品国产亚洲一区二区三区在线观看| 久久精品在线免费观看| 亚洲精品综合在线| 日韩黄色一级片| 国产成人亚洲综合色影视| 91老师国产黑色丝袜在线| 欧美视频你懂的| 精品久久久影院| 最近中文字幕一区二区三区| 日产国产高清一区二区三区| 国产精品自在在线| 欧美视频一区二| 国产午夜亚洲精品羞羞网站| 亚洲在线视频网站| 国产永久精品大片wwwapp| 99精品视频免费在线观看| 欧美福利视频一区| 国产欧美一区视频| 天天色综合天天| 成人开心网精品视频| 欧美精品视频www在线观看 | 色婷婷综合久久久久中文一区二区| 色婷婷精品大视频在线蜜桃视频| 日韩视频永久免费| 亚洲精品中文在线影院| 91精品国产欧美一区二区成人| 欧美国产视频在线| 丝袜美腿亚洲一区二区图片| 99精品一区二区三区| 精品精品国产高清一毛片一天堂| 一区二区欧美精品| 国产寡妇亲子伦一区二区| 欧美精品日韩一本| 亚洲婷婷综合久久一本伊一区| 麻豆精品在线观看| 欧美视频完全免费看| 国产精品污www在线观看| 日本不卡一区二区| 色www精品视频在线观看| 久久久99精品免费观看不卡| 天堂精品中文字幕在线| 一本色道久久综合精品竹菊| 久久精品一区二区三区四区| 日韩电影一区二区三区| 欧美午夜在线观看| 一区二区三区在线播| 成人精品视频一区| 久久久久国产成人精品亚洲午夜| 亚洲va国产va欧美va观看| 成人午夜大片免费观看| 久久综合色播五月| 激情文学综合插| 精品国产乱码久久| 免费成人小视频| 91麻豆精品国产91久久久资源速度| 亚洲自拍偷拍网站| 91麻豆.com| 亚洲精品va在线观看| 99久久综合色| 中文字幕 久热精品 视频在线 | 日本aⅴ精品一区二区三区| 在线一区二区视频| 亚洲乱码国产乱码精品精小说| 成人av在线网站| 中文字幕亚洲成人| 96av麻豆蜜桃一区二区| 国产欧美一区二区精品秋霞影院| 国产传媒日韩欧美成人| 久久精品在这里| 成人爽a毛片一区二区免费| 久久久久亚洲蜜桃| 国产精品亚洲视频| 国产日产欧美一区| 成人在线综合网站| 自拍视频在线观看一区二区| 91丨porny丨首页| 亚洲欧美国产三级| 欧美伊人精品成人久久综合97| 亚洲在线中文字幕| 欧美精品日韩综合在线| 久久精品国产澳门| www激情久久| 成人免费va视频| 亚洲精品亚洲人成人网| 欧美日韩亚洲国产综合| 日韩国产成人精品| 欧美大肚乱孕交hd孕妇| 国产精品一卡二卡| 国产精品美日韩| 色播五月激情综合网| 日韩电影在线观看网站| 久久美女艺术照精彩视频福利播放 | 国产精品综合久久| 日韩精品在线看片z| 国产麻豆精品在线| 国产精品理伦片| 欧洲亚洲国产日韩| 奇米亚洲午夜久久精品| 久久综合久久综合九色| 成人av资源网站| 午夜精品一区二区三区三上悠亚 | 国产精品传媒入口麻豆| 91福利视频在线| 老司机精品视频一区二区三区| 精品国产凹凸成av人网站| 成人在线综合网站| 视频一区二区三区在线| 久久久亚洲综合| 在线观看欧美日本| 激情深爱一区二区| 亚洲自拍偷拍网站| 久久久久久一二三区| 欧美日韩精品一区二区天天拍小说| 麻豆精品一二三| 亚洲免费在线观看| 精品999在线播放| 色久优优欧美色久优优| 激情六月婷婷综合| 亚洲一区欧美一区| 国产亚洲污的网站| 欧美日韩电影一区| 99国产精品一区| 极品尤物av久久免费看| 亚洲最新视频在线观看| www欧美成人18+| 欧美精品1区2区3区| 97精品久久久久中文字幕 | 国内不卡的二区三区中文字幕 | 亚洲国产欧美在线人成| 久久伊99综合婷婷久久伊| 欧美视频第二页| 99在线精品观看| 韩日av一区二区| 天天色图综合网| 亚洲黄网站在线观看|