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

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

?? extdma.c

?? 非常有用的DMA傳輸
?? C
字號:
#include <string.h>
#include "2410addr.h"
#include "2410lib.h"
#include "option.h"
#include "def.h"

void _Dma0XdreqHandshakeUnit8bit(void);	    //SET_XDREQ16()
void _Dma0XdreqHandshakeUnit16bit(void);    //SET_XDREQ16()
void _Dma0XdreqHandshakeUnit32bit(void);    //SET_XDREQ16()
void _Dma0XdreqHandshakeBurst16bit(void);   //SET_XDREQ16()

void _Dma0XdreqDemandUnit16bit(void);	    //SET_XDREQDm()
void _Dma0XdreqDemandBurst16bit(void);	    //SET_XDREQDm()

void _Dma0XdreqWholeUnit16bit(void);	    //SET_XDREQ1()
void _Dma0XdreqWholeBurst16bit(void);	    //SET_XDREQ1()


#define BUS8		(0)
#define BUS16		(1)
#define BUS32		(2)

//GPG9  = DMAMODE0
//GPG10 = DMAMODE1
//GPG8  = nDMASTART

#define SET_XDREQ16()	rGPGDAT=(rGPGDAT&~(3<<9))|(0x1<<9)    //xxx01xxx handshake
#define SET_XDREQ1()	rGPGDAT=(rGPGDAT&~(3<<9))|(0x2<<9)    //xxx10xxx whole
#define START_XDREQ()	{rGPGDAT=(rGPGDAT&~(1<<8))|(0x0<<8);\
			rGPGDAT=(rGPGDAT&~(1<<8))|(0x1<<8);} //xxx1xxx -> xxx0xxx -> xxx1xxx
#define SET_XDREQDm()	rGPGDAT=(rGPGDAT&~(3<<9))|(0x3<<9)    //xxx11xxx demand
//DMAMODE[1:0]:	01b= 16 time requests   
//		10b= one time request
//		11b= demand request

volatile int isDma0Done;

//Verilog code for data bus pins of the EPM7032AE
//assign data[3:0] = (!nGCS && !nOE ) ? wdata:4'bz;


void IsrDma0Done(void)
{
    ClearPending(BIT_DMA0);
    isDma0Done=1;
}


void Test_Dma0Xdreq(void)
{
    U32 savePLLCON,saveCLKDIVN;


    rINTMSK=BIT_ALLMSK;
    pISR_DMA0=(U32)IsrDma0Done;
    rINTMSK=~(BIT_DMA0);

    saveCLKDIVN=rCLKDIVN;
    savePLLCON=rMPLLCON;

    Uart_TxEmpty(0);
    ChangeClockDivider(1,1);	    // 1:2:4 
    ChangeMPllValue(0x5c,0x4,0x1);  //Fin=12MHz FCLK=100MHz
    Uart_Init(25000000,115200);

    rGPBCON=(rGPBCON & (~(0xf<<18))) | (0xa<<18);   //GPB9=nXDACK0, GPB10=nXDREQ0
    //rMISCCR=(rMISCCR & (~(0xf<<4))) | (0x3<<4);   // reset value = nRSTCON bit is high
    rMISCCR=0x330;	//HCLK
    rGPHCON=(rGPHCON & (~(0x3<<18))) | (0x2<<18);   //GPH9=CLKOUT0
    
    rGPGDAT &= (0x9<<8);    // DMAMODE[1:0]=00
    rGPGDAT |= (0x1<<8);    // nDMASTART=1;
    rGPGCON=(rGPGCON & (~(0x3f<<16))) | (0x15<<16);   //GPG8=nDMASTART,GPG9=DMAMODE0,GPG10=DMAMODE1

    Uart_Printf("Test Menu for Dma0 nXDREQ/nXDACK\n");
    Uart_Printf("1: Single/handshake/unit/8bit   src:GCS0(16)  dst:SDRAM(32)\n");
    Uart_Printf("2: Single/handshake/unit/16bit  src:GCS0(16)  dst:SDRAM(32)\n");
    Uart_Printf("3: Single/handshake/unit/32bit  src:GCS0(16)  dst:SDRAM(32)\n");
    Uart_Printf("4: Single/handshake/burst/16bit src:GCS0(16)  dst:SDRAM(32)\n");
    Uart_Printf("5: Whole/handshake/unit/16bit   src:GCS0(16)  dst:SDRAM(32)\n");
    Uart_Printf("6: Whole/handshake/burst/16bit  src:GCS0(16)  dst:SDRAM(32)\n");
//    Uart_Printf("7: Single/Demand/unit/16bit     src:GCS0(16)  dst:SDRAM(32)\n");
//    Uart_Printf("8: Single/Demand/burst/16bit    src:GCS0(16)  dst:SDRAM(32)\n");
    Uart_Printf("Select the item?\n");

    switch(Uart_Getch())
    {
    case '1':
    	_Dma0XdreqHandshakeUnit8bit();
    	break;
    case '2':
    	_Dma0XdreqHandshakeUnit16bit();
    	break;
    case '3':
    	_Dma0XdreqHandshakeUnit32bit();
    	break;
    case '4':
    	_Dma0XdreqHandshakeBurst16bit();
    	break;
    case '5':
    	_Dma0XdreqWholeUnit16bit();
    	break;
    case '6':
    	_Dma0XdreqWholeBurst16bit();
    	break;
/*    case '7':
	_Dma0XdreqDemandUnit16bit();
	break;
    case '8':
	_Dma0XdreqDemandBurst16bit();
	break;*/
    default:
    	break;
    }
    rINTMSK=BIT_ALLMSK;

    Uart_TxEmpty(0);
    rCLKDIVN=saveCLKDIVN;
    rMPLLCON=savePLLCON;
    Uart_Init(0,115200);
}

