《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > μCOSII在基于Cortex-M3核的ARM處理器上的移植
μCOSII在基于Cortex-M3核的ARM處理器上的移植
電子科技
關(guān)海,馮大政
摘要: μCOSII在基于Cortex-M3核的ARM處理器上的移植,介紹了源代碼公開的實時操作系統(tǒng)μCOSII在ARM處理器STM32F103VBT6上的移植過程。首先簡要介紹了ARM核Cortex—M3的一些基本概念,然后結(jié)合其基本概念用C語言和匯編語言修改了移植過程中需要修改的所有源代碼文件且給出了其詳細(xì)解釋。最后給出了一個基于μCOSII嵌入式操作系統(tǒng)的簡單應(yīng)用,討論了基于嵌入式操作系統(tǒng)的應(yīng)用程序開發(fā)方法與傳統(tǒng)應(yīng)用程序開發(fā)方法的區(qū)別,說明前者方法的優(yōu)越性并驗證了移植的成功。
關(guān)鍵詞: ARM Cortex-M3 μCOSII
Abstract:
Key words :

目前,嵌入式技術(shù)已被廣泛應(yīng)用到汽車電子、無線通信、數(shù)碼產(chǎn)品等各個領(lǐng)域。嵌入式操作系統(tǒng)及嵌入式處理器技術(shù)發(fā)展迅猛,嵌入式操作系統(tǒng)典型代表有μCOS—II、μClinux、Winclow CE、VxWorks等;嵌入式處理器包括ARM、MIPS、PowerPC等。隨著軟硬件技術(shù)的發(fā)展,人們開始意識到基于嵌入式操作系統(tǒng)的程序開發(fā)模式的便利性及可靠性,并且在程序開發(fā)過程中開始傾向于從傳統(tǒng)超循環(huán)開發(fā)模式轉(zhuǎn)向基于嵌入式操作系統(tǒng)的開發(fā)模式。

1 軟硬件開發(fā)環(huán)境及處理器介紹
1.1 軟件硬開發(fā)環(huán)境
   
本移植過程使用的軟件環(huán)境是RealView MDK開發(fā)套件,此產(chǎn)品是ARM公司最新推出的針對各種嵌入式處理器的軟件開發(fā)工具,該開發(fā)套件功能強大,包括了μVision3集成開發(fā)環(huán)境和RealView編譯器。使用的硬件平臺是深圳英蓓特公司推出的全功能評估板STMl03V100,其上所采用的處理器是ST意法半導(dǎo)體公司生產(chǎn)的32位哈佛結(jié)構(gòu)ARM處理器STM32F103VBT6,該處理器內(nèi)置ARM公司最新的Cortex—M3核,并且具有非常豐富的片上資源。
1.2 關(guān)于基于Cortex-M3" title="Cortex-M3">Cortex-M3的ARM處理器的介紹
   
基于Cortex—M3核的ARM處理器支持兩種模式,分別稱為線程模式和處理模式。程序可以在系統(tǒng)復(fù)位時或中斷返回時兩種情況下進入線程模式,而處理模式只能通過中斷或異常的方式來進入。處于線程模式中代碼可以分別運行在特權(quán)方式下和非特權(quán)方式下。處于處理模式中的代碼總是運行在特權(quán)方式下。運行在特權(quán)方式下的代碼對系統(tǒng)資源具有完全訪問權(quán),而運行在非特權(quán)方式下的代碼對系統(tǒng)資源的訪問權(quán)受到一定限制。處理器可以運行在Thumb狀態(tài)或Debug狀態(tài)。在指令流正常執(zhí)行期間,處理器處于Thumb狀態(tài)。當(dāng)進行程序調(diào)試時,指令流可以暫停執(zhí)行,這時處理器處于Debug狀態(tài)。處理器有兩個獨立的堆棧指針,分別稱為MSP和PSP。系統(tǒng)復(fù)位時總是處于線程模式的特權(quán)方式下,并且默認(rèn)使用的堆棧指針是MSP。本移植過程中假設(shè)任務(wù)總是運行在線程模式的特權(quán)方式下且總是使用堆棧指針PSP。

2 移植過程詳解
2.1 μCOS-II內(nèi)核介紹

    μCOS—II是一個實時可剝奪型操作系統(tǒng)內(nèi)核,該操作系統(tǒng)支持最多64個任務(wù),但每個任務(wù)的優(yōu)先級必須互不相同,優(yōu)先級號小的任務(wù)比優(yōu)先級號大的任務(wù)具有更高的優(yōu)先級,并且該操作系統(tǒng)總是調(diào)度優(yōu)先級最高的就緒態(tài)任務(wù)運行。此內(nèi)核的代碼是美國人Jean J.Labrosse用C語言編寫的,具有很好的可移植性,其2.52版本通過了美國航天航空管理局的安全認(rèn)證,可靠性非常高。文中所述的移植過程使用的就是該版本的源代碼。
2.2 開始移植
    μCOS—II v2.52的源代碼按照移植要求分為需要修改部分和不需要修改部分。其中需要修改源代碼的文件包括頭文件OS_CPU.H、C語言文件OS_CPU.C以及匯編格式文件OS_CPU_A.ASM。
2.2.1 修改頭文件OS_CPU.H
   
