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

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

?? lib_emac.c

?? 焦海波大蝦在uCOS_II上移植LwIP的源代碼。具體說(shuō)明比較大
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
//*------------------------------------------------------------------------------------------------
//* 文件名				: lib_emac.c
//* 功能描述			: EMAC外設(shè)的函數(shù)庫(kù)
//* 作者    			: 焦海波
//* 版本				: 0.1
//* 建立日期、時(shí)間		: 2006/10/08 10:25
//* 最近修改日期、時(shí)間	: 
//* 修改原因			: 
//*------------------------------------------------------------------------------------------------
//*------------------------------------------ 頭文件 ----------------------------------------------
#include	"/uCOS_II/includes.h"
#include	"/at91sam7x256/include/AT91SAM7X256.h"
#include	"/at91sam7x256/include/lib_AT91SAM7X256.h"
#include	"/LwIP/include/lwip/opt.h"
#include	"lib_emac.h"
//*------------------------------------- 常量、變量、宏 -------------------------------------------
//* 因?yàn)榻邮站彌_區(qū)描述符字0的2到31位保存緩沖區(qū)地址,最低兩位有其它用處,所以指定4字節(jié)對(duì)齊,以保證緩沖區(qū)地址
//* 的最低兩位為0
__align(4) static volatile BYTE baRxBufs[NB_RX_BUFS][ETH_RX_BUF_SIZE];	//* 接收緩沖區(qū)
static BYTE baTxBufs[NB_TX_BUFS][ETH_TX_BUF_SIZE];						//* 發(fā)送緩沖區(qū)

/* 因?yàn)榫彌_區(qū)描述符長(zhǎng)度為雙字,正好8個(gè)字節(jié),所以指定雙字對(duì)齊 */
__align(8) static volatile AT91S_RxBDescriptor __staRxBDescriptors[NB_RX_BUFS];	//* 接收緩沖區(qū)描述符數(shù)組
__align(8) static volatile AT91S_TxBDescriptor __staTxBDescriptors[NB_TX_BUFS];	//* 發(fā)送緩沖區(qū)描述符數(shù)組

