《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式RTOS在MSP430單片機上的實現
嵌入式RTOS在MSP430單片機上的實現
摘要: 文章標題:嵌入式RTOS在MSP430單片機上的實現。中國IT實驗室嵌入式開發頻道提供最全面的嵌入式開發培訓及行業的信息、技術以及相關資料的下載.
Abstract:
Key words :

  隨著信息社會的發展,信息家電、智能儀表和智能安保系統等產品已經越來越多地出現在人們的生活中。可以預見,為了滿足人們對舒適、便捷、安全生活環境的需求,嵌入式信息產品的設計、應用將得到快速發展。

  單片機作為嵌入式信息產品的一個重要應用方面,其使用、設計面臨著全新的挑戰。一方面,人們對嵌入式產品的要求越來越高,穩定可靠、功能豐富、物美價廉的信息產品將成為人們的首選。另一方面,隨著微電子工藝水平的發展,單片機處理器的能力不斷提高,從最初的8位單片機到16位,進而32位單片機,功能越來越強大,執行速度越來越快,集成度、精確度也越來越高,應用領域進一步拓寬??梢哉f,單片機芯片的性能已經能夠滿足現代人們對嵌入式信息產品的更高要求。為了能將二者有效地結合起來,嵌入式RTOS的軟件設計方法也取代了以前的前后臺(超循環)設計方法,越來越受到重視和應用。

  正如分時操作系統中Linux的出現打破了Windows一統天下的局面一樣,由美國Jean J.Labrosse先生設計和編寫的uC/OS-II(Micro C OS 2)的出現也給國內的RTOS應用者帶來了驚喜。uC/OS-II的最大優點與Linux相同,即其源代碼全部公開,使人們在應用它的同時能清楚地了解內部的實現細節,并且能夠根據自己的需求進行移植和修改。特別重要的是uC/OS-II經過8年的發展,已經成功地在多個行業得到應用,保證了實用性和可靠性。它的出現改變了以前人們在使用RTOS時的態度,減少了經濟上的顧慮,對于國內RTOS的研究、推廣、應用將起到重要的推動作用。uC/OS-II采用微內核設計,使用C語言編寫,追求靈活性,可配置、可裁剪、可擴充、移植性強。需要強調的是 uC/OS-II嚴格采用優先級搶占式調度方案。在創建任務時,根據任務的重要性給每個任務分配不同的優先級。任務調度時,先執行高優先級的任務,然后按照優先級由高到低執行任務。如果在某個任務執行中,激發了一個優先級更高的任務,那么在該任務執行結束后,將由任務調度器調度去執行所激發的高優先級任務,而不是順序執行。

  下面就uC/OS-II在TI公司生產的MSP430F148芯片上的移植和應用來探討在單片機上實現RTOS可能遇到的一些問題。

  1 MSP430系列單片機簡介

  MSP430系列單片機是由TI公司開發的16位單片機。其突出特點是超低功耗,非常適合于各種功率要求低的場合。有多個系列和型號,分別由一些基本功能模塊按不同的應用目標組合而成。典型應用是流量計、智能儀表、醫療設備和保安系統等方面。由于其較高的性能價格比,應用已日趨廣泛。

  MSP430F148是TI新近推出的MSP430F14x/13x系列單片機中的一款。相對MSP430系列的其它芯片,主要特點如下:

  超低功耗。由于內置了功耗極低的快速閃存,因此,MSP430F14x/13x系列在待機模式下所消耗的電能還少于電池未使用時的自然損耗。在正常的工作狀態下,如果工作電壓為2.2 V,其典型消耗電流僅為250uA/MIPS,而待機模式下工作電流降至僅1uA以下。

  執行速度快。MSP430F13x/14x系列的工作電壓范圍為1.8~3.6 V,性能可達8 MIPS。

  存儲容量大。MSP430F148片內內置了48 KB Flash ROM和2 KB RAM。RAM空間是MSP430系列中最大的,基本符合運行RTOS的需要。

  高性能A/D。包含了1個具有8個外部通道的12位高性能A/D轉換器。利用芯片內置的自動掃描功能,A/D轉換器可以不需要中央處理器的協助而獨立工作。

  集成度高。該器件還包括1個獨立的看門狗、2個脈寬調制定時器(PWM)、1個比較器、2個USART口以及48個輸入/輸出引腳等部件。

  在線支持強。MSP430F13x/14x系列均可由MSP-FET430P140閃速仿真工具(FET)提供支持。該FET是一種完整的集成開發環境,包括源代碼級調試器、仿真器、匯編/連接器、C編譯器、2種評估芯片、目標板、JTAG接口以及編程單元等。

  由以上介紹可以看出,MSP430F148屬于一種中低端的單片機,只具備運行RTOS的基本條件,所以在它上面運行RTOS所遇見的一些問題,對于一般的單片機而言是具有代表性的。

  2 中斷堆棧的結構設計

  在uC/OS-II中,任務切換分為任務級切換和中斷級切換。其中任務級切換是通過發軟中斷指令或依靠處理器執行陷阱指令來完成的。軟中斷指令會強制將一些處理器寄存器保存到當前任務的堆棧中,并執行任務調度。其目的是使處于就緒態的任務的堆棧結構看起來就像剛發生過中斷并將全部寄存器保存在堆棧的情形一樣。如MCS-5l以及x86芯片都有類似的指令,但問題出在有一些單片機芯片中沒有軟中斷指令,并且在發生中斷時保存寄存器的情況根據單片機芯片和所使用的編譯器的不同而有很大區別。

 

  MSP430F148中就沒有軟中斷指令,所使用的IAR編譯器在發生中斷時也不保存所有的寄存器,而是只保存幾個在中斷中使用到的寄存器。所有這些都是不符合uC/OS-II的移植條件的。我們的解決方法是根據具體情況來自己定義一個中斷結構,不論是在任務級調度還是中斷發生或調度以及任務堆棧的初始化時,都要按照這個結構來執行。代價是必須對所編寫的中斷程序的匯編代碼進行人工修改,使之符合這個中斷結構。

  為設計一個符合要求的中斷堆棧結構,首先必須清楚所使用的單片機在發生中斷時執行了哪些操作,即向堆棧中保存了哪些寄存器以及它們的順序。當MSP430單片機發生中斷時,只進行2條基本操作,先將SR(狀態寄存器)壓入堆棧中保存,然后將中斷發生時要執行的下一條指令的PC值壓入堆棧保存。其次,要清楚所使用的C編譯器在編譯C語言編寫的中斷程序時,進行了哪些默認的操作。通過對所使用的IAR V2.13編譯器編譯產生的匯編程序進行分析,可以發現,除了以上的2條基本操作以外,在中斷程序的開頭,還自動保存了 R12~R15四個寄存器,余下的R4~Rll八個寄存器中只保存在中斷程序中用到的個別寄存器,而不是全部保存。但在RTOS中必須保存所有的寄存器,這樣才能正確保存該任務的狀態。通過以上分析,我們定義了MSP430運行uC/OS-II時的中斷堆棧結構,如圖1所示。

