• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Bank Swap的STM32 軟件升級方案

    2022-02-17 12:11:28陳藝芃林飛浪郭大鳴陳飛明
    電子設(shè)計工程 2022年3期
    關(guān)鍵詞:代碼啟動升級

    陳藝芃,林飛浪,郭大鳴,陳飛明

    (1.武漢郵電科學(xué)研究院,湖北武漢 430074;2.烽火通信科技股份有限公司,湖北武漢 430073;3.武漢紡織大學(xué),湖北 武漢 430073)

    在嵌入式板級應(yīng)用的開發(fā)過程中,系統(tǒng)設(shè)備的軟件代碼不是一次開發(fā)就能夠完成的,需要進行多次的修改、更新和壓縮操作來完善。針對測試人員在測試過程中發(fā)現(xiàn)的一些問題和客戶在使用過程中提出的一些新的功能需求,軟件開發(fā)人員需要提供一種合理的代碼升級方式以便對設(shè)備進行在線升級。

    嵌入式設(shè)備軟件升級通常采用移植一個適用于該系統(tǒng)的獨立BootLoader的方式,BootLoader 指啟動引導(dǎo)程序,是系統(tǒng)加電后運行的第一段軟件代碼,通過這段代碼,可以初始化硬件設(shè)備,建立內(nèi)存空間的映射圖,以便為最終調(diào)用操作系統(tǒng)內(nèi)核提供正確的環(huán)境[1-2]。使用這種方式存在的問題是升級前需要將MCU 片內(nèi)Flash 舊版本擦除,為新版本的寫入釋放空間,這勢必導(dǎo)致設(shè)備停機[3-5]。

    近年來常用的Bank Swap 方式可以解決上述問題。Bank Swap是ST公司對旗下的STM32F4、STM32F7系列芯片提供的MCU 片內(nèi)Dual Bank Flash 進行交換的方式,它在執(zhí)行程序的同時可對另一個Bank 進行擦除和編程操作。利用這個特性,可實現(xiàn)在線程序更新。在嵌入式設(shè)備軟件初版代碼的開發(fā)過程中,初始代碼可能會較為龐大,對于比較復(fù)雜的設(shè)備,需要很大的運行內(nèi)存容量,而Bank Swap 方式要將MCU 片內(nèi)Flash 分為兩部分運行,可用運存容量減半,直接采用Bank Swap 方式可能會影響開發(fā)過程中對軟件的調(diào)試。

    針對上述問題,文中設(shè)計了一種將獨立BootLoader和Bank Swap 結(jié)合的方案。在開發(fā)初期先使用BootLoader+APP的方式過渡,并設(shè)計BootLoader+APP的版本,使其具備升級轉(zhuǎn)換成Bank Swap 模式的功能。待開發(fā)后期壓縮工程的目標(biāo)文件小于1M(STM32F4 片內(nèi)Flash 容量為2 M),通過修改程序中的標(biāo)識位完成模式切換,即可以實現(xiàn)不停機升級操作,滿足所有開發(fā)需求的同時將外部Flash 棄用,可以停止對片外BootLoader的維護,減少運維工作量。

    1 獨立BootLoader啟動方式

    對于STM32平臺的啟動引導(dǎo)和代碼升級,常用的方式是采用BootLoader+APP的方式。在此可以移植一個適用于該系統(tǒng)的獨立BootLoader,將MCU片內(nèi)Flash劃分為BootLoader 區(qū)和User Code 區(qū)[6]。BootLoader用于實現(xiàn)通過某種通信方式(如USB、USART)接收程序或數(shù)據(jù),執(zhí)行對APP 代碼的更新,通常存儲于Flash的起始地址(0x08000000)。User Code 區(qū)運行的是產(chǎn)品實現(xiàn)業(yè)務(wù)邏輯正常運行的APP 代碼,該部分代碼存儲在片內(nèi)Flash 中的BootLoader 區(qū)之后,需要進行相對的地址偏移;而緩存的升級數(shù)據(jù)可以存儲在片外Flash 中,以節(jié)約內(nèi)部存儲空間。獨立BootLoader 模式升級數(shù)據(jù)流向圖如圖1 所示。

    圖1 獨立BootLoader模式升級數(shù)據(jù)流向圖

    圖1 箭頭所指為數(shù)據(jù)流向,在APP 中接收升級數(shù)據(jù)并緩存到外部Flash。升級時MCU 重啟進入BootLoader,BootLoader 檢查是否需要更新,若需要更新,則讀取緩存在外部Flash的升級數(shù)據(jù)包,進行后續(xù)升級動作,引導(dǎo)代碼進入應(yīng)用區(qū);若BootLoader沒有檢測到需要更新,開始檢測應(yīng)用區(qū)代碼是否完整,如果完整則引導(dǎo)進入應(yīng)用區(qū),否則停留在Boot中,提示上位機等待BootLoader 引導(dǎo)程序進入應(yīng)用區(qū)運行[7-9]。應(yīng)用接收到升級命令,在Flash 做一個升級動作標(biāo)記,記錄升級的版本等信息。重啟MCU 進入BootLoader 進行升級。

    2 Bank Swap啟動方式

    近年來利用Bank Swap 方式進行軟件升級也越發(fā)普遍。對于STM32F4 系列的MCU,可以通過配置Dual Bank和Dual Boot 項,改變RWW 特性,從而實現(xiàn)Bank Swap 方式,以解決上述問題[10]。

    2.1 Dual Bank模式下的Flash編排

    配置成Dual Bank 模式后,片內(nèi)Flash的地址將重新編排。如圖2 所示,Bank1的地址為0x08000 000~0x080FFFFF,Bank2的地址為0x08100000~0x081FFFFF,扇區(qū)的數(shù)量從12 增加到了24,均勻分配于兩個Bank 之中。每個Bank 中對應(yīng)扇區(qū)的容量都為之前的一半,Dual Bank 模式時讀寫的最小單元為128 bit,也是Single Bank的一半。

    圖2 切換Dual Boot模式Flash分區(qū)示意圖

    將Single Bank 轉(zhuǎn)變成Dual Bank 是通過縱向劃分實現(xiàn)的。讀取寬度由8 words 變成了4 words。如圖3 所示,將Flash 控制器的地址線和數(shù)據(jù)線由一組分成兩組,高位一組,低位一組,這樣就可以實現(xiàn)在一個Bank 執(zhí)行讀操作時,對另一個Bank 進行寫操作。

    圖3 Dual Boot模式Flash的劃分方式圖

    另外需要注意的是模式轉(zhuǎn)換前,存儲數(shù)據(jù)地址的變動。假設(shè)Sector1 中存儲著連續(xù)的256 bit 數(shù)據(jù),由于采用縱向劃分,在劃分過程中高地址被重新編排,分別存儲到Sector1和Sector13的對應(yīng)位置中,跟原來的地址不再連續(xù),導(dǎo)致Flash 保存的內(nèi)容被完全打亂了。即使切換前只使用到MCU 片內(nèi)Flash的前半部分,也需要在模式切換后將原有的數(shù)據(jù)擦除并重新燒錄到設(shè)定的Bank 中。

    當(dāng)Flash配置成Dual Bank模式時,STM32F4 可以實現(xiàn)Dual Boot 模式,即雙啟動方式。程序可以選擇從Bank1啟動,也可從Bank2啟動。這個操作是由保存在片內(nèi)MCU的System Memory中的BootLoader 實現(xiàn)的,BootLoader 判斷到當(dāng)前是Dual Bank 模式且配置Dual Boot 選項,則根據(jù)用戶配置的啟動地址,選擇從Bank1 啟動或者從Bank2 啟動。

    2.2 RWW在Dual Bank中的實現(xiàn)機制

    RWW(Read-While-Write,RWW)是指在系統(tǒng)做運行讀取操作的同時支持擦除寫入操作的特性。由圖4 可以看出,當(dāng)使用Single Bank 模式時,對Flash的寫操作會導(dǎo)致其他讀操作被掛起,程序停止執(zhí)行。而Dual Bank 模式中,可以在一個Bank的程序執(zhí)行過程中對另一個Bank 執(zhí)行寫操作。

    圖4 RWW特性示意圖

    Bank Swap 方式利用Dual Bank 中的RWW 特性,在實現(xiàn)升級的同時其他任務(wù)可以繼續(xù)運行,不影響系統(tǒng)正常功能的運轉(zhuǎn),并保證了升級期間片內(nèi)另一個Bank 舊版本的完整性。

    3 軟件升級方案解析

    鑒于上述分析,結(jié)合工程實際需要,考慮到防止User Code 在開發(fā)初期超出單Bank 最大容量的可能(STM32F4 片內(nèi)Flash 容量為2 M),最終決定選擇獨立BootLoader和Bank Swap 結(jié)合的方案。在開發(fā)初期先使用BootLoader+APP的方式過渡,并將此獨立BootLoader的版本設(shè)計為具備升級轉(zhuǎn)換成Bank Swap模式的功能。待開發(fā)后期壓縮工程的目標(biāo)文件小于1M,通過修改程序中的標(biāo)識位完成模式切換,升級操作完全在MCU 片內(nèi)進行,通過Bank 切換即可以實現(xiàn)不停機升級操作。更新為Bank Swap 穩(wěn)定版后可以停止對片外BootLoader的維護,減少運維工作量。

    3.1 配置準(zhǔn)備

    將Flash 配置成Dual Bank 模式,片內(nèi)Flash 地址進行重新編排。通過Flash_OPTCR 寄存器配置User Option Byte 中的nDBANK=0。Option Byte 不能直接寫,需要通過Flash_OPTCR 寄存器來操作。

    配置Dual Bank 模式完成后,即可開啟Dual Boot模式。通過Flash_OPTCR 寄存器,配置Option Byte中的nDBOOT=0,即可配置成Dual Boot 模式。

    Flash 配置成兩個Bank后,可實現(xiàn)Bank之間直接進行地址交換的功能。配置SYSCFG_MEMRMP寄存器中的SWP_FB,來選擇是否交換。當(dāng)SWP_FB的值為0 時,Bank1的基地址為0x08000000,Bank2的基地址為0x08 100000;當(dāng)SWP_FB的值為1 時,兩個Bank的基地址對換。由此可以看出,無論從哪個Bank 啟動,都能保證起始基地址為0x08000000。

    3.2 獨立BootLoader模式的業(yè)務(wù)流程

    獨立BootLoader模式業(yè)務(wù)流程如圖5所示??梢钥闯鯞ootLoader和APP是互斥的,BootLoader運行時APP不運行,APP運行時BootLoader不運行。APP 接收完升級數(shù)據(jù)后,自身無法更新自身的代碼,必須重啟進入BootLoader才能完成APP代碼的更新[11]。App 在Flash 中的某個位置記錄升級動作,然后重啟進入BootLoader,BootLoader檢查Flash中相應(yīng)位置的標(biāo)志位,如需升級,則讀取代碼緩存區(qū)的新版本程序,對APP 進行更新,更新完成后清空該標(biāo)志位。

    圖5 獨立BootLoader模式業(yè)務(wù)流程圖

    將新程序?qū)懭險ser Code 區(qū),發(fā)生斷電等意外時,APP 可能不完整,下次啟動BootLoader 后會對APP的完整性進行檢查,如果發(fā)現(xiàn)APP 不完全(這種情況多數(shù)是上次升級刷機時,沒有完成Flash的寫操作便被中斷導(dǎo)致的,那么升級包緩存區(qū)還保留著升級程序),則檢查升級包緩存區(qū)的升級文件是否完整[12]。如果完整,則將其再次恢復(fù)到APP 代碼區(qū),否則停留在BootLoader,并主動請求升級。

    為執(zhí)行BootLoader 升級模式轉(zhuǎn)換為Bank Swap模式的指令,在代碼中增加了一個標(biāo)識,每次升級的時候,BootLoader 識別該標(biāo)識,如果沒有轉(zhuǎn)換成Swap方式的需求,則按原設(shè)計,將代碼升級到User Code區(qū);假如有轉(zhuǎn)換成Bank Swap 模式的需求,則將代碼更新到Bank2,同時設(shè)置boot address 啟動地址為Bank2的起始地址,確認(rèn)設(shè)置為Dual Boot 模式,然后重啟進入Bank2 運行新程序。新程序應(yīng)當(dāng)具備Swap Bank 模式的升級能力。

    3.3 Bank Swap模式的業(yè)務(wù)流程

    升級為Swap 模式后,進入Bank2 運行,便切換到Bank Swap 模式了,此后,新的業(yè)務(wù)流程如圖6 所示。在Bank Swap 模式中,程序也是永遠運行于起始地址是0x8000000的片內(nèi)Flash 中,但有可能是Bank1,也有可能是Bank2,因為執(zhí)行Bank Swap 操作后,Bank2的起始地址也是0x8000000。因此,升級的過程中,新程序總是燒錄在地址0x8100000 中,經(jīng)過Swap,0x8100000 所屬的Bank的地址便會變成0x8000000。需要在程序中通過讀取Option Byte 中的某些位的值來判斷當(dāng)前程序運行在哪個Bank,如BOOT_ADD0 寄存器或者SWP_BF的值。

    圖6 Bank Swap模式業(yè)務(wù)流程圖

    Bank Swap 操作是System Memory 中的固件Boot Loader 完成的,這個BootLoader是STM32自帶的[13]。只需要配置代碼的啟動地址和Flash的Dual Boot 模式,System Memory 中的BootLoader 會完成Bank Swap操作,并引導(dǎo)程序到指定的Bank 運行。

    4 實驗驗證與分析

    按照上述方案,采用以STM32F429IIT6 為核心設(shè)計的一個電源監(jiān)控系統(tǒng)為例,通過網(wǎng)管對系統(tǒng)進行升級驗證。

    如圖7 所示,準(zhǔn)備好Tftp 服務(wù)器以及需要分別先后燒錄的兩個bin 文件[14]。為了更明顯地感知升級完成的現(xiàn)象,文中使用同一個工程,改變osdelay 參數(shù)將LED 測試燈閃爍的頻率設(shè)置成不一樣的值,0100.bin 為LED 快閃燒錄到地址0x8000000,閃爍延時設(shè)為300 ms;0101.bin 為LED 慢閃燒錄到地址0x8100000,閃爍延時設(shè)為2 000 ms。

    圖7 Tftp傳輸工具和bin文件

    打開Tftp 客戶端設(shè)置界面會自動地讀取本地的IP 地址,在下方添加主機信息和端口號以及想要傳輸?shù)腷in 文件所在的位置,如圖8 所示[15-16]。

    圖8 Tftp傳輸參數(shù)填寫

    使用SecureCRT 接收設(shè)備側(cè)串口上報的信息,如圖9 所示??梢钥吹皆谏壡跋到y(tǒng)運行在Bank1 中,點擊Tftp 中的Put 傳輸新文件,設(shè)備執(zhí)行更新命令,檢查CRC 校驗后自動識別非運行Bank(Bank2)的Flash 地址,寫入更新信息并完成檢查。在升級過程中設(shè)備正常運行,LED的閃爍頻率并未發(fā)生變化。重啟后串口提示系統(tǒng)已經(jīng)切換到Bank2中運行,LED的閃爍頻率也明顯降低,說明設(shè)備成功完成升級。

    圖9 SecureCRT接收的串口信息

    重復(fù)上述操作將0100.bin 文件燒錄進Bank1 中,升級過程中LED 持續(xù)慢閃,重啟后閃爍變快,恢復(fù)為初始頻率。說明此時系統(tǒng)可以在不影響運行的情況下,完成Read-While-Write 升級工作。

    為了驗證設(shè)備在Bank Swap 模式下升級過程中出現(xiàn)的異常停機情況不會影響設(shè)備更新前運行程序的完整性,在升級期間拔掉設(shè)備與主機間的通信線,此時升級中斷。重新上電后發(fā)現(xiàn)監(jiān)控單元上的軟件為上一次的版本信息,與網(wǎng)管上待升級版本的信息不一致,說明升級失敗后監(jiān)控單元自動退回到升級前的版本運行,沒有被升級所破壞。

    5 結(jié)論

    該文以STM32F4 軟件升級的現(xiàn)實案例為背景,為實現(xiàn)升級過程中不打斷設(shè)備運行的RWW 特性,以及升級異常時具有自動退回到升級前版本的能力,同時兼顧開發(fā)初期代碼量較大影響調(diào)試的現(xiàn)實問題,設(shè)計了一種獨立BootLoader 與Bank Swap 相結(jié)合的方案。獨立BootLoader 方案能提供更大的容量供User Code 使用,作為開發(fā)期間的過渡;而Bank Swap 方案使用System Memory 中自帶的BootLoader啟動,不需要開發(fā)和維護獨立的BootLoader,可以最終實現(xiàn)RWW 特性以及升級失敗時保護的功能。兩種模式間通過標(biāo)志位實現(xiàn)切換。最后通過Tftp 進行升級,通過LED 燈的運行狀態(tài)以及串口上報的信息,驗證了Bank的切換功能以及升級過程中系統(tǒng)可以正常運行的特性,實現(xiàn)了系統(tǒng)的設(shè)計要求。該設(shè)計對于嵌入式板級應(yīng)用的開發(fā)升級具有較大的意義。

    猜你喜歡
    代碼啟動升級
    小投入,大升級 Polk Audio Monitor XT系列
    幸福,在“家門口”升級
    金橋(2020年12期)2020-04-13 05:51:14
    創(chuàng)世代碼
    動漫星空(2018年11期)2018-10-26 02:24:02
    創(chuàng)世代碼
    動漫星空(2018年2期)2018-10-26 02:11:00
    創(chuàng)世代碼
    動漫星空(2018年9期)2018-10-26 01:16:48
    創(chuàng)世代碼
    動漫星空(2018年5期)2018-10-26 01:15:02
    回暖與升級
    霧霾來襲 限產(chǎn)再次啟動
    安發(fā)生物啟動2017
    西部最大規(guī)模云計算中心啟動
    成年人黄色毛片网站| 国产成人av教育| 国产三级在线视频| 看片在线看免费视频| 欧美另类亚洲清纯唯美| 日本一二三区视频观看| 最近最新中文字幕大全免费视频| 午夜a级毛片| 日韩免费av在线播放| 亚洲va日本ⅴa欧美va伊人久久| 国产成人av激情在线播放| 精品熟女少妇八av免费久了| 夜夜爽天天搞| 国产成人精品无人区| 日韩欧美三级三区| 人人妻人人澡欧美一区二区| 午夜福利高清视频| 亚洲中文字幕日韩| 黄色a级毛片大全视频| 国产高清videossex| 色av中文字幕| bbb黄色大片| 午夜精品久久久久久毛片777| 嫁个100分男人电影在线观看| 亚洲国产欧美一区二区综合| 免费人成视频x8x8入口观看| 91成年电影在线观看| 九色成人免费人妻av| 国产私拍福利视频在线观看| 婷婷六月久久综合丁香| 99久久久亚洲精品蜜臀av| 成人特级黄色片久久久久久久| 搞女人的毛片| 香蕉久久夜色| 黄色a级毛片大全视频| 亚洲国产精品久久男人天堂| 老司机午夜十八禁免费视频| 操出白浆在线播放| 午夜福利视频1000在线观看| 亚洲国产欧美一区二区综合| 成在线人永久免费视频| 少妇人妻一区二区三区视频| 黄色毛片三级朝国网站| 国产单亲对白刺激| 一进一出抽搐动态| 最新在线观看一区二区三区| e午夜精品久久久久久久| 在线看三级毛片| 美女 人体艺术 gogo| 1024手机看黄色片| 亚洲av熟女| 这个男人来自地球电影免费观看| 久久亚洲真实| 色精品久久人妻99蜜桃| 男人的好看免费观看在线视频 | 国产成人av激情在线播放| 国产精品 欧美亚洲| 久久伊人香网站| 桃色一区二区三区在线观看| 一本一本综合久久| 精品欧美国产一区二区三| 成人手机av| 91国产中文字幕| 男人的好看免费观看在线视频 | 黄色a级毛片大全视频| 精品久久久久久久久久久久久| 欧美色欧美亚洲另类二区| 亚洲人成伊人成综合网2020| 亚洲一码二码三码区别大吗| 一夜夜www| 免费人成视频x8x8入口观看| 国产成年人精品一区二区| 丰满的人妻完整版| 怎么达到女性高潮| 日本三级黄在线观看| 欧美国产日韩亚洲一区| 国产高清videossex| 99热这里只有精品一区 | 国产精品爽爽va在线观看网站| 亚洲精品粉嫩美女一区| 久久久水蜜桃国产精品网| 国产一区二区三区在线臀色熟女| 免费看美女性在线毛片视频| 亚洲av成人av| 波多野结衣高清无吗| 日本免费一区二区三区高清不卡| 香蕉久久夜色| 成人欧美大片| 欧美日韩国产亚洲二区| 日本熟妇午夜| 亚洲va日本ⅴa欧美va伊人久久| 国内精品一区二区在线观看| 久久国产精品影院| 国产高清视频在线播放一区| 精品人妻1区二区| 亚洲欧美日韩无卡精品| 男女做爰动态图高潮gif福利片| 久久精品国产亚洲av香蕉五月| 国产精品免费一区二区三区在线| 男女做爰动态图高潮gif福利片| 巨乳人妻的诱惑在线观看| 亚洲精品在线观看二区| 亚洲精品在线观看二区| 国产又色又爽无遮挡免费看| 日韩欧美一区二区三区在线观看| 88av欧美| 久久久久久久午夜电影| 国产黄色小视频在线观看| 麻豆av在线久日| 欧美色视频一区免费| 99精品久久久久人妻精品| 女人被狂操c到高潮| 日韩欧美在线二视频| 精品国内亚洲2022精品成人| 亚洲一区二区三区不卡视频| 一二三四在线观看免费中文在| 国产精品综合久久久久久久免费| 午夜福利在线在线| 国产一区二区在线观看日韩 | 俄罗斯特黄特色一大片| 18禁美女被吸乳视频| 丝袜人妻中文字幕| 美女 人体艺术 gogo| 欧美色欧美亚洲另类二区| 色综合欧美亚洲国产小说| 两个人看的免费小视频| xxx96com| 欧美绝顶高潮抽搐喷水| 老司机在亚洲福利影院| 欧美三级亚洲精品| 久久精品人妻少妇| 色噜噜av男人的天堂激情| 国产成年人精品一区二区| 制服丝袜大香蕉在线| 桃红色精品国产亚洲av| 99久久精品国产亚洲精品| 法律面前人人平等表现在哪些方面| 国产单亲对白刺激| tocl精华| 亚洲欧美激情综合另类| 亚洲男人的天堂狠狠| 久久国产精品人妻蜜桃| 亚洲av中文字字幕乱码综合| 在线十欧美十亚洲十日本专区| 国产亚洲av高清不卡| 久久精品人妻少妇| 亚洲美女视频黄频| 国产高清视频在线观看网站| 国产一区二区三区在线臀色熟女| 人成视频在线观看免费观看| 日韩大码丰满熟妇| 很黄的视频免费| av福利片在线| 在线播放国产精品三级| 在线国产一区二区在线| 黄色成人免费大全| 亚洲精品中文字幕在线视频| 亚洲欧美日韩无卡精品| 国产av一区二区精品久久| 19禁男女啪啪无遮挡网站| av视频在线观看入口| 一级作爱视频免费观看| 久久久久国产一级毛片高清牌| 免费在线观看日本一区| 日韩国内少妇激情av| 精品电影一区二区在线| 巨乳人妻的诱惑在线观看| 美女高潮喷水抽搐中文字幕| 日本免费a在线| 麻豆成人午夜福利视频| 在线观看免费午夜福利视频| 亚洲av美国av| 午夜激情福利司机影院| 亚洲一区高清亚洲精品| 亚洲精品国产一区二区精华液| 国语自产精品视频在线第100页| 日韩精品免费视频一区二区三区| 亚洲av第一区精品v没综合| 成年女人毛片免费观看观看9| 99国产精品一区二区三区| 亚洲国产精品999在线| 一夜夜www| 精品久久久久久成人av| 国语自产精品视频在线第100页| 久久这里只有精品中国| 在线观看午夜福利视频| 国产精品一区二区免费欧美| 日韩大尺度精品在线看网址| 久久99热这里只有精品18| 精品免费久久久久久久清纯| 美女高潮喷水抽搐中文字幕| 亚洲人成77777在线视频| 给我免费播放毛片高清在线观看| 特大巨黑吊av在线直播| 日日爽夜夜爽网站| 精品不卡国产一区二区三区| 成人国产一区最新在线观看| 一进一出好大好爽视频| 欧美日韩乱码在线| 精品欧美国产一区二区三| 欧美3d第一页| 啦啦啦韩国在线观看视频| 黄色成人免费大全| 亚洲欧美日韩无卡精品| 国产一区二区在线av高清观看| 久久精品91无色码中文字幕| 两人在一起打扑克的视频| 欧美最黄视频在线播放免费| 老司机在亚洲福利影院| 欧美日本亚洲视频在线播放| 五月玫瑰六月丁香| 99国产精品一区二区蜜桃av| 可以在线观看的亚洲视频| 精品国产乱子伦一区二区三区| 国产乱人伦免费视频| 99国产极品粉嫩在线观看| 国产午夜精品久久久久久| 国产精品 国内视频| 亚洲人成伊人成综合网2020| 看免费av毛片| 国产黄片美女视频| 天天躁狠狠躁夜夜躁狠狠躁| 黄色视频不卡| 桃红色精品国产亚洲av| 欧美国产日韩亚洲一区| 少妇熟女aⅴ在线视频| 村上凉子中文字幕在线| 欧美日韩中文字幕国产精品一区二区三区| 久久亚洲真实| 欧美丝袜亚洲另类 | 国产精品九九99| 久久亚洲真实| 亚洲一区高清亚洲精品| 欧美最黄视频在线播放免费| 精品不卡国产一区二区三区| www日本黄色视频网| 久久久精品欧美日韩精品| 久久性视频一级片| 国产高清videossex| av免费在线观看网站| 18禁黄网站禁片免费观看直播| 午夜福利免费观看在线| 亚洲精华国产精华精| 中出人妻视频一区二区| 9191精品国产免费久久| 妹子高潮喷水视频| 天堂动漫精品| 亚洲精品中文字幕一二三四区| 毛片女人毛片| 免费看日本二区| 免费在线观看视频国产中文字幕亚洲| 亚洲 国产 在线| 深夜精品福利| 色精品久久人妻99蜜桃| 亚洲国产中文字幕在线视频| 亚洲国产精品合色在线| 搡老岳熟女国产| 午夜亚洲福利在线播放| 国产97色在线日韩免费| netflix在线观看网站| 天天躁夜夜躁狠狠躁躁| 日韩欧美三级三区| 一本一本综合久久| 脱女人内裤的视频| 伊人久久大香线蕉亚洲五| 亚洲无线在线观看| 精品欧美国产一区二区三| 99精品在免费线老司机午夜| 人妻夜夜爽99麻豆av| 两个人免费观看高清视频| 久久久久久久精品吃奶| 国产激情久久老熟女| 婷婷亚洲欧美| 一区福利在线观看| 亚洲精华国产精华精| √禁漫天堂资源中文www| 亚洲欧美日韩东京热| 亚洲国产看品久久| 夜夜爽天天搞| √禁漫天堂资源中文www| 一二三四在线观看免费中文在| 免费av毛片视频| 99riav亚洲国产免费| 91老司机精品| 99久久久亚洲精品蜜臀av| 中文字幕人妻丝袜一区二区| 嫁个100分男人电影在线观看| 欧美大码av| 999久久久精品免费观看国产| 麻豆国产97在线/欧美 | 制服人妻中文乱码| 正在播放国产对白刺激| 搞女人的毛片| www日本黄色视频网| 最近最新中文字幕大全免费视频| 亚洲男人的天堂狠狠| 亚洲人成网站在线播放欧美日韩| 欧美黄色片欧美黄色片| 给我免费播放毛片高清在线观看| 亚洲avbb在线观看| 日本成人三级电影网站| 国产av一区二区精品久久| 在线观看免费日韩欧美大片| 日韩大尺度精品在线看网址| 91字幕亚洲| 国产一区二区三区在线臀色熟女| 非洲黑人性xxxx精品又粗又长| 欧美乱码精品一区二区三区| 国产在线观看jvid| 国产精品久久久久久人妻精品电影| 国产精品永久免费网站| 亚洲电影在线观看av| 亚洲,欧美精品.| 一级作爱视频免费观看| 久久精品国产综合久久久| 亚洲欧美日韩无卡精品| 色播亚洲综合网| 日本在线视频免费播放| 精品不卡国产一区二区三区| 久久中文看片网| 欧美日韩福利视频一区二区| 欧美日本视频| 美女午夜性视频免费| 十八禁网站免费在线| 最近最新免费中文字幕在线| 亚洲男人的天堂狠狠| 夜夜看夜夜爽夜夜摸| 男女床上黄色一级片免费看| 极品教师在线免费播放| 最新在线观看一区二区三区| 国产激情偷乱视频一区二区| 国产精品一区二区三区四区免费观看 | 免费看日本二区| 手机成人av网站| 亚洲男人天堂网一区| 制服诱惑二区| 看黄色毛片网站| 色在线成人网| 色播亚洲综合网| 欧美久久黑人一区二区| 12—13女人毛片做爰片一| 国产亚洲欧美在线一区二区| 久久久久国产一级毛片高清牌| 日韩国内少妇激情av| 美女黄网站色视频| 麻豆国产av国片精品| 50天的宝宝边吃奶边哭怎么回事| 91字幕亚洲| 国产伦人伦偷精品视频| 蜜桃久久精品国产亚洲av| 亚洲中文字幕一区二区三区有码在线看 | 久久国产精品影院| 国产高清视频在线观看网站| 非洲黑人性xxxx精品又粗又长| 亚洲最大成人中文| 久久中文看片网| 午夜激情福利司机影院| 欧美激情久久久久久爽电影| 亚洲熟妇中文字幕五十中出| 成人国语在线视频| 日韩中文字幕欧美一区二区| 变态另类丝袜制服| 欧美黄色淫秽网站| 国产精品一区二区三区四区免费观看 | 亚洲全国av大片| av在线天堂中文字幕| 高清在线国产一区| 国产爱豆传媒在线观看 | 好看av亚洲va欧美ⅴa在| 色噜噜av男人的天堂激情| 给我免费播放毛片高清在线观看| 一本大道久久a久久精品| 又粗又爽又猛毛片免费看| 99国产综合亚洲精品| 欧美一级毛片孕妇| 在线观看免费视频日本深夜| 亚洲国产欧美人成| 欧美丝袜亚洲另类 | 1024手机看黄色片| 国产亚洲精品综合一区在线观看 | 欧美3d第一页| 亚洲成人免费电影在线观看| 国产精品精品国产色婷婷| 天堂影院成人在线观看| 欧美又色又爽又黄视频| cao死你这个sao货| 精品国内亚洲2022精品成人| 国产亚洲精品第一综合不卡| 日韩高清综合在线| 亚洲国产日韩欧美精品在线观看 | 精品国内亚洲2022精品成人| 日韩成人在线观看一区二区三区| 国产成人影院久久av| 精品高清国产在线一区| 美女免费视频网站| 欧美成狂野欧美在线观看| 成人永久免费在线观看视频| 日韩欧美三级三区| x7x7x7水蜜桃| 成人国产综合亚洲| 九色成人免费人妻av| 老司机福利观看| 午夜视频精品福利| 国产黄色小视频在线观看| 久久久精品大字幕| 一级a爱片免费观看的视频| 两性夫妻黄色片| 99国产精品一区二区三区| 亚洲激情在线av| 亚洲人成伊人成综合网2020| 777久久人妻少妇嫩草av网站| 久久精品影院6| 欧美成人免费av一区二区三区| 亚洲精品中文字幕在线视频| 日日干狠狠操夜夜爽| 99热这里只有是精品50| 啦啦啦免费观看视频1| 最近在线观看免费完整版| 免费高清视频大片| 久久久久性生活片| 欧美精品亚洲一区二区| 91成年电影在线观看| 制服人妻中文乱码| 亚洲美女黄片视频| 久久性视频一级片| 亚洲欧美日韩东京热| 床上黄色一级片| 欧美国产日韩亚洲一区| 亚洲美女黄片视频| 一本一本综合久久| 老司机深夜福利视频在线观看| 99精品欧美一区二区三区四区| 成人国语在线视频| 欧美日韩黄片免| а√天堂www在线а√下载| 免费在线观看日本一区| 99re在线观看精品视频| 在线观看日韩欧美| 国产精品1区2区在线观看.| 中文字幕熟女人妻在线| 观看免费一级毛片| 一a级毛片在线观看| 18禁黄网站禁片午夜丰满| 黑人巨大精品欧美一区二区mp4| 91成年电影在线观看| 中文字幕最新亚洲高清| 色在线成人网| 久久香蕉激情| 欧美精品亚洲一区二区| 欧美性猛交╳xxx乱大交人| 最新美女视频免费是黄的| 欧美av亚洲av综合av国产av| 给我免费播放毛片高清在线观看| 亚洲国产精品合色在线| 99在线人妻在线中文字幕| 午夜免费激情av| 亚洲第一电影网av| 亚洲国产精品999在线| 后天国语完整版免费观看| 成人高潮视频无遮挡免费网站| 女生性感内裤真人,穿戴方法视频| 国产精品永久免费网站| 亚洲欧美日韩无卡精品| 日本一区二区免费在线视频| 欧美成人午夜精品| 亚洲黑人精品在线| 亚洲国产精品合色在线| 久久中文字幕人妻熟女| 亚洲av中文字字幕乱码综合| 在线观看免费视频日本深夜| 村上凉子中文字幕在线| 90打野战视频偷拍视频| 久久精品国产综合久久久| 黄色视频,在线免费观看| 黑人操中国人逼视频| 亚洲人成77777在线视频| 国产午夜精品论理片| 制服丝袜大香蕉在线| 国产亚洲精品av在线| 亚洲av成人av| 国产成人av激情在线播放| 国产精品,欧美在线| 成人18禁在线播放| 色综合亚洲欧美另类图片| 日本在线视频免费播放| 亚洲成人国产一区在线观看| 久久人妻av系列| 亚洲av美国av| 免费在线观看日本一区| 黄色视频不卡| 免费一级毛片在线播放高清视频| 国产三级黄色录像| 色综合婷婷激情| 丝袜美腿诱惑在线| 无限看片的www在线观看| 51午夜福利影视在线观看| 欧美激情久久久久久爽电影| 日本 欧美在线| 免费无遮挡裸体视频| 18美女黄网站色大片免费观看| 国产视频一区二区在线看| 在线观看午夜福利视频| 成年版毛片免费区| 免费搜索国产男女视频| 激情在线观看视频在线高清| 亚洲精品中文字幕一二三四区| 国内精品一区二区在线观看| 99久久无色码亚洲精品果冻| 精品少妇一区二区三区视频日本电影| 免费看十八禁软件| 麻豆成人av在线观看| 日本一二三区视频观看| 女同久久另类99精品国产91| 国产精品 国内视频| 亚洲中文日韩欧美视频| 欧美激情久久久久久爽电影| 国产精品日韩av在线免费观看| 成人一区二区视频在线观看| 男女床上黄色一级片免费看| 国产片内射在线| 久久这里只有精品中国| 婷婷丁香在线五月| 丁香欧美五月| 成年女人毛片免费观看观看9| 国产男靠女视频免费网站| 久久这里只有精品19| 日韩欧美 国产精品| 欧美日韩一级在线毛片| 一区二区三区高清视频在线| 久久午夜亚洲精品久久| 在线观看免费视频日本深夜| 国产精品 国内视频| 国产黄片美女视频| 99久久无色码亚洲精品果冻| 国内精品一区二区在线观看| 日本免费a在线| 国产成+人综合+亚洲专区| 精品国产乱码久久久久久男人| 成人精品一区二区免费| 国产精品九九99| 成人精品一区二区免费| 欧美日韩中文字幕国产精品一区二区三区| 日日夜夜操网爽| 国产一区二区在线av高清观看| 免费观看精品视频网站| АⅤ资源中文在线天堂| 男女那种视频在线观看| 亚洲av美国av| 亚洲av成人精品一区久久| 99热只有精品国产| 91麻豆av在线| 日韩欧美 国产精品| 狂野欧美白嫩少妇大欣赏| 久久久久亚洲av毛片大全| 很黄的视频免费| 午夜福利18| 欧美极品一区二区三区四区| 男人舔女人下体高潮全视频| 久久伊人香网站| 18禁国产床啪视频网站| 91老司机精品| 免费高清视频大片| 一区二区三区国产精品乱码| 淫秽高清视频在线观看| 99国产精品99久久久久| 精品久久久久久久毛片微露脸| 国产亚洲精品av在线| 精品免费久久久久久久清纯| 国产精品99久久99久久久不卡| a在线观看视频网站| 国产一级毛片七仙女欲春2| 亚洲色图 男人天堂 中文字幕| 三级国产精品欧美在线观看 | 国产精品一区二区三区四区久久| 久久国产精品人妻蜜桃| 欧美黄色片欧美黄色片| 日韩大尺度精品在线看网址| 天堂√8在线中文| 国产激情欧美一区二区| 国产欧美日韩精品亚洲av| 丁香六月欧美| 俄罗斯特黄特色一大片| 国内精品一区二区在线观看| 国产视频内射| av天堂在线播放| 亚洲第一欧美日韩一区二区三区| 男女做爰动态图高潮gif福利片| 伦理电影免费视频| 天堂动漫精品| 国产探花在线观看一区二区| 国产一区二区激情短视频| 怎么达到女性高潮| 国产精品日韩av在线免费观看| 国产av麻豆久久久久久久| 91成年电影在线观看| 亚洲av片天天在线观看| 国产精品自产拍在线观看55亚洲| 欧美日韩国产亚洲二区| 久久亚洲真实| 国产99白浆流出| 中文字幕精品亚洲无线码一区| 天天躁狠狠躁夜夜躁狠狠躁| 蜜桃久久精品国产亚洲av| 18禁国产床啪视频网站| 一级毛片女人18水好多| 亚洲国产欧美人成| 韩国av一区二区三区四区| 最近最新中文字幕大全免费视频| 三级男女做爰猛烈吃奶摸视频| 一本一本综合久久| 伊人久久大香线蕉亚洲五| 欧美中文日本在线观看视频| 久久这里只有精品中国| 高潮久久久久久久久久久不卡| 欧美日韩中文字幕国产精品一区二区三区|