青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

milkyway的窩

最初想法的誕生地

 

wince中斷問題

我現在遇到的問題是不知道如何編寫硬件觸發中斷處理程序
環境為wince.net x86,代碼如下希望您給予關注
//?D??′|àí2?·?
HANDLE g_hevInterrupt;;
HANDLE g_htIST;
DWORD g_dwSysInt;
DWORD SetupInterrupt ( void );
DWORD WINAPI ThreadIST ( LPVOID lpvParam );
DWORD SetupInterrupt( void )
{
BOOL fRetVal;
DWORD dwIrq = 7(這是硬件設置的中斷號)
DWORD dwThreadID;
// Create an event
//
g_hevInterrupt = CreateEvent(NULL, FALSE, FALSE, NULL);
if(!g_hevInterrupt) return 10;
// Have the OAL Translate the IRQ to a system irq
//
fRetVal = KernelIoControl( IOCTL_HAL_TRANSLATE_IRQ,
&dwIrq,
sizeof( dwIrq ),
&g_dwSysInt,
sizeof( g_dwSysInt ),
NULL );
if( !fRetVal )return 11;
// Create a thread that waits for signaling
//
g_htIST = CreateThread(NULL,// CE Has No Security
0, // No Stack Size
ThreadIST,// Interrupt Thread
NULL,// No Parameters
CREATE_SUSPENDED,// Create Suspended until we are done
&dwThreadID // Thread Id
);
if( !g_htIST )return 12;
// Set the thread priority to real time
//
int m_nISTPriority = 7;
if(!CeSetThreadPriority( g_htIST, m_nISTPriority))
return 13;
// Initialize the interrupt
//
if ( !InterruptInitialize(g_dwSysInt,g_hevInterrupt,NULL,0) )return 14;
ResumeThread( g_htIST );
return 0;
}

DWORD WINAPI ThreadIST( LPVOID lpvParam )
{
DWORD dwStatus;
// Always chec the running flag
//
BOOL g_fRun = TRUE;
while( g_fRun )
{
dwStatus = WaitForSingleObject(g_hevInterrupt, INFINITE);
// Make sure we have the object
//
if( dwStatus == WAIT_OBJECT_0 )
{
// Handle Interrupt Here
//
::MessageBox (NULL, _T("2aê?!"), _T("?ˉ??ìáê?"), MB_ICONQUESTION);
// Finish the interrupt
//
InterruptDone( g_dwSysInt );
}
}
return 0;
}
不知道為什么不能觸發

驅網網上商城-開發板,開發資料光盤
[樓 主] Posted:2004-12-31 13:21| 頂端
wxl_50685330





級別: 論壇版主
精華: 0
發帖: 2263
威望: 182 點
積分: 1793 分
貢獻值: 0 點
注冊時間:2002-11-19
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



你的7(硬件號)號中斷的isr里面要返回你申請的sysintr才行
高速無限下載文件,請申請vip會員

根據地的兄弟們,團結就是力量
[1 樓] Posted:2004-12-31 15:41| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]你的7(硬件號)號中斷的isr里面要返回你申請的sysintr才行 [/quote]
我是剛剛入行 ,很感謝你的回帖,你的意思我不太懂?請明示

高速無限下載文件,請申請vip會員
[2 樓] Posted:2004-12-31 16:13| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



dellgao兄弟,怎么沒有看到你的中斷處理程序isr?是你自己寫的嗎?只有在你的isr中返回你前面定義的g_dwSysInt值,你的WaitForSingleObject函數才會被釋放。
高速無限下載文件,請申請vip會員

Come on, let us drive the world.
[3 樓] Posted:2004-12-31 16:38| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]dellgao兄弟,怎么沒有看到你的中斷處理程序isr?是你自己寫的嗎?只有在你的isr中返回你前面定義的g_dwSysInt值,你的WaitForSingleObject函數才會被釋放。 [/quote]
你說的中斷服務程序,DWORD WINAPI ThreadIST ( LPVOID lpvParam );這個函數不是嗎?你寫過給一段源碼好嗎我參考一下,多謝了

驅網網上商城-開發板,開發資料光盤
[4 樓] Posted:2004-12-31 16:50| 頂端
liumengtao