頭文件OS_CPU.H中需要修改的內(nèi)容有與編譯器相關(guān)的數(shù)據(jù)類型重定義部分和與處理器相關(guān)的少量代碼。由于本移植過程中使用的是RealView編譯器,因此通過查閱此編譯器的相關(guān)說明文檔可以得到其所支持的基本數(shù)據(jù)類型,據(jù)此修改OS_CPU.H中與編譯器相關(guān)的數(shù)據(jù)類型重定義部分。修改后代碼如下所示:

   
    其中定義的數(shù)據(jù)類型OS_STK指出了處理器堆棧中的數(shù)據(jù)是32位的,OS_CPU_SR指出了處理器狀態(tài)寄存器字長也為32位。
    頭文件中與處理器相關(guān)部分代碼包括臨界區(qū)訪問處理、處理器堆棧增長方向及任務(wù)切換宏定義。臨界區(qū)代碼訪問涉及到全局中斷開關(guān)指令,由文獻可以得知關(guān)中斷和開中斷可以分別由指令CPSID i和CPSIE i實現(xiàn),文中臨界段訪問處理如下:

   
    其中INT_DIS()和INT_EN()分別對應(yīng)關(guān)中斷和開中斷處理過程。
    根據(jù)文獻可知文中所使用的處理器支持的堆棧為滿遞減方式,即堆棧的增長方向是從內(nèi)存高地址向低地址方向遞減并且堆棧指針總是指向棧頂?shù)臄?shù)據(jù)。在頭文件OS_CPU.H中相應(yīng)代碼只須修改一條,如下所示
    #define OS_STK_GROWTH1
    此定義中的1代表堆棧方向是向下遞減的。
    頭文件OS_CPU.H中最后一個要修改的地方是任務(wù)切換宏定義,μCOS—II內(nèi)核就是通過這個宏調(diào)用來觸發(fā)任務(wù)級的任務(wù)切換。任務(wù)切換一般是通過陷阱或軟件中斷來實現(xiàn)的,在基于Cortex—M3核的處理器中支持一條稱為超級用戶調(diào)用的指令SVC,此指令是ARM軟件中斷指令SWI的升級版。此處的宏定義代碼修改為如下形式
    #define OS_TASK_SW()OS_SVC()
    其中OS_SVC()之中包含了SVC指令,它可以由嵌入?yún)R編的方式在C語言代碼中進行定義,如下所示
    _asm void OS_SVC(void){SVCOx00}
    以上代碼以嵌入?yún)R編的方式定義了一個輸入?yún)?shù)和返回值都為空的C語言函數(shù),嵌入?yún)R編的格式在RealView編譯器的說明文檔中有詳細(xì)的說明。
2.2.2 修改C語言文件OS_CPU.C
   
根據(jù)文獻可知文件OS_CPU.C中有10個C語言函數(shù)需要編寫,這些函數(shù)中唯一必要的函數(shù)是OSTaskStkInit,其他9個函數(shù)必須聲明,但不一定要包含任何代碼。為了簡潔起見,本移植過程只編寫了OSTaskStkInit,此函數(shù)的作用是把任務(wù)堆棧初始化成好像剛發(fā)生過中斷一樣。要初始化堆棧首先必須了解微處理器在中斷發(fā)生前后的堆棧結(jié)構(gòu),根據(jù)文獻易知微處理器在中斷發(fā)生前后的堆棧結(jié)構(gòu),并且可知寄存器xPSR、PC、LR、R12、R3、R2、R1、RO是中斷時由硬件自動保存的。初始化時需要注意的地方是xPSR、PC和LR的初值,對于其他寄存器的初值沒有特別的要求。xPSR比特位是Thumb狀態(tài)位,初始化時須置1,否則執(zhí)行代碼時會引起一個稱為Invstate的異常,這是因為內(nèi)置Cortex—M3核的微處理器只支持Thumb和Thumb2指令集。堆棧中PC和LR須初始化為任務(wù)的入口地址值,這樣才能在任務(wù)切換時跳轉(zhuǎn)到正確的地方開始執(zhí)行。此函數(shù)可以用以下代碼來實現(xiàn)


2.2.3 修改匯編語言文件OS_CPU_A.ASM
   