MSP430運行uC/OS-II時的中斷堆棧結構

  3 如何保證單片機的低功耗特性

  單片機在嵌入式方面的應用都非常強調單片機的超低功耗特性。MSP430系列的特點也在于此。如果由于運行RTOS而破壞了單片機的低功耗特性是得不償失的。一般的單片機都規定了幾種不同功耗的工作模式,可以根據具體的需求來選擇。不同工作模式是通過讀寫1個或1組寄存器來控制CPU、時鐘、晶振以及外圍設備的運行來實現的。

  MSP430系列單片機有6種不同的工作模式,都是通過對狀態寄存器SR的讀寫來實現的。在RTOS中,由于每個任務都可以分別保存自己的狀態,包括狀態寄存器,所以在實現低功耗工作模式時更加靈活方便。首先,在設計每個任務時,都可以根據任務的具體要求定義它的工作模式。其次,在整個系統設計中,設計一個最低優先級的任務,其作用就是使系統進入特定的低功耗工作模式。這樣,在其它任務都運行完畢后,系統會調用這個任務使整個系統進入低功耗工作模式。當其它任務又恢復運行時(如延時結束),會自動進入其特定的工作狀態,以達到降低功耗的目的。

  4 如何減少RTOS在運行中占用的RAM空間

  影響RTOS在單片機上應用的主要原因是由于在單片機上運行RTOS需要占用一定的系統資源,如系統時鐘、RAM、FLASH或ROM等,從而減少了應用系統對資源的利用。特別是對RAM的占用。一般而言,單片機上的內部RAM數量都很少(如MSP430F148是整個MSP430中RAM最多的,也只有2 KB),雖然可以通過外部擴展來增加RAM數量,但這樣不僅增加了設計的難度和產品成本,而且有時還使系統應用無法進行擴展。所以,最好的方法是能夠充分利用單片機的內部RAM來運行RTOS。

  通過分析uC/OS-II對RAM的使用情況可知,占用RAM空間最多的原因,是由于在設計uC/OS-II時,要給每個任務都分配一個單獨的任務堆棧。特別在單片機的硬件設計沒有將中斷堆棧與任務堆棧分開時,計算任務堆棧的大小時不僅要計算任務中變量和函數嵌套所使用的RAM大小,還必須計算該任務在運行時發生中斷和中斷嵌套所需要的RAM空間的大小。由于每一個任務均需預留中斷和中斷嵌套所需要的RAM空間的大小,所以使得大量RAM空間被浪費。最直接的解決方法就是利用軟件來將任務堆棧和中斷堆棧分離,使得在計算任務堆棧的大小時,只需計算任務本身所需的RAM空間大小,從而提高了RAM的使用效率,增加了更多的應用任務。

  所謂將中斷堆棧與任務堆棧分離,就是在內存中專門開辟出一塊區域作為中斷堆棧使用,任何一個任務運行時發生中斷都只使用它。設計的原則:一是要盡量將中斷任務與普通任務分開;二是模擬的中斷堆棧指針必須一直保持在中斷堆棧的頂部,即中斷時中斷堆棧指針要時刻保持與SP的同步變化。

  為了達到這個目的,單片機芯片必須具備以下2個條件。

  首先,單片機芯片必須有一個通用寄存器和相應的指令能夠模仿堆棧指針SP的功能,即能實現軟堆棧。在MSP430系列單片機中有以下指令可以仿真SP的功能(把R4作為中斷堆棧指針使用):

  MOV @R4+,SP ;將R4所指向地址中的內容存入SP;中,同時R4中內容加2

  MOV SP,0(R4) ;將SP中的內容存入R4所指向的地址中

  MOV @R4+,PC ;將R4所指向地址中的內容存入PC;中,同時R4中內容加2

 

  其次,作為模擬中斷堆棧指針的寄存器R4,必須在中斷之外的任何情況下不被使用。因為,此時的R4必須時刻保持在中斷堆棧的頂部,如果改變它的值,就會改變中斷堆棧的結構。一般這個要求是由所使用的編譯器來保證的,在我們所使用的IAR編譯器中,有一個選項可以避免使用R4和/或R5。

  具體設計時,我們在uC/OS-II每個任務的TCB(任務控制塊)結構中加入以下幾項:

  TSP--任務堆棧指針。發生中斷后,指向該任務的任務堆棧的頂部。

  ISP--中斷堆棧指針。如果在中斷中發生任務切換,指向該任務在中斷堆棧所保存狀態的頂部。

  FromInt標志--是否來自中斷標志。用來判斷該任務的狀態是保存在中斷堆棧中(為1),還是保存在任務堆棧中(為0)。

  下面假設一個普通任務1在執行過程發生中斷,對它在中斷執行過程中可能出現的幾種情況進行分析。

  (1)在普通任務1運行時引發中斷,在中斷中沒有激活更高優先級的任務,而是正常結束中斷,繼續執行任務1,如圖2所示。