級別: 驅動牛犢
精華: 0
發帖: 16
威望: 4 點
積分: 34 分
貢獻值: 0 點
注冊時間:2003-03-02
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



ISR跟IST不是一回事,ISR負責獲取硬件中斷,再返回系統中斷號給IST以觸發WaitForSingleObject,ISR源碼直接在幫助里找到,改改就行了。
驅網網上商城-開發板,開發資料光盤
[5 樓] Posted:2005-01-01 01:06| 頂端
午夜母豬魔





級別: 驅動牛犢
精華: 0
發帖: 16
威望: 2 點
積分: 19 分
貢獻值: 0 點
注冊時間:2004-11-18
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



給你講講關于硬件中斷轉換為系統中斷的流程你可能就清楚了:(因為我使用的是arm所以抗smdk2410為例。你可以根據你自己的平臺來調整)
1。要使用中斷必須先注冊中斷。具體位置在:
D:\WINCE420\PLATFORM\SMDK2410\INC\oalintr.h參照wince自帶的中斷注冊即可。
2。將硬件中斷變為系統中斷
D:\WINCE420\PLATFORM\SMDK2410\KERNEL\HAL\ARM\armint.c 其中函數OEMInterruptHandler是實現硬件中斷轉換為系統中斷的函數。可以參展別的中斷產生的方法寫你自己的中斷。
3。中斷與事件的綁定(以串口的為例,你要根據自己的需要寫自己的東西。但是使用的函數是一樣的):
com_init()
{ PHW_INDEP_INFO pSerialHead = NULL;
pSerialHead->hserialevent = CreateEvent (0.FALSE,FALSE,NULL);
InterruptInitialize (pSerialhead->pHWObj->dwIntID,//系統中斷號 pSerialHead->hserialevent ,NULL,0);

)//此函數為中斷與事件綁定

pSerialHead->pDispatchThread = CreateThread(NULL,0,IST,pSerialHead,0,NULL);//開一個處理線程
return(pSerialHead);
}
static DWORD WINAPI
IST ( PVOID pContext)
{
PHW_INDEP_INFO pSerialHead = (PHW_INDEP_INFO )pContext;
ULONG WaitReturn;
while (!Done())
{
WaitReturn = WaitForSingleObject
(pSerialHead->hserialevent ,INFINITE);
SerialEventHandler(pSerialHead);
InterruptDone(pSerialhead->pHWObj->dwIntID);
}
return(0)
}
在這里SerialEventHandler是自己要寫的。
4。以上就是是中斷處理的具體流程。你可以參考使用。如果有不對的地方請大家補充;

驅網網上商城-開發板,開發資料光盤
[6 樓] Posted:2005-01-02 10:00| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



To dellgao: 不要著急,其實你離成功只差那么一小步了:)))
我仔細看了一下你給出的代碼,還差那么一點點。就是沒有把你的硬件中斷(7號)和你的ISR相關聯。你想想,對于你給出的代碼,即使你的硬件已經產生了中斷,系統也無法通知你的線程,因為系統怎么會知道你的IST和7號中斷有關?所以你還需要做的就是把7號中斷與一個ISR相關聯,當產生7號中斷時,系統會調用這個ISR。這個ISR由你自己來寫,一般情況下,ISR只是完成簡單的處理工作,主要工作還是由IST來完成。ISR的主要任務:
(1)判斷這個中斷(對于共享中斷)是不是由你的硬件產生,如果
不是則直接返回SYSINTR_CHAIN;
(2)如果是由你的硬件產生,但不需要再由你的IST做進一步處理,那么返回SYSINTR_NOP就可以了;
(3)如果是由你的硬件產生,而且還需要由你的IST做進一步處理,那么要返回g_dwSysInt (這個值是你前面在SetupInterrupt( void )中得到的),返回g_dwSysInt之后,內核會激活與g_dwSysInt關聯的事件,這樣你的IST中的wait函數就會被釋放了。


總結一下:
(1)你需要自己的寫這個中斷的處理函數即ISR,ISR的代碼可以參照前面給出的主要任務來寫,也可以參考pb里面的例子;
(2)在你的SetupInterrupt函數中調用LoadIntChainHandler函數把你的硬件中斷(7號)同你寫的ISR關聯起來。