void _Dma0XdreqHandshakeUnit8bit(void)
{
    int i;
    static U8 *bufDst;
    
    Uart_Printf("[Dma0,Single,handShake,unit,8bit Test,B0->SDRAM]\n");
    //Uart_Printf("NOTE:Ignore bit[3:0]!!\n");//?????

    bufDst=(U8 *)0x31000000;//Non cacheable area

    for(i=0;i<16;i++)
	bufDst[i]=0;
    
    isDma0Done=0;

    rDISRC0=(int)(0x0);	// B0
    rDISRCC0=(0<<1)+(0<<0);	// AHB, inc
    rDIDST0=(U32)(bufDst);	// bufDst
    rDIDSTC0=(0<<1)+(0<<0);	// AHB, inc
    rDCON0=(1<<31)+(1<<30)+(1<<29)+(0<<28)+(0<<27)+(0<<24)+(1<<23)+(1<<22)+(0<<20)+16;
    //handshake, sync HCLK, TC int, single tx, single service, nXDREQ0, H/W request, 
    //auto-reload off, byte, 16
    rDMASKTRIG0=(0<<2)+(1<<1)+0;    //no-stop, DMA2 channel on, no-sw trigger 


    SET_XDREQ16();
    START_XDREQ();
    
    while(isDma0Done==0);
    
    for(i=0;i<16;i++)
	Uart_Printf( "%2x,",*((U8 *)0x0+i) );
    Uart_Printf("\n");
    for(i=0;i<16;i++)
	Uart_Printf("%2x,",bufDst[i]);
}

void _Dma0XdreqHandshakeUnit16bit(void)
{
    int i;
    static U16 *bufDst;

    Uart_Printf("[Dma0,Single,HandShake,unit,16bit Test,B0->SDRAM]\n");

    bufDst=(U16 *)0x31000000;//Non cacheable area

    for(i=0;i<16;i++)//{bufSrc[i]=i;bufDst[i]=0;}
	bufDst[i]=0;
    
    isDma0Done=0;

    rDISRC0=(int)(0x0);		// B0
    rDISRCC0=(0<<1)+(0<<0);	// AHB, inc
    rDIDST0=(U32)(bufDst);	// bufDst
    rDIDSTC0=(0<<1)+(0<<0);	// AHB, inc
    rDCON0=(1<<31)+(1<<30)+(1<<29)+(0<<28)+(0<<27)+(0<<24)+(1<<23)+(1<<22)+(1<<20)+16;
    //handshake, sync HCLK, TC int, single tx, single service, nXDREQ0, H/W request, 
    //auto-reload off, half word, 16hw
    rDMASKTRIG0=(0<<2)+(1<<1)+0;    //no-stop, DMA2 channel on, no-sw trigger 
    SET_XDREQ16();
    START_XDREQ();
    
    while(isDma0Done==0);

    for(i=0;i<16;i++)
	Uart_Printf("%4x,",*((U16 *)0x0+i));
    Uart_Printf("\n");
    for(i=0;i<16;i++)
	Uart_Printf("%4x,",*((U16 *)bufDst+i));
}

