《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 嵌入式微控制器應用中的無線(OTA)更新:設計權衡與經驗教訓

嵌入式微控制器應用中的無線(OTA)更新:設計權衡與經驗教訓

2018-12-27
作者:Benjamin Bucklin Brown
來源:ADI
關鍵詞: 嵌入式 IOT ADI

摘要

  許多嵌入式系統部署在操作人員難以或無法接近的地方。物聯網(IoT)應用尤其如此,這些應用通常大量部署并且電池壽命有限。實例包括監控人員或機器健康狀況的嵌入式系統。這些挑戰加上快速迭代的軟件生命周期,導致許多系統需要支持無線(OTA)更新。OTA更新用新軟件替換嵌入式系統的微控制器或微處理器上的軟件。雖然很多人非常熟悉移動設備上的OTA更新,但在資源受限的系統上設計和實施會帶來許多不同的挑戰。本文將介紹針對OTA更新的若干不同軟件設計,并討論其優缺點。我們將了解OTA更新軟件如何利用兩款超低功耗微控制器的硬件特性。

  構建模塊

  服務器和客戶端

  OTA更新用新軟件替換器件上的當前軟件,新軟件以無線方式下載。在嵌入式系統中,運行此軟件的器件通常是微控制器。微控制器是一種小型計算器件,其存儲器、速度和功耗均很有限。微控制器通常包含微處理器(核心)和用于執行特定操作的數字硬件模塊(外設)。工作模式下典型功耗為30μA/MHz至40μA/MHz的超低功耗微控制器是此類應用的理想選擇。使用這些微控制器上的特定硬件外設并將其置于低功耗模式,是OTA更新軟件設計的重要組成部分。圖1顯示了一個可能需要OTA更新的嵌入式系統實例。可以看到,一個微控制器與無線電和傳感器相連,這可用在物聯網應用中,利用傳感器收集有關環境的數據,并利用無線電定期報告數據。系統的這一部分稱為邊緣節點或客戶端,是OTA更新的目標。系統的另一部分稱為云或服務器,是新軟件的提供者。服務器和客戶端利用收發器(無線電)通過無線連接進行通信。

1.png

  圖1.示例嵌入式系統中的服務器/客戶端架構

  何為軟件應用程序?

  OTA更新過程的大部分操作是將新軟件從服務器傳輸到客戶端。軟件從源格式轉換為二進制格式之后,作為一個字節序列進行傳輸。轉換過程會編譯源代碼文件(例如c、cpp),將其鏈接成一個可執行文件(例如exe、elf),然后將可執行文件轉換為可移植的二進制文件格式(例如bin、hex)。概言之,這些文件格式包含一個字節序列,此字節序列屬于微控制器中存儲器的特定地址。通常,我們將通過無線鏈路發送的信息概念化為數據,例如更改系統狀態的命令或系統收集的傳感器數據。就OTA更新而言,數據就是二進制格式的新軟件。在很多情況下,二進制文件非常大,無法通過單次傳輸從服務器發送到客戶端,這意味著需要將二進制文件放入多個不同的數據包中,此過程稱為“分包”。為了更好地說明此過程,圖2演示了軟件的不同版本如何生成不同的二進制文件,從而在OTA更新期間發送不同的數據包。在這個簡單例子中,每個數據包包含8字節數據,前4個字節表示客戶端存儲器中用來存儲后4個字節的地址。

  主要挑戰

  基于對OTA更新過程的這種高層次描述,OTA更新解決方案必須應對三大挑戰。第一個挑戰與存儲器有關。軟件解決方案必須將新軟件應用程序組織到客戶端器件的易失性或非易失性存儲器中,以便在更新過程完成時可以執行它。解決方案必須確保將前一版本的軟件保留為后備應用程序,以防新軟件出現問題。此外,當復位和斷電重啟時,我們必須讓客戶端器件的狀態--例如當前運行的軟件版本以及它在存儲器中的位置--保持不變。第二大挑戰是通信。新軟件必須以離散數據包的形式從服務器發送到客戶端,每個數據包都要放在客戶端存儲器中的特定地址。分包方案、數據包結構和數據傳輸協議必須在軟件設計中考慮周全。最后一個主要挑戰是安全性。當新軟件以無線方式從服務器發送到客戶端時,我們必須確保服務器是可信任方。這種安全挑戰稱為身份驗證。我們還必須對新軟件進行模糊處理以防觀察者偷窺,因為其中可能包含敏感信息。這種安全挑戰稱為保密。安全性的最后一個要素是完整性,即確保新軟件在通過無線方式發送時不會損壞。

2.png

  圖2.軟件應用程序的二進制轉換和分包過程

  第二階段引導加載程序(SSBL)

  了解引導序列

  主引導加載程序是一種軟件應用程序,永久駐留在微控制器的只讀存儲器中。主引導加載程序所在的存儲區域稱為信息空間,有時用戶無法訪問。每次復位都會執行該應用程序,一般完成一些必要的硬件初始化,并且可能將用戶軟件加載到存儲器中。但是,如果微控制器包含片內非易失性存儲器(如閃存),則引導加載程序不需要進行任何加載,只需將控制權轉移到閃存中的程序即可。如果主引導加載程序不支持OTA更新,則必須有第二階段引導加載程序。與主引導加載程序一樣,SSBL會在每次復位時運行,但將實施OTA更新過程的一部分。此引導序列如圖3所示。本節將說明為什么需要第二階段引導加載程序,并解釋如何指定此應用程序的作用是一個重要設計權衡。

  經驗教訓:務必有一個SSBL

  從概念上講,省略SSBL并將所有OTA更新功能放入用戶應用程序似乎更簡單,因為這樣的話,OTA過程可以無縫利用現有的軟件框架、操作系統和設備驅動程序。圖4顯示了一個選擇此方法的系統的存儲器映射和引導序列。

  應用程序A是部署在現場微控制器上的原始應用程序。此應用程序包含OTA更新相關軟件,當服務器請求時,利用該軟件可下載應用程序B。下載完成且應用程序B經過驗證之后,應用程序A將對應用程序B的復位處理程序執行分支指令,以將控制權轉移給應用程序B。復位處理程序是一小段代碼,用作軟件應用程序的入口點,并在復位時運行。在這種情況下,復位是通過執行一個分支來模擬,這相當于函數調用。這種方法有兩大問題:

  • 許多嵌入式軟件應用程序采用實時操作系統(RTOS),其允許將軟件拆分為多個并發任務,每個任務在系統中具有不同的職責。例如,圖1所示的應用程序可能有用于讀取傳感器的RTOS任務,對傳感器數據運行某種算法的RTOS任務,以及與無線電接口的RTOS任務。RTOS本身始終處于活動狀態,負責根據異步事件或特定的基于時間的延遲切換這些任務。因此,從RTOS任務分支到新程序是不安全的,因為其他任務會在后臺繼續運行。對于實時操作系統,終止某個程序的唯一安全方法是通過復位。

    3.png

  圖3.使用SSBL的存儲器映射和引導流程示例