這樣,就可以了,你試試吧,Good Luck.
:P :P :P

高速無限下載文件,請申請vip會員

Come on, let us drive the world.
[7 樓] Posted:2005-01-04 10:28| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]給你講講關于硬件中斷轉換為系統中斷的流程你可能就清楚了:(因為我使用的是arm所以抗smdk2410為例。你可以根據你自己的平臺來調整)
1。要使用中斷必須先注冊中斷。具體位置在:
D:WINCE420PLATFORMSMDK2410INCoalintr.h參照wince自帶的中斷注冊即可。
2。將硬件中斷變為系統中斷
D:WINCE420PLATFORMSMDK2410KERNELHALARMarmint.c 其中函數OEMInterruptHandler是實現硬件中斷轉換為系統中斷的函數。可以參展別的中斷產生的方法寫你自己的中斷。
3。中斷與事件的綁定(以串口的為例,你要根據自己的需要寫自己的東西。但是使用的函數是一樣的):
com_init()
{ PHW_INDEP_INFO pSerialHead = NULL;
pSerialHead->hserialevent = CreateEvent (0.FALSE,FALSE,NULL);
InterruptInitialize (pSerialhead->pHWObj->dwIntID,//系統中斷號 pSerialHead->hserialevent ,NULL,0);

)//此函數為中斷與事件綁定

pSerialHead->pDispatchThread = CreateThread(NULL,0,IST,pSerialHead,0,NULL);//開一個處理線程
return(pSerialHead);
}
static DWORD WINAPI
IST ( PVOID pContext)
{
PHW_INDEP_INFO pSerialHead = (PHW_INDEP_INFO )pContext;
ULONG WaitReturn;
while (!Done())
{
WaitReturn = WaitForSingleObject
(pSerialHead->hserialevent ,INFINITE);
SerialEventHandler(pSerialHead);
InterruptDone(pSerialhead->pHWObj->dwIntID);
}
return(0)
}
在這里SerialEventHandler是自己要寫的。
4。以上就是是中斷處理的具體流程。你可以參考使用。如果有不對的地方請大家補充; [/quote]
"D:WINCE420PLATFORMSMDK2410INCoalintr.h參照wince自帶的中斷注冊即可。
"我找了半天沒有找到,請指教?謝謝我是新手

驅網網上商城-開發板,開發資料光盤
[8 樓] Posted:2005-01-04 10:47| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



其實,arm和x86架構的平臺,中斷處理的實現方法的有一定的差別。在WINCE420\\PUBLIC\\COMMON\\OAK\\CSP\\I486\\INC的oalintr.h中定義了OEM所使用的用于irq和sysintr轉換的函數,不過這些函數只能用于OAL層。在\\WINCE420\\PUBLIC\\COMMON\\OAK\\INC中的nkintr.h中有sysintr的定義,你可以看看。
其實,你可以按照我前面的方法試試,可以解決你的問題。你只需寫一個isr并把這個isr和你的硬件中斷相關聯即可。

驅網網上商城-開發板,開發資料光盤

Come on, let us drive the world.
[9 樓] Posted:2005-01-04 11:24| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



PB中提供了許多驅動的源代碼,你的isr可以參考GIISR.dll來寫,它的源代碼位于WINCE420\\PUBLIC\\COMMON\\OAK\\DRIVERS\\GIISR。
高速無限下載文件,請申請vip會員

Come on, let us drive the world.
[10 樓] Posted:2005-01-04 12:09| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]PB中提供了許多驅動的源代碼,你的isr可以參考GIISR.dll來寫,它的源代碼位于WINCE420\PUBLIC\COMMON\OAK\DRIVERS\GIISR。 [/quote]
這幾天忙乎了一大陣子,還是迷茫,我是在EVC環境開發,不是在PB里面做,而且我是對計數器板開發,廠家沒有提供驅動,
我的程序要實現的目的如下:
1、硬件環境是一個基于x86的PC104三寸嵌入式板卡
2、pc104的IO卡帶有3個計數器
軟件要實現的功能就是:
對計數器進行編程,每當計數器完畢時候就觸發一個中斷
以上就是所要羅嗦的,希望您能給個建議,謝謝!