void _Dma0XdreqHandshakeUnit32bit(void)
{
    int i;
    static U32 *bufDst;

    Uart_Printf("[Dma0,HandShake,unit,32bit Test,B0->SDRAM]\n");

    bufDst=(U32 *)0x31000000;//Non cacheable area

    for(i=0;i<16;i++)
	bufDst[i]=0;
    
    isDma0Done=0;

    rDISRC0=(int)(0x0);		// B0
    rDISRCC0=(0<<1)+(0<<0);	// AHB, inc
    rDIDST0=(U32)(bufDst);	// bufDst
    rDIDSTC0=(0<<1)+(0<<0);	// AHB, inc
    rDCON0=(1<<31)+(1<<30)+(1<<29)+(0<<28)+(0<<27)+(0<<24)+(1<<23)+(1<<22)+(2<<20)+16;
    //handshake, sync HCLK, TC int, single tx, single service, nXDREQ0, H/W request, 
    //auto-reload off, word, 16w
    rDMASKTRIG0=(0<<2)+(1<<1)+0;    //no-stop, DMA2 channel on, no-sw trigger 
    
    SET_XDREQ16();
    START_XDREQ();
    
    while(isDma0Done==0);    	
    for(i=0;i<16;i++)
    {
    	Uart_Printf("%8x,",*((U32 *)0+i));
    	if(i%8==7)
	    Uart_Printf("\n");
    }
    
    for(i=0;i<16;i++)
    {
    	Uart_Printf("%8x,",bufDst[i]);
    	if(i%8==7)
	    Uart_Printf("\n");
    }
}

void _Dma0XdreqHandshakeBurst16bit(void)
{
    int i;
    static U16 *bufDst;

    Uart_Printf("[Dma0,HandShake,burst,16bit Test,B0->SDRAM]\n");

    bufDst=(U16 *)0x31000000;//Non cacheable area
    for(i=0;i<64;i++)
	bufDst[i]=0;
    
    isDma0Done=0;
    
    rDISRC0=(int)(0x0);		// B0
    rDISRCC0=(0<<1)+(0<<0);	// AHB, inc
    rDIDST0=(U32)(bufDst);	// bufDst
    rDIDSTC0=(0<<1)+(0<<0);	// AHB, inc
    rDCON0=(1<<31)+(1<<30)+(1<<29)+(1<<28)+(0<<27)+(0<<24)+(1<<23)+(1<<22)+(1<<20)+16;
    //handshake, sync HCLK, TC int, burst tx, single service, nXDREQ0, H/W request, 
    //auto-reload off, half-word, 64hw
    rDMASKTRIG0=(0<<2)+(1<<1)+0;    //no-stop, DMA2 channel on, no-sw trigger 

    SET_XDREQ16();
    START_XDREQ();
    
    while(isDma0Done==0);

    for(i=0;i<64;i++)
    {
	Uart_Printf("%4x,",*((U16 *)0x0+i));
	if(i%8==7)
	    Uart_Printf("\n");
    }
    Uart_Printf("\n");
    for(i=0;i<64;i++)
    {
	Uart_Printf("%4x,",*((U16 *)bufDst+i));
	if(i%8==7)Uart_Printf("\n");
    }
}