匯編文件OS_CPU_A.ASM中需要編寫的函數(shù)分別為OSStartHighRdy、OSCtxSw、OSIntCtxSw和OSTickISR。第一個函數(shù)的作用是啟動多任務(wù)調(diào)度,此函數(shù)只在操作系統(tǒng)開始調(diào)度任務(wù)前執(zhí)行一次,以后不再調(diào)用。按照文獻中所述須將堆棧中的寄存器依次彈出,然后執(zhí)行一條中斷返回指令來開始第一個用戶任務(wù)的調(diào)度。但基于Cortex—M3核的ARM處理器在執(zhí)行中斷返回指令時必須處于處理模式下,否則將會引起內(nèi)存訪問異常。當(dāng)系統(tǒng)上電啟動時或程序重置后,處理器會進入線程模式,而要在函數(shù)OSStartHighRdy中執(zhí)行中斷返回指令就首先需要進行模式轉(zhuǎn)換,進入處理模式,而進行同步可控制模式轉(zhuǎn)換的途徑是超級用戶調(diào)用,即通過SVC指令產(chǎn)生軟件中斷可轉(zhuǎn)換到處理模式。實際上考慮到此函數(shù)只在啟動多任務(wù)調(diào)度開始前被調(diào)用一次,并且第一次調(diào)度任務(wù)運行時任務(wù)堆棧中除了xPSR、PC和LR的初值以外,其他寄存器的初值無關(guān)緊要。因此可以簡化該函數(shù)的編寫,只須從第一個任務(wù)的堆棧中取出該任務(wù)的首地址,然后修改堆棧指針使其指向任務(wù)堆棧中內(nèi)存地址最高處,即相當(dāng)于拋棄任務(wù)堆棧中所有數(shù)據(jù),最后根據(jù)取出的地址直接跳轉(zhuǎn)到任務(wù)入口地址處開始執(zhí)行。這樣可以免去軟件中斷和模式切換,從而簡化了對此函數(shù)的編寫。需要說明的是在拋棄任務(wù)堆棧中所用數(shù)據(jù)的同時也將xPSR的初值拋棄了,但這并不影響第一個任務(wù)投人運行,因為在跳轉(zhuǎn)到第一個任務(wù)運行之前,指令流是在Thumb狀態(tài)下正常執(zhí)行的,xPSR已經(jīng)有了確定的值。此函數(shù)代碼如下所示

    BX r0;直接跳轉(zhuǎn)到第一個任務(wù)的入口地址
    第二個匯編語言函數(shù)OSCtxSw是任務(wù)級的任務(wù)切換函數(shù)。若在任務(wù)執(zhí)行過程中有一個比當(dāng)前任務(wù)優(yōu)先級更高的任務(wù)進入就緒態(tài),μCOS—II內(nèi)核就會啟動OSCtxSw進行任務(wù)切換。該函數(shù)會保存當(dāng)前任務(wù)狀態(tài),然后恢復(fù)那個優(yōu)先級更高的任務(wù)狀態(tài),使之投入運行。前述的宏定義#defineOS_TASK_SW()OS_SVC()中的OS_SVC()包含了SVC軟件中斷指令,此中斷的中斷向量應(yīng)該設(shè)為函數(shù)OSCtxSw的入口地址,即OSCtxSw是SVC指令產(chǎn)生中斷的中斷服務(wù)程序,其源代碼如下


    由于微處理器在進入中斷時按堆棧增長方向自動順序保存了如下8個寄存器:xPSR、PC、LR、R12、R3、R2、R1、R0,因此在程序中只須保存另外8個寄存器,保存順序可以隨意,但注意彈棧時要按照先進后出的方式進行。按照本文開頭的假定,任務(wù)總是運行在線程模式的特權(quán)方式下且總是使用堆棧指針PSP。而中斷產(chǎn)生后,中斷服務(wù)程序?qū)⑻幱谔幚砟J较拢⑶夷J(rèn)使用的堆棧指針是MSP。因此在保存堆棧指針的時候需要保存的是當(dāng)前任務(wù)的PSP。中斷返回前新任務(wù)的堆棧指針需要恢復(fù)到PSP中。中斷返回使用如下指令
    MOVrO,#Oxfffffffd
    BXr0
    其中立即數(shù)#0xfffffffd包含了返回信息,用這兩條指令可以使中斷返回時使用任務(wù)堆棧指針PSP,返回后任務(wù)處于線程模式且使用任務(wù)堆棧指針PSP。
    第三個匯編語言函數(shù)OSIntCtxSw與OSCtxSw類似。若任務(wù)執(zhí)行過程中產(chǎn)生了中斷,且中斷服務(wù)程序使得一個比當(dāng)前被中斷的任務(wù)具有更高優(yōu)先級的任務(wù)就緒時,μCOS—II內(nèi)核就會在中斷返回之前調(diào)用函數(shù)OSIntCtxSw。在此函數(shù)中不需要像任務(wù)級任務(wù)切換函數(shù)那樣保存當(dāng)前任務(wù)狀態(tài),因為當(dāng)前任務(wù)已經(jīng)被中斷,在進入中斷服務(wù)程序的時候任務(wù)狀態(tài)已被保存。其源代碼與函數(shù)OSctxSw中保存當(dāng)前任務(wù)堆棧PSP指令以后部分相同,此處不再列出。
    第4個匯編語言函數(shù)OSTickISR是系統(tǒng)時鐘節(jié)拍的中斷服務(wù)函數(shù)。處理器STM32F103VBT6中有一個專用系統(tǒng)時鐘節(jié)拍定時器SysTick,本移植過程使用此定時器產(chǎn)生每100 ms一次的時鐘節(jié)拍中斷。此函數(shù)源代碼如下

3 程序開發(fā)模式討論
   