//* 保存要讀取的接收緩沖區(qū)的索引位置
static UWORD	__uwCurRxBIdx = 0;
static BYTE		*__pbFrom;
//*-------------------------------------- 函數(shù)原型聲明 --------------------------------------------
static void __HandlePHY(UBYTE ubRegAddr, UWORD *puwData, BOOLEAN blIsRead);
static void __ResetPHY(void);
static void __CheckPHYID(void);
static void __SetupLinkSpeedAndDuplex(void);
static void __InitDescriptorsForRxBAndTxB(void);
__inline void __ilResetTxBDescriptors(void);
//*================================================================================================
//*                     函 數(shù) 區(qū)
//*================================================================================================
//*------------------------------------------------------------------------------------------------
//* 函數(shù)名稱 : irqEMACISR
//* 功能描述 : EMAC發(fā)送和接收結(jié)束中斷處理函數(shù)
//* 入口參數(shù) : 無(wú)
//* 出口參數(shù) : 無(wú)
//*------------------------------------------------------------------------------------------------
__irq void irqEMACISR(void)
{
	extern HANDLER hEthernetInput;
	ULONG	__ulIntStatus, __ulReceiveStatus;

	OSIntEnter();
	{	
		//* 在讀取時(shí)中斷狀態(tài)寄存器位會(huì)被清除
		__ulIntStatus = AT91C_BASE_EMAC->EMAC_ISR;
		//* 這個(gè)是容易忽略的地方,只有讀取RSR寄存器,EMAC中斷處理才能在寫(xiě)EOICR寄存器之后真正結(jié)束
		__ulReceiveStatus = AT91C_BASE_EMAC->EMAC_RSR;
		
		if((__ulIntStatus & AT91C_EMAC_RCOMP) || (__ulReceiveStatus & AT91C_EMAC_REC))
		{
			//* 向EMAC接收任務(wù)發(fā)送信號(hào)
			OSAPISemSend(hEthernetInput);
			
			//* 清除REC(Frame Received)位
			AT91C_BASE_EMAC->EMAC_RSR = AT91C_EMAC_REC;
		}

		if(__ulIntStatus & AT91C_EMAC_TCOMP)
		{
			//* 復(fù)位發(fā)送緩沖區(qū)描述符的Used位使其為程序所有
			__ilResetTxBDescriptors();
			AT91C_BASE_EMAC->EMAC_TSR = AT91C_EMAC_COMP;
		}

		//* 清除中斷標(biāo)志,結(jié)束中斷處理
		AT91C_BASE_AIC->AIC_EOICR = 0;
	}
	OSIntExit();
}
//*------------------------------------------------------------------------------------------------
//* 函數(shù)名稱 : EMACSendPacket
//* 功能描述 : 由__low_level_output()函數(shù)調(diào)用,完成實(shí)際的數(shù)據(jù)發(fā)送。
//* 入口參數(shù) :         <pbFrom>[in] 指向pbuf中數(shù)據(jù)的指針
//*			 :       <ulLength>[in] pbuf中的數(shù)據(jù)長(zhǎng)度
//*			 : <blIsEndOfFrame>[in] 是否是pbuf鏈中的最后一個(gè),也就是幀尾
//* 出口參數(shù) : 如果無(wú)法申請(qǐng)下內(nèi)存則返回ERR_MEM,成功則返回ERR_OK
//*------------------------------------------------------------------------------------------------
BOOLEAN EMACSendPacket(BYTE *pbFrom, ULONG ulLength, BOOLEAN blIsEndOfFrame)
{
	ULONG 			__ulTotalLenToWrite = 0, __ulCurLenToWrite, __ulLenRemainToWrite, __ulIsLastBuf;
	
	//* 注意這是一個(gè)私有的靜態(tài)變量
	static UWORD 	__uwTxBIndex = 0;
	
	LONG 			i;
	BYTE			*__pbBuf;
	
#if OS_CRITICAL_METHOD == 3                     
    OS_CPU_SR  		cpu_sr = 0;
#endif	

	//* 如果要發(fā)送的數(shù)據(jù)長(zhǎng)度大于一個(gè)發(fā)送緩沖區(qū),則需要將這些數(shù)據(jù)分割進(jìn)多個(gè)緩沖區(qū)進(jìn)行發(fā)送
	while(__ulTotalLenToWrite < ulLength)
	{
		//* 等待緩沖區(qū)可用,最長(zhǎng)等待3秒鐘
		i = 0;
		while(!__staTxBDescriptors[__uwTxBIndex].uStatus.bstStatus.bitIsUsed)
		{
			//* 如果已經(jīng)到達(dá)等待時(shí)間仍然沒(méi)有可用緩沖區(qū),則立即返回
			if(i > 300)
				return FALSE;
			
			OSTimeDly(1);
			i++;
		}
	
		OS_ENTER_CRITICAL()
		{
			//* 從描述符中獲得緩沖區(qū)地址,然后把數(shù)據(jù)復(fù)制到緩沖區(qū)
			__pbBuf = (BYTE*)__staTxBDescriptors[__uwTxBIndex].ulTxBAddr;
			
			//* 計(jì)算向緩沖區(qū)寫(xiě)入的數(shù)據(jù)長(zhǎng)度
			__ulLenRemainToWrite = ulLength - __ulTotalLenToWrite;
			if(__ulLenRemainToWrite > ETH_TX_BUF_SIZE)
				__ulCurLenToWrite = ETH_TX_BUF_SIZE;
			else
				__ulCurLenToWrite = __ulLenRemainToWrite;
			
			//* 將pbuf中的數(shù)據(jù)復(fù)制到發(fā)送緩沖區(qū)
			memcpy(__pbBuf, &(pbFrom[__ulTotalLenToWrite]), __ulCurLenToWrite);
			__ulTotalLenToWrite += __ulCurLenToWrite;
			
			//* 看看是否是已經(jīng)到達(dá)pbuf鏈的末尾,如果是則標(biāo)記當(dāng)前使用的緩沖區(qū)為最后一個(gè)緩沖區(qū)
			if(blIsEndOfFrame && (__ulTotalLenToWrite >= ulLength))
			{
				__ulIsLastBuf = TxDESC_STATUS_LAST_BUF;
			}
			else
				__ulIsLastBuf = 0;
	
			//* 填充當(dāng)前的描述符:緩沖區(qū)中的數(shù)據(jù)實(shí)際長(zhǎng)度、最后一個(gè)緩沖區(qū)標(biāo)記、WRAP位(如果確實(shí)是最后一個(gè)描述符)
			if(__uwTxBIndex >= (NB_TX_BUFS-1))
			{				
				__staTxBDescriptors[__uwTxBIndex].uStatus.ulStatus = (__ulCurLenToWrite & TxDESC_STATUS_BUF_SIZE)
																		| __ulIsLastBuf
																		| TxDESC_STATUS_WRAP;
				__uwTxBIndex = 0;
			}
			else
			{
				__staTxBDescriptors[__uwTxBIndex].uStatus.ulStatus = (__ulCurLenToWrite & TxDESC_STATUS_BUF_SIZE)
																		| __ulIsLastBuf;
				__uwTxBIndex++;
			}
	
			//* 如果已經(jīng)到達(dá)pbuf鏈的末尾則立即發(fā)送
			if(__ulIsLastBuf)
				AT91C_BASE_EMAC->EMAC_NCR |= AT91C_EMAC_TSTART;
		}
		OS_EXIT_CRITICAL()
	}

	return TRUE;
}
//*------------------------------------------------------------------------------------------------
//* 函數(shù)名稱 : EMACReadPacket
//* 功能描述 : 從EMAC讀取信息包到申請(qǐng)的pbuf鏈,該函數(shù)要求PBUF_POOL_BUFSIZE大于或等于接收緩沖區(qū),最好是整
//*			 : 數(shù)倍,這樣函數(shù)處理最簡(jiǎn)單。注意,在調(diào)用該函數(shù)之前必須先調(diào)用GetInputPacketLen()函數(shù),這樣才
//*			 : 能獲取正確的讀取位置
//* 入口參數(shù) :         <pbTo>[in] 指向pbuf的指針
//*			 : <uwSegmentLen>[in] pbuf中需要存儲(chǔ)的實(shí)際數(shù)據(jù)長(zhǎng)度,因?yàn)樵谏暾?qǐng)pbuf時(shí),pbuf_alloc()已經(jīng)根據(jù)
//*			 :                    實(shí)際的幀長(zhǎng)將其分割進(jìn)了多個(gè)pbuf組成的pbuf鏈中,而pstPbuf->len則保存了
//*			 :                    每個(gè)pbuf需要存儲(chǔ)的數(shù)據(jù)。換句話說(shuō)pbuf鏈中的最后一個(gè)pbuf的len字段長(zhǎng)度應(yīng)
//*			 :                    該小于或等于PBUF_POOL_BUFSIZE,而前面的pbuf則等于PBUF_POOL_BUFSIZE
//*			 : <blIsLastPbuf>[in] 是否是最后一個(gè)Pbuf
//* 出口參數(shù) : 無(wú)
//*------------------------------------------------------------------------------------------------
void EMACReadPacket(BYTE *pbTo, UWORD uwSegmentLen, BOOLEAN blIsLastPbuf)
{		
	UWORD			__uwTotalLenToRead = 0, 					//* 已經(jīng)讀取到pbuf的總字節(jié)數(shù)
					__uwRemainLenToRead,						//* 還剩多少字節(jié)沒(méi)有讀取到pbuf中
					__uwRemainLenInRxBToRead;					//* EMAC接收緩沖區(qū)中還剩下多少字節(jié)沒(méi)有讀取					
	static UWORD	__uwTotalLenInRxBToRead = 0;				//* EMAC接收緩沖區(qū)中已經(jīng)讀了多少字節(jié)的數(shù)據(jù)
	BOOLEAN			__blIsNotRelease;							//* 是否已經(jīng)主動(dòng)釋放給EMAC
	
	
	/* 注意,必須保證PBUF_POOL_BUFSIZE大于或等于接收緩沖區(qū) */
	
	while(__uwTotalLenToRead < uwSegmentLen)
	{
		__uwRemainLenInRxBToRead = ETH_RX_BUF_SIZE - __uwTotalLenInRxBToRead;
		__uwRemainLenToRead = uwSegmentLen - __uwTotalLenToRead;
		if(__uwRemainLenToRead >= __uwRemainLenInRxBToRead)
		{
			memcpy(pbTo + __uwTotalLenToRead, __pbFrom, __uwRemainLenInRxBToRead);
			__uwTotalLenToRead += __uwRemainLenInRxBToRead;
			__uwTotalLenInRxBToRead = 0;
			
			//* 將接收緩沖區(qū)歸還給EMAC
			__staRxBDescriptors[__uwCurRxBIdx].ulRxBAddrAndFlag &= (~RxDESC_FLAG_OWNSHIP);
			__blIsNotRelease = FALSE;
			
			//* 調(diào)整描述符索引與讀取指針
			__uwCurRxBIdx++;
			if(__uwCurRxBIdx >= NB_RX_BUFS)
				__uwCurRxBIdx = 0;
				
			__pbFrom = (BYTE*)(__staRxBDescriptors[__uwCurRxBIdx].ulRxBAddrAndFlag & EMAC_RxB_ADDR_MASK);
		}
		else
		{
			memcpy(pbTo + __uwTotalLenToRead, __pbFrom, __uwRemainLenToRead);
			__uwTotalLenToRead += __uwRemainLenToRead;
			__uwTotalLenInRxBToRead += __uwRemainLenToRead;
			
			__pbFrom = __pbFrom + __uwTotalLenInRxBToRead;						
			__blIsNotRelease = TRUE;
		}					
	}
	
	if(blIsLastPbuf)
	{
		//* 將接收緩沖區(qū)歸還給EMAC,如果存在恰好是PBUF_POOL_BUFSIZE的整數(shù)倍的數(shù)據(jù)包,則沒(méi)有必要再一次釋放,因?yàn)樗呀?jīng)在
		//* 上面被釋放
		if(__blIsNotRelease)
		{
			__staRxBDescriptors[__uwCurRxBIdx].ulRxBAddrAndFlag &= (~RxDESC_FLAG_OWNSHIP);
			__uwCurRxBIdx++;
			if(__uwCurRxBIdx >= NB_RX_BUFS)
				__uwCurRxBIdx = 0;
		}
			
		__uwTotalLenInRxBToRead = 0;
	}		
}
//*------------------------------------------------------------------------------------------------
//* 函數(shù)名稱 : EMACInit
//* 功能描述 : 初始化EMAC:對(duì)PHY、MII口線、EMAC操作模式進(jìn)行配置,設(shè)置接收和發(fā)送緩沖區(qū)描述符。設(shè)置
//*			 : EMAC接收和發(fā)送中斷
//* 入口參數(shù) : 無(wú)
//* 出口參數(shù) : 無(wú)
//*------------------------------------------------------------------------------------------------
void EMACInit(void)
{
	extern HANDLER hEthernetInput;
	
#if OS_CRITICAL_METHOD == 3                     
    OS_CPU_SR  		cpu_sr = 0;
#endif	

	//* 復(fù)位PHY芯片,使其進(jìn)入U(xiǎn)TP模式
	__ResetPHY();
	
	//* 等待一段指定的時(shí)間,使PHY就緒
	OSTimeDlyHMSM(0, 0, 3, 0);

	//* 設(shè)置PIOB引腳為外設(shè)A引腳(即EMAC引腳),禁止PIOB控制,改為外設(shè)控制
	AT91C_BASE_PIOB->PIO_ASR = EMAC_MII_PINS;
	AT91C_BASE_PIOB->PIO_PDR = EMAC_MII_PINS;
	
	//* 因?yàn)闆](méi)有使用ETXER,所以這里將其配置為由PIO控制
	AT91C_BASE_PIOB->PIO_PER = AT91C_PB12_ETXER;
	AT91C_BASE_PIOB->PIO_ODR = AT91C_PB12_ETXER;
	
	//* 設(shè)置MDC時(shí)鐘分頻數(shù)
	AT91C_BASE_EMAC->EMAC_NCFGR |= AT91C_EMAC_CLK_HCLK_32;
	
	//* 檢查PHY ID是否為0x82010000,如果不是則表明PHY還沒(méi)有就緒或者出現(xiàn)故障,函數(shù)將一直查詢直至正確
	__CheckPHYID();
	
	//* 從PHY獲取自動(dòng)協(xié)商的結(jié)果,設(shè)置EMAC自身的鏈路速度和單雙工方式。注意,該函數(shù)會(huì)阻塞所在任務(wù)的正常執(zhí)行
	//* 直至設(shè)置成功
	__SetupLinkSpeedAndDuplex();
	
	//* 建立接收任務(wù)使用的信號(hào)量,對(duì)uCOS的配置保證信號(hào)量在軟件邏輯上能夠百分百建立成功
	hEthernetInput = OSAPISemNew(0);
	
	//* 初始化接收和發(fā)送緩沖區(qū)描述符,使每個(gè)描述符指向正確的緩沖區(qū)地址
	__InitDescriptorsForRxBAndTxB();
	
	//* 設(shè)置EMAC為MII模式,使能EMAC時(shí)鐘
	AT91C_BASE_EMAC->EMAC_USRIO = AT91C_EMAC_CLKEN;
	
	//* 清除接收狀態(tài)寄存器
	AT91C_BASE_EMAC->EMAC_RSR = AT91C_EMAC_OVR | AT91C_EMAC_REC | AT91C_EMAC_BNA;
	
	//* 復(fù)制所有有效幀到接收緩沖區(qū),不接收廣播幀,不復(fù)制FCS字段
	AT91C_BASE_EMAC->EMAC_NCFGR |= AT91C_EMAC_CAF | AT91C_EMAC_NBC | AT91C_EMAC_DRFCS;
	

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国偷自产国产一区| 7777精品伊人久久久大香线蕉经典版下载| 亚洲柠檬福利资源导航| 欧美一区二区在线不卡| eeuss鲁片一区二区三区在线看| 日韩成人av影视| 国产欧美一区二区在线| 欧美卡1卡2卡| 色综合久久综合中文综合网| 国产精品亚洲专一区二区三区| 香蕉成人啪国产精品视频综合网 | 欧美精品黑人性xxxx| 丁香五精品蜜臀久久久久99网站| 日韩黄色免费网站| 亚洲欧美激情在线| 国产精品午夜春色av| 精品国产凹凸成av人导航| 欧美久久高跟鞋激| 在线观看亚洲a| 91丨porny丨最新| 懂色中文一区二区在线播放| 国产一区二区三区四区五区美女| 视频一区欧美精品| 亚洲综合色在线| 亚洲日本一区二区三区| 一区在线中文字幕| 日本一区二区三区电影| 国产日韩欧美在线一区| 久久久蜜桃精品| 久久久99久久精品欧美| 久久久久免费观看| 国产欧美精品一区aⅴ影院| 久久久欧美精品sm网站| 国产午夜精品久久久久久久 | 中文字幕高清不卡| 国产亚洲精久久久久久| 久久亚洲私人国产精品va媚药| 精品女同一区二区| 精品国产亚洲一区二区三区在线观看| 欧美一区午夜视频在线观看| 欧美一区二区三区在| 日韩欧美色综合| 亚洲精品一区二区三区在线观看 | 暴力调教一区二区三区| 成人av在线网站| 99久久免费视频.com| 色综合久久中文综合久久97| 一本大道久久a久久综合| 欧美色视频一区| 欧美久久久久中文字幕| 日韩一区二区三区免费看| 欧美精品三级在线观看| 日韩欧美在线123| 久久亚洲精精品中文字幕早川悠里| 精品国产第一区二区三区观看体验| 26uuu亚洲综合色| 国产精品美女久久久久久久久| 亚洲色大成网站www久久九九| 亚洲国产综合色| 久久精品99国产国产精| 国产成人av一区二区| 91视视频在线观看入口直接观看www | 欧美福利一区二区| 精品捆绑美女sm三区| 国产女人18毛片水真多成人如厕 | 国产精品主播直播| 91麻豆免费在线观看| 欧美日韩高清一区二区| 久久久久久黄色| 一区二区激情视频| 免费成人在线观看| 波波电影院一区二区三区| 欧美日韩国产综合一区二区三区| 日韩欧美一二区| 中文字幕亚洲不卡| 免费成人美女在线观看.| 成人精品小蝌蚪| 欧美日韩高清在线播放| 国产欧美日韩综合| 亚洲成人一区在线| 激情综合色播五月| 色婷婷久久久久swag精品| 日韩一区和二区| |精品福利一区二区三区| 日韩精品一区第一页| 成人免费高清视频| 91精品国产一区二区三区香蕉| 欧美国产精品专区| 日本成人在线网站| 色国产综合视频| 国产欧美一区二区精品性色| 天堂精品中文字幕在线| 成人高清免费在线播放| 日韩一区二区在线观看视频播放| 国产精品二三区| 国产一区二三区好的| 欧美无乱码久久久免费午夜一区| 久久久高清一区二区三区| 天天综合天天做天天综合| 91在线视频播放地址| 精品国产123| 亚洲chinese男男1069| av亚洲精华国产精华精| 久久影院电视剧免费观看| 婷婷综合在线观看| 99精品国产99久久久久久白柏| 精品理论电影在线| 日韩av一级片| 欧美私模裸体表演在线观看| 国产精品卡一卡二| 国产成人在线视频网站| 日韩午夜精品视频| 图片区小说区国产精品视频| 91啪在线观看| 中文字幕日本乱码精品影院| 国产麻豆一精品一av一免费| 日韩视频在线你懂得| 亚洲成在人线在线播放| 欧美性猛交一区二区三区精品| 亚洲色欲色欲www| 国产成人av福利| 久久精品网站免费观看| 精品一区二区三区蜜桃| 日韩久久精品一区| 美女爽到高潮91| 欧美一区二区性放荡片| 日韩电影免费一区| 欧美一区二区日韩一区二区| 午夜激情久久久| 欧美绝品在线观看成人午夜影视| 亚洲国产视频a| 欧美三级韩国三级日本三斤| 亚洲国产美女搞黄色| 欧美性受xxxx| 肉丝袜脚交视频一区二区| 精品视频999| 五月综合激情婷婷六月色窝| 欧美日产国产精品| 日韩精品每日更新| 日韩一区二区三区视频| 麻豆精品国产传媒mv男同| 欧美成人一区二区三区片免费| 久久激情综合网| 久久伊人蜜桃av一区二区| 国产成人av网站| 1024成人网| 欧美亚洲国产一区在线观看网站| 亚洲国产精品久久艾草纯爱| 欧美精品1区2区3区| 美腿丝袜亚洲三区| 久久精品一区二区三区不卡牛牛| 国产成人无遮挡在线视频| 国产精品视频看| 在线观看视频一区二区| 日本不卡一区二区三区高清视频| 精品国产乱码久久久久久夜甘婷婷 | 国内精品不卡在线| 国产精品色在线观看| 91蜜桃婷婷狠狠久久综合9色| 亚洲国产乱码最新视频 | 精品中文字幕一区二区小辣椒| 久久久蜜桃精品| 91国偷自产一区二区开放时间| 亚洲午夜激情网站| 精品处破学生在线二十三| www.亚洲在线| 三级在线观看一区二区| 欧美激情综合五月色丁香小说| 972aa.com艺术欧美| 日韩主播视频在线| 中文一区一区三区高中清不卡| 欧美性淫爽ww久久久久无| 极品瑜伽女神91| 亚洲乱码一区二区三区在线观看| 欧美一区二区网站| 99综合电影在线视频| 日本网站在线观看一区二区三区| 日本一区二区三区国色天香| 欧美日韩精品欧美日韩精品| 国产成人免费视| 日韩国产在线观看一区| 国产精品美女久久久久av爽李琼| 欧美日韩免费电影| 成人免费毛片片v| 日韩不卡手机在线v区| 136国产福利精品导航| 日韩欧美国产综合一区| 色视频欧美一区二区三区| 经典三级在线一区| 婷婷中文字幕综合| 日韩一区在线看| 久久无码av三级| 欧美一区二区日韩| 色婷婷亚洲婷婷| 夫妻av一区二区| 久久超碰97中文字幕| 亚洲大片免费看| 亚洲精品免费电影| 日本一区二区三区国色天香 | 色88888久久久久久影院野外|