情況1時的堆棧使用

        開始中斷:將在中斷發生時保存在當前任務堆棧的SR和PC移到中斷堆棧中保存,同時 SP回到中斷前的位置并將它保存到該任務TCB中的TSP中(這是為了在中斷結束后,保持任務堆棧的連續性),然后將SP指到目前中斷堆棧的頂部,按照自定義堆棧結構的順序依次將所有寄存器都保存到中斷堆棧中。保存的過程中R4必須與SP保持同步變化,同時將FromInt標志置l。

  退出中斷:由于沒有激活更高優先級的任務,所以在中斷任務完成后,將按正常的順序退出中斷,即將保存在中斷堆棧中的寄存器推出堆棧,將FromInt標志置0,SP重新指向該任務的任務堆棧中,最后,將PC指針指向中斷前的返回地址,繼續程序運行。

  (2)在普通任務1運行時引發中斷,在中斷中激活更高優先級的任務2。中斷結束時由任務調度器調度去執行更高優先級的任務2,沒有返回普通任務1。

  當執行任務2時,任務調度器會將任務2保存在自己任務堆棧中的狀態恢復并執行任務2。執行完后,如果沒有激活更高優先級的任務,那么按照優先級高低的原則,調度器將調度執行任務1。通過判斷任務1的TCB中的FromInt標志,可以知道任務1的狀態是保存在任務堆棧中還是中斷堆棧中,從而可以將其狀態恢復,繼續運行。

  (3)在普通任務1運行時引發中斷,在中斷中激活更高優先級的任務2,執行任務2時又發生中斷。

  由于uC/OS-II是嚴格按照優先級搶占式原則進行任務調度的,所以將任務狀態保存在中斷堆棧頂部的任務的優先級一定比狀態保存在它下面的任務的優先級高。在執行時,是由中斷堆棧的頂部向底部順序執行。在這種假設中,一定先執行任務2,然后執行任務1,如圖3所示。

  (4)在普通任務1運行時引發中斷,在中斷中激活更高優先級的任務2。在執行任務2時又發生中斷,在中斷過程中任務2由于等待信號量而被掛起。

  這種情況在系統最初設計時已經被禁止,在中斷中不允許使用信號量將中斷掛起。

  (5) 在普通任務1運行時引發中斷,在中斷中激活更高優先級的任務2。在執行任務2時又發生中斷,中斷中激活更高優先級的任務3。中斷結束時由任務調度器調度去執行更高優先級的任務3。

  這種情況與討論的情況2是一樣的。

  (6)高優先級任務2被更高優先級的任務3中止,在任務3運行完后,任務調度器將直接調度執行任務1(按照優先級調度)。

  由于各個任務的ISP和TSP在任務切換前都已經保存在該任務的TCB中,任務1的堆棧指針和R4可以回到該任務在其任務堆棧和中斷堆棧的正確的位置。

  任務2被中止包括兩種情況。一是任務2被別的任務刪除,此時任務2在中斷堆棧中占用的空間會自動釋放。二是任務2被別的任務掛起,此時應在將程序掛起的函數TaskSuspend()中添加一段代碼,將其保存在中斷堆棧中的狀態移到自己的任務堆棧中,同時將其TCB中的FromInt標志設為0。這樣,在任務2解除掛起后,會去任務堆棧中恢復其狀態。

  (7)中斷中發生中斷嵌套。

  發生中斷嵌套時,要按照中斷嵌套的機制進行處理。首先,在中斷嵌套中,不允許進行任務調度,這樣,即使在中斷嵌套中激發了更高優先級的任務,也必須等到最后中斷退出前才進行調度執行。這一點是由uC/OS-II系統設計保證的。其次,保存寄存器和函數調用所占用的RAM字節全部在中斷嵌套中。在退出中斷嵌套時,不必將TCB中的FromInt標志復位。

  5 程序設計流程

  (1)中斷程序結構和設計流程,如圖4所示。