高速無限下載文件,請申請vip會員
[11 樓] Posted:2005-01-07 15:59| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



兄弟,如果我沒說錯的話,你的驅動是用來進行數據采集的?
其實,這個驅動的框架已經出來了(就是你最初寫的那些),現在關鍵的問題是isr,你可以看看我前面給你建議,按照那個做肯定可以的。

驅網網上商城-開發板,開發資料光盤

Come on, let us drive the world.
[12 樓] Posted:2005-01-07 16:22| 頂端
dellgao





級別: 驅動牛犢
精華: 0
發帖: 9
威望: 1 點
積分: 11 分
貢獻值: 0 點
注冊時間:2004-12-31
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



[quote]兄弟,如果我沒說錯的話,你的驅動是用來進行數據采集的?
其實,這個驅動的框架已經出來了(就是你最初寫的那些),現在關鍵的問題是isr,你可以看看我前面給你建議,按照那個做肯定可以的。 [/quote]
我不是做采集的是分頻用的,我看了你說的例程,有些迷糊

高速無限下載文件,請申請vip會員
[13 樓] Posted:2005-01-07 16:50| 頂端
wwei_wang





級別: 驅動大牛
精華: 0
發帖: 608
威望: 1 點
積分: 7 分
貢獻值: 0 點
注冊時間:2002-06-07
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



不管是分頻還是數據采集,你的驅動肯定是用來響應外部(定時)中斷的。現在的問題是,在你的驅動中,由誰來響應你的外部中斷呢?肯定不是ist,因為ist只是用來對中斷進行進一步的處理,它是不能和硬件中斷直接聯系在一起的。直接相應硬件中斷的是isr,你需要寫這個中斷服務例程,并把這個例程(isr)同你的硬件中斷關聯起來,這樣當中斷產生的時候,系統就會先調用你的isr,進而執行你的ist線程。如果你還是不太清楚,你就看看pb下面關于installable isr方面的文檔吧。
驅網網上商城-開發板,開發資料光盤

Come on, let us drive the world.
[14 樓] Posted:2005-01-10 08:40| 頂端
lrx666





級別: 驅動太牛
精華: 0
發帖: 10286
威望: 1 點
積分: 9 分
貢獻值: 0 點
注冊時間:2001-08-17
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



好,也學了點東西
高速無限下載文件,請申請vip會員
[15 樓] Posted:2005-09-22 14:37| 頂端
zhyi



級別: 驅動牛犢
精華: 0
發帖: 4
威望: 5 點
積分: 40 分
貢獻值: 0 點
注冊時間:2006-03-22
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



在六樓的帖子中,
com_init()
{ PHW_INDEP_INFO pSerialHead = NULL;
pSerialHead->hserialevent = CreateEvent (0.FALSE,FALSE,NULL);
InterruptInitialize (pSerialhead->pHWObj->dwIntID,//系統中斷號 pSerialHead->hserialevent ,NULL,0);

)//此函數為中斷與事件綁定

pSerialHead->pDispatchThread = CreateThread(NULL,0,IST,pSerialHead,0,NULL);//開一個處理線程
return(pSerialHead);
}
static DWORD WINAPI
IST ( PVOID pContext)
{
PHW_INDEP_INFO pSerialHead = (PHW_INDEP_INFO )pContext;
ULONG WaitReturn;
while (!Done())
{
WaitReturn = WaitForSingleObject
(pSerialHead->hserialevent ,INFINITE);
SerialEventHandler(pSerialHead);
InterruptDone(pSerialhead->pHWObj->dwIntID);
}
return(0)
}
在這里SerialEventHandler是自己要寫的。

我想請教一下,這個SerialEventHandle是否就是ISR,要自己寫要求。我能否在這個ISR中實現兩個中斷,如果可以到IST中如何處理?另外,這上面是如何讓ISR與中斷相關聯的,沒看明白。

驅網網上商城-開發板,開發資料光盤
[16 樓] Posted:2006-04-20 23:18| 頂端
soarstar





級別: 驅動小牛
精華: 0
發帖: 102
威望: 117 點
積分: 0 分
貢獻值: 0 點
注冊時間:2005-03-14
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