傳統(tǒng)應(yīng)用程序開發(fā)模式稱為超循環(huán)模式,即通常主程序是由C語言中的for語句或while語句構(gòu)成的一個無限循環(huán),程序在此循環(huán)中檢測事件的發(fā)生,從而轉(zhuǎn)向不同的任務(wù)。這種程序開發(fā)模式有兩個主要的不足之處。首先從程序維護和可靠性的角度來看,所有任務(wù)都需要程序開發(fā)人員來進行全局性的維護,當(dāng)系統(tǒng)變得龐大和復(fù)雜時,任務(wù)的維護會變得非常麻煩,同時程序的可靠性也受到影響。其次,從任務(wù)級響應(yīng)時間來看,這個時間是不確定的,因為程序在循環(huán)體中檢測事件發(fā)生的位置是固定的,但事件的發(fā)生是隨機的,因此從事件發(fā)生到程序檢測到事件發(fā)生這段時間也是不確定的。
    在基于嵌入式操作系統(tǒng)的應(yīng)用程序開發(fā)過程中,應(yīng)用程序開發(fā)人員只需關(guān)心各個任務(wù)本身,而任務(wù)調(diào)度由操作系統(tǒng)代勞。以下的例子說明了基于μCOS—II嵌入式操作系統(tǒng)的應(yīng)用程序開發(fā)模式


    其中函數(shù)SysInit的作用是根據(jù)具體應(yīng)用對處理器芯片進行必要的初始化,例如對系統(tǒng)的時鐘分配以及通用輸入輸出端口配置。函數(shù)OSInit是μCOS—II操作系統(tǒng)的內(nèi)核初始化程序。第一個OSTaskCreate函數(shù)創(chuàng)建了任務(wù)Taskl,此任務(wù)的入口地址是Taskl,優(yōu)先級是0。第二個OSTaskCreate函數(shù)創(chuàng)建了任務(wù)Task2,此任務(wù)的入口地址是Task2,優(yōu)先級是1。函數(shù)OSTaskCrate還會將其創(chuàng)建的任務(wù)置于就緒態(tài)。文獻敘述了函數(shù)OSTa-skCreate的各個參數(shù)的含義。函數(shù)OSStart用于啟動多任務(wù)調(diào)度。OSTimeDly是μCOS—II內(nèi)核提供的系統(tǒng)調(diào)用函數(shù),用于延時或定時,這里的參數(shù)5表示延時5個時鐘節(jié)拍。應(yīng)用程序開發(fā)人員需要做的就是通過調(diào)用μCOS—II內(nèi)核提供的任務(wù)創(chuàng)建函數(shù)OSTaskCreate將編寫好的任務(wù)程序交給操作系統(tǒng)管理。
    該例中在調(diào)用OSStart后,操作系統(tǒng)發(fā)現(xiàn)任務(wù)Taskl的優(yōu)先級最高,于是操作系統(tǒng)就調(diào)度任務(wù)Taskl使其投入運行,而任務(wù)Task2暫時不能獲得處理器的使用權(quán)。任務(wù)Taskl首先點亮一個LED,然后延時一段時間,當(dāng)運行到OSTimeDly處時,該任務(wù)被掛起而處于等待狀態(tài),此時任務(wù)Task2成為優(yōu)先級最高的就緒態(tài)任務(wù),于是操作系統(tǒng)調(diào)度Task2運行。當(dāng)5個時鐘節(jié)拍的延時時間結(jié)束時,系統(tǒng)時間節(jié)拍中斷服務(wù)子程序會重新將任務(wù)Taskl置于就緒狀態(tài),此時任務(wù)Taskl再一次成為優(yōu)先級最高的就緒態(tài)任務(wù),于是操作系統(tǒng)保存任務(wù)Task2的狀態(tài),并恢復(fù)任務(wù)Taskl的狀態(tài)使其又一次獲得處理器的使用權(quán)。此后程序執(zhí)行過程將重復(fù)上述步驟。可以看到,在這個例子中的現(xiàn)象是某個LED燈不停的閃爍。
    μCOS—II操作系統(tǒng)內(nèi)核是實時可剝奪型的,這意味著在任務(wù)執(zhí)行過程中或中斷服務(wù)子程序中,一旦有一個新的更高優(yōu)先級的任務(wù)就緒,內(nèi)核將立刻調(diào)度此新任務(wù)運行,這說明響應(yīng)任務(wù)的時間是即刻的、確定的。
    綜上所述,基于嵌入式操作系統(tǒng)的應(yīng)用程序開發(fā)過程相對于以往傳統(tǒng)應(yīng)用程序開發(fā)大為簡化而且任務(wù)級響應(yīng)時間也得到最優(yōu)化。


