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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ethernet.c.unknown-exec

?? 國產CPU-龍芯(loongson)BIOS源代碼
?? UNKNOWN-EXEC
字號:
#include <stdio.h>#include <ethernet.h>#define MAX_SIZE 2000#define TX_BD_NUM 1u8 send_data[] = {   0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,   0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,   0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,   0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,   0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,   0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,   0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,   0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,   0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,   0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,   0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,   0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,   0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,   0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,   0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,   0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,   0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,   0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,   0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,};u8 send_frame[MAX_SIZE];u8 rev_frame[MAX_SIZE];void eth_test(){    MAC_data_frame e_frame;        eth_init();    while (1)    {	/*	set_frame(&e_frame, 0x100);	loop_back_test(&e_frame);	*/	set_frame(&e_frame, 0x0008);	send_one_normal_frame(&e_frame);	wait_for_tx_init();	/*	set_frame(&e_frame, 0x1000);	send_one_huge_frame(&e_frame);	wait_for_tx_init();	set_frame(&e_frame, 0x10);	send_one_small_frame(&e_frame);	wait_for_tx_init();	*/	wait_for_rx_init();	read_rx_normal_frame(&e_frame);    }}static void eth_init(){    u32 status = 0;    /* Double full duplex */    ETH_SET32(REG_MAC_MODER, 0x0000A400);    /* Enable interrupt, unnessisary */    ETH_SET32(REG_MAC_INT_MASK, 0x0000007F);    /* For full duplex */    ETH_SET32(REG_MAC_IPGT, 0x00000015);    /* Allow to transfer control frame & receive frame and able to save to ram */    ETH_SET32(REG_MAC_CTRLMODER, 0x00000007);    /* setup MAC address */    ETH_SET32(REG_MAC_ADDR0, 0x03040506);    ETH_SET32(REG_MAC_ADDR1, 0x0000AA02);    ETH_SET32(REG_MAC_TX_BD_NUM, TX_BD_NUM);        status = ETH_GET32(REG_MAC_MODER);    status |= 0x3;    ETH_SET32(REG_MAC_MODER, status);    status = ETH_GET32(REG_MAC_MODER);    serial_puts("eth_int:REG_MAC_MODER:");    serial_put32(status);    /* Set data received address */    ETH_SET32(DIS_TXBD_BUF + (TX_BD_NUM<<3) + 4, PHY(rev_frame));    status = ETH_GET32(DIS_TXBD_BUF + (TX_BD_NUM<<3) + 4);    serial_put32(status);    status = (1518 << 16);    status |= BIT_MAC_RX_BD_EMPTY|BIT_MAC_RX_BD_IRQ|BIT_MAC_RX_BD_WRAP;    ETH_SET32(DIS_TXBD_BUF + (TX_BD_NUM<<3), status);    serial_puts("RX ready\n");    /* Set TXBD frame buffer address */    ETH_SET32(DIS_TXBD_BUF + 4, PHY(send_frame));    status = ETH_GET32(DIS_TXBD_BUF + 4);    serial_puts("TXBD Point:");    serial_put32(status);}static void set_frame(MAC_data_frame *frame, u32 length){    DEST_ADDR(frame, 0x386393, 0x610400);    SRC_ADDR(frame, 0x060504, 0x0302AA);    LENGTH(frame, length);}static void loop_back_test(MAC_data_frame *frame){    MAC_data_frame rev_frame;    u32 i = 0;    u32 status = 0;    status = ETH_GET32(REG_MAC_MODER);    status |= BIT_MAC_MODER_LOOPBCK;    ETH_SET32(REG_MAC_MODER, status);    wait_for_rx_init();    send_one_normal_frame(frame);    wait_for_tx_init();    read_rx_normal_frame(&rev_frame);    i = compare_data(frame, &rev_frame);    if (i == -1)	serial_puts("Loop test error\n");    status &= ~BIT_MAC_MODER_LOOPBCK;    ETH_SET32(REG_MAC_MODER, status);}static void send_one_normal_frame(MAC_data_frame *frame){    send_one_frame(frame, send_frame);}static void send_one_frame(MAC_data_frame *frame, u8 *send_buf){    u8 *psend = NULL;    u32 status = 0;    u32 i = 0;    u32 len = 0x60;    psend = send_buf;    for (i=0;i<6;i++)	psend[i] = frame->des_addr[i];    for (i=0;i<6;i++)	psend[6+i] = frame->src_addr[i];    *(u16 *)(psend + 12) = frame->length;    for (i=0;i<len-14;i++)	psend[14+i] = send_data[i];        /* Turn on transfer */    status |= BIT_MAC_TX_BD_IRQ|BIT_MAC_TX_BD_WRAP|BIT_MAC_TX_BD_PAD|BIT_MAC_TX_BD_CRC|BIT_MAC_TX_BD_READY;    status &= 0x0000ffff;    status |= (MAC_HEADER_LEN + len) << 16;    ETH_SET32(DIS_TXBD_BUF, status);}static void wait_for_tx_init(){    u32 status = 0;        u32 time_out = 0x10000;    /*    do {	status = ETH_GET32(DIS_TXBD_BUF);    } while ((status & BIT_MAC_TX_BD_READY) && time_out--);    */    while(ETH_GET32(DIS_TXBD_BUF) & BIT_MAC_TX_BD_READY);    if (time_out)    {	serial_puts("Data has send out\n");	status = ETH_GET32(DIS_TXBD_BUF);	serial_puts("wait_for_tx_init:TXDB:");	serial_put32(status);	status = ETH_GET32(REG_MAC_INT_SOURCE);	serial_puts("wait_for_tx_init:INT Source:");	serial_put32(status);	ETH_SET32(DIS_TXBD_BUF, 0);    }    else    {	serial_puts("Time Out\n");    }}static int compare_data(MAC_data_frame *s_frame, MAC_data_frame *r_frame){    int i = 0;    for (i=0;i<6;i++)    {	if (s_frame->des_addr[i] != r_frame->des_addr[i])	    return -1;	if (s_frame->src_addr[i] != r_frame->src_addr[i])	    return -1;    }    if (s_frame->length != r_frame->length)	return -1;    for (i=0;i<s_frame->length;i++)	if (send_frame[14+i] != rev_frame[14+i])	    return -1;    return 0;}static void send_one_huge_frame(MAC_data_frame *frame){    send_one_frame(frame, send_frame);}static void send_one_small_frame(MAC_data_frame *frame){    send_one_frame(frame, send_frame);}static void wait_for_rx_init(){    /* Ready to receive datas */    while (ETH_GET32(DIS_TXBD_BUF + (TX_BD_NUM<<3)) & BIT_MAC_RX_BD_EMPTY);}static void read_rx_normal_frame(MAC_data_frame *frame){    u32 status = 0;    u32 irq_reg = 0;    u32 frame_len = 0;    /* Data arrived. Read out RXBD register and interrupt source register */    status = ETH_GET32(DIS_TXBD_BUF + (TX_BD_NUM<<3));    serial_puts("read_rx_normal_frame:RXDB:");    serial_put32(status);    irq_reg = ETH_GET32(REG_MAC_INT_SOURCE);    ETH_SET32(REG_MAC_INT_SOURCE, irq_reg);    serial_puts("read_rx_normal_frame:INT Source:");    serial_put32(irq_reg);        dump_data(rev_frame, frame_len);    frame_len = (status >> 16) & 0xffff;    serial_puts("Acturaly data size:");    serial_put32(frame_len);    status = (1518 << 16);    status |= BIT_MAC_RX_BD_EMPTY|BIT_MAC_RX_BD_IRQ|BIT_MAC_RX_BD_WRAP;    ETH_SET32(DIS_TXBD_BUF + (TX_BD_NUM<<3), status);    serial_puts("RX ready\n");}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色倩网站大全免费| 一区二区三区高清| 久久麻豆一区二区| 精品美女在线播放| 91精品婷婷国产综合久久性色| 欧美日韩久久不卡| 欧美精品日日鲁夜夜添| 欧美久久久久久久久| 欧美精品自拍偷拍动漫精品| 欧美精品色一区二区三区| 91精品婷婷国产综合久久性色 | 国产一区 二区| 久久99精品久久久久久久久久久久 | 亚洲激情在线播放| 亚洲男同性视频| 亚洲一区二区av电影| 五月天一区二区| 看电影不卡的网站| 国产精品18久久久久久久久 | 91久久精品一区二区二区| 色狠狠桃花综合| 欧美日韩在线播| 日韩一级片网址| 久久精品一区二区| **欧美大码日韩| 亚洲成人激情自拍| 国模大尺度一区二区三区| 国产成人免费av在线| 91视频在线看| 欧美日韩成人综合在线一区二区| 在线不卡的av| 欧美激情自拍偷拍| 亚洲一区二区三区四区在线| 日韩精品国产欧美| 国产一区三区三区| 91蜜桃免费观看视频| 欧美日本一道本在线视频| 精品精品国产高清a毛片牛牛| 国产精品亲子伦对白| 亚洲一区视频在线| 韩国成人在线视频| 色综合色狠狠天天综合色| 91精品国产色综合久久不卡蜜臀| 久久精品一区二区三区不卡| 亚洲一区视频在线| 国产不卡在线视频| 欧美三级蜜桃2在线观看| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 美女被吸乳得到大胸91| 99视频一区二区| 欧美变态tickling挠脚心| 国产精品免费视频一区| 日韩国产欧美视频| 99精品久久99久久久久| 日韩精品一区二区三区视频 | 日av在线不卡| 99精品视频一区二区| 日韩欧美国产小视频| 亚洲精品五月天| 国产美女视频91| 欧美乱妇15p| 亚洲日本在线看| 国产一区欧美一区| 欧美二区在线观看| 亚洲欧美偷拍卡通变态| 国内精品久久久久影院一蜜桃| 日本道免费精品一区二区三区| 久久久久国产精品人| 五月婷婷另类国产| 91久久精品午夜一区二区| 国产丝袜欧美中文另类| 美女视频一区在线观看| 精品视频在线看| 综合久久久久久| 懂色中文一区二区在线播放| 欧美福利一区二区| 夜夜嗨av一区二区三区网页| 国产福利一区在线| 精品欧美一区二区久久 | 成人h动漫精品一区二区| 日韩精品一区二区三区老鸭窝 | 91免费小视频| 欧美韩国日本综合| 国产在线精品一区二区| 制服丝袜av成人在线看| 一区二区不卡在线播放 | 久久av资源网| 日韩一区二区三区四区五区六区| 亚洲第一福利一区| 欧亚一区二区三区| 一区二区三区在线视频免费观看| 成人免费视频一区二区| 久久久久久99久久久精品网站| 奇米影视在线99精品| 在线成人av网站| 日韩中文字幕区一区有砖一区| 在线观看日韩国产| 亚洲一区二区三区四区五区中文| 91日韩一区二区三区| 国产精品久久久久久久蜜臀 | 国产亚洲欧美日韩在线一区| 老司机精品视频在线| 欧美一级高清片| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美日韩国产精品成人| 亚洲.国产.中文慕字在线| 欧美午夜免费电影| 亚洲午夜视频在线| 欧美夫妻性生活| 秋霞av亚洲一区二区三| 日韩一级视频免费观看在线| 久久草av在线| 国产人成亚洲第一网站在线播放| 国产成人自拍在线| 欧美激情一区二区三区全黄| 成人av午夜电影| 樱桃视频在线观看一区| 欧美亚洲愉拍一区二区| 日日夜夜免费精品| 精品理论电影在线观看| 国产一区二区0| ...av二区三区久久精品| 在线观看网站黄不卡| 五月天激情小说综合| 日韩欧美一级特黄在线播放| 国模冰冰炮一区二区| 国产精品久久久久久久久动漫| av不卡在线播放| 亚洲国产成人av网| 欧美不卡一二三| av电影天堂一区二区在线 | 99精品在线观看视频| 亚洲精品高清在线| 91精品国产91久久综合桃花| 国产在线国偷精品免费看| 1区2区3区精品视频| 欧洲日韩一区二区三区| 男人操女人的视频在线观看欧美| 国产欧美日韩视频一区二区| 一本色道久久综合亚洲精品按摩| 午夜伊人狠狠久久| 久久婷婷国产综合精品青草| 成人av网站在线观看免费| 亚洲成人三级小说| 亚洲精品一区二区三区影院 | 精品久久人人做人人爰| 国产91在线看| 亚洲va国产va欧美va观看| 久久久91精品国产一区二区三区| 色婷婷综合久久久中文字幕| 麻豆精品在线播放| 亚洲免费观看视频| 日韩精品在线一区二区| 色综合激情五月| 狠狠色伊人亚洲综合成人| 亚洲青青青在线视频| 精品国产乱码久久久久久久久| 91丝袜美女网| 国产一区不卡在线| 五月天亚洲精品| 136国产福利精品导航| 欧美一级黄色大片| 在线国产电影不卡| 成人av网站在线观看免费| 免费日本视频一区| 一区二区三区欧美久久| 久久久精品国产免大香伊| 欧美日韩精品免费观看视频 | 国产精品久久免费看| 欧美一区二区免费观在线| 99久久精品国产一区二区三区| 捆绑调教美女网站视频一区| 亚洲香肠在线观看| 综合激情网...| 久久精品亚洲麻豆av一区二区| 欧美男人的天堂一二区| 91免费观看视频| 成人蜜臀av电影| 国产一区二区三区免费看| 日本不卡不码高清免费观看| 一区二区三区在线视频播放| 欧美激情一区二区三区全黄| 精品欧美一区二区三区精品久久| 欧美男女性生活在线直播观看| 在线免费观看视频一区| 不卡的av中国片| 国产成人综合亚洲91猫咪| 麻豆极品一区二区三区| 日本欧洲一区二区| 丝袜脚交一区二区| 午夜精品久久久| 亚洲成人综合在线| 亚洲第一精品在线| 亚洲不卡在线观看| 亚洲一区免费观看| 亚洲成人7777| 亚洲高清视频中文字幕| 一区二区三区电影在线播| 亚洲精品伦理在线| 亚洲乱码国产乱码精品精可以看|