SerialEventHandle就是ISR啊
你說的“ISR中實現兩個中斷”是什么意思?
是不是指的是多源中斷?
多源中斷一般在IST中有個判斷
返回的邏輯中斷號都是不一樣的
所以不會在同一個ISR中處理!

驅網網上商城-開發板,開發資料光盤
[17 樓] Posted:2006-04-21 10:25| 頂端
zhyi



級別: 驅動牛犢
精華: 0
發帖: 4
威望: 5 點
積分: 40 分
貢獻值: 0 點
注冊時間:2006-03-22
進入個人主頁 查看作者資料 發送短消息 發送郵件 推薦此帖 引用回復這個帖子



QUOTE:
引用第17樓soarstar2006-04-21 10:25發表的“”:
SerialEventHandle就是ISR啊
你說的“ISR中實現兩個中斷”是什么意思?
是不是指的是多源中斷?
多源中斷一般在IST中有個判斷
返回的邏輯中斷號都是不一樣的
.......


? ? 我的意思是如果用一個驅動程序來實現兩個中斷線,怎么處理?
? 兩個中斷線肯定對應兩個不同的邏輯中斷,上面的SerialEventHandle就是ISR,那么ISR能否返回兩個不同的邏輯中斷,然后不同的邏輯中斷調用不同的IST,來完成不同的中斷內容?
? 或者可以用ISR返回一個邏輯中斷,然后調用一個IST,那么在IST中如何區分?返回哪一個邏輯中斷呢,畢竟兩個中斷線對應的邏輯中斷不同,迷惑中。。。

posted on 2007-02-02 09:25 milkyway 閱讀(2780) 評論(0)  編輯 收藏 引用 所屬分類: wince(別人的文章技巧總結)

導航

統計

公告

隨筆皆原創,文章乃轉載. 歡迎留言!

常用鏈接

留言簿(37)

隨筆分類(104)

隨筆檔案(101)

文章分類(51)

文章檔案(53)