中斷程序結構和設計流程

  (2)普通任務間的任務切換程序流程,如圖5所示。

普通任務間的任務切換程序流程

  (3)在中斷中任務切換程序流程,如圖6所示。

在中斷中任務切換程序流程

  我們已經在MSP430F148上成功運行了uC/OS-II,在RAM只有2 KB的情況下,能夠運行16個任務,可以滿足一些復雜的應用需求,大大擴展了MSP430F148的應用范圍,并且提高了應用系統的實時性。為了驗證實際效果,在此基礎上,我們將幾個常用的家庭儀表--水表、暖氣表、熱水表集成在一起,運行效果良好,達到設計要求。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产色视频一区| 99热免费精品在线观看| 午夜激情综合网| 男女av一区三区二区色多| 国产精品99久久久久久久女警| 久久精品日产第一区二区三区| 久久夜色精品国产噜噜av| 欧美电影免费观看| 香蕉成人啪国产精品视频综合网| 亚洲人成在线观看一区二区| av不卡在线看| 免费在线成人av| 欧美国产日韩二区| 亚洲人成人77777线观看| 久热精品视频在线| 欧美激情一区二区三区全黄| 国产精品一区二区女厕厕| 亚洲国产婷婷| 亚洲国产精品尤物yw在线观看| 国产精品一区免费在线观看| 1000部精品久久久久久久久| 欧美黄色aaaa| 亚洲黄色大片| 中日韩美女免费视频网站在线观看| 国产精品女主播| 欧美日韩精品不卡| 亚洲激情女人| 国产欧美日韩精品丝袜高跟鞋| 99国产精品99久久久久久粉嫩| 久久国产主播| 欧美日本在线一区| 国产精品专区一| 久久综合久久综合这里只有精品| 亚洲一区亚洲| 亚洲女性喷水在线观看一区| 国产一区二区三区在线观看免费视频| 亚洲欧美视频在线观看视频| 一本色道久久99精品综合| 国内外成人免费激情在线视频| 中文在线资源观看网站视频免费不卡| 欧美日韩日本国产亚洲在线| 欧美二区在线看| 亚洲精品视频一区| 在线免费观看日本欧美| 亚洲欧美视频一区二区三区| 免费久久精品视频| 国产精品第十页| 国产精品国产三级国产普通话99| 尤物在线精品| 国产精品爱啪在线线免费观看| 亚洲精品在线二区| 裸体一区二区三区| 欧美一区二区在线免费观看| 国产精品初高中精品久久| 亚洲一区在线免费观看| 国产无一区二区| 国产精品每日更新在线播放网址| 国产一区二区三区免费不卡| 亚洲国产欧美日韩| 亚洲黄色免费网站| 亚洲一区精品视频| 一区二区三区精品视频| 久久精品99国产精品酒店日本| 欧美激情精品久久久久久变态| 免费91麻豆精品国产自产在线观看| 久久精品女人天堂| 精品91久久久久| 久久精品日韩欧美| 欧美精品综合| 欧美日韩精品二区| 卡一卡二国产精品| 羞羞视频在线观看欧美| 亚洲乱码日产精品bd| 国产精品久久毛片a| 欧美日韩国产一区二区三区地区| 欧美激情久久久久久| 欧美精品三级日韩久久| 欧美日韩国产成人在线观看| 国产精品久久婷婷六月丁香| 韩日精品在线| 国产精品欧美精品| 国产精品久久7| 亚洲深爱激情| 国产一区二区在线观看免费| 欧美人成免费网站| 含羞草久久爱69一区| 国产九区一区在线| 国产精品欧美日韩一区| 99国产精品99久久久久久粉嫩| 激情五月***国产精品| 亚洲乱码国产乱码精品精天堂| 亚洲日本精品国产第一区| 国产一区二区三区观看| 亚洲国产婷婷| 中日韩高清电影网| 久久一区二区三区超碰国产精品| 亚洲宅男天堂在线观看无病毒| 一区二区成人精品| 亚洲一区日韩| 91久久精品国产91性色tv| 午夜视频一区在线观看| 亚洲国产精品久久久久秋霞不卡| 最新亚洲一区| 欧美伦理91i| 久久综合久久美利坚合众国| 亚洲欧美日韩一区二区三区在线观看| 激情视频亚洲| 国语自产精品视频在线看8查询8| 亚洲尤物视频在线| 欧美主播一区二区三区美女 久久精品人| 亚洲日本va在线观看| 亚洲精品1234| 国产欧美日韩综合一区在线播放| 国产欧美日韩免费看aⅴ视频| 亚洲人成人77777线观看| 欧美日韩一区在线播放| 久久精品观看| 亚洲第一页在线| 欧美一级在线播放| 亚洲美女视频在线观看| 亚洲久色影视| 久久精品国产一区二区三区免费看| 国产在线拍偷自揄拍精品| 亚洲男女自偷自拍图片另类| 一区二区亚洲精品| 蜜臀久久99精品久久久画质超高清| 国产欧美日韩视频一区二区| 依依成人综合视频| 国产欧美一区二区精品婷婷| 欧美日韩一区二区三区免费| 国产婷婷成人久久av免费高清| 亚洲三级性片| 美日韩丰满少妇在线观看| 国产一区深夜福利| 亚洲欧美激情一区| 国产精品女主播| 韩国自拍一区| 亚洲国产另类 国产精品国产免费| 欧美婷婷六月丁香综合色| 亚洲欧美在线另类| 中文av字幕一区| 国产精品av久久久久久麻豆网| 在线播放亚洲| 老司机aⅴ在线精品导航| 午夜欧美精品| 亚洲女性喷水在线观看一区| 亚洲福利专区| 免费在线成人av| 国产精品久久激情| 激情视频一区| 欧美激情精品久久久久久免费印度| 国产精品一区在线观看| 蜜桃久久精品一区二区| 亚洲国产精品久久久久秋霞不卡| 欧美黄色一级视频| 亚洲国产成人av好男人在线观看| 欧美综合第一页| 欧美第一黄色网| 欧美无砖砖区免费| 欧美日韩精品久久| 久久精品成人一区二区三区蜜臀| 香蕉乱码成人久久天堂爱免费| 欧美视频在线观看一区| 久久五月天婷婷| 卡一卡二国产精品| 欧美日本中文字幕| 欧美伊久线香蕉线新在线| 久久精品二区亚洲w码| 在线欧美日韩| 亚洲福利国产| 在线国产精品一区| 欧美日韩高清不卡| 欧美成人一区二区在线| 亚洲欧美成aⅴ人在线观看| av不卡在线观看| 欧美人成网站| 在线看片成人| 亚洲国产精品t66y| 国产亚洲精品激情久久| 久久国产主播精品| 亚洲高清不卡一区| 欧美区在线观看| 久久看片网站| 国产精品va在线| 在线观看欧美黄色| 亚洲一区二区免费| 黄色一区二区在线| 免费视频久久| 亚洲理论在线观看| 亚洲精品之草原avav久久| 欧美激情综合色综合啪啪| 久久综合福利| 久久精品一区二区| 亚洲电影免费观看高清| 欧美精品久久99久久在免费线| 欧美日韩综合另类| 亚洲一卡久久| 国产精品麻豆成人av电影艾秋| 国产精品亚洲人在线观看| 久久精品视频免费观看| 亚洲欧美日韩精品久久亚洲区| 亚洲狠狠丁香婷婷综合久久久| 国产麻豆综合| 欧美中文字幕在线| 久久精品国产久精国产一老狼| 国产精品久久久久久久午夜片| 亚洲精品久久久久久一区二区| 亚洲欧美一区二区原创| 国产日韩欧美精品在线| 久久精品国产久精国产一老狼| 国产精品久久久久久久久久妞妞| 国产精品一区二区三区久久久| 午夜精品美女久久久久av福利| 欧美日韩大片一区二区三区| 欧美日韩亚洲一区二区三区四区| 国产精品麻豆成人av电影艾秋| 国内揄拍国内精品久久| 先锋亚洲精品| 久久婷婷国产综合精品青草| 国产精品青草久久久久福利99| 亚洲高清在线视频| 国产精品久久影院| 午夜精品短视频| 欧美精品激情blacked18| 欧美日韩国产成人高清视频| 国产精品久久久久久久9999| 欧美精品乱人伦久久久久久| 欧美一区二区三区免费看| 国产主播喷水一区二区| 欧美日韩系列| 久久久久国产精品麻豆ai换脸| 亚洲欧美激情诱惑| 久久精品国产精品亚洲精品| 欧美亚洲成人网| 午夜在线视频观看日韩17c| 国产深夜精品| 亚洲综合色激情五月| 99亚洲精品| 亚洲一区二区免费在线| 99国产成+人+综合+亚洲欧美| 蜜月aⅴ免费一区二区三区| 欧美中文在线免费| 一区二区三区在线观看视频| 欧美国产日韩a欧美在线观看| 欧美一区二区三区免费观看视频| 男人的天堂成人在线| 久久这里有精品15一区二区三区| 亚洲最新视频在线| 欧美国产日韩在线观看| 久久久噜噜噜久久久| 亚洲一级免费视频| 亚洲影视九九影院在线观看| 欧美午夜激情视频| 国产精品夫妻自拍| 久久gogo国模啪啪人体图| 日韩一区二区高清| 免费美女久久99| 久久天天躁夜夜躁狠狠躁2022| 久久福利视频导航| 国产色产综合色产在线视频| 亚洲福利av| 亚洲电影免费观看高清完整版| 久久久www成人免费毛片麻豆| 亚洲欧美一区二区三区久久| 亚洲欧洲一区二区三区在线观看| 欧美精品成人一区二区在线观看| 欧美日韩 国产精品| 国产精品美女诱惑| 久久视频精品在线| 欧美日韩国产精品| 久久精品人人做人人爽电影蜜月| 亚洲精品视频中文字幕| 麻豆国产va免费精品高清在线| 国内精品久久久久久久影视麻豆| 国产三区精品| 久久精品夜夜夜夜久久| 亚洲午夜精品久久久久久浪潮| 激情欧美丁香| 国语自产精品视频在线看抢先版结局| 99v久久综合狠狠综合久久| 欧美国产在线视频| 亚洲女同性videos| 欧美日韩一本到| 韩国av一区| 欧美视频你懂的| 国产亚洲欧美一区| 亚洲欧美bt| 国产真实乱偷精品视频免| 久久综合伊人| 免费91麻豆精品国产自产在线观看| 久久国产乱子精品免费女| 洋洋av久久久久久久一区| 亚洲免费电影在线| 亚洲狼人综合| 中文欧美字幕免费| 99视频在线精品国自产拍免费观看| 在线观看91精品国产入口| 久久综合久久久久88| 香蕉成人伊视频在线观看| 国产精品久久久亚洲一区| 免费成人黄色片| 亚洲韩日在线| 国产日韩欧美高清免费| 久久综合久久美利坚合众国| 在线精品视频免费观看| 在线成人黄色| 欧美国产视频日韩| 国产一区二区精品在线观看| 亚洲午夜极品| 欧美精品一区视频| 99国产精品久久| 欧美激情视频免费观看| 麻豆国产va免费精品高清在线| 亚洲精品一区在线观看| 久久美女性网| 亚洲春色另类小说| 日韩视频在线一区| 欧美伦理a级免费电影| 麻豆国产精品一区二区三区| 欧美一二三区精品| 亚洲丶国产丶欧美一区二区三区| 国产精品久久久久久亚洲调教| 国产精品久久一级| 亚洲大黄网站| 亚洲无玛一区| 国模私拍视频一区| 久久免费的精品国产v∧| 亚洲精品在线观看视频|