• <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ī)模云計算中心啟動
    国产日韩欧美在线精品| 久久久精品94久久精品| 久久99精品国语久久久| 欧美3d第一页| 如何舔出高潮| 亚洲av综合色区一区| 欧美日韩亚洲高清精品| 中文字幕制服av| 高清av免费在线| 自拍欧美九色日韩亚洲蝌蚪91 | 久久99热这里只频精品6学生| 又粗又硬又长又爽又黄的视频| 日韩成人av中文字幕在线观看| 国产成人精品久久久久久| 国产伦理片在线播放av一区| 久久久国产欧美日韩av| 男人爽女人下面视频在线观看| 久久人人爽av亚洲精品天堂| 日本vs欧美在线观看视频 | 一级毛片电影观看| 如日韩欧美国产精品一区二区三区 | 亚洲经典国产精华液单| av黄色大香蕉| 国产精品国产三级国产专区5o| 一本大道久久a久久精品| 中文字幕av电影在线播放| 国产精品欧美亚洲77777| 五月伊人婷婷丁香| 日产精品乱码卡一卡2卡三| 久久女婷五月综合色啪小说| 久久精品国产亚洲av涩爱| 久久久欧美国产精品| 丝袜喷水一区| 欧美 日韩 精品 国产| 性色av一级| 下体分泌物呈黄色| 婷婷色麻豆天堂久久| 少妇被粗大的猛进出69影院 | 如日韩欧美国产精品一区二区三区 | 精品人妻一区二区三区麻豆| 国语对白做爰xxxⅹ性视频网站| 丰满迷人的少妇在线观看| 菩萨蛮人人尽说江南好唐韦庄| 伊人亚洲综合成人网| 永久网站在线| 黄色一级大片看看| 日韩精品免费视频一区二区三区 | 国产伦理片在线播放av一区| 精品人妻一区二区三区麻豆| 亚洲成人一二三区av| 秋霞在线观看毛片| 插阴视频在线观看视频| 亚洲,一卡二卡三卡| 精品一区在线观看国产| av免费在线看不卡| 69精品国产乱码久久久| 18禁在线播放成人免费| 久久国产精品大桥未久av | 国产成人午夜福利电影在线观看| 日产精品乱码卡一卡2卡三| www.av在线官网国产| 亚洲,欧美,日韩| 九草在线视频观看| 亚洲,欧美,日韩| 免费黄频网站在线观看国产| 伊人久久国产一区二区| 亚洲国产欧美日韩在线播放 | 色网站视频免费| av福利片在线观看| 国产高清不卡午夜福利| 人人妻人人澡人人爽人人夜夜| 欧美+日韩+精品| 国产又色又爽无遮挡免| 国产伦精品一区二区三区四那| 乱人伦中国视频| 午夜精品国产一区二区电影| 亚洲国产欧美日韩在线播放 | 午夜福利在线观看免费完整高清在| 欧美区成人在线视频| 成年人免费黄色播放视频 | 日韩av不卡免费在线播放| 人妻夜夜爽99麻豆av| 久久久久久久久久人人人人人人| 99国产精品免费福利视频| 91精品一卡2卡3卡4卡| 国产成人午夜福利电影在线观看| 少妇被粗大的猛进出69影院 | 亚洲精品乱码久久久久久按摩| 国产亚洲5aaaaa淫片| freevideosex欧美| a级毛片在线看网站| 亚洲精品,欧美精品| 街头女战士在线观看网站| 日本与韩国留学比较| 国产午夜精品久久久久久一区二区三区| 日产精品乱码卡一卡2卡三| av在线观看视频网站免费| 欧美亚洲 丝袜 人妻 在线| 男女边摸边吃奶| 男人舔奶头视频| 日日啪夜夜撸| 最新的欧美精品一区二区| 欧美日韩视频精品一区| 黄片无遮挡物在线观看| 日本午夜av视频| 最新中文字幕久久久久| 精品一区二区免费观看| 国产男人的电影天堂91| 亚州av有码| 高清av免费在线| 中国三级夫妇交换| 亚洲内射少妇av| 丰满迷人的少妇在线观看| 啦啦啦中文免费视频观看日本| 日韩欧美精品免费久久| 97精品久久久久久久久久精品| 日韩精品有码人妻一区| 国产成人精品无人区| 看免费成人av毛片| 91久久精品国产一区二区成人| 搡老乐熟女国产| 91在线精品国自产拍蜜月| 91久久精品国产一区二区成人| av国产久精品久网站免费入址| 亚洲va在线va天堂va国产| 亚洲av免费高清在线观看| 欧美丝袜亚洲另类| 中文字幕亚洲精品专区| 一个人免费看片子| 赤兔流量卡办理| .国产精品久久| 亚洲精品aⅴ在线观看| 国产精品偷伦视频观看了| 五月伊人婷婷丁香| 极品人妻少妇av视频| 自拍欧美九色日韩亚洲蝌蚪91 | 免费在线观看成人毛片| 久久久久久久大尺度免费视频| 欧美 日韩 精品 国产| 久久久国产欧美日韩av| 亚洲人成网站在线观看播放| 在线精品无人区一区二区三| 波野结衣二区三区在线| 天堂中文最新版在线下载| 亚洲精品视频女| 99热全是精品| 韩国av在线不卡| 亚洲精品国产av蜜桃| 国产亚洲av片在线观看秒播厂| 老女人水多毛片| 国产精品人妻久久久久久| 久久久久国产网址| 亚洲成人av在线免费| 日韩人妻高清精品专区| 亚洲美女黄色视频免费看| 精品久久久久久久久亚洲| 99热网站在线观看| 国产69精品久久久久777片| 五月玫瑰六月丁香| 欧美性感艳星| 国产av国产精品国产| 夜夜骑夜夜射夜夜干| 熟女人妻精品中文字幕| 亚洲av综合色区一区| 久久久久久久国产电影| 在线观看一区二区三区激情| a级片在线免费高清观看视频| 性高湖久久久久久久久免费观看| 三级国产精品欧美在线观看| 哪个播放器可以免费观看大片| 桃花免费在线播放| 亚洲欧洲日产国产| av国产精品久久久久影院| 中文字幕精品免费在线观看视频 | 亚洲中文av在线| 你懂的网址亚洲精品在线观看| 汤姆久久久久久久影院中文字幕| 国产伦精品一区二区三区视频9| 亚洲欧洲日产国产| 国产黄片视频在线免费观看| 春色校园在线视频观看| 99热6这里只有精品| 免费黄网站久久成人精品| 国产日韩欧美在线精品| 亚洲,欧美,日韩| 亚洲第一区二区三区不卡| 国产黄色免费在线视频| 日韩中字成人| 中国三级夫妇交换| 天美传媒精品一区二区| 亚洲av免费高清在线观看| 建设人人有责人人尽责人人享有的| 新久久久久国产一级毛片| 熟女av电影| 波野结衣二区三区在线| 永久免费av网站大全| 日韩中字成人| 一本—道久久a久久精品蜜桃钙片| 国产精品一区二区在线不卡| 亚洲婷婷狠狠爱综合网| 国产精品久久久久久精品电影小说| 在线亚洲精品国产二区图片欧美 | 国产一区有黄有色的免费视频| 国产伦在线观看视频一区| 成年美女黄网站色视频大全免费 | av女优亚洲男人天堂| 狂野欧美白嫩少妇大欣赏| av线在线观看网站| 国产日韩欧美视频二区| 日本av免费视频播放| 国产极品粉嫩免费观看在线 | 亚洲丝袜综合中文字幕| 亚洲,欧美,日韩| 我的老师免费观看完整版| av福利片在线| 男女边吃奶边做爰视频| av天堂久久9| 一本久久精品| 日韩一区二区三区影片| 极品少妇高潮喷水抽搐| 十八禁网站网址无遮挡 | 一本—道久久a久久精品蜜桃钙片| 只有这里有精品99| a级毛片免费高清观看在线播放| 99九九在线精品视频 | 亚洲精品aⅴ在线观看| 亚洲精品国产成人久久av| 五月天丁香电影| 观看免费一级毛片| 亚洲中文av在线| 精品亚洲成a人片在线观看| 国产精品久久久久久精品电影小说| 国产黄色免费在线视频| 国产亚洲5aaaaa淫片| 久久久久视频综合| 在线观看美女被高潮喷水网站| 王馨瑶露胸无遮挡在线观看| 高清欧美精品videossex| 中文乱码字字幕精品一区二区三区| 熟妇人妻不卡中文字幕| 日韩一区二区视频免费看| 国产精品久久久久久久电影| 免费播放大片免费观看视频在线观看| 国产精品一区二区在线不卡| 精品人妻熟女av久视频| 久久久久久久亚洲中文字幕| 国产一区二区三区综合在线观看 | 多毛熟女@视频| 人人澡人人妻人| 国产淫片久久久久久久久| 国产乱人偷精品视频| 日韩,欧美,国产一区二区三区| 欧美精品一区二区大全| 亚洲av男天堂| 国产高清有码在线观看视频| 乱系列少妇在线播放| 99热这里只有是精品50| 久久久久久久久久成人| 亚洲一区二区三区欧美精品| 中国三级夫妇交换| 18禁在线无遮挡免费观看视频| 国产精品久久久久久精品古装| a级一级毛片免费在线观看| 亚洲欧美精品自产自拍| 亚洲国产精品专区欧美| av国产精品久久久久影院| 99热这里只有是精品在线观看| 精品久久久噜噜| 全区人妻精品视频| av免费在线看不卡| 丰满少妇做爰视频| 中文字幕免费在线视频6| 麻豆成人av视频| 伊人亚洲综合成人网| 日韩三级伦理在线观看| 精品久久久精品久久久| 欧美成人精品欧美一级黄| 成人午夜精彩视频在线观看| 人妻夜夜爽99麻豆av| 久久久久视频综合| 热re99久久国产66热| 亚洲精品中文字幕在线视频 | 国产黄片美女视频| 欧美日韩精品成人综合77777| 一级毛片久久久久久久久女| 秋霞在线观看毛片| 久热这里只有精品99| 寂寞人妻少妇视频99o| 精品一区二区免费观看| 国产免费视频播放在线视频| 久久久久久久大尺度免费视频| 精品少妇黑人巨大在线播放| 亚洲真实伦在线观看| 精品久久国产蜜桃| 亚洲精品国产av成人精品| 中文字幕人妻熟人妻熟丝袜美| 国产精品.久久久| 精品久久久久久久久亚洲| 国产日韩一区二区三区精品不卡 | 国产男女内射视频| 热99国产精品久久久久久7| 涩涩av久久男人的天堂| av福利片在线观看| av免费在线看不卡| videossex国产| 精品亚洲乱码少妇综合久久| 看免费成人av毛片| 日产精品乱码卡一卡2卡三| 中国国产av一级| 韩国av在线不卡| 亚洲精品一二三| 久久免费观看电影| 亚洲欧洲日产国产| 人妻少妇偷人精品九色| 日韩电影二区| 天天操日日干夜夜撸| 又粗又硬又长又爽又黄的视频| 国产精品嫩草影院av在线观看| 亚洲av成人精品一区久久| 久久99一区二区三区| 国产亚洲欧美精品永久| 在现免费观看毛片| 秋霞伦理黄片| 久久久亚洲精品成人影院| 一级二级三级毛片免费看| 在线观看www视频免费| 国产精品人妻久久久久久| 久久久午夜欧美精品| 99九九线精品视频在线观看视频| a级毛色黄片| 国产精品99久久久久久久久| 国产熟女午夜一区二区三区 | 国产视频首页在线观看| 国产精品99久久99久久久不卡 | 各种免费的搞黄视频| 在线 av 中文字幕| 赤兔流量卡办理| 亚洲精品乱码久久久久久按摩| 欧美国产精品一级二级三级 | 高清黄色对白视频在线免费看 | 国产爽快片一区二区三区| 成人亚洲欧美一区二区av| 日韩不卡一区二区三区视频在线| 最后的刺客免费高清国语| 亚洲第一av免费看| 天天操日日干夜夜撸| 一级毛片电影观看| 久热久热在线精品观看| 欧美激情极品国产一区二区三区 | 高清毛片免费看| 久久久国产精品麻豆| 99久久精品热视频| 能在线免费看毛片的网站| 中文字幕亚洲精品专区| 国产色婷婷99| 美女脱内裤让男人舔精品视频| 免费不卡的大黄色大毛片视频在线观看| 国产精品熟女久久久久浪| 成年女人在线观看亚洲视频| 日韩av在线免费看完整版不卡| 天堂8中文在线网| 99热这里只有精品一区| av.在线天堂| 18禁在线播放成人免费| 最近的中文字幕免费完整| 久热这里只有精品99| av播播在线观看一区| 国产免费视频播放在线视频| 中文在线观看免费www的网站| 永久免费av网站大全| 9色porny在线观看| 亚洲国产欧美日韩在线播放 | 国产精品欧美亚洲77777| 香蕉精品网在线| 国产男女超爽视频在线观看| av又黄又爽大尺度在线免费看| 中文乱码字字幕精品一区二区三区| 18+在线观看网站| 少妇人妻一区二区三区视频| 99久久综合免费| 国产色爽女视频免费观看| 国产精品一区二区性色av| 精品午夜福利在线看| 热99国产精品久久久久久7| 中文在线观看免费www的网站| 两个人的视频大全免费| 国产亚洲最大av| 丝袜在线中文字幕| 精品国产一区二区三区久久久樱花| 日韩av免费高清视频| 在线观看www视频免费| 国产白丝娇喘喷水9色精品| 久久久久视频综合| 国产中年淑女户外野战色| .国产精品久久| 国产精品免费大片| 亚洲精品456在线播放app| 亚洲中文av在线| 国产男人的电影天堂91| 日本黄色片子视频| av福利片在线观看| 国产男女内射视频| 亚洲av综合色区一区| 美女脱内裤让男人舔精品视频| 成人影院久久| 久久久久久人妻| 久久久久久久久久久久大奶| 啦啦啦视频在线资源免费观看| 一个人免费看片子| 亚洲精品视频女| av卡一久久| 另类亚洲欧美激情| 3wmmmm亚洲av在线观看| 在现免费观看毛片| 亚洲国产日韩一区二区| 美女国产视频在线观看| 97精品久久久久久久久久精品| 十八禁网站网址无遮挡 | 欧美成人精品欧美一级黄| 国产黄片美女视频| 欧美另类一区| 九九爱精品视频在线观看| 亚洲激情五月婷婷啪啪| 国产免费一区二区三区四区乱码| 两个人免费观看高清视频 | 晚上一个人看的免费电影| 大陆偷拍与自拍| 久久久久人妻精品一区果冻| 黑人巨大精品欧美一区二区蜜桃 | 国产片特级美女逼逼视频| 伊人久久精品亚洲午夜| 国产成人精品婷婷| 丰满饥渴人妻一区二区三| .国产精品久久| av天堂久久9| 国产在线一区二区三区精| 国产永久视频网站| 六月丁香七月| av视频免费观看在线观看| 亚洲国产精品专区欧美| 麻豆精品久久久久久蜜桃| 在线观看三级黄色| 欧美日韩在线观看h| 久久99热这里只频精品6学生| 日本91视频免费播放| 国产极品天堂在线| av卡一久久| kizo精华| 亚洲欧洲国产日韩| 免费在线观看成人毛片| 肉色欧美久久久久久久蜜桃| 久久青草综合色| 在线观看一区二区三区激情| 欧美日韩视频精品一区| 亚洲精品日本国产第一区| 黄色配什么色好看| 色哟哟·www| av免费在线看不卡| 秋霞在线观看毛片| 日本-黄色视频高清免费观看| 国产高清国产精品国产三级| av线在线观看网站| 国产午夜精品久久久久久一区二区三区| 日韩欧美精品免费久久| 亚洲,欧美,日韩| 啦啦啦在线观看免费高清www| 欧美xxxx性猛交bbbb| 一级毛片aaaaaa免费看小| 精品国产乱码久久久久久小说| 午夜福利影视在线免费观看| 97超碰精品成人国产| 亚洲av中文av极速乱| 噜噜噜噜噜久久久久久91| 久久久久久久国产电影| 五月开心婷婷网| 一级a做视频免费观看| 精品亚洲乱码少妇综合久久| 国产精品无大码| 国内精品宾馆在线| 伦理电影大哥的女人| 国产精品欧美亚洲77777| 伊人久久国产一区二区| 久久免费观看电影| 一本大道久久a久久精品| 欧美+日韩+精品| 亚洲精品色激情综合| 中文字幕制服av| 欧美亚洲 丝袜 人妻 在线| 日韩欧美精品免费久久| 久久av网站| 啦啦啦在线观看免费高清www| 午夜精品国产一区二区电影| 2022亚洲国产成人精品| 午夜福利影视在线免费观看| 国产伦在线观看视频一区| 夫妻午夜视频| 精品亚洲成a人片在线观看| 亚洲精品久久久久久婷婷小说| 最近手机中文字幕大全| 97超碰精品成人国产| 亚洲国产欧美在线一区| 狠狠精品人妻久久久久久综合| 蜜臀久久99精品久久宅男| 亚洲综合精品二区| 日本黄色日本黄色录像| 国产亚洲欧美精品永久| 国产日韩欧美亚洲二区| 视频区图区小说| 晚上一个人看的免费电影| 男人舔奶头视频| av不卡在线播放| 人体艺术视频欧美日本| 成人18禁高潮啪啪吃奶动态图 | 久久午夜福利片| 丁香六月天网| 两个人的视频大全免费| 2018国产大陆天天弄谢| av国产久精品久网站免费入址| 简卡轻食公司| 久久久久久久亚洲中文字幕| 国产欧美亚洲国产| 深夜a级毛片| 精品午夜福利在线看| 高清不卡的av网站| 91成人精品电影| 久久精品久久久久久噜噜老黄| 国产精品99久久99久久久不卡 | 丝袜脚勾引网站| 成人亚洲精品一区在线观看| 男女国产视频网站| 精品久久久噜噜| 亚州av有码| 涩涩av久久男人的天堂| 国产伦精品一区二区三区视频9| 欧美3d第一页| 国内少妇人妻偷人精品xxx网站| 一本一本综合久久| 99精国产麻豆久久婷婷| 午夜福利视频精品| 久久鲁丝午夜福利片| 亚洲国产精品一区三区| 国产在线男女| 中文精品一卡2卡3卡4更新| 精品亚洲乱码少妇综合久久| 又大又黄又爽视频免费| 91精品国产九色| 免费人妻精品一区二区三区视频| 99热6这里只有精品| 午夜福利网站1000一区二区三区| 一区二区三区乱码不卡18| av有码第一页| 18禁在线播放成人免费| 国产午夜精品一二区理论片| 女人精品久久久久毛片| 又爽又黄a免费视频| 亚洲av男天堂| 精品人妻一区二区三区麻豆| 美女国产视频在线观看| av线在线观看网站| 日本wwww免费看| 亚洲精品国产av蜜桃| 日本色播在线视频| 狂野欧美白嫩少妇大欣赏| 人妻夜夜爽99麻豆av| 国产精品久久久久成人av| 大话2 男鬼变身卡| 日韩亚洲欧美综合| 大陆偷拍与自拍| 欧美日韩国产mv在线观看视频| 久久鲁丝午夜福利片| √禁漫天堂资源中文www| h视频一区二区三区| 黑人猛操日本美女一级片| 日韩欧美一区视频在线观看 | av黄色大香蕉| 国产成人免费观看mmmm| 伊人久久国产一区二区| 美女国产视频在线观看| 亚洲精品一区蜜桃| 99热网站在线观看| 国产日韩欧美亚洲二区| 中国三级夫妇交换| 国产色爽女视频免费观看| 国产欧美另类精品又又久久亚洲欧美| 久久久a久久爽久久v久久| 色吧在线观看| 亚洲第一av免费看| 国产精品欧美亚洲77777| 亚洲精品一二三| 久久精品久久精品一区二区三区| 久久精品熟女亚洲av麻豆精品| 99精国产麻豆久久婷婷| 免费观看的影片在线观看| 大香蕉久久网| 国语对白做爰xxxⅹ性视频网站| 天堂中文最新版在线下载| 日本欧美国产在线视频| 大话2 男鬼变身卡| 国产成人免费观看mmmm| 国产91av在线免费观看| 一本—道久久a久久精品蜜桃钙片| 午夜免费男女啪啪视频观看| 91在线精品国自产拍蜜月| 最近中文字幕2019免费版| 麻豆成人午夜福利视频| 日本午夜av视频| 欧美成人午夜免费资源| 桃花免费在线播放| 国产淫语在线视频| 久久综合国产亚洲精品| 色网站视频免费| 亚洲欧美中文字幕日韩二区| 只有这里有精品99| 丝瓜视频免费看黄片| 午夜激情久久久久久久|