4 結(jié)束語
    通過將移植過程中修改的μCOS—II內(nèi)核代碼與上述例子中的應(yīng)用程序代碼在μVision3集成開發(fā)環(huán)境中編輯整合后進行編譯、鏈接并且下載到目標(biāo)硬件平臺進行長時間觀察,發(fā)現(xiàn)LED不停的閃爍,說明本移植過程是成功的。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 经典三级伦理另类基地 | 在线精品国产一区二区三区 | 国产精品久久久久久久福利竹菊 | 欧美日韩3p| 高h大肚孕期孕妇play | 国产成人精品亚洲线观看 | 欧美激情视频一区二区三区不卡 | 久久精品丝袜高跟鞋 | 日韩在线欧美 | 欧美人与禽猛交乱配 | 超碰男人天堂 | 国产成人综合美国十次 | 丝袜诱惑一区二区 | 国产精品久久久久久久一区探花 | 免费看黄色网址 | www.久久av.com| 久久久久高潮综合影院 | 亚洲日韩aⅴ在线视频 | 99精品国产热久久91蜜凸 | 国产理论一区 | 国产免费片 | 国产老头和老太xxxx视频 | 区一区二区三区中文字幕 | 国产成人福利av综合导航 | 天天综合网网欲色 | 动漫美女无遮挡免费 | 全黄一级片 | 一个人看的视频在线观看www | 老女人av在线 | 亚洲天堂一二三 | 顶级欧美熟妇xx | 亚洲色无码国产精品网站可下载 | 无码国产精品一区二区免费i6 | 欧美mv日韩mv国产网站 | 亚洲国产精品国自产拍av秋霞 | 人妻少妇久久久久久97人妻 | 日本激情小视频 | 久久成年人 | 三级在线观看 | av激情小说| 国产精品7777cos | 成人热舞视频一区 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 性较小国产交xxxxx视频 | 里番本子纯肉侵犯肉全彩无码 | 午夜视频在线观看视频 | 色老头一区二区三区 | a级片久久久 | a中文字幕解说在线 | 亚洲精品中文字幕久久久久下载 | 天天狠狠色综合图片区 | 污污污www精品国产网站 | 久久久久久毛片免费播放 | 国产猛烈高潮尖叫视频免费 | 天天色棕合合合合合合合 | 91xxx高清在线| 女性无套免费网站在线看动漫 | 欧美日韩在线免费视频 | 成人久久国产 | 中国国产毛片 | 国产大片av | 一区二区三区福利视频 | 国产精品欧美亚洲777777 | 国产精品一区在线免费观看 | 成人中文字幕在线观看 | 日本一级淫片色费放 | 大伊人久久 | 蜜乳av一区二区三区 | 成人毛片100免费观看 | 国产又爽又黄又无遮挡的激情视频 | 天天成人| 久久久久久久97 | 日韩特黄一级片 | 亚洲欧美偷拍另类a∨色屁股 | 国产精品一二三四五 | 男人天堂一区 | 日本三级欧美三级 | 免费观看国产精品视频 | 亚欧av在线 | 日本美女黄色一级片 | 性一交一乱一乱一乱视频 | 九九热在线视频免费观看 | av无码不卡一区二区三区 | 日日av色欲香天天综合网 | 一区二区不卡视频 | 麻豆最新| 亚洲中文字幕无码专区 | 欧美日本国产va高清cabal | 久久成人欧美 | 激情六月婷婷 | 国内爆初菊对白视频 | 在线a久青草视频在线观看 无套内射极品少妇chinese | 国产成人久久精品77777综合 | 日韩在线视频在线 | 免费一级男女裸片 | 国产精品欧美久久久久久 | 97成人资源站 | 妇挑战三黑人4p日本中文字幕 | 狠狠噜天天噜日日噜 | 国产又爽又黄无码无遮挡在线观看 | 婷婷丁香六月天 | 国产视频一区二区三区在线观看 | 日本高清www色视频 国产一区日韩二区欧美三区 | 国产永久免费观看 | 国产一区二区三区免费观看网站上 | 蜜桃一本色道久久综合亚洲精品冫 | 波多野结衣中文字幕久久 | 国产又色又爽又黄又免费 | 高清国产mv在线观看 | 国产又黄又硬又湿又黄的网站免费 | 久久e热 | 日韩亚洲国产欧美 | 337p日本欧洲亚洲大胆裸体艺术 | 亚洲88av| 伊人夜夜| 亚洲精品无码一区二区三区久久久 | 国产精品视频网址 | 日日碰日日摸 | 国产麻豆91精品三级站 | 97影院在线午夜 | 欧美日韩国产三区 | 236宅宅理论片免费 爱久久av一区二区三区 | 国产精品九色 | 久久久999成人 | 国内自拍xxx | av一区在线| 偷拍欧美亚洲 | 无码色偷偷亚洲国内自拍 | 成人h免费观看视频 | 免费乱码人妻系列无码专区 | 欧美色图11p | 老色鬼永久精品网站 | 亚洲精品网站在线 | 黑人精品欧美一区二区蜜桃 | 免费人妻av无码专区 | 成人午夜免费在线观看 | 久久精品一二三区白丝高潮 | 超碰一级片 | 免费人成在线观看网站 | 在线免费观看亚洲视频 | www亚洲欧美 | 观看毛片 | 亚洲成人在线观看视频 | 大香伊人中文字幕精品 | 农村寡妇一区二区三区 | 摸丰满大乳奶水www免费 | 国产精品亚韩精品无码a在线 | 日日躁夜夜躁xxxxaaaa | 香蕉视频99| 国产一级免费 | va在线播放 | 亚洲国产精品大学美女久久久爽 | 久久夜色精品国产噜噜麻豆 | 亚洲国产精品成人天堂 | 日韩av在线播放网址 | 日本添下边视频全过程 | 男女啪啪做爰高潮免费看 | 太深太粗太爽太猛了视频免费观看 | 熟妇人妻不卡中文字幕 | 中国极品少妇videossexhd 久久久久成人精品 | 九草在线视频 | 欧美成人精品一区二区男人小说 | 亚拍精品一区二区三区探花 | 久久99精品久久久久久牛牛影视 | 亚洲天堂女人 | 日日燥夜夜燥 | 国产一级做a爱片在线看免 国产一级做a爰片久久毛片男 | 久久精品一本到东京热 | 人与野鲁毛片在线视频 | jzzijzzij亚洲成熟少妇在线观看 jzzijzzij亚洲日本少妇熟 | 亚洲女成人图区 | 欧产日产国产精品98 | 91香蕉国产 | 日韩美女黄色片 | 特黄特色大片免费播放 | 国产综合视频一区二区三区 | 亚洲精品视频久久 | 久久蜜桃av | 国产成人精品免高潮在线观看 | 日本韩无专砖码高清 | 欧美乱大交xxxxx春色视频 | 风流少妇bbwbbw69视频 | a级片免费网站 | 亚洲欧美日韩综合在线 | 日本精品一区二区三区四区 | 1000亚洲裸体人体 | 国产午夜一区二区 | 亚洲色图欧美视频 | 国产免费黄色 | 免费观看一区二区三区视频 | 深夜福利视频网站 | 97成人在线观看 | 一级在线免费视频 | 九色中文 | 成人含羞草tv免费入口 | 久久久久av69精品 | 日韩精品四区 | 福利在线免费观看 | 亚洲高潮呻吟xoxo | 在线 丝袜 欧美 日韩 制服 | 波多野结衣喷潮 | 中文字幕日日 | 欧美一卡二卡三卡 | 四川农村妇女野外毛片bd | 偷拍老头老太作爱 | 日韩视频一区二区三区在线观看 | 精品欧美一区二区精品久久久 | 妖精视频一区二区三区 | 色综合久久久久无码专区 | 免费大片av手机看片高清 | 色在线综合| 日韩av无码中文无码电影 | 九九精品影院 | 性欧美zoo | 亚洲熟妇无码一区二区三区导航 | 国产精品51麻豆cm传媒 | 亚洲国产日韩欧美一区二区三区 | 久久亚洲在线 | 国产一区二区三区不卡在线观看 | 欧美成人一区二区三区片免费 | 欧洲美女tickling免费网站 | 国产麻豆网 | 九色porny丨首页在线 | 国产精品中文在线 | 精品一区精品二区 | 菠萝蜜视频在线观看入口 | 日本理伦片973影视 日本理论片在线 | 国产乱人伦精品一区二区 | av手机观看 | 国产高潮流白浆喷水视频 | 国产在线你懂得 | 国产精品成人免费 | 欧美麻豆久久久久久中文 | 围产精品久久久久久久 | 黑人干亚洲人 | 亚洲乱亚洲乱 | www.国产.com| 狠狠躁天天躁夜夜躁婷婷 | 国产精品无码无在线观看 | 男人猛躁进女人免费播放 | 久久爱网 | 国产精品午夜一区 | 国产精成人 | 国产成年视频 | 视频丨9l丨白浆 | 乳女教师の诱惑julia | 日韩中文字幕网站 | 久久成人在线视频 | 欧美群交射精内射颜射潮喷 | 屁屁影院国产第一页 | 久久www香蕉免费人成 | 国产精品高潮呻吟av久久动漫 | 野外(巨肉高h) | 中文字幕日韩二区一区田优 | 91精品国产91久久久久久久久 | 91热爆在线 | 亚洲国产精品毛片 | 国产r级在线观看 | 中国丰满少妇熟乱xxxx | 91精品国产91久久综合 | 麻豆av福利av久久av | 亚洲精品一区在线 | 亚洲欧美一区二 | 国产免费激情视频 | 久久精品国产亚 | 久久久妇女| 色综合久久蜜芽国产精品 | 中文字日产幕乱码免费 | 欧洲精品99毛片免费高清观看 | 懂色av中文字幕一区二区三区 | 四影虎影免费在线观看 | 国产精品1区2区 | 国产乱妇乱子视频在播放 | 波多av在线 | 日韩精品中文在线 | 美日韩免费视频 | 国产va在线观看 | 乱淫的女高中暑假调教h | 痴汉电车在线播放 | 永久免费网站看黄yyy45视频 | 日本japanese乳偷乱熟 | 91在线免费视频观看 | 成人免费观看视频网站 | 亚洲日本精品视频 | 日韩精品成人在线观看 | 777777av| 激情九月天 | 18成人免费观看网站 | 欧美一区二区三区四区五区 | 成人高清 | 精品无码国产一区二区三区麻豆 | 国产精品美女久久久久久久久久久 | 妹子干综合网 | 人妻人人添人妻人人爱 | 亚洲综合毛片 | 激情午夜视频 | 国产精品日韩欧美大师 | 亚洲欧美一区二区三区在线 | 中文人妻无码一区二区三区 | 看毛片视频| 色婷婷av久久久久久久 | 精品一二三四 | 久久综合偷偷噜噜噜色 | 欧美精品一区二区视频 | 97精品久久久午夜一区二区三区 | 一边摸一边添高潮av | 国产精品亚洲欧美日韩在线观看 | 丁香九月婷婷 | 男女猛烈激情xx00免费视频 | 日韩一二三四 | 一级特黄av | 国产免费无码一区二区视频 | 亚洲人免费| 国产精品成人av片免费看 | 久久91久久久久麻豆精品 | 欧美精品在线视频观看 | 97青娱国产盛宴精品视频 | 校园激情亚洲 | 久久青草热| 777久久久精品一区二区三区 | 亚洲精品免费看 | 亚洲一区二区自拍偷拍 | 亚洲欧美精品在线 | 大学生精油按摩做爰hd | 懂色av中文字幕一区二区三区 | 又长又硬又粗一区二区三区 | 可以直接免费观看的av网站 | 久久久久在线观看 | 好爽又高潮了毛片 | 免费的黄色的视频 | 91亚洲一区 | 国内精品久久久久久久果冻传媒 | 初尝情欲h名器av | 欧美综合成人 | 欧洲精品免费一区二区三区 | 久久人人看 | 黄色毛片网 | 小伸进91动漫 | 少妇浪荡h肉辣文大全69 | 天天摸日日添狠狠添婷婷 | 亚洲最大av网站 | 无套日出白浆 | 一区二区高清视频在线观看 | av在线播放免费观看 | 日日夜操| 日本japanese丰满白浆 | 欧美精品久久久久久久免费软件 | 天天躁日日躁狠狠躁 | 特大黑人巨交性xxxx | 亚洲欧美综合精品久久成人网无毒不卡 | 久久综合激激的五月天 | 国产免费人做人爱午夜视频 | 国产午夜不卡 | 久久精品欧美视频 | 色婷婷综合久久中文字幕雪峰 | 午夜av免费看 | 午夜时刻免费入口 | 少妇性俱乐部纵欲狂欢电影 | 国产电影无码午夜在线播放 | 亚洲熟妇av一区二区三区浪潮 | 鲁在线视频 | 777色视频| 热精品 | 开心激情婷婷 | 亚洲青青草原 | 国产大学生毛片 | 成人免费一级伦理片在线播放 | 亚洲一卡2卡三卡四卡精品 曰批免费视频播放免费 | 欧美三级午夜理伦三级小说 | 二区视频在线 | 欧美成人做爰大片免费看黄石 | 1024久久| a国产精品| 秋霞影院午夜丰满少妇在线视频 | 寂寞少妇让水电工爽hd | 一级女人18片毛片蜜桃av | 四虎国产精品成人永久免费影视 | 国产一级大黄 | www国产成人免费观看视频深夜成人网 | 中文亚洲成a人片在线观看 99久久婷婷国产综合精品青草免费 | 亚洲精品乱码久久久久久金桔影视 | 中国 免费 av | 一本一本久久a久久精品综合麻豆 | 国产精品涩涩屋www在线观看 | 成人欧美精品 | 91av网址| 国内精品久久久久久久 | 久久久久亚洲精品中文字幕 | 熟女人妻在线视频 | 毛片网站在线 | 日韩av免费一区 | 国产精品伦视频看免费三 | 九九热免费在线 | 欧美专区视频 | 波多野结衣一区二区三区四区 | 国产精品久久久久久久久久不蜜月 | 欧美黑人巨大videos精品 | 欧美一区二区伦理片 | 国产艳妇av视国产精选av一区 | 亚洲欧美日韩国产成人一区 | 亚洲欧美日韩视频一区 | 又污又黄又爽的网站 | 天天综合永久入口 | 国产精品人人爽人人做av片 | 色多多导航 | 国产精品男同 | 亚洲国产最新 | 国产精品久久久久久久乖乖 | 久久午夜网 | 国产日韩一级片 | 国产欧美一区二区三区四区 | 人人妻人人添人人爽欧美一区 | 亚洲视频中文字幕在线观看 | 日韩性xx| 国产波霸爆乳一区二区 | 亚洲精品无圣光一区二区 | 一级片视频在线 | 久久99精品久久久久久久清纯 | 国产交换配乱婬视频 | 精品蜜桃一区二区三区 | 亚洲另类激情综合偷自拍图 | 东北少妇不戴套对白第一次 | 在线亚洲一区二区 | 九色蝌蚪9l视频蝌蚪9l视频开放 | 丰满少妇一级片 | 99re在线视频免费观看 | 欧美成人免费一区二区三区 | 国产无遮挡又黄又爽高潮 | 国产成年无码v片在线 | 国产精品丝袜一区二区三区 | 精品免费看 | 噼里啪啦高清在线观看 | 51成人精品网站 | 中文字幕亚洲综合久久菠萝蜜 | 日本少妇一区二区 | 日本羞羞网站 | 国产午夜精品一区二区三区 | 亚洲乱码国产乱码精品精的特点 | 国产精品黄网站 | 久久久精品视频一区二区三区 | 久久福利网 | 欧美黑人激情性久久 | 国产又粗又黄的视频 | 国产操片| 免费一级淫片日本高清视频一 | av老司机福利| 精品对白一区国产伦 | 久久综合久 | 把jiji进美女的屁屁里视频 | 国产精品卡一卡二卡三 | 无套内谢大学处破女www小说 | 久久99精品久久久久久秒播放器 | 午夜妇女aaaa区片 | 亚洲国产超清无码专区 | 操欧美美女 | 小嘀咕视频官网在线观看 | 久久亚洲精品久久国产一区二区 | 91麻豆国产 | 亚洲a∨无码一区二区三区 国产乱子伦精品免费女 | 成人免费观看视频 | 欧美1234区| 99热久久这里只有精品 | 2022色婷婷综合久久久 | 中文字幕在线观看三区 | 国产精品丝袜美腿一区二区三区 | 国产又粗又硬又猛的免费视频 | 亚洲精品无码不卡在线播he | av网址有哪些 | 亚洲一线二线三线久久久 | 天堂va蜜桃一区二区三区 | 97色精品视频在线观看 | 亚洲乱码一区二区 | 日本一区二区三区精品视频 | 亚洲大尺度无码无码专线一区 | 国产免费成人 | 波多野结衣www | ,国产精品国产三级国产 | 中文字幕精品视频在线观看 | 国产真实乱对白精彩久久老熟妇女 | 日韩欧美小视频 | 久久久妻 | 国产在线一二三区 | 好吊一二三区 | 国产精品女人久久久 | 美国av一区二区 | www.日本黄 | 日本极品少妇 | 日本a级片在线播放 | 亚洲精品乱码久久久久久按摩观 | 亚洲精品久久久久久中文传媒 | 国产干b | 国产日韩欧美在线播放 | aa级黄色大片 | 国产精品久久久一区二区 | 免费视频国产 | 性中国videossexo另类 | 日韩亚洲精品中文字幕 | 亚洲精品麻豆 | 中国免费黄色片 | 日韩精品人妻系列无码专区免费 | 男女后式激烈动态图片 | 久久亚洲私人国产精品va | 国产精品99久久久精品无码 | 91久久久久久久久久久久久 | 韩国欧美三级 | 黄色精品在线观看 | 天堂资源中文网 | 男女啪啪网站 | 日本黄色片视频 | 日韩av影音| 成在线人永久免费视频播放 | 久久亚洲精品中文字幕 | 强奷乱码中文字幕熟女导航 | 国产95在线 | 日本欧美精91品成人久久久 | 丰满熟女高潮毛茸茸欧洲 | 亚洲大片免费 | 一区二区影视 | 国产黄a三级三级看三级 | 国产香蕉在线视频 | 精产国品一二三产区m553麻豆 | 午夜色播 | 亚洲国产精品成人久久蜜臀 | 日本精品中文字幕 | 国产a三级久久精品 | 爽爽精品dvd蜜桃成熟时电影院 | 国色天香乱码 | 精品无人国产偷自产在线 | 欧美午夜激情影院 | 美女毛毛片| 午夜国产羞羞视频免费网站 | 久热热| 精品久久久久久无码免费 | 香蕉视频色 | 久久综合成人 | 日本黄色大片网站 | 久久精品视频3 | 国产精品日韩欧美大师 | 98堂 最新网名 | 91爱爱·com | 男女互操视频网站 | 欧美午夜aaaaaa免费视频 | 久草在现| 亚洲最新| 国产在线精品一区二区高清不卡 | 天堂网一区二区 | 色乱码一区二区三区麻豆 | 国产又粗又黄又长又爽动漫 | 懂色av一区二区在线播放 | 亚洲性色av| 免费啪啪小视频 | 亚洲视频久久久 | 97青娱国产盛宴精品视频 | 日韩欧美第一页 | 狠狠色噜噜狠狠狠狠999米奇 | 一区二区三区视频在线 | 97久久超碰| 久久香蕉国产线看观看精品yw | 天天综合网天天综合色 | 少妇真实被内射视频三四区 | 天堂男人网 | 黄色美女视频网站 | 欧美性白人极品1819hd | 日韩一区二区三区四区 | 欧美黄色一级视频 | 欧美精品久久久久久久久久久 | 久久久久久毛片 | 人妻丰满熟妇无码区免费 | 夫の部长が调教中文字幕 | 免费视频爱爱太爽了 | 亚洲 欧美 清纯 在线 制服 | 国产激情视频一区 | 青青草.com| 亚洲国产欧美一区二区潘金莲 | 国产精品无码一区二区在线观一 | 爱射综合| 在线观看视频福利 | 夜夜爱爱 | av大片免费观看 | 国产多p混交群体交乱 | 久久精选视频 | 国产福利精品在线观看 | 99精品人妻国产毛片 | 精品人妻中文字幕有码在线 | 欧洲美色妇ⅹxxxxx欧美 | 欧美国产乱视频 | 国产xxx6乱为| 久久久久久亚洲精品不卡4k岛国 | 精品欧美一区二区久久久伦 | 91国内精品自线在拍白富美 | 你懂的国产在线 | 美女黄色在线观看 | 99riav国产 | 拔擦拔擦8x国产精品免费 | 欧美一级淫片免费 | 成人性生交7777| 欧美日韩爱爱 | 国产免费av网 | 亚洲一区二区三区播放 | 国产一区二区日韩 | 国产hsck在线亚洲 | 国产女女调教女同 | 亚洲国产精品久久久久婷婷老年 | 国产igao为爱做激情在线 | 伦伦影院午夜理论片 | 久久婷婷五月综合色一区二区 | 91大片淫黄大片在线天堂 | 国产伦理一区二区 | 色偷偷导航 | 欧美婷婷久久五月精品三区 | 国产尤物视频在线观看 | 国产精品美乳在线观看 | 成人做爰66片免费看网站 | 国产日韩久久久久 | 97se综合|