4.png

  圖4.沒有SSBL的存儲器映射和引導流程示例

  • 基于圖4,上述問題的解決辦法是讓主引導加載程序分支到應用程序B而不是應用程序A。但在某些微控制器上,主引導加載程序總是運行具有中斷向量表(IVT)的程序;IVT是應用程序的一個關鍵部分,描述中斷處理函數,位于地址0。這意味著必須以某種形式重定位IVT,使其復位映射到應用程序B。如果在IVT重定位期間發生斷電重啟,則系統可能會處于永久破損狀態。

  將SSBL固定在地址0可以解決這些問題,如圖3所示。SSBL不是RTOS程序,因此可以安全地分支到新應用程序。地址0處的SSBL的IVT永遠不會重新定位,所以不必擔心斷電重啟會將系統置于災難性狀態。

  設計權衡:SSBL的作用

  我們花了很多時間討論SSBL及其與應用軟件的關系,但SSBL程序有何作用?至少,該程序必須確定當前應用程序是什么(其開始位置),然后分支到該地址。微控制器存儲器中各種應用的位置一般保存在目錄(ToC)中,如圖3所示。這是持久內存中的一個共享區域,SSBL和應用軟件均利用它來相互通信。當OTA更新過程完成時,新的應用程序信息會更新ToC。OTA更新功能的某些部分也可以被推送到SSBL。開發OTA更新軟件時,確定推送哪些部分是重要的設計決策。上述最小SSBL將非常簡單,易于驗證,并且在應用程序的生命周期中很可能不需要修改。但是,這意味著每個應用程序都要負責下載和驗證下一個應用程序。這可能導致無線電堆棧、設備固件和OTA更新軟件的代碼重復。另一方面,我們可以選擇將整個OTA更新過程推送到SSBL。在這種情況下,應用程序只需在ToC中設置一個標志以請求更新,然后執行復位。SSBL隨后執行下載序列和驗證過程。這將最大限度地減少代碼重復并簡化應用專用軟件。然而,這會引入一個新的挑戰,那就是可能需要更新SSBL本身(即更新更新代碼)。最終,決定SSBL中放置哪些功能將取決于客戶端器件的存儲器限制、下載的應用程序之間的相似性以及OTA更新軟件的可移植性。

  設計權衡:緩存和壓縮

  OTA更新軟件中的另一個關鍵設計決策是在OTA更新過程中如何組織存儲器中傳入的應用程序。微控制器上通常有兩類存儲器:非易失性存儲器(例如閃存)和易失性存儲器(例如SRAM)。閃存用于存儲應用程序的程序代碼和只讀數據,以及其他系統級數據,例如ToC和事件日志。SRAM用于存儲軟件應用程序的可修改部分,例如非常數全局變量和堆棧。圖2所示的軟件應用程序二進制文件僅包含非易失性存儲器中存在的程序的某些部分。在啟動例程期間,應用程序將初始化屬于易失性存儲器的部分。

  在OTA更新過程中,每次客戶端器件從服務器收到一個包含該二進制文件一部分的數據包時,便會將其存儲到SRAM中。該數據包可以是壓縮的,也可以是未壓縮的。壓縮應用程序二進制文件的好處是文件會變小,從而要發送的數據包會減少,下載過程中存儲數據包所需的SRAM空間相應地減小。這種方法的缺點是壓縮和解壓縮會增加更新過程的處理時間,并且必須在OTA更新軟件中捆綁壓縮相關代碼。

  新應用軟件屬于閃存,但在更新過程中到達SRAM,因此OTA更新軟件需要在更新過程中的某個時刻執行對閃存的寫操作。暫時將新應用程序存儲在SRAM中的操作稱為緩存。概言之,OTA更新軟件可以采取三種不同的緩存方法。

  • 不緩存:每次包含新應用程序一部分的數據包到達時,便將其寫入閃存中的目標位置。這種方案非常簡單,可以最大限度地減少OTA更新軟件中的邏輯數量,但要求完全擦除新應用程序對應的閃存區域。此方法會消磨閃存并增加開銷。

  • 部分緩存:保留一個SRAM區域用于緩存,當新數據包到達時,將其存儲在該區域中。當該區域填滿時,將數據寫入閃存以清空該區域。如果數據包無序到達或新應用程序二進制文件中存在間隙,這種方案可能會變得很復雜,因為需要一種方法來將SRAM地址映射到閃存地址。一種策略是讓緩存充當閃存一部分的鏡像。閃存被劃分為若干稱為頁面的小區域,這是可供擦除的最小區域。得益于這種自然劃分,一個好辦法是在SRAM中緩存閃存的一頁,當其填滿或下一數據包屬于其他頁面時,便將該頁寫入閃存以清空緩存。

  • 完全緩存:在OTA更新過程中將整個新應用程序存儲在SRAM中,只有從服務器完全下載好新應用程序之后才將其寫入閃存。這種方法克服了前述方法的缺點,寫入閃存的次數最少,OTA更新軟件無需復雜的緩存邏輯。但是,這會限制所下載新應用程序的大小,因為系統的可用SRAM量通常遠小于可用閃存量。

    5.png

  圖5.使用SRAM緩存閃存的一頁

  圖5顯示了OTA更新過程中的第二種方案--部分緩存,來自圖3和圖4的應用程序A所對應的閃存部分被放大,并且顯示了用于SSBL的SRAM的功能存儲器映射。示例閃存頁面大小為2 kB。最終,此設計決策將取決于新應用程序的大小和OTA更新軟件容許的復雜度。

  安全和通信

  設計權衡:軟件與協議

  OTA更新解決方案還必須解決安全和通信問題。如圖1所示,許多系統會在硬件和軟件中實現通信協議,以支持系統的普通(非OTA更新相關)操作,例如交換傳感器數據。這意味著服務器和客戶端之間已經建立了(可能是安全的)無線通信的方法。類似圖1所示的嵌入式系統可以使用的通信協議有低功耗藍牙? (BLE)或6LoWPAN等。有時候,這些協議支持安全性和數據交換,OTA更新軟件在OTA更新過程中可以利用。

  OTA更新軟件中必須構建的通信功能量最終將取決于現有通信協議提供的抽象程度?,F有通信協議具有用于在服務器和客戶端之間發送和接收文件的工具,OTA更新軟件可以簡單地將該工具用于下載過程。但是,如果通信協議較為原始,只有發送原始數據的工具,那么OTA更新軟件可能需要執行分包處理,并提供元數據和新應用程序二進制文件。這也適用于安全挑戰。如果通信協議不支持,OTA更新軟件可能要負責對無線保密發送的字節進行解密。

  總之,在OTA更新軟件中實施哪些功能,例如自定義數據包結構、服務器/客戶端同步、加密和密鑰交換等,將取決于系統的通信協議提供了什么內容以及對安全性和穩健性的要求。下一節將提出一個完整的安全解決方案,其解決了之前介紹的所有挑戰,我們將展示如何在此解決方案中利用微控制器的加密硬件外設。

  解決安全挑戰

  我們的安全解決方案需要讓新應用程序以無線方式保密發送,檢測新應用程序中的任何損壞,并驗證新應用程序是從受信任的服務器而不是惡意方發送的。這些挑戰可通過加密操作來解決。具體而言,該安全解決方案可以使用兩種加密操作:加密和哈希處理。加密使用客戶端和服務器共享的密鑰(密碼)來對無線發送的數據進行模糊處理。微控制器的加密硬件加速器可能支持的特定加密類型是AES-128或AES-256,具體取決于密鑰大小。除了加密數據,服務器還可以發送一個摘要以確保沒有損壞。摘要通過對數據包進行哈希處理來生成,這是一種用于生成唯一代碼的不可逆數學函數。在服務器產生消息或摘要之后,如果其任何部分遭到修改,比如在無線通信期間有一位發生翻轉,則客戶端在對數據包執行相同的哈希函數處理并比較摘要時,會注意到此修改。微控制器的加密硬件加速器可能支持的特定哈希處理類型是SHA-256。圖6顯示了微控制器中的加密硬件外設的框圖,OTA更新軟件駐留在Cortex-M4應用層中。此圖還顯示了其支持將受保護密鑰存儲在外設中,OTA更新軟件解決方案可以利用這一點來安全存儲客戶端密鑰。

