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

    電力設(shè)備用MCU嵌入式程序分塊更新技術(shù)

    2016-06-21 07:02:44江蘇林洋能源股份有限公司陳昊琦沈煜迪黃柳勝
    電子世界 2016年11期

    江蘇林洋能源股份有限公司 陳昊琦 沈煜迪 黃柳勝

    電力設(shè)備用MCU嵌入式程序分塊更新技術(shù)

    江蘇林洋能源股份有限公司 陳昊琦 沈煜迪 黃柳勝

    【摘要】文章介紹電力設(shè)備MCU的嵌入式程序按功能或按函數(shù)級(jí)別對(duì)增加、修改、刪除代碼進(jìn)行精確分塊更新的工作原理,指出采用分散加載機(jī)制方法,可對(duì)MCU劃分代碼區(qū)域,敘述使用偽指令、函數(shù)殼、void ★、void ★★、void ★★★方法保證因修改程序代碼或變量,需要更新的程序范圍不會(huì)擴(kuò)大的設(shè)計(jì)方法。該技術(shù)已經(jīng)在實(shí)際項(xiàng)目中使用,可以根據(jù)產(chǎn)品功能需求的變化精確、快速更新程序。

    【關(guān)鍵詞】嵌入式程序分塊更新;分散加載機(jī)制;函數(shù)殼;空類型指針

    一、引言

    隨著智能電網(wǎng)建設(shè)的不斷推進(jìn),在電力設(shè)備中MCU的應(yīng)用越來(lái)越廣泛,在很多情況下,如現(xiàn)場(chǎng)使用的設(shè)備需要增加新功能、現(xiàn)場(chǎng)應(yīng)用運(yùn)行后發(fā)現(xiàn)了BUG等等,都要求更新MCU內(nèi)部的嵌入式程序;同時(shí)由于電力設(shè)備往往工作在無(wú)人值守的環(huán)境下,且數(shù)量眾多,一旦需要對(duì)數(shù)以萬(wàn)計(jì)的終端進(jìn)行現(xiàn)場(chǎng)更新,就會(huì)耗費(fèi)大量現(xiàn)場(chǎng)服務(wù)的人力、物力和時(shí)間。

    隨著通信技術(shù)的發(fā)展,電力設(shè)備使用GPRS/CDMA進(jìn)行遠(yuǎn)程通信成為現(xiàn)實(shí);同時(shí)IAP在線應(yīng)用編程技術(shù)的出現(xiàn)使得MCU不必增加專用編程接口,就可實(shí)現(xiàn)本地或遠(yuǎn)程下載來(lái)實(shí)現(xiàn)程序的更新。

    一些廠家采用了IAP + GPRS/CDMA通信方式實(shí)現(xiàn)遠(yuǎn)程程序更新。該方案雖然解決了現(xiàn)場(chǎng)升級(jí)的繁重工作量。但由于目前廣泛使用的程序更新方式都是將MCU的嵌入式程序全部更新,即如果僅僅修改了一個(gè)函數(shù)的代碼或增加、刪除一個(gè)功能甚至只修改一行代碼都需要更新整個(gè)程序。

    同時(shí)由于GPRS/CDMA的傳輸速度低、并根據(jù)流量收費(fèi),當(dāng)程序代碼量大、需要頻繁升級(jí)時(shí),仍會(huì)導(dǎo)致升級(jí)的時(shí)間長(zhǎng)、流量大、收費(fèi)高等問(wèn)題的產(chǎn)生。

    本文敘述的嵌入式程序分塊更新技術(shù),可以按功能或按函數(shù)級(jí)別對(duì)修改的代碼進(jìn)行精確的分塊更新,從根本上避免在任何情況下都必須更新全部程序的低效率工作方式,同時(shí)也有效解決通過(guò)GPRS/CDMA遠(yuǎn)程更新設(shè)備程序所造成的升級(jí)時(shí)間長(zhǎng)、流量大、收費(fèi)高的問(wèn)題。

    二、嵌入式程序編譯、運(yùn)行原理

    目前,國(guó)內(nèi)使用的MCU大部分屬于中低端設(shè)備,不具備運(yùn)行Linux的條件,普遍采用前后臺(tái)系統(tǒng)或嵌入式實(shí)時(shí)操作系統(tǒng)如uCos運(yùn)行程序。同時(shí),為了提高開發(fā)效率,很多嵌入式程序采用C、C++語(yǔ)言編寫。

    根據(jù)編譯原理如圖1所示,源代碼形成可執(zhí)行文件需要經(jīng)過(guò)預(yù)處理、編譯、匯編、鏈接四個(gè)階段。最終生成的目標(biāo)程序包含了代碼段(Code)、只讀數(shù)據(jù)段(RO-data)、已初始化讀寫數(shù)據(jù)段(RW-data)、未初始化數(shù)據(jù)段(BSS)、堆棧段等信息。

    圖1 生成目標(biāo)程序流程

    圖2 目標(biāo)程序運(yùn)行時(shí)布局

    1、代碼段(Code)由程序中可執(zhí)行的機(jī)器代碼組成。程序語(yǔ)句進(jìn)行編譯后,形成機(jī)器代碼。在執(zhí)行程序的過(guò)程中,CPU的程序計(jì)數(shù)器指向代碼段的每一條機(jī)器代碼,并由處理器依次運(yùn)行。

    2、只讀數(shù)據(jù)段(RO-data)是程序運(yùn)行時(shí)不會(huì)被更改的數(shù)據(jù),如常量。使用這些數(shù)據(jù)類似查表式操作,由于不需要更改,因此只需放置在只讀存儲(chǔ)器中。

    3、已初始化讀寫數(shù)據(jù)段(RW-data)是在程序中聲明且具有初值的變量,如已初始化的全局變量、靜態(tài)變量。這些變量需要占用存儲(chǔ)器的空間,在程序執(zhí)行時(shí)它們需要位于可讀寫的內(nèi)存區(qū)域內(nèi),并具有初值,以供程序運(yùn)行時(shí)讀寫。

    4、未初始化數(shù)據(jù)段(BSS)也是在程序中聲明,但沒(méi)有初始化的變量,如未初始化的全局變量和靜態(tài)變量。這些變量在程序運(yùn)行之前不需要占用存儲(chǔ)器的空間。

    5、堆內(nèi)存只在程序運(yùn)行時(shí)出現(xiàn),一般由程序員分配和釋放空間,如new、delete操作。

    6、棧內(nèi)存也只在運(yùn)行時(shí)出現(xiàn),程序臨時(shí)創(chuàng)建的局部變量、函數(shù)內(nèi)部使用的變量、函數(shù)的參數(shù)以及返回值將使用??臻g,??臻g由編譯器自動(dòng)分配。

    Code、RO-data、RW-data、BSS屬于靜態(tài)存儲(chǔ)區(qū)域;堆和棧屬于動(dòng)態(tài)區(qū)域。Code、RO-data和RW-data在鏈接之后生成,BSS在程序初始化時(shí)候開辟,而堆和棧在程序運(yùn)行中分配和釋放。

    目標(biāo)程序運(yùn)行時(shí)分為映像文件和運(yùn)行兩種狀態(tài),具體布局如圖2所示。通過(guò)工具將映像文件固化在MCU的ROM或Nor-Flash中,映像文件中包含了Code、RO-data以及RW-data;

    程序運(yùn)行的初始化階段,各段必須載入到內(nèi)存RAM的恰當(dāng)位置,其中RW-data復(fù)制到內(nèi)存的Data區(qū)域中,各個(gè)BSS區(qū)域?qū)⒃趦?nèi)存中開辟空間并清零,堆和??臻g一般是向前擴(kuò)展,棧由編譯器管理,程序運(yùn)行后堆大小分配由程序決定(見圖2)。

    三、分塊更新要點(diǎn)和設(shè)計(jì)思路

    通過(guò)上文對(duì)嵌入式程序的編譯和運(yùn)行原理分析介紹,需要關(guān)注以下2點(diǎn):

    1、程序編譯后生成的目標(biāo)代碼順序存放,緊密地靠在一起。若增刪程序后再編譯,生成的目標(biāo)代碼將和原來(lái)大相徑庭。

    2、目標(biāo)程序使用的存儲(chǔ)空間見表1:

    表1 目標(biāo)程序使用存儲(chǔ)空間匯總

    程序編譯后,由于RW-data段會(huì)保存在目標(biāo)代碼中,并和其他段緊靠一起。若增刪RW-data中的變量,也會(huì)導(dǎo)致再編譯生成的目標(biāo)代碼和原來(lái)區(qū)別非常大。

    RO-data段存放在ROM中,由于程序運(yùn)行時(shí)不會(huì)被修改,所以也可以看成Code段。

    分塊更新的目標(biāo)是“嵌入式程序可以按功能或按函數(shù)級(jí)別對(duì)增加、修改、刪除代碼進(jìn)行精確分塊更新,減少更新的代碼量”,即只更新增加、修改、刪除的代碼,而且是按照功能模塊或函數(shù)級(jí)別更新。但本節(jié)提到的2個(gè)關(guān)注點(diǎn)已經(jīng)指出,若直接修改代碼或RW-data段中的變量,會(huì)導(dǎo)致編譯生成的目標(biāo)代碼改動(dòng)非常大,給人一種“牽一發(fā)而動(dòng)全身”的感覺(jué),無(wú)法滿足分塊更新的要求。

    為實(shí)現(xiàn)分塊更新的目標(biāo),需要滿足以下3點(diǎn):

    1、按功能模塊或函數(shù)級(jí)別對(duì)代碼劃分區(qū)域

    源程序編譯后,目標(biāo)代碼順序緊靠存放。修改源程序后必然導(dǎo)致目標(biāo)代碼的大小變化,其后的代碼位置也隨之改動(dòng)。按功能模塊或函數(shù)級(jí)別對(duì)目標(biāo)代碼劃分開獨(dú)立的區(qū)域,區(qū)域的位置按更新的頻率設(shè)定,更新頻率低的區(qū)域放置在ROM低地址處,更新頻率高的區(qū)域放置在ROM高地址處;區(qū)域的大小根據(jù)實(shí)際情況預(yù)留一部分備用空間,在實(shí)際使用過(guò)程中若區(qū)域不夠時(shí),可在ROM中劃出一塊還未使用的區(qū)域繼續(xù)。

    源程序中函數(shù)一定是很多的,按函數(shù)級(jí)別劃分區(qū)域帶來(lái)的工作量相當(dāng)大。在實(shí)際使用時(shí),建議采用按功能模塊級(jí)別劃分區(qū)域。

    使用偽指令劃分區(qū)域,根據(jù)編譯原理應(yīng)在預(yù)處理階段實(shí)施。本文將在下一節(jié)介紹使用分散加載機(jī)制方法劃分代碼。

    2、代碼精確更新,減少更新程序的范圍

    如圖3所示,功能模塊之間、函數(shù)之間、模塊和函數(shù)之間需要相互調(diào)用。若僅僅對(duì)代碼劃分區(qū)域,一個(gè)區(qū)域內(nèi)的代碼修改編譯后,與之相互調(diào)用函數(shù)的區(qū)域會(huì)改變,隨之又影響到其他有關(guān)聯(lián)的區(qū)域。

    圖3 區(qū)域關(guān)聯(lián)

    圖4 區(qū)域之間調(diào)用函數(shù)流程

    這種情況導(dǎo)致更新一個(gè)區(qū)域時(shí),與之有關(guān)聯(lián)的區(qū)域,甚至與關(guān)聯(lián)區(qū)域有關(guān)聯(lián)的區(qū)域都需要更新。

    使用偽指令和函數(shù)殼既切斷區(qū)域之間連帶更新,又保證關(guān)聯(lián)區(qū)域正常工作。本文將在下一節(jié)闡述處理的方法。

    3、RAM中變量改變時(shí)減少更新程序的范圍

    由于模塊、函數(shù)之間相互調(diào)用,若函數(shù)的參數(shù)或模塊內(nèi)的變量需要改變時(shí),也會(huì)導(dǎo)致更新一個(gè)區(qū)域后,與之有關(guān)聯(lián)的其它區(qū)域都需要更新。

    為了減少更新程序的范圍,使用1級(jí)、2級(jí)甚至3級(jí)空類型指針變量,使變量修改后再編譯減少對(duì)目標(biāo)代碼的影響。

    四、實(shí)施分塊更新的方法

    上一節(jié)討論了需要滿足3要點(diǎn)以實(shí)現(xiàn)分塊更新的目標(biāo),這節(jié)詳細(xì)闡釋每個(gè)要點(diǎn)實(shí)施的方法。

    (一)分散加載機(jī)制劃分代碼區(qū)域

    在第2節(jié)中已經(jīng)介紹了映像文件及其組成,要構(gòu)建映像文件的存儲(chǔ)器映射,鏈接器必須有:描述如何分組成區(qū)的分組信息、描述映像區(qū)在存儲(chǔ)器映射中放置地址的放置信息。

    分散加載機(jī)制允許為鏈接器指定映像文件的存儲(chǔ)器映射信息,可實(shí)現(xiàn)對(duì)映像組件分組和布局的全面控制,如固定函數(shù)的位置,即使周圍程序已經(jīng)被修改并重新編譯。分散加載通常用于具有復(fù)雜存儲(chǔ)器映射的映像(盡管也可用于簡(jiǎn)單映像),適合在加載和執(zhí)行時(shí)映射中多個(gè)區(qū)域是分散的情況。

    源程序在編譯前,利用開發(fā)平臺(tái)如Keil μVision自帶的分散加載機(jī)制功能,按程序設(shè)計(jì)的功能模塊劃分多個(gè)區(qū)域,并設(shè)置區(qū)域位置及大小。下面例子是相關(guān)代碼及注釋。

    使用分散加載機(jī)制將所有程序文件按功能級(jí)別劃分ROM的地址空間。區(qū)域劃分后,功能模塊內(nèi)部的函數(shù)相互調(diào)用、修改,不影響其他區(qū)域。

    (二)偽指令和函數(shù)殼減少更新程序的范圍

    功能模塊劃分完區(qū)域,區(qū)域之間會(huì)相互調(diào)用函數(shù),為減少程序更新的范圍,需要在不影響正常運(yùn)行的前提下切斷區(qū)域之間的連帶更新。對(duì)需要相互調(diào)用的函數(shù)建立相應(yīng)函數(shù)殼,同時(shí)使用偽指令固定函數(shù)殼在區(qū)域內(nèi)的位置。下面例子是相關(guān)代碼及注釋。

    2個(gè)區(qū)域之間調(diào)用函數(shù)的流程如圖4所示。

    函數(shù)殼起到“中間人”的角色,區(qū)域之間調(diào)用函數(shù)時(shí)都需要先通過(guò)函數(shù)殼。同時(shí)固定了函數(shù)殼的位置后,對(duì)應(yīng)的函數(shù)修改代碼只會(huì)改變?cè)摵瘮?shù)所在的區(qū)域,不會(huì)影響到調(diào)用它的其他區(qū)域,從而切斷區(qū)域之間的連帶更新,達(dá)到了減少更新程序范圍的目的。

    (三)使用空類型指針減少更新程序的范圍

    4.2節(jié)的例子中函數(shù)沒(méi)有使用參數(shù),實(shí)際情況下函數(shù)經(jīng)常需要傳遞各種參數(shù)。同時(shí)功能模塊中還有各種變量需要使用或被其他模塊調(diào)用。本節(jié)對(duì)這2種情況的處理做詳細(xì)說(shuō)明。

    函數(shù)傳遞各種參數(shù)、或更新代碼后傳遞的參數(shù)改變了,如果直接使用函數(shù)殼加xxx參數(shù),還是會(huì)造成關(guān)聯(lián)區(qū)域更新范圍擴(kuò)大。使用1級(jí)(或2級(jí))空類型指針傳遞實(shí)際參數(shù),即使實(shí)際參數(shù)改變也不會(huì)擴(kuò)大關(guān)聯(lián)區(qū)域的更新范圍。下面例子是相關(guān)代碼及注釋。

    前文中對(duì)目標(biāo)程序使用的存儲(chǔ)空間做了匯總,詳見表1。功能模塊中已初始化的全局變量、靜態(tài)變量(屬于RW-data段)需要占用ROM存儲(chǔ)空間,而且其他模塊也能調(diào)用這些變量。若修改變量也會(huì)造成關(guān)聯(lián)區(qū)域更新范圍擴(kuò)大。使用2級(jí)(或3級(jí))空類型指針代替變量,保證了即使實(shí)際變量改變也不會(huì)擴(kuò)大關(guān)聯(lián)區(qū)域的更新范圍。下面例子是相關(guān)代碼及注釋。

    void** pVariate;// 2級(jí)空指針變量

    pVariate = new void *[RowCount]; // 動(dòng)態(tài)申請(qǐng)變量數(shù)組

    // 指針變量關(guān)聯(lián)實(shí)際變量

    使用n級(jí)空類型指針可以避免編譯器為RW-data段分配ROM存儲(chǔ)空間。

    五、結(jié)語(yǔ)

    采用本文介紹的分塊更新技術(shù),將電力設(shè)備用MCU的嵌入式程序按功能模塊或函數(shù)級(jí)別進(jìn)行精確的分塊,產(chǎn)品投運(yùn)后可以根據(jù)功能需求變化,只對(duì)更改了功能的模塊進(jìn)行更新,從而避免了在任何情況下都必須更新全部程序的低效率工作方式,同時(shí)也有效解決了通過(guò)GPRS/CDMA遠(yuǎn)程更新設(shè)備程序所造成的升級(jí)時(shí)間長(zhǎng)、流量大、收費(fèi)高的問(wèn)題。

    分塊更新技術(shù)已經(jīng)在公司多個(gè)項(xiàng)目中實(shí)際應(yīng)用,效果極佳。我們?cè)贗I型集中器項(xiàng)目中以修改LED驅(qū)動(dòng)為例做過(guò)統(tǒng)計(jì),若沒(méi)有使用分塊更新技術(shù)編譯、鏈接后生成的Bin文件達(dá)到330k左右,通過(guò)GPRS網(wǎng)絡(luò)遠(yuǎn)程更新時(shí)每2秒傳輸1024字節(jié),需要11~15分鐘傳輸完畢。使用分塊更新技術(shù)后生成的LED驅(qū)動(dòng)Bin文件只有3k左右,通過(guò)GPRS網(wǎng)絡(luò)僅需6~10秒傳輸完畢。分塊更新技術(shù)降低了產(chǎn)品投運(yùn)后的維護(hù)成本,增強(qiáng)了產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力。

    當(dāng)然,分塊更新技術(shù)在實(shí)施過(guò)程中,需要注意到動(dòng)態(tài)申請(qǐng)空類型指針變量會(huì)多占用一些內(nèi)存,在內(nèi)存不足的情況下需要及時(shí)釋放;而且,在編寫調(diào)試程序的時(shí)候也會(huì)有一定的難度。

    參考文獻(xiàn)

    [1]陳火旺.程序設(shè)計(jì)語(yǔ)言∶編譯原理(第3版)[M].國(guó)防工業(yè)出版社, 2014.

    [2] Kenneth A.Reek. C和指針[M].人民郵電出版社,2008.

    [3] Keil uVision4中文教程,2009.

    男人舔奶头视频| a 毛片基地| 高清毛片免费看| 色5月婷婷丁香| 亚洲精品aⅴ在线观看| 亚洲av成人精品一二三区| 亚洲内射少妇av| 免费av中文字幕在线| 欧美一区二区亚洲| 亚洲精品国产色婷婷电影| 日本猛色少妇xxxxx猛交久久| 欧美zozozo另类| 青春草国产在线视频| 精品视频人人做人人爽| 国产免费一级a男人的天堂| 精品国产露脸久久av麻豆| 国产爱豆传媒在线观看| 在线观看三级黄色| 国产精品久久久久久精品电影小说 | 欧美极品一区二区三区四区| 久久久久国产网址| 最新中文字幕久久久久| 狂野欧美激情性xxxx在线观看| 亚洲高清免费不卡视频| 尤物成人国产欧美一区二区三区| 欧美区成人在线视频| 久久精品久久久久久噜噜老黄| 国产精品一区二区在线不卡| 建设人人有责人人尽责人人享有的 | 国产有黄有色有爽视频| 日韩三级伦理在线观看| 成年人午夜在线观看视频| 新久久久久国产一级毛片| 成人免费观看视频高清| 亚洲综合色惰| 热99国产精品久久久久久7| 久久精品国产鲁丝片午夜精品| 免费大片黄手机在线观看| 黄片无遮挡物在线观看| 青春草亚洲视频在线观看| 国精品久久久久久国模美| 婷婷色综合www| 超碰97精品在线观看| 日韩在线高清观看一区二区三区| 日本与韩国留学比较| 91久久精品国产一区二区三区| 国内精品宾馆在线| 中文字幕久久专区| 男女啪啪激烈高潮av片| av一本久久久久| 插阴视频在线观看视频| 干丝袜人妻中文字幕| 亚洲第一av免费看| 国产精品.久久久| 观看av在线不卡| 综合色丁香网| 国产精品蜜桃在线观看| 亚洲av成人精品一区久久| 中文资源天堂在线| 欧美区成人在线视频| 国产精品福利在线免费观看| 久久久久视频综合| 黄色视频在线播放观看不卡| 在线播放无遮挡| 午夜日本视频在线| 少妇的逼好多水| 91久久精品国产一区二区成人| 大香蕉97超碰在线| 欧美日韩亚洲高清精品| 日日啪夜夜爽| 啦啦啦啦在线视频资源| 亚洲四区av| 欧美丝袜亚洲另类| 丝袜喷水一区| 亚洲人成网站在线观看播放| 色5月婷婷丁香| 日韩国内少妇激情av| 黄色日韩在线| 国产探花极品一区二区| 久久久久久人妻| 国产av一区二区精品久久 | 亚洲精品久久久久久婷婷小说| 亚洲精品日韩在线中文字幕| 哪个播放器可以免费观看大片| 婷婷色麻豆天堂久久| 亚洲综合色惰| av在线播放精品| 最后的刺客免费高清国语| 日本黄色片子视频| 久热久热在线精品观看| 午夜精品国产一区二区电影| 精品一品国产午夜福利视频| 国产av精品麻豆| 免费av不卡在线播放| 婷婷色麻豆天堂久久| 大片电影免费在线观看免费| 久久韩国三级中文字幕| 久久久久国产精品人妻一区二区| 欧美高清性xxxxhd video| 男人添女人高潮全过程视频| 国产毛片在线视频| 少妇高潮的动态图| 国产免费又黄又爽又色| 夜夜爽夜夜爽视频| 国产黄片美女视频| 久久久久久久久久人人人人人人| 22中文网久久字幕| .国产精品久久| av国产免费在线观看| 国产成人精品婷婷| 日产精品乱码卡一卡2卡三| 国产乱人视频| 日本vs欧美在线观看视频 | 亚洲国产欧美在线一区| 久久久精品94久久精品| 夜夜骑夜夜射夜夜干| 少妇熟女欧美另类| 大又大粗又爽又黄少妇毛片口| 色网站视频免费| 黄片wwwwww| 免费大片18禁| 亚洲欧美一区二区三区国产| 国产成人精品一,二区| 成人免费观看视频高清| 亚洲成人中文字幕在线播放| 国产精品免费大片| 成人无遮挡网站| 亚洲av综合色区一区| 成人综合一区亚洲| 欧美最新免费一区二区三区| 亚洲精品自拍成人| 日韩精品有码人妻一区| 国产欧美另类精品又又久久亚洲欧美| 久久6这里有精品| 国产精品国产三级国产专区5o| 国产欧美日韩精品一区二区| 日本免费在线观看一区| 91aial.com中文字幕在线观看| 最黄视频免费看| 国产精品欧美亚洲77777| 嫩草影院新地址| 国产成人aa在线观看| 精品亚洲乱码少妇综合久久| 中文字幕久久专区| 大陆偷拍与自拍| 日本av免费视频播放| 国产男女内射视频| 亚洲va在线va天堂va国产| 韩国高清视频一区二区三区| 在线观看一区二区三区激情| 国产精品.久久久| 街头女战士在线观看网站| 一级片'在线观看视频| 一区二区三区免费毛片| 国产v大片淫在线免费观看| 亚洲精华国产精华液的使用体验| 制服丝袜香蕉在线| 免费不卡的大黄色大毛片视频在线观看| 一区二区三区四区激情视频| 亚洲人与动物交配视频| av在线老鸭窝| 99国产精品免费福利视频| 大话2 男鬼变身卡| 精品久久久久久电影网| 日本av手机在线免费观看| 午夜激情福利司机影院| 日本欧美视频一区| 久久女婷五月综合色啪小说| 欧美日韩在线观看h| 伦理电影免费视频| 老司机影院成人| av线在线观看网站| 日本黄色日本黄色录像| 亚洲精品亚洲一区二区| 久久久精品94久久精品| 水蜜桃什么品种好| a级一级毛片免费在线观看| 身体一侧抽搐| 啦啦啦在线观看免费高清www| 国产精品久久久久成人av| 最近最新中文字幕大全电影3| 人体艺术视频欧美日本| 在线观看国产h片| 亚洲av不卡在线观看| 夜夜看夜夜爽夜夜摸| 在线观看国产h片| 国产一级毛片在线| 精品国产露脸久久av麻豆| av一本久久久久| 蜜桃久久精品国产亚洲av| 国产一区二区三区综合在线观看 | 能在线免费看毛片的网站| 国产日韩欧美在线精品| 国产黄频视频在线观看| 国模一区二区三区四区视频| kizo精华| 亚洲自偷自拍三级| 在线亚洲精品国产二区图片欧美 | 欧美日韩综合久久久久久| 国产亚洲午夜精品一区二区久久| 99久久人妻综合| 久久久亚洲精品成人影院| 久久97久久精品| 亚洲第一av免费看| 五月伊人婷婷丁香| 日韩 亚洲 欧美在线| 久久久久国产网址| 国产精品精品国产色婷婷| 久久精品国产鲁丝片午夜精品| 亚洲激情五月婷婷啪啪| 婷婷色综合www| 伦精品一区二区三区| 国产一区二区三区av在线| 王馨瑶露胸无遮挡在线观看| 亚洲国产精品999| 亚洲欧美精品专区久久| 在现免费观看毛片| 三级经典国产精品| 成人18禁高潮啪啪吃奶动态图 | 亚洲av免费高清在线观看| 欧美激情国产日韩精品一区| 少妇的逼好多水| 欧美极品一区二区三区四区| 日本与韩国留学比较| 中文字幕精品免费在线观看视频 | 91精品国产国语对白视频| 男女无遮挡免费网站观看| 哪个播放器可以免费观看大片| 国产精品嫩草影院av在线观看| 国产伦在线观看视频一区| 一本—道久久a久久精品蜜桃钙片| 国产69精品久久久久777片| 伦理电影大哥的女人| 精品一区二区免费观看| 99热全是精品| 欧美xxⅹ黑人| 97热精品久久久久久| 蜜桃在线观看..| 日本vs欧美在线观看视频 | 国产毛片在线视频| 欧美少妇被猛烈插入视频| 丝瓜视频免费看黄片| 中文字幕av成人在线电影| 男男h啪啪无遮挡| 小蜜桃在线观看免费完整版高清| 国产精品人妻久久久影院| 纯流量卡能插随身wifi吗| 日韩人妻高清精品专区| 国产精品久久久久成人av| 亚洲欧美日韩东京热| 国产国拍精品亚洲av在线观看| 九九爱精品视频在线观看| 男女边摸边吃奶| 午夜福利影视在线免费观看| 十八禁网站网址无遮挡 | 免费黄色在线免费观看| 一级毛片黄色毛片免费观看视频| 国产免费视频播放在线视频| 欧美人与善性xxx| 日韩av免费高清视频| 熟妇人妻不卡中文字幕| 国产午夜精品久久久久久一区二区三区| 毛片女人毛片| 国产高清不卡午夜福利| 一区二区三区四区激情视频| 乱码一卡2卡4卡精品| 欧美老熟妇乱子伦牲交| 精品一区二区三区视频在线| 又黄又爽又刺激的免费视频.| 亚洲国产高清在线一区二区三| 国产精品人妻久久久影院| 狂野欧美激情性bbbbbb| 内射极品少妇av片p| 在线观看一区二区三区| 五月天丁香电影| 国产精品一区二区三区四区免费观看| 一区二区av电影网| 秋霞在线观看毛片| 国产精品久久久久久久电影| 国产精品久久久久久av不卡| 国产成人午夜福利电影在线观看| 欧美bdsm另类| 日韩欧美精品免费久久| av在线老鸭窝| 黄片无遮挡物在线观看| 国国产精品蜜臀av免费| 午夜福利视频精品| 一级爰片在线观看| 亚洲精品视频女| 久久 成人 亚洲| 国产亚洲av片在线观看秒播厂| 插逼视频在线观看| 日韩不卡一区二区三区视频在线| 国产精品熟女久久久久浪| 亚洲三级黄色毛片| 午夜福利网站1000一区二区三区| 亚洲av.av天堂| 国产精品伦人一区二区| 婷婷色麻豆天堂久久| 亚洲色图综合在线观看| 夜夜爽夜夜爽视频| 五月玫瑰六月丁香| 久久久a久久爽久久v久久| 少妇人妻 视频| 国产一级毛片在线| 中文欧美无线码| 在线免费观看不下载黄p国产| av在线蜜桃| 午夜老司机福利剧场| 亚洲欧美成人精品一区二区| 亚洲美女视频黄频| 99热全是精品| 国产精品国产三级专区第一集| 久久久久精品性色| 交换朋友夫妻互换小说| 中文乱码字字幕精品一区二区三区| 99视频精品全部免费 在线| 免费观看无遮挡的男女| 黄色一级大片看看| 91精品伊人久久大香线蕉| 不卡视频在线观看欧美| 天美传媒精品一区二区| 日韩在线高清观看一区二区三区| 我要看日韩黄色一级片| 97超碰精品成人国产| 我的女老师完整版在线观看| 国产中年淑女户外野战色| 在线观看免费视频网站a站| 1000部很黄的大片| 亚洲一级一片aⅴ在线观看| 亚洲av综合色区一区| 交换朋友夫妻互换小说| 18禁在线无遮挡免费观看视频| 久久久a久久爽久久v久久| 亚洲精品久久久久久婷婷小说| 一区二区三区免费毛片| 亚洲精品一二三| 一区二区av电影网| videossex国产| 国产成人精品一,二区| av在线观看视频网站免费| a 毛片基地| 边亲边吃奶的免费视频| 久久6这里有精品| 国产成人精品一,二区| 午夜日本视频在线| 国产美女午夜福利| 这个男人来自地球电影免费观看 | 成人漫画全彩无遮挡| 国产成人午夜福利电影在线观看| 日韩大片免费观看网站| 男人狂女人下面高潮的视频| 91久久精品电影网| 国产成人免费无遮挡视频| 秋霞伦理黄片| 亚洲av.av天堂| 99热这里只有是精品在线观看| 亚洲欧美精品自产自拍| 亚洲精品国产av成人精品| 美女脱内裤让男人舔精品视频| 一级二级三级毛片免费看| 男女无遮挡免费网站观看| 大码成人一级视频| 日韩视频在线欧美| 欧美国产精品一级二级三级 | 伦精品一区二区三区| 99九九线精品视频在线观看视频| 欧美+日韩+精品| 视频中文字幕在线观看| 免费看光身美女| 观看美女的网站| 十八禁网站网址无遮挡 | 久久久久久人妻| 日韩伦理黄色片| 美女视频免费永久观看网站| 五月伊人婷婷丁香| 亚洲精品国产av蜜桃| 日韩欧美 国产精品| 大片免费播放器 马上看| 一个人看的www免费观看视频| 啦啦啦视频在线资源免费观看| 久久久a久久爽久久v久久| 日本vs欧美在线观看视频 | 人人妻人人爽人人添夜夜欢视频 | 精品久久久久久久末码| 欧美老熟妇乱子伦牲交| 国产国拍精品亚洲av在线观看| 在线观看人妻少妇| 国产亚洲欧美精品永久| 午夜免费男女啪啪视频观看| 99九九线精品视频在线观看视频| 日韩,欧美,国产一区二区三区| 国产亚洲91精品色在线| 国产深夜福利视频在线观看| 亚洲真实伦在线观看| 亚洲欧美清纯卡通| 三级经典国产精品| 欧美xxxx黑人xx丫x性爽| 国产av精品麻豆| 中文字幕精品免费在线观看视频 | 国产精品久久久久久精品古装| 免费观看a级毛片全部| 午夜精品国产一区二区电影| 黄片无遮挡物在线观看| 国产黄色视频一区二区在线观看| 亚洲国产高清在线一区二区三| 少妇猛男粗大的猛烈进出视频| 亚洲国产精品999| 成人漫画全彩无遮挡| 亚洲av中文字字幕乱码综合| 国产精品爽爽va在线观看网站| 人人妻人人看人人澡| 有码 亚洲区| 一个人免费看片子| 欧美精品国产亚洲| 欧美变态另类bdsm刘玥| 日本爱情动作片www.在线观看| 久久久久久久久久成人| av一本久久久久| 国产精品麻豆人妻色哟哟久久| 又大又黄又爽视频免费| 国产亚洲av片在线观看秒播厂| xxx大片免费视频| 国产成人精品一,二区| 我的女老师完整版在线观看| 国产爽快片一区二区三区| 亚洲欧美日韩无卡精品| 中文字幕制服av| 亚洲国产精品专区欧美| 精品久久久噜噜| a级毛片免费高清观看在线播放| 91狼人影院| 91久久精品国产一区二区成人| 精品国产一区二区三区久久久樱花 | 免费在线观看成人毛片| 午夜福利高清视频| 国产精品99久久99久久久不卡 | 熟女av电影| 国产精品人妻久久久影院| av在线老鸭窝| 亚洲av.av天堂| 亚洲av综合色区一区| 蜜臀久久99精品久久宅男| 男人爽女人下面视频在线观看| av天堂中文字幕网| 亚洲综合精品二区| 中文天堂在线官网| 天堂俺去俺来也www色官网| 精品国产乱码久久久久久小说| 直男gayav资源| 777米奇影视久久| 人人妻人人看人人澡| 免费久久久久久久精品成人欧美视频 | 中文字幕久久专区| 欧美性感艳星| 国产高清不卡午夜福利| 在线观看人妻少妇| 国产一区亚洲一区在线观看| 97超碰精品成人国产| 国产av国产精品国产| 99视频精品全部免费 在线| 简卡轻食公司| av免费观看日本| 老师上课跳d突然被开到最大视频| 国产男人的电影天堂91| 人人妻人人爽人人添夜夜欢视频 | 舔av片在线| 大香蕉久久网| 久久久久网色| 亚洲熟女精品中文字幕| 免费黄频网站在线观看国产| 国产精品爽爽va在线观看网站| 免费大片黄手机在线观看| 国语对白做爰xxxⅹ性视频网站| av网站免费在线观看视频| 干丝袜人妻中文字幕| 菩萨蛮人人尽说江南好唐韦庄| 久久久久久久亚洲中文字幕| 亚洲av电影在线观看一区二区三区| 女人久久www免费人成看片| 国产在视频线精品| 日产精品乱码卡一卡2卡三| 免费黄网站久久成人精品| 777米奇影视久久| 国产伦理片在线播放av一区| 嫩草影院入口| 色网站视频免费| 亚洲综合精品二区| 国内少妇人妻偷人精品xxx网站| 婷婷色av中文字幕| 免费不卡的大黄色大毛片视频在线观看| 国产午夜精品一二区理论片| 国精品久久久久久国模美| 亚洲第一区二区三区不卡| 麻豆乱淫一区二区| 五月伊人婷婷丁香| 亚洲人成网站在线播| 搡女人真爽免费视频火全软件| 99热这里只有是精品50| 成人18禁高潮啪啪吃奶动态图 | 中文在线观看免费www的网站| 欧美少妇被猛烈插入视频| 国产在线免费精品| 亚洲国产精品成人久久小说| 国产一区二区三区av在线| 精品亚洲成国产av| 噜噜噜噜噜久久久久久91| 国产成人精品福利久久| 亚洲国产精品成人久久小说| 亚洲真实伦在线观看| 亚洲精品中文字幕在线视频 | 亚洲精品乱码久久久久久按摩| 中文字幕制服av| 啦啦啦在线观看免费高清www| 亚洲,欧美,日韩| 最近手机中文字幕大全| 2022亚洲国产成人精品| 新久久久久国产一级毛片| 久久ye,这里只有精品| 欧美最新免费一区二区三区| 国产中年淑女户外野战色| 九九久久精品国产亚洲av麻豆| 国产av一区二区精品久久 | 99re6热这里在线精品视频| 成人无遮挡网站| 汤姆久久久久久久影院中文字幕| 97在线人人人人妻| 久久影院123| 美女脱内裤让男人舔精品视频| 少妇熟女欧美另类| 国产精品一及| 91精品一卡2卡3卡4卡| 99久久综合免费| 亚洲精品视频女| 日日啪夜夜爽| 国产高清国产精品国产三级 | 精品人妻熟女av久视频| 亚洲av成人精品一二三区| 国产在线男女| av卡一久久| 国产乱人视频| 国产乱人偷精品视频| 久久久久人妻精品一区果冻| 欧美最新免费一区二区三区| 日韩一区二区三区影片| 亚洲av男天堂| 久久久久久久久久成人| 在现免费观看毛片| 26uuu在线亚洲综合色| 久久久精品免费免费高清| 91久久精品国产一区二区成人| 亚洲国产高清在线一区二区三| 亚洲精品日本国产第一区| 国产黄色免费在线视频| 国产亚洲av片在线观看秒播厂| 麻豆国产97在线/欧美| 日韩在线高清观看一区二区三区| av国产精品久久久久影院| 色网站视频免费| 91久久精品国产一区二区三区| 91精品一卡2卡3卡4卡| 亚洲综合精品二区| 欧美日韩视频精品一区| 黄色欧美视频在线观看| 卡戴珊不雅视频在线播放| 亚洲一区二区三区欧美精品| 中文在线观看免费www的网站| 免费大片18禁| 亚洲精品aⅴ在线观看| 超碰97精品在线观看| 亚洲国产av新网站| 国产欧美日韩精品一区二区| 99久久综合免费| 亚洲精品,欧美精品| 日本欧美视频一区| 少妇猛男粗大的猛烈进出视频| 亚洲精品乱码久久久久久按摩| videos熟女内射| 日本av手机在线免费观看| 欧美精品人与动牲交sv欧美| 精品亚洲乱码少妇综合久久| 国产精品一区二区在线不卡| 亚洲第一区二区三区不卡| 青春草国产在线视频| 男女下面进入的视频免费午夜| av在线老鸭窝| 嫩草影院新地址| 国产有黄有色有爽视频| 狂野欧美激情性bbbbbb| 久久99热这里只有精品18| 成人综合一区亚洲| 噜噜噜噜噜久久久久久91| 亚洲中文av在线| 国产亚洲精品久久久com| 国产黄色免费在线视频| videos熟女内射| av国产精品久久久久影院| 日韩av在线免费看完整版不卡| 极品少妇高潮喷水抽搐| 男女国产视频网站| 五月开心婷婷网| 人妻少妇偷人精品九色| 亚洲国产av新网站| 国产精品99久久久久久久久| 国产精品一区www在线观看| 久久久久久久久大av| 国产在线视频一区二区| 男人和女人高潮做爰伦理| freevideosex欧美| 又爽又黄a免费视频| 久久青草综合色| freevideosex欧美| 99久久人妻综合| 国产亚洲午夜精品一区二区久久| 亚洲欧美日韩东京热|