void _Dma0XdreqWholeUnit16bit(void)
{
    int i;
    static U16 *bufDst;


    Uart_Printf("[Dma0,Whole,HandShake,unit,16bit Test,B0->SDRAM]\n");
    
    bufDst=(U16 *)0x31000000;//Non cacheable area
    for(i=0;i<16;i++)
	bufDst[i]=0;
    
    isDma0Done=0;

    rDISRC0=(int)(0x0);		// B0
    rDISRCC0=(0<<1)+(0<<0);	// AHB, inc
    rDIDST0=(U32)(bufDst);	// bufDst
    rDIDSTC0=(0<<1)+(0<<0);	// AHB, inc
    rDCON0=(1<<31)+(1<<30)+(1<<29)+(0<<28)+(1<<27)+(0<<24)+(1<<23)+(1<<22)+(1<<20)+16;
    //handshake, sync HCLK, TC int, unit tx, whole service, nXDREQ0, H/W request, 
    //auto-reload off, half-word, 16hw
    rDMASKTRIG0=(0<<2)+(1<<1)+0;    //no-stop, DMA2 channel on, no-sw trigger 

    SET_XDREQ1();
    START_XDREQ();
    
    while(isDma0Done==0);

    for(i=0;i<16;i++)
    {
	Uart_Printf("%4x,",*((U16 *)0x0+i));
	if(i%8==7)
	    Uart_Printf("\n");
    }
    Uart_Printf("\n");
    for(i=0;i<16;i++)
    {
	Uart_Printf("%4x,",*((U16 *)bufDst+i));
	if(i%8==7)Uart_Printf("\n");
    }
}



void _Dma0XdreqWholeBurst16bit(void)
{
    int i;
    static U16 *bufDst;

    Uart_Printf("[Dma0,whole,burst,16bit Test,B0->SDRAM]\n");

    bufDst=(U16 *)0x31000000;//Non cacheable area
    for(i=0;i<64;i++)
	bufDst[i]=0;
    
    isDma0Done=0;

    rDISRC0=(int)(0x0);		// B0
    rDISRCC0=(0<<1)+(0<<0);	// AHB, inc
    rDIDST0=(U32)(bufDst);	// bufDst
    rDIDSTC0=(0<<1)+(0<<0);	// AHB, inc
    rDCON0=(1<<31)+(1<<30)+(1<<29)+(1<<28)+(1<<27)+(0<<24)+(1<<23)+(1<<22)+(1<<20)+16;
    //handshake, sync HCLK, TC int, burst tx, whole service, nXDREQ0, H/W request, 
    //auto-reload off, half-word, 64hw
    rDMASKTRIG0=(0<<2)+(1<<1)+0;    //no-stop, DMA2 channel on, no-sw trigger 

    SET_XDREQ1();
    START_XDREQ();
    
    while(isDma0Done==0);
    
    for(i=0;i<64;i++)
    {
	Uart_Printf("%4x,",*((U16 *)0x0+i));
	if(i%8==7)
	    Uart_Printf("\n");
    }
    Uart_Printf("\n");

    for(i=0;i<64;i++)
    {
    	Uart_Printf("%4x,",bufDst[i]);
    	if(i%8==7)Uart_Printf("\n");
    }
}

// Demand test OK!! with another logic
void _Dma0XdreqDemandUnit16bit(void)
{
    int i;
    static U16 *bufDst;

    Uart_Printf("[Dma0,Single,Demand,unit,16bit Test,B0->SDRAM]\n");
    
    bufDst=(U16 *)0x31000000;//Non cacheable area
    for(i=0;i<16;i++)
	bufDst[i]=0;
    
    isDma0Done=0;

    rDISRC0=(int)(0x0);		// B0
    rDISRCC0=(0<<1)+(0<<0);	// AHB, inc
    rDIDST0=(U32)(bufDst);	// bufDst
    rDIDSTC0=(0<<1)+(0<<0);	// AHB, inc
    rDCON0=(0<<31)+(1<<30)+(1<<29)+(0<<28)+(0<<27)+(0<<24)+(1<<23)+(1<<22)+(1<<20)+16;
    //Demand, sync HCLK, TC int, unit tx, single service, nXDREQ0, H/W request, 
    //auto-reload off, half-word, 16hw
    rDMASKTRIG0=(0<<2)+(1<<1)+0;    //no-stop, DMA2 channel on, no-sw trigger 

    SET_XDREQDm();
    START_XDREQ();
    
    while(isDma0Done==0);

    for(i=0;i<16;i++)
    {
	Uart_Printf("%4x,",*((U16 *)0x0+i));
	if(i%8==7)
	    Uart_Printf("\n");
    }
    Uart_Printf("\n");
    for(i=0;i<16;i++)
    {
	Uart_Printf("%4x,",*((U16 *)bufDst+i));
	if(i%8==7)Uart_Printf("\n");
    }
}