6.png

  圖6.ADuCM4050上的加密加速器的硬件框圖

  

  解決身份驗證這一最終挑戰的常見技術是使用非對稱加密。對于此操作,服務器會生成一個公鑰-私鑰對。私鑰只有服務器知道,客戶端知道公鑰。服務器使用私鑰可以生成給定數據塊的簽名,例如要無線發送的數據包的摘要。簽名被發送給客戶端,后者可以使用公鑰驗證簽名。這樣,客戶端就能確認消息是從服務器而不是惡意第三方發送的。此序列如圖7所示,實線箭頭表示函數輸入/輸出,虛線箭頭表示無線發送的信息。

7.png

  圖7.使用非對稱加密驗證消息

  多數微控制器沒有用于執行這些非對稱加密操作的硬件加速器,但可以使用Micro-ECC等專門針對資源受限器件的軟件庫來實現。該庫需要一個用戶定義的隨機數生成功能,這可以利用微控制器上的真隨機數發生器硬件外設來實現。雖然這些非對稱加密操作解決了OTA更新期間的信任挑戰,但是會消耗大量處理時間,并且需要將簽名與數據一同發送,這會增加數據包大小。我們可以在下載結束時使用最后數據包的摘要或整個新軟件應用程序的摘要執行一次此檢查,但如此的話,第三方將能把不受信任的軟件下載到客戶端,這不太理想。理想情況下,我們希望驗證所收到的每個數據包都來自我們信任的服務器,而且沒有每次都需要簽名的開銷。這可以利用哈希鏈來實現。

  哈希鏈將本節討論的加密概念整合到一系列數據包中,以便在數學上將它們聯系在一起。如圖8所示,第一個數據包(編號0)包含下一個數據包的摘要。第一個數據包的有效載荷不是實際的軟件應用程序數據,而是簽名。第二個數據包(編號1)的有效載荷包含二進制文件的一部分和第三個數據包(編號2)的摘要??蛻舳蓑炞C第一個數據包中的簽名并緩存摘要H0以供以后使用。當第二個數據包到達時,客戶端對有效載荷進行哈希處理并將其與H0進行比較。如果它們匹配,客戶端便可確定該后續數據包來自可信服務器,而無需費力進行簽名檢查。生成此鏈的高開銷任務留給服務器完成,客戶端只需在每個數據包到達時進行緩存和哈希處理,確保到達的數據包完整無損并驗明正身。