wince牛人

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧洲一二三| 加勒比av一区二区| 亚洲最新合集| 99精品欧美一区| 99精品国产在热久久下载| 亚洲精品一区二区三区樱花| 亚洲精品久久久久久久久久久久| 亚洲国产精品va在看黑人| 亚洲日本理论电影| 国产精品99久久99久久久二8| 亚洲午夜精品国产| 久久精品天堂| 欧美国产乱视频| 欧美日韩中文在线观看| 国产精品中文在线| 国产一区二区三区奇米久涩| 伊人蜜桃色噜噜激情综合| 亚洲伦伦在线| 久久不射网站| 亚洲第一偷拍| 欧美一区二区精品在线| 欧美激情一区二区三区全黄 | 亚洲三级性片| 欧美一区二区三区免费观看视频| 麻豆国产va免费精品高清在线| 亚洲国产精品久久久久秋霞蜜臀| 一本久久综合亚洲鲁鲁五月天| 一区二区三区精品久久久| 欧美日韩国产天堂| 国产精品久久亚洲7777| 亚洲国产精品一区二区三区| 亚洲图片自拍偷拍| 久久午夜精品一区二区| 亚洲视频一二三| 美女爽到呻吟久久久久| 国产亚洲精品一区二区| 国产精品99久久不卡二区| 久久在线视频| 一区二区三区久久| 欧美成人在线影院| 国产婷婷色一区二区三区在线 | 国产精品豆花视频| 伊人男人综合视频网| 午夜在线播放视频欧美| 亚洲精品一二三| 久久婷婷成人综合色| 国产日韩欧美二区| 亚洲一区二区少妇| 91久久精品美女高潮| 久久香蕉国产线看观看网| 国产日韩专区| 久久精品成人| 香蕉av777xxx色综合一区| 欧美性猛交视频| 一区二区三区欧美亚洲| 亚洲精品国产精品国自产观看| 免费观看成人| 亚洲国产成人久久综合| 美女主播精品视频一二三四| 欧美一区二区大片| 极品尤物一区二区三区| 男女av一区三区二区色多| 久久久综合免费视频| 精品动漫3d一区二区三区免费版| 欧美一区二区精品在线| 亚洲欧美日本精品| 国产乱码精品一区二区三区忘忧草 | 99riav国产精品| 欧美成人免费播放| 噜噜噜在线观看免费视频日韩| 好吊色欧美一区二区三区四区| 欧美一区二区在线免费观看| 亚洲一区三区电影在线观看| 国产精品系列在线播放| 久久国产乱子精品免费女 | 牛牛精品成人免费视频| 久久综合九色九九| 亚洲精品欧美极品| 亚洲免费不卡| 国产精品欧美风情| 激情欧美一区二区三区| 国产日韩亚洲欧美| 久久久久久久久久码影片| 久久久久久国产精品一区| 在线精品国精品国产尤物884a| 免费视频一区二区三区在线观看| 欧美xx视频| 一区二区福利| 欧美一级大片在线免费观看| 激情久久中文字幕| 亚洲国产乱码最新视频| 国产精品乱码| 欧美ed2k| 国产精品成人久久久久| 老司机精品导航| 欧美午夜不卡在线观看免费 | 一区二区三区日韩在线观看| 国产日韩欧美综合一区| 欧美激情按摩| 国产精品一区二区在线观看网站| 欧美电影打屁股sp| 国产精品一区三区| 亚洲国产天堂久久综合网| 国产精品久久午夜夜伦鲁鲁| 欧美国产一区在线| 国产精品伊人日日| 亚洲精品一区在线观看| 激情91久久| 亚洲性图久久| 一本一本大道香蕉久在线精品| 久久黄色级2电影| 亚洲一区欧美一区| 欧美国产精品劲爆| 美女精品国产| 国产视频欧美| 亚洲一级片在线观看| 99在线热播精品免费99热| 久久野战av| 久久不射中文字幕| 欧美天堂亚洲电影院在线播放| 亚洲第一视频| 亚洲第一狼人社区| 久久国产天堂福利天堂| 欧美影院午夜播放| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 国产精品二区在线| 亚洲欧洲一区二区三区在线观看| 黄色成人在线网址| 欧美一区二区三区男人的天堂| 亚洲一区欧美一区| 欧美日韩激情小视频| 亚洲第一精品电影| 亚洲高清资源综合久久精品| 久久久久国产精品一区| 久久久久久久久久久一区| 国产伦精品一区二区三| 亚洲网站在线看| 9国产精品视频| 亚洲理论电影网| 乱人伦精品视频在线观看| 蜜臀av在线播放一区二区三区| 国产综合亚洲精品一区二| 香蕉久久夜色| 久久久天天操| 亚洲第一色在线| 免费视频最近日韩| 最新亚洲一区| 日韩天天综合| 欧美日韩在线第一页| 中国日韩欧美久久久久久久久| 亚洲影院免费观看| 国产伦精品一区二区三区视频孕妇 | 亚洲精品中文字| 欧美—级在线免费片| 日韩视频三区| 亚洲欧美成人精品| 国产日本亚洲高清| 久久精品五月婷婷| 亚洲国产精品综合| 亚洲永久视频| 国语自产精品视频在线看8查询8| 久久亚洲精品一区二区| 亚洲福利视频网站| 亚洲伊人伊色伊影伊综合网| 国内精品久久久| 免费黄网站欧美| 亚洲少妇一区| 老鸭窝毛片一区二区三区| 亚洲精品国产精品国自产在线| 国产精品扒开腿爽爽爽视频| 久久久久久9| 亚洲精品综合在线| 欧美专区在线观看一区| 亚洲高清电影| 国产精品久久久久一区二区三区| 欧美在线91| 91久久久在线| 老牛影视一区二区三区| 亚洲影院一区| 亚洲品质自拍| 国产午夜一区二区三区| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久久久久久91| 一区二区日本视频| 美女在线一区二区| 亚洲欧美日韩精品久久奇米色影视| 国产一区二区无遮挡| 欧美三区不卡| 欧美大片免费久久精品三p| 亚洲欧美国产一区二区三区| 亚洲国产精品日韩| 乱码第一页成人| 久久av最新网址| 亚洲视频 欧洲视频| 亚洲二区精品| 国产在线视频欧美一区二区三区| 欧美福利电影网| 欧美亚洲一区二区三区| 久久久www成人免费精品| 葵司免费一区二区三区四区五区|