void _Dma0XdreqDemandBurst16bit(void)
{
    int i;
    static U16 *bufDst;

    Uart_Printf("[Dma0,whole,burst,16bit Test,B0->SDRAM]\n");

    bufDst=(U16 *)0x31000000;//Non cacheable area
    for(i=0;i<64;i++)
	bufDst[i]=0;
    
    isDma0Done=0;

    rDISRC0=(int)(0x0);		// B0
    rDISRCC0=(0<<1)+(0<<0);	// AHB, inc
    rDIDST0=(U32)(bufDst);	// bufDst
    rDIDSTC0=(0<<1)+(0<<0);	// AHB, inc
    rDCON0=(0<<31)+(1<<30)+(1<<29)+(1<<28)+(0<<27)+(0<<24)+(1<<23)+(1<<22)+(1<<20)+16;
    //Demand, sync HCLK, TC int, burst tx, single service, nXDREQ0, H/W request, 
    //auto-reload off, half-word, 64hw
    rDMASKTRIG0=(0<<2)+(1<<1)+0;    //no-stop, DMA2 channel on, no-sw trigger 

    SET_XDREQDm();
    START_XDREQ();
    
    while(isDma0Done==0);
    
    for(i=0;i<64;i++)
    {
	Uart_Printf("%4x,",*((U16 *)0x0+i));
	if(i%8==7)
	    Uart_Printf("\n");
    }
    Uart_Printf("\n");

    for(i=0;i<64;i++)
    {
    	Uart_Printf("%4x,",bufDst[i]);
    	if(i%8==7)Uart_Printf("\n");
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕中文在线不卡住| 欧洲精品在线观看| 久久久久久久久久看片| 国产一区二区免费看| 精品处破学生在线二十三| 久久69国产一区二区蜜臀| 久久久一区二区| 成人在线一区二区三区| 亚洲男人天堂av| 欧美日韩一区精品| 久久国产精品72免费观看| 久久久99久久| 色老汉av一区二区三区| 日韩av网站在线观看| 亚洲精品一区二区三区福利| 国产91精品入口| 亚洲另类在线视频| 欧美一级艳片视频免费观看| 国产精品亚洲人在线观看| 综合激情网...| 欧美精品久久一区| 国产麻豆9l精品三级站| 亚洲精品中文在线观看| 欧美精品一级二级三级| 国产精品18久久久久久久久久久久 | 国产91丝袜在线播放九色| 1000精品久久久久久久久| 欧美猛男超大videosgay| 加勒比av一区二区| 亚洲图片另类小说| 69堂精品视频| eeuss影院一区二区三区| 丝瓜av网站精品一区二区| 国产午夜精品久久久久久免费视| 色一情一伦一子一伦一区| 久久91精品久久久久久秒播| 亚洲视频在线观看一区| 欧美tk—视频vk| 日本韩国精品一区二区在线观看| 蜜桃av一区二区| 亚洲图片欧美激情| 久久精品网站免费观看| 欧美久久免费观看| 成人av在线资源网| 精品亚洲成av人在线观看| 亚洲免费在线视频一区 二区| 日韩欧美国产午夜精品| 欧美性一区二区| 成人av在线一区二区三区| 麻豆一区二区三| 日韩在线观看一区二区| 国产精品色婷婷久久58| 69p69国产精品| 色综合欧美在线| 成人免费观看男女羞羞视频| 日本不卡一区二区三区| 一区二区久久久| 中文字幕免费不卡| 精品国精品国产| 91精品国产综合久久久蜜臀粉嫩 | 国产在线播精品第三| 亚洲国产综合人成综合网站| 中文字幕一区二区日韩精品绯色| 精品sm捆绑视频| 欧美日韩精品福利| 91激情在线视频| 色综合天天天天做夜夜夜夜做| 成人动漫中文字幕| 黄色精品一二区| 精品在线你懂的| 精品综合免费视频观看| 婷婷亚洲久悠悠色悠在线播放| 亚洲欧美电影院| 亚洲精品成人少妇| 亚洲视频每日更新| 亚洲色图清纯唯美| 1024成人网| 一区二区三区小说| 一级做a爱片久久| 亚洲一区二区三区国产| 一区二区三区在线视频观看58| 亚洲欧美综合网| 综合分类小说区另类春色亚洲小说欧美| 国产精品乱人伦一区二区| 欧美国产精品v| 日韩一区在线免费观看| 亚洲欧美色一区| 亚洲大片精品永久免费| 日韩综合小视频| 老司机精品视频在线| 精品无人码麻豆乱码1区2区| 国产在线播精品第三| 成人午夜短视频| 色域天天综合网| 欧美一区二区在线不卡| 日韩精品最新网址| 欧美高清在线视频| 亚洲欧美经典视频| 偷拍与自拍一区| 久久黄色级2电影| 国产精品白丝jk黑袜喷水| 成人手机电影网| 91网站在线观看视频| 欧美色电影在线| 日韩一区二区三免费高清| 精品99999| 中文字幕二三区不卡| 亚洲精品国产视频| 奇米四色…亚洲| 欧美日韩久久久| 亚洲精品一区二区三区福利| 中文字幕在线不卡一区二区三区| 亚洲一区影音先锋| 免费欧美在线视频| 不卡的av中国片| 欧美精选午夜久久久乱码6080| 精品国产污污免费网站入口| 国产精品国产三级国产aⅴ原创 | 亚洲成人在线免费| 国产福利一区二区三区视频在线| 99久久99久久精品免费看蜜桃 | 亚洲精品一区二区在线观看| 国产精品美女久久久久久久| 亚洲电影视频在线| 国产69精品一区二区亚洲孕妇| 欧美日韩一区二区三区在线看| 久久日韩粉嫩一区二区三区| 一区二区三区在线观看欧美| 国产一区二区三区美女| 欧美性xxxxxxxx| 亚洲国产精品v| 另类综合日韩欧美亚洲| 91视频在线观看免费| 26uuu久久天堂性欧美| 亚洲一区二区黄色| 懂色av一区二区三区蜜臀| 日韩一区二区三区在线观看| 亚洲激情av在线| 成人一级片在线观看| 日韩视频在线一区二区| 亚洲一级在线观看| 成人国产精品免费| 欧美精品一区二区三区蜜桃视频| 亚洲自拍欧美精品| 波多野结衣在线一区| 久久综合色鬼综合色| 日韩中文欧美在线| 欧美色男人天堂| 亚洲美女视频一区| 99久久综合国产精品| 精品国产伦一区二区三区观看方式| 亚洲国产精品嫩草影院| 91丝袜呻吟高潮美腿白嫩在线观看| www成人在线观看| 蜜桃久久av一区| 制服.丝袜.亚洲.另类.中文 | 婷婷成人激情在线网| 一本大道久久a久久综合婷婷| 国产日韩一级二级三级| 狠狠久久亚洲欧美| 日韩视频免费观看高清完整版 | 日韩av中文在线观看| 欧美又粗又大又爽| 一区二区久久久久久| 色婷婷久久99综合精品jk白丝| 国产欧美一区在线| 成人国产精品免费观看视频| 中文字幕第一区| aaa国产一区| 日韩毛片在线免费观看| 欧美一区二区三区日韩视频| 亚洲不卡av一区二区三区| 欧洲国内综合视频| 一区二区欧美在线观看| 欧美在线免费观看亚洲| 亚洲美女精品一区| 色8久久人人97超碰香蕉987| 亚洲视频免费在线| 欧美色爱综合网| 日韩电影免费在线看| 日韩一区二区精品葵司在线| 狠狠色狠狠色综合日日91app| 欧美mv日韩mv| 狠狠色丁香久久婷婷综| 国产视频一区二区三区在线观看| 成人永久免费视频| 亚洲女人****多毛耸耸8| 欧美又粗又大又爽| 日本女优在线视频一区二区| 欧美成人a∨高清免费观看| 国产精品中文有码| 国产精品电影一区二区三区| 91久久香蕉国产日韩欧美9色| 亚洲第一会所有码转帖| 欧美一级理论片| 国产传媒一区在线| 亚洲精选视频免费看| 3d成人h动漫网站入口| 精品在线亚洲视频| 亚洲免费观看高清完整|