8.png

  圖8.將哈希鏈應用于數據包序列

  實驗設置

  解決本文所述存儲器、通信和安全設計挑戰的超低功耗微控制器是ADuCM3029和ADuCM4050.這些微控制器包含本文討論的用于OTA更新的硬件外設,例如閃存、SRAM、加密加速器和真隨機數發生器。這些微控制器的器件系列包(DFP)為在這些器件上構建OTA更新解決方案提供了軟件支持。DFP包含外設驅動,以便為使用硬件提供簡單靈活的接口。

  硬件配置

  為了驗證本文討論的概念,我們利用ADuCM4050創建了OTA更新軟件參考設計。對于客戶端,一個ADuCM4050 EZ-KIT使用收發器子板馬蹄形連接器連接到ADF7242??蛻舳似骷鐖D9左側所示。對于服務器,我們開發了一個在Windows PC上運行的Python應用程序。Python應用程序通過串行端口與另一個ADuCM4050 EZ-KIT通信,后者也以與客戶端相同的配置連接一個ADF7242。但是,圖9中右邊的EZ-KIT不執行OTA更新邏輯,只是將從ADF7242接收到的數據包中繼給Python應用程序。

9.png

  圖9.實驗硬件設置

  軟件組件

  軟件參考設計對客戶端器件的閃存進行分區,如圖3所示。主要客戶端應用程序具有非常好的移植性和可配置性,以便其他方案或其他硬件平臺也可以使用。圖10顯示了客戶端器件的軟件架構。請注意,雖然我們有時將整個應用程序稱為SSBL,但在圖10中,并且從現在開始,我們在邏輯上將真正的SSBL部分(藍色)與OTA更新部分(紅色)分開,因為后者不一定需要完全在上述應用程序中實現。圖10所示的硬件抽象層使OTA客戶端軟件可移植并獨立于任何底層庫(以橙色顯示)。

10.png

  圖10.客戶端軟件架構

  軟件應用程序實現圖3中的引導序列(一個用于從服務器下載新應用程序的簡單通信協議)和哈希鏈。通信協議中的每個數據包都有12字節的元數據頭、64字節的有效載荷和32字節的摘要。此外,它還有如下特性:

  • 緩存:根據用戶配置,支持不緩存或緩存閃存的一頁。


  • 目錄:ToC設計為僅容納兩個應用程序,并且新應用程序總是下載到最舊的位置,以保留一個備用應用程序。這稱為A/B更新方案。

  • 消息傳遞:支持ADF7242或UART進行消息傳遞,具體取決于用戶配置。使用UART進行消息傳遞可免除圖9左側的EZ-KIT,僅保留右側套件用于客戶端。這種有線更新方案對初始系統啟動和調試很有用。

  結果

  除了滿足功能要求并通過各種測試之外,軟件的性能對于判斷項目成功與否也很重要。通常使用兩個指標來衡量嵌入式軟件的性能:占用空間和周期數。占用空間是指軟件應用程序在易失性(SRAM)和非易失性(閃存)存儲器中占用的空間大小。周期數是指軟件執行特定任務所使用的微處理器時鐘周期數。它與軟件運行時間相似,但在執行OTA更新時,軟件可能進入低功耗模式,此時微處理器處于非活動狀態,不消耗任何周期。雖然軟件參考設計沒有針對任何一個指標進行優化,但它們對于程序基準測試和比較設計權衡非常有用。

  圖11和圖12顯示了在ADuCM4050上實現的OTA更新軟件參考設計的占用空間(不緩存)。這些圖根據圖10所示的組件進行劃分。如圖11所示,整個應用程序使用大約15 kB的閃存。鑒于ADuCM4050包含512 kB閃存,此占用空間非常小。真正的應用軟件(為OTA更新過程開發的軟件)僅需1.5 kB左右,其余用于庫,例如DFP、Micro-ECC和ADF7242堆棧。這些結果有助于說明SSBL應在系統中扮演什么角色的設計權衡。15 kB占用空間的大部分是用于更新過程。SSBL本身僅占用大約500字節的空間,另外還有1 kB到2 kB的DFP代碼,用于訪問閃存驅動器之類的器件。

11.png

  圖11.閃存占用空間(字節)

12.png

  圖12.SRAM占用空間(字節)

  為了評估軟件的開銷,我們在每次接收數據包時計數周期,然后計算每個數據包平均消耗的周期數。每個數據包都需要AES-128解密、SHA-256哈希處理、閃存寫入和某種數據包元數據驗證。數據包有效載荷為64字節且不緩存時,處理單個數據包的開銷為7409個周期。使用26 MHz內核時鐘時,大約需要285微秒的處理時間。該值是利用ADuCM4050 DFP中的周期計數驅動程序計算的(未調整周期數),并且是100 kB二進制文件下載期間(約1500個數據包)的平均值。為使每個數據包的開銷最小,DFP中的驅動程序應利用ADuCM4050上的直接存儲訪問(DMA)硬件外設來執行總線事務,并且驅動程序在每次事務處理期間將處理器置于低功耗休眠狀態。每個事務中不存在一個萬能的狀態如果我們禁用DFP中的低功耗休眠并將總線事務更改為不使用DMA,則每個數據包的開銷將增加到17,297個周期。這說明了高效使用器件驅動程序對嵌入式軟件應用程序是有影響的。雖然減少每個數據包的數據字節數也可以降低開銷,但每個數據包的數據字節數翻一倍達到128時,周期數僅有少量增加,相同實驗得到的周期數為8362。

  

  周期數和占用空間也解釋了先前討論的權衡--緩存數據包數據而不是每次都寫入閃存。使能緩存一頁閃存后,每個數據包的開銷從7409減少到5904個周期。此20%減幅來自于更新過程跳過了大多數數據包的閃存寫入,僅在緩存已滿時才執行閃存寫入。其代價是SRAM占用面積增加。不使用緩存時,HAL只需要336個字節的SRAM,如圖12所示。但是,當使用緩存時,必須保留一個相當于閃存一整頁的空間,故SRAM占用增加到2388字節。HAL使用的閃存也會少量增加,原因是需要額外代碼來判斷緩存何時必須清空。

  這些結果證明,設計決策對軟件性能會有切實的影響。不存在一個萬能的解決方案,每個系統都有不同的要求和約束,OTA更新軟件需要視具體情況具體對待。希望本文闡明了在設計、實現和驗證OTA更新軟件解決方案時遇到的常見問題和權衡。

  參考文獻

  Nilsson、Dennis Kengo和Ulf E. Larson?!爸悄苘囕v的無線安全固件更新”。ICC研討會--2008年IEEE國際通信會議,2008年5月。

  Benjamin Bucklin Brown

  Benjamin Bucklin Brown [benjamin-b.brown@analog.com]于2016年從麥吉爾大學畢業并獲得電氣工程學士學位后加入ADI公司。目前他在消費電子檢測與處理技術(CSPT)部門工作,擔任嵌入式軟件工程師,為專用集成電路開發固件。此前,他曾在物聯網平臺技術部門工作,為ADuCM3029和ADuCM4050微控制器開發器件驅動程序和軟件參考應用程序。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲色无码专区一区 | 成人欧美一区二区三区视频 | 国产午夜一级一片免费播放 | 国产乱码久久久久久 | 日韩一卡2卡3卡4卡2021免费观看国色天香 | 色婷婷香蕉 | av高清免费观看 | 国产精成人 | 色天天干 | 人人玩人人添人人澡欧美 | 国产三级在线播放 | 国产成人无码a区在线观看视频app | 欧美日韩一级黄色片 | 亚洲成a人v欧美综合天堂麻豆 | 欧美日视频 | 欧美专区在线播放 | 亚洲熟女乱色综合亚洲图片 | 色播在线 | 久久久精品人妻一区二区三区四 | 暗呦丨小u女国产精品 | 麻豆秘密入口a毛片 | 奇米精品视频一区二区三区 | 中国女人啪啪69xxⅹ偷拍 | 久久精品视频久久 | 国产午夜不卡片免费视频 | 国产999精品久久久久久 | 看全黄大黄大色大片美女 | 麻豆视频国产精品 | 亚洲精品一区二区三区四区五区 | 人妻少妇av无码一区二区 | 免费看片亚洲 | 一本色道久久综合狠狠躁 | 亚洲欧美日韩在线不卡 | 免费丰满少妇毛片高清视频 | 精品无人乱码一区二区三区的优势 | 成年18网站免费进入夜色 | 国产色区| 性欧美视频 | www午夜av| 特黄性暴力强在线线播放 | 狠狠插综合网 | 欧美日韩大片 | 丝袜 亚洲 另类 欧美 变态 | 玖玖在线观看视频 | 亚洲日本乱码一区二区三区 | 钻石午夜影院 | 人妻 日韩精品 中文字幕 | 日本19禁啪啪免费观看www | 青草视频免费在线观看 | 日韩av在线看 | 精品视频久久 | 啪在线视频 | 日本韩国欧美一区 | 伊人免费在线观看 | 91精品国产综合久久香蕉麻豆 | 国产精品女人久久久 | 国内精品久久毛片一区二区 | 91亚洲欧美| 免费观看一级视频 | 国产精品国产三级国产专播i12 | 少妇露脸大战黑人视频 | 黄色片在线网站 | brazzers精品成人一区 | 国产综合视频一区二区三区 | 人成午夜免费视频在线观看 | 亚洲国产中文字幕在线视频综合 | 国产精品v亚洲精品v日韩精品 | 中文字幕在线字幕中文 | 欧美性猛交xxxx黑人 | av男人天堂网 | 精品久久福利 | 欧美亚一区二区 | 中文字幕日本人妻久久久免费 | 无码人妻av一区二区三区蜜臀 | 黄色片免费在线 | 亚洲精品一区二区三区99 | 亚洲色图国产精品 | yy8090新视觉午夜毛片 | 午夜黄色一级片 | 精品国产一区二区三区护卡密 | 成人两性视频 | 国产性受xxxx黑人xyx性爽 | 台湾佬中文娱乐网址 | 欧美一区二区最爽乱淫视频免费看 | 官场艳妇疯狂性关系 | 亚洲精品高清国产一久久 | 日本一二三区视频在线 | 亚洲区一 | 亚洲成人午夜影院 | 性欧美又大又长又硬 | lutu成人福利在线观看 | 91福利一区二区 | 涩视频在线观看 | 国产美女福利在线 | 亚洲成成品牛牛 | 日产精品久久久久久久性色 | www91在线播放 | 狠狠爱俺也去去就色 | 欧美亚洲精品天堂 | 精品无码国产自产拍在线观看蜜 | 日韩精品中文在线 | 久久久久久一区二区三区 | 欧美爱视频 | 五月av综合av国产av | www,av在线| 人人妻人人澡人人爽人人精品97 | 亚洲一区日韩精品 | 欧美老女人性生活视频 | 日日草草 | 日本欧美激情 | 国产一级淫片a视频免费观看 | 国产精品v欧美精品∨日韩 女邻居的大乳中文字幕 | 成人小片 | 懂色av色香蕉一区二区蜜桃 | 日本婷婷免费久久毛片 | 久久久久久亚洲精品中文字幕 | 亚洲精品字幕 | 亚洲精品一区二区国产精华液 | 巨大乳の揉んで乳榨り奶水 | 亚洲精品欧美二区三区中文字幕 | 久久精品亚洲国产 | 国产精品黄色裸体片 | 天天操操 | 国产精品v欧美精品v日韩精品v | 少妇啪啪高潮肉谢 | 偷窥第一页 | 午夜视频精品 | 久久久国产片 | 久综合网 | 久久久久久91亚洲精品中文字幕 | 日韩精品在线观看免费 | 中文字幕无码日韩专区 | 欧美xx视频 | 国产美女mm131爽爽爽免费 | 中文字幕在线有码 | 国产一级片中文字幕 | 99精品中文字幕 | 成年人毛片视频 | 99热一区二区| av中文字幕潮喷人妻系列 | 一本大道久久 | 中文字幕25页 | 精品不卡视频 | 欧美激情久久久 | 亚洲综合久久久久 | 在线观看视频一区二区三区 | 国产成人午夜片在线观看高清观看 | 日本欧美大码aⅴ在线播放 中文人妻无码一区二区三区在线 | 日本免费一区二区三区视频观看 | 国产在线麻豆 | 99精品在线播放 | 正在播放重口老熟女露脸 | 国产精品99久久久久久久vr | 超碰在线成人 | 在线观看av播放 | 青青操在线视频 | 就去干成人网 | 超碰v| 精品无码一区二区三区电影 | 激情五月在线 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 日本猛少妇色xxxxx猛叫小说 | 一本一本久久a久久精品牛牛影视 | 国产高清av首播原创麻豆 | 巨胸狂喷奶水视频www网站免费 | 成人秘密在线观看 | 黄色一区二区三区四区 | 精品亚洲午夜久久久久91 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产尤物视频 | 大地资源在线观看官网第三页 | 国产精品久久久免费观看 | 99热这里只有精品8 99热这里只有精品在线观看 | √最新版天堂资源在线 | 香蕉一级片 | 成人精品网站在线观看 | 国产伦精品一区二区三区视频网站 | 国产一在线精品一区在线观看 | 5858s亚洲色大成网站www | 中国熟妇牲交视频 | 日韩精品一区二区在线播放 | 亚洲欧美综合精品久久成人网无毒不卡 | 鲁丝一区二区三区免费 | 亚洲精品久久久中文字幕痴女 | 国产精品视频500部 国产精品视频99 | 最新中文字幕在线观看视频 | 一色屋精品视频在线观看 | 国产精品久久久久久久久免小说 | 欧美激情精品 | 与子敌伦刺激对白播放的优点 | 亚洲欧美性视频 | 欧美日韩国产色 | 日本三级少妇 | 女同理伦片在线观看禁男之园 | 毛片你懂的 | 欧美一区亚洲一区 | 人人妻人人添人人爽日韩欧美 | 夜夜夜高潮夜夜爽夜夜爰爰 | 男人添女人高潮免费网站打开网站 | 2020av在线 | 免费精品久久 | 美女脱了内裤张开腿让男人桶网站 | 91免费在线看 | 亚洲成av人片一区二区密柚 | 丰满少妇高潮惨叫久久久久 | 日本黄色录象 | 欧美mv日韩mv国产网站 | 国产靠逼视频 | 免费看黄色网址 | a少妇| 免费日韩一区二区 | 国产cdts系列另类在线观看 | 99自拍| 这里只有精品视频 | 五月天黄色小说 | 日本成人一区二区 | 玩弄少妇肉体到高潮动态图 | 欧美又粗大人妖一进一出 | 手机在线看黄色 | 亚洲国产成人精品女 | 中国精品久久久 | 久久福利国产 | 天天夜天天干 | 欧美午夜aaaaaa免费视频 | 日本三级久久 | 亚洲精品蜜夜内射 | 激情视频激情小说 | 日本免费视频在线观看 | 亚洲欧美日韩久久一区二区 | 亚洲高清av | 日韩免费一区 | 久久久久噜噜噜亚洲熟女综合 | 亚洲欧美一区二区三区 | 中国特级黄色毛片 | 久草免费在线观看 | 亚洲国产精品综合 | 色七七网站 | 欧美三区在线 | 欧美一区二区三区免费观看 | 亚洲日韩小电影在线观看 | 伊人国产在线观看 | 国产免费xvideos视频入口 | 国产a级黄色毛片 | 国产一区欧美一区 | 综合三区后入内射国产馆 | 日韩精品人成在线播放 | 人妻无码不卡中文字幕系列 | 免费色视频 | 免费视频色 | 久久99国产视频 | 中文字幕色 | 图片区 小说区 区 亚洲五月 | 国产成人无码一区二区在线播放 | 欧美亚洲天堂网 | 3344久久日韩精品一区二区 | 色呦呦网站在线观看 | 欧美性生活精品 | 精品少妇ay一区二区三区 | 欧美一区二区三区四区视频 | av动漫网站 | 一本无码久本草在线中文字幕dvd | 激情六月婷婷 | 无码av一区二区三区无码 | 国产一区二区三区四区三区四 | 91精品国产乱码久久桃 | 污污在线免费观看 | 天天干天天爱天天操 | 台湾佬成人中文网222vvv | 久久视频一区二区 | 狠狠艹逼 | 久久久精品在线观看 | 熟妇五十路六十路息与子 | 乖女从小调教h尿便器小说 关秀媚三级 | 日日躁夜夜摸月月添添添的视频 | 天堂视频在线观看免费 | gai免费观看网站外网 | 精品日本一区二区三区免费 | 三级色网 | 成人性生交大片免费看中文 | av草逼| 狠狠色噜噜狠狠狠狠2021天天 | 国产乱人伦av在线无码 | 九九九免费视频 | 久久中文字幕无码专区 | 亚洲国产成人无码网站大全 | 一级黄色伦理片 | av手机天堂网 | 亚洲无线一二三四区手机 | 国产精品sss | 久久综合给合久久狠狠狠色97 | 国产精品久久久久久久久免费 | 性,国产三级在线观看 | 少妇性zzzzzzzy| 麻豆成人91精品二区三区 | 日韩色图视频 | 国产好片无限资源 | 综合色婷婷一区二区亚洲欧美国产 | 深夜福利啪啪片 | 国产学生不戴套在线看 | 草草屁屁影院 | 瘾攵女强h文1v1 | 久久久久久久久久久久久大色天下 | 一本色道久久爱88av | 少妇艳梅交换系列 | 高清911专区 | 国产精品免费看久久久8精臀av | 欧美一区二区三区免费播放视频了 | 午夜无码一区二区三区在线观看 | 中文字幕av免费观看 | 国产丰满果冻videossex | 一级特黄少妇高清毛片 | 精产国品一二三产区区别在线观看 | 日韩在线色 | www.国产精品一区 | 日本一区二区在线播放 | 西西人体做爰大胆gogo | 777777777亚洲妇女| 和岳m愉情xxxx国产 | av无码不卡一区二区三区 | 天天干天天综合 | 好男人社区www在线观看 | 男人的天堂在线播放 | 午夜一级免费 | 69网站在线观看 | www.夜夜骑.com | 日本欧美久久久 | 亚洲人成在线观看 | 好爽…又高潮了免费毛片 | 欧美一区二区三区免费 | 久久天天躁狠狠躁夜夜av | 欧美高清性xxxxhd | 色.com| 色 成人 亚洲 | 亚洲精品乱码久久久久久蜜桃不卡 | 日本国产一区二区三区 | 日本a在线免费观看 | 国产乱理伦片在线观看 | 夜夜躁日日躁狠狠久久88av | 91婷婷在线| 精品欧美小视频在线观看 | 欧美性白人极品1819hd | 中文免费视频 | 一区二区三区视频在线播放 | 久久精品夜色噜噜亚洲a∨ 久久精品一二三 | 少妇高潮喷水久久久影院 | 日韩国产精品视频 | 欧美日韩理论片 | 91视频日本 | 日日射视频 | 亚洲国产精品成人一区二区在线 | 亚洲综合久久一区二区 | 午夜爱精品免费视频一区二区 | 九色视频丨porny丨丝袜 | 人成精品| 精品厕所偷拍各类美女tp嘘嘘 | 午夜av福利在线 | 中国一级特黄真人毛片 | 国产成人精品电影在线观看 | 国产丰满大乳奶水在线视频 | 中文字幕被公侵犯的漂亮人妻 | 国产成人三级一区二区在线观看一 | 538在线精品 | 尤物视频在线播放 | 男人深夜网站 | 久久视频在线视频 | 日韩a无v码在线播放免费 | 黑人干亚洲| 夜夜躁狠狠躁日日躁aab苏桃 | 玖玖在线观看 | 一区二区在线观看免费视频 | 亚洲成人黄色影院 | 国产高跟黑色丝袜在线 | 亚欧美在线观看 | 黄网站色视频 | 性欧美高清 | 香港台湾日本三级大全 | 国产视频资源在线观看 | 快色av| 雨宫琴音av一区在线播放 | 亚洲 欧美 制服 综合 另类 | 青青久操| 精品国产依人香蕉在线精品 | 国产亚洲欧美日韩精品一区二区三区 | 久久久精品国产sm调教网站 | 7m视频成人精品分类 | 国产大屁股喷水视频在线观看 | 人妻熟女欲求不满在线 | 国产精品久久久久久久久ktv | 91超薄丝袜肉丝一区二区 | 日韩精品一区二区三区 | 六月综合激情 | 伊人青青久久 | 性欧美老人牲交xxxxx视频 | 欧美日韩福利 | 精品人妻一区二区三区四区在线 | 欧美日韩中文字幕 | 亚洲国产人午在线一二区 | 日本中文字幕网站 | 人妻夜夜爽天天爽爽一区 | 最近的中文字幕 | 国产精品系列在线播放 | 精品欧美黑人一区二区三区 | 日韩精品av久久有码一区浪潮 | 91亚洲视频| 国产做受入口竹菊 | a天堂中文在线观看 | 国产男女激情 | 国产伦精品一区二区三区四区 | 中国另类性xxxhd100% | 国产美女视频一区二区三区 | 91精品国产综合久久久蜜臀图片 | 国产精品成人亚洲一区二区 | 国产裸体永久免费视频网站 | 婷婷六月激情 | 在线国产网站 | 国产一国产二 | 一区二区三区欧美在线 | 日韩精品一区二区在线播放 | 亚洲综合图片网 | 粗了大了 整进去好爽视频 色偷偷亚洲男人的天堂 | 大伊香蕉精品一区视频在线 | 性猛交波兰xxxxx | 亚洲欧美日韩综合俺去了 | 国产麻豆一区二区三区 | 免费又黄又粗又爽大片69 | 一个添下面两个吃奶把腿扒开 | 亚洲97| 精品粉嫩超白一线天av | 色婷婷综合久久中文字幕雪峰 | 色综合免费视频 | 成年片黄色日本大片网站视频 | 午夜成人理论福利片 | 亚洲三级高清免费 | 蜜臀av国产精品久久久久 | 精品欧美一区二区三区 | 国产精品女人久久久 | 天天上天天干 | 蜜桃视频在线观看污 | 真人抽搐一进一出gif | 少妇啊灬啊别停灬用力啊免费视频 | 好吊妞视频一区二区三区 | 亚洲日本香蕉视频 | 麻豆精品国产精华精华液好用吗 | 日本成熟视频免费视频 | 亚洲久久综合 | 亚洲播播 | 国产伦精品一区二区三区 | 久久久综合九色合综 | 久久无码人妻丰满熟妇区毛片 | 国产精品日日做人人爱 | 日韩一级片在线 | jzjzjz欧美丰满少妇 | 亚洲25p| 国产在线久 | 涩涩屋www视频在线观看高清 | 台湾佬成人中娱网222vvvv | 国产精品theporn88 | 亚洲欧洲日产国产 最新 | 女装男の子av在线播放 | a级免费黄色片 | 精品国产老女人乱码 | 亚洲天堂男人天堂 | 久久国产精99精产国高潮 | 岛国av毛片 | 国产三级视频在线播放 | 精品性高朝久久久久久久 | 国产永久在线观看 | 国产成人无码久久久精品一 | 中文字幕丰满乱孑伦无码专区 | 国产自偷自偷免费一区 | 肥老熟妇伦子伦456视频 | 国产真实乱偷精品视频 | 国产精品成人亚洲一区二区 | 粉嫩av一区二区三区免费观看喜好 | 一级黄片一级毛片 | 天天夜碰日日摸日日澡性色av | 日韩经典在线 | 日本草逼视频 | 久久婷婷五月综合尤物色国产 | 91精品国产乱码久久久久久张柏芝 | 337p嫩模大胆色肉噜噜噜 | 他也色在线 | 亚洲天堂成人 | 丰满岳乱妇在线观看视频国产 | 国产成人综合久久精品免费 | 国产精品一区二区久久乐下载 | 欧美一级片毛片 | 99精品国产高清一区二区麻豆 | 丝袜av在线播放 | 农村偷人一级超爽毛片 | 熟妇与小伙子matur老熟妇e | 狠狠色婷婷狠狠狠亚洲综合 | 国产无套粉嫩白浆内谢网站 | 一女二男一黄一片 | 91久久国产露脸精品国产闺蜜 | 欧美熟妇xxxxx欧美老妇不卡 | 成人午夜激情视频 | 神马影院午夜伦理 | 成人片黄网站色大片免费毛片 | 成人av在线网址 | 老司机午夜福利av无码特黄a | 久久不卡影院 | 在线观看福利视频 | 国产卡一卡二卡三无线 | 日韩欧美亚洲综合久久 | 亚洲午夜久久久久久久久电影网 | 精品美女久久久久 | 无码中文字幕乱码一区 | 亚洲欧美在线视频免费 | 日本免费一区二区三区 | www.-级毛片线天内射视视 | 国产精品久久久久久久福利竹菊 | 日本一区二区免费看 | 国产精品久久久国产盗摄 | 精品欧美乱码久久久久久1区2区 | 日本三级毛片 | 天堂在线中文资源 | 久久99精品久久久久久吃药 | 欧美精品性生活 | 999这里只有精品 | 国产天美传媒性色av | 天天干干天天 | 天天操天天爽天天射 | 国产精品国产精品 | 粉嫩一区二区三区色综合 | 午夜夜伦鲁鲁片六度影院 | 青青青爽视频在线观看 | 欧美日韩国产成人精品 | 国产精品久久777777 | 亚洲人网站 | 日本激情吻胸吃奶呻吟视频 | 国产在线精品一区二区在线看 | 狠狠一区二区 | 国产国语熟妇视频在线观看 | 亚洲自偷精品视频自拍 | 国产精品99久久久久久宅男 | 懂色av中文字幕 | 欧美日韩一区二区三区在线 | 天天躁日日躁狠狠躁2018小说 | 国产精品久久久久四虎 | 少妇精69xxtheporn| 97国产在线 | 欧美日比视频 | 大片免费在线观看视频 | 成年人小视频在线观看 | 国产精品186在线观看在线播放 | 欧美午夜理伦三级在线观看 | 精品国产一区二区三区久久狼5月 | 国产精品久久久久久人妻精品动漫 | 成人综合区 | 伊人动漫 | 国产精品国产亚洲精品看不卡 | 国产真实伦在线观看视频 | 精品视频一区二区三区在线观看 | 久久看视频 | ass嫩粉嫩粉嫩pⅰcs | 在线免费精品视频 | 337p大胆啪啪私拍人体 | 久久精品精品 | 精品无码久久久久久久久久 | 成人亚洲性情网站www在线观看国产 | 欧美与黑人午夜性猛交久久久 | 亚洲国产精品一区二区第一页 | 香蕉影音| 永久免费毛片在线播放 | 日韩精品久久久久久久电影蜜臀 | 中文字幕a∨在线乱码免费看 | 国产主播第一页 | 亚洲看片网 | 国产码在线播放 | 亚洲国产欧美日韩在线观看第一页 | 曰本女人与公拘交酡免费视频 | 久久久久人妻精品一区三寸蜜桃 | 亚洲成人a√ | 小蝌蚪九色91探花 | 久久精品国产乱子伦 | 亚洲一区二区观看播放 | 胖女人毛片| 亚洲午夜久久久精品一区二区三剧 | 国产在线视频一区二区三区 | 男人巨茎大战欧美白妇 | 久久久久伊人 | 爆操少妇| 好吊妞视频一区二区三区 | 99免费在线观看 | 视频一二三区 | 亚洲人成网站999久久久综合 | 亚洲精品www久久久久久广东 | 按摩毛片| 欧美精品v国产精品v日韩精品 | 国产精品麻豆色哟哟av | 亚洲午夜无码毛片av久久 | 国产精品日日做人人爱 | 黄色在线免费观看视频 | 黄色片在线免费 | 欧美偷窥清纯综合图区 | 欧美午夜一区二区三区 | а√天堂资源官网在线资源 | 最新最近中文字幕 | 在线视频 亚洲 | 动漫精品啪啪h一区二区网站 | 亚洲第一免费网站 | 亚洲日韩精品欧美一区二区一 | 日本一级黄色毛片 | 久操久| 天天拍天天操 | 99国产精品久久久久 | 亚洲日本中文字幕天天更新 | 好屌草这里只有精品 | 日韩中文字 | 国产又粗又猛又爽视频上高潮69 | 国产日韩欧美一区二区 | 精品国产免费久久久久久桃子图片 | 一区二区国产精品精华液 | 精品资源成人 |