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

    基于μCOS系統(tǒng)的嵌入式動態(tài)加載技術(shù)實(shí)現(xiàn)與改進(jìn)

    2017-12-02 14:03:19裴俊宇劉子龍
    軟件導(dǎo)刊 2017年11期

    裴俊宇 劉子龍

    摘要:針對嵌入式操作系統(tǒng)不支持外部程序動態(tài)加載技術(shù),限制其靈活性和可擴(kuò)展性的弊端,基于STM32F103μc/OSIII平臺,運(yùn)用ELF文件重定位原理,對原系統(tǒng)功能進(jìn)行拓展,對編譯合適的ELF文件、ELF加載器實(shí)現(xiàn)等作深入分析。測試表明,系統(tǒng)支持對軟件模塊的動態(tài)加載功能,并實(shí)現(xiàn)外部任務(wù)之間的通訊。最后針對內(nèi)存開銷大的問題作出改進(jìn),使該項技術(shù)具備更高的實(shí)用價值。

    關(guān)鍵詞關(guān)鍵詞:動態(tài)加載;μC/OS;單地址空間;ELF文件

    DOIDOI:10.11907/rjdk.171728

    中圖分類號:TP319

    文獻(xiàn)標(biāo)識碼:A文章編號文章編號:16727800(2017)011014904

    0引言

    在電子技術(shù)迅速發(fā)展下,嵌入式系統(tǒng)不僅在硬件性能上快速提升,能勝任更多任務(wù),而且在應(yīng)用上也越發(fā)廣泛,軟件復(fù)雜度越來越高,使得對嵌入式軟件開發(fā)提出了新的要求[1]。相比PC操作系統(tǒng)上早已十分成熟的動態(tài)加載技術(shù),常見的μcos嵌入式操作系統(tǒng)缺乏對動態(tài)加載程序的支持,一是ROM技術(shù)限制,二是內(nèi)存使用緊張,無法運(yùn)行太多程序[2]。Flash技術(shù)的發(fā)展及內(nèi)存的增加,使得基于嵌入式操作系統(tǒng)的動態(tài)加載具備可行性。一些高端嵌入式設(shè)備已經(jīng)具備GB級的內(nèi)存,硬件支持虛擬地址空間,能夠運(yùn)行Linux量級的系統(tǒng)。但實(shí)時性不滿足要求,性能過剩且成本偏高。作為嵌入式市場主力的中低端設(shè)備,普遍仍是單地址空間,內(nèi)存受限,此時提高系統(tǒng)的可擴(kuò)展性迫在眉睫。

    本文基于STM32平臺,討論在典型單地址空間、無內(nèi)核態(tài)的μcos嵌入式操作系統(tǒng)上動態(tài)加載技術(shù)實(shí)現(xiàn),并針對嵌入式內(nèi)存使用緊張問題作出改進(jìn)。

    1基本原理與機(jī)制

    傳統(tǒng)嵌入式開發(fā)通常將程序編譯鏈接成一個二進(jìn)制文件,然后燒錄到芯片上運(yùn)行調(diào)試。從簡單的裸機(jī)程序到操作系統(tǒng)與應(yīng)用綁定編譯的復(fù)雜任務(wù),都要通過反復(fù)重新編譯鏈接下載調(diào)試流程,周期長而繁瑣,不能快速迭代,對于市場快速變化需求而言顯得效率低下。此外,每次運(yùn)行程序都是將特定的任務(wù)載入內(nèi)存,不能像PC端一樣安裝、卸除程序,每一次變動都要重新燒錄整個程序,無法靈活地調(diào)整更新[3]。

    通常而言,代碼經(jīng)過編譯和鏈接生成二進(jìn)制可執(zhí)行文件,其中鏈接分為靜態(tài)鏈接、加載時鏈接和運(yùn)行時鏈接。靜態(tài)鏈接即將程序和它需要的庫鏈接成一個單一文件,獨(dú)立運(yùn)行、速度快,但是生成文件較大,如果要改動就需重新鏈接。加載時鏈接指程序在連接時不會把外部引用的庫代碼鏈接到執(zhí)行程序中,而是在它被加載器加載時將外部庫加載入內(nèi)存進(jìn)行鏈接。優(yōu)點(diǎn)是程序本身小、靈活。運(yùn)行時鏈接是加載時鏈接的更進(jìn)一步,只有在真正調(diào)用外部庫代碼時才將外部庫加載入內(nèi)存進(jìn)行鏈接[4]。

    嵌入式動態(tài)加載實(shí)現(xiàn)主要采用加載時鏈接,即從外部存儲設(shè)備中加載程序到內(nèi)存中,在操作系統(tǒng)中動態(tài)申請一個任務(wù)棧,讓外部加載的程序在該任務(wù)棧上運(yùn)行,并服從操作系統(tǒng)資源管理,同時程序也能申請一些資源,如內(nèi)存塊、定時器等。

    2系統(tǒng)實(shí)現(xiàn)

    單地址空間即整個系統(tǒng)使用一個連續(xù)的單地址空間。無用戶態(tài)與內(nèi)核態(tài)之分,用戶程序的代碼可以直接訪問到操作系統(tǒng)代碼。

    動態(tài)模塊設(shè)計參考了Linux中動態(tài)庫文件的實(shí)現(xiàn)原理,采用Unix標(biāo)準(zhǔn)的ELF格式文件。該文件格式通用性廣、可拓展性強(qiáng),對arm體系編譯器有很好的支持。通過設(shè)置恰當(dāng)?shù)木幾g和鏈接參數(shù),生成可重定位位置無關(guān)代碼[56]。

    實(shí)現(xiàn)過程中主要解決如下問題:①解決編譯問題,好的外部程序必須是位置無關(guān)代碼,可以加載到任意內(nèi)存地址運(yùn)行,而燒錄程序要額外生成一個符號表,以便動態(tài)鏈接;②操作系統(tǒng)通過文件系統(tǒng)讀取文件,能夠加載識別配置文件和程序;③加載模塊加載外部程序需進(jìn)行鏈接,使得操作系統(tǒng)能夠找到外部程序入口,外部程序能夠調(diào)用系統(tǒng)函數(shù),操作軟硬件資源;④解決外部任務(wù)之間的通訊。

    2.1編譯器與鏈接器參數(shù)

    采用KeilIDE,默認(rèn)編譯器為armcc,為了方便鏈接,使用編譯器宏命令導(dǎo)出符號表,以便下一步鏈接。

    此處參考armcc手冊,使用宏命令建立一個結(jié)構(gòu)數(shù)組,存儲符號和地址信息。

    struct my_module_symtab

    {

    void *addr;

    const char *name;

    };,

    #define SYM_EXPORT(symbol)

    const char __sym_##symbol##_name[] SECTION(".rodata.name") = #symbol;

    const struct my_module_symtab __sym_##symbol SECTION("SymTab")=

    {

    (void *)&symbol,

    _sym_##symbol##_name

    }

    存儲符號名和符號地址。其中,SECTION()命令是armcc專屬宏指令,編譯時將該變量放在指定Seciton。__sym_##symbol##_name創(chuàng)建一個字符串常量存儲符號名,struct my_module_symtab用來存儲該符號名和符號地址。

    由于該結(jié)構(gòu)變量都存儲在SECTION("SymTa b")中,因此編譯預(yù)處理后將順序分布在SymTabsection中。通過armcc的宏&MySymTabMYMMYMBase訪問section的首元素,&MySymTabMYMMYMLimit訪問尾元素,像數(shù)組一樣操作符號表。SYM_EXPORT()用來輸出變量和符號,提供重定位時的參考信息。

    外部程序選用armnoneeabigcc作為交叉工具鏈。編譯器參數(shù)如表1所示。endprint

    該命令將編譯出所需的ELF文件格式,其中包含重定位符號表,對應(yīng)已經(jīng)生成好的符號表,進(jìn)行重定位[7]。

    2.2外部程序加載到內(nèi)存

    在片外Flash上建立fatfs文件系統(tǒng)。Fatfs系統(tǒng)通過usb接口傳輸ELF文件。其中配置文件選項如表3所示。

    系統(tǒng)啟動后加載文件系統(tǒng),等基本驅(qū)動初始化完畢后,加載配置文件。配置文件名固定,程序名不固定。根據(jù)配置文件的加載程序數(shù)量,依次對任務(wù)進(jìn)行加載,創(chuàng)建新任務(wù)。需要配置好任務(wù)優(yōu)先級、任務(wù)周期及任務(wù)棧大小,還有可選的傳入?yún)?shù),最后進(jìn)入OSStart()啟動任務(wù)循環(huán)。Usb庫和文件系統(tǒng)都是移植現(xiàn)成的,配置文件為方便使用采取JSON格式,JSON解析使用cJSON庫。

    2.3ELF加載器實(shí)現(xiàn)

    操作系統(tǒng)加載外部ELF文件到內(nèi)存后需解析ELF文件,將其中的有用信息提取出來,主要是代碼段、數(shù)據(jù)段及重定位表。重定位表的作用是指出需要重定位項在ELF文件的偏移位置,根據(jù)重定位段和符號表進(jìn)行重定位操作,最后將程序的入口交給操作系統(tǒng),再由操作系統(tǒng)創(chuàng)建新任務(wù)啟動運(yùn)行,此時成功加載了一個外部程序[78]。

    2.3.1ELF文件頭解析

    解析ELF header,加載到內(nèi)存,編譯出來的文件是Shared Object File,也即Type字段為DYN,ELF Header檢查正常進(jìn)入下一步[9]。根據(jù)ELF Header后緊跟SectionHeader和SectionHeaderStringTable,其中給出了ELF文件中所包含內(nèi)容的具體信息。使用readELF工具打印出ELFheader,其各Section如圖1所示。

    圖1ELFSectionList

    其中,.rel.dyn中包含了重定位信息,.symtab記錄了符號表。通過Section Header中offset定位各表,即可在下一步重定位操作[10]。

    2.3.2重定位

    重定位之前,需要先將代碼和數(shù)據(jù)加載到內(nèi)存。.text中包含代碼、.rodata只讀數(shù)據(jù)段、.data數(shù)據(jù)段,.bss是未初始化全局變量數(shù)據(jù)段,需要預(yù)留出足夠空間。.symtab和.strtab及.symtab,.rel.dyn用于重定位,工作完成后可丟棄。

    根據(jù)重定位表中信息,確定重定位類型,從而確定重定位地址計算方式。重定位項結(jié)構(gòu)體[11]如下:

    struct ELF32_rel {

    ELF32_Addr r_offset;

    ELF32_Word r_info;//SYMBOL<<8+TYPE&0xff.

    };

    //r_offset是需要進(jìn)行重定位的地址;

    //r_info包含了重定位項的基本信息;

    //SYMBOL是重定位以后需要指向的符號;

    //TYPE是重定位的類型

    重定位過程就是重定位表的遍歷,依次將每個符號地址進(jìn)行重定位[12]。

    重定位類型很多,但大多數(shù)很少出現(xiàn)。通過對編譯器參數(shù)的設(shè)置,使得產(chǎn)生的重定位類型簡單且容易定位。大多為R_ARM_GLOB_DAT、R_RAM_ABS32,及R_ARM_REL32型[1314]。

    假設(shè)addr為加載到內(nèi)存后的符號指向地址,sym_val為上述結(jié)構(gòu)體中的r_offset,則3種類型的定位方式如表4所示。

    2.3.3任務(wù)創(chuàng)建

    重定位完成后,調(diào)用操作系統(tǒng)創(chuàng)建OS_TCB和CPU_STK并將資源分配給新任務(wù),同時外部程序?qū)⑷肟诮唤o操作系統(tǒng)以便創(chuàng)建新任務(wù)。操作系統(tǒng)入口在鏈接時已經(jīng)指定好main函數(shù),ELF header中包含EntryPointAddress即為程序入口。其中,OS_PRIO、CPU_STK_SIZE、OS_TICK、Argument由配置文件指定[15]。

    OSTaskCreate((OS_TCB*)&MyAppTCB,/* Create the start task*/

    (CPU_CHAR*)"Exteral Program1",

    (OS_TASK_PTR ) EntryPointAddress,

    (void*) Argument,

    (OS_PRIO) MyAppPriority(8),

    (CPU_STK*)&MyAppStk[0],

    (CPU_STK_SIZE)MY_APP_STK_SIZE(512) / 10,

    (CPU_STK_SIZE) MY_APP_STK_SIZE,

    (OS_MSG_QTY) 5u,

    (OS_TICK) MyTick(1000),

    (void*) 0,

    (OS_OPT)(OS_OPT_TASK_STK_CHK | OS_OPT_TASK_STK_CLR),

    (OS_ERR*)&err);

    2.4任務(wù)通訊

    任務(wù)間通訊分為兩種情況:原生程序和外部程序間通訊、外部程序和外部程序間通訊。已知原生程序之間通訊通過全局變量實(shí)現(xiàn),通過信號量或互斥量防止競爭。加載外部程序時,如果符號表中有同名的全局變量,會重定位到原生程序中的同名全局變量;如果沒有,則為全局變量分配獨(dú)立內(nèi)存,并將其名稱和地址加入到符號表中,由此實(shí)現(xiàn)外部程序和原生程序之間的通訊。

    外部和外部程序之間,可以通過約定好的全局變量進(jìn)行通訊,但這樣不夠靈活;也可通過調(diào)用系統(tǒng)函數(shù)實(shí)現(xiàn)通訊,使用操作系統(tǒng)提供消息機(jī)制。從任務(wù)抽象來看,原生任務(wù)和外部加載任務(wù)并無不同,一律通過調(diào)用系統(tǒng)函數(shù)接口、消息隊列發(fā)送消息,信號量、事件標(biāo)志組實(shí)現(xiàn)同步。endprint

    3內(nèi)存改進(jìn)

    在小型嵌入式設(shè)備中,內(nèi)存是一種緊缺資源,因此多數(shù)程序內(nèi)存在使用上都是精打細(xì)算,早在編程階段就已規(guī)劃好。但對于動態(tài)加載的外部程序,內(nèi)存浪費(fèi)十分嚴(yán)重。一個程序運(yùn)行只需要代碼段和數(shù)據(jù)段即可,但實(shí)際過程中把整個ELF文件都加載進(jìn)了內(nèi)存,ELF文件頭、重定位表等在加載后即失去作用,屬于冗余信息。

    嵌入式燒錄好的代碼在ROM上運(yùn)行,但外部程序代碼卻在RAM上運(yùn)行,實(shí)際上是對RAM的浪費(fèi)?,F(xiàn)代硬件的發(fā)展已經(jīng)支持直接對片上Flash的編程,片上Flash可以直接運(yùn)行代碼。為了節(jié)省內(nèi)存,提高內(nèi)存利用率,本文對片上Flash地址空間進(jìn)行管理,在重定位時直接將代碼段重定位到片上Flash的地址,數(shù)據(jù)保留在RAM中,使得二者像原生代碼一樣分離,達(dá)到了節(jié)省內(nèi)存的目的。甚至對數(shù)據(jù)段也可以規(guī)劃管理,對于相對固定的參數(shù)類數(shù)據(jù)燒入Flash,而變量保留在內(nèi)存里,達(dá)到對內(nèi)存最大效率的利用。已知單地址空間,ROM和RAM只是地址分布不同,因此改進(jìn)地址分布。ROM中的代碼地址重定位指向RAM,地址分布如圖2所示。

    圖2地址分布

    4測試運(yùn)行

    為測試驗(yàn)證軟件模塊是否正常運(yùn)行,基于STM32F103平臺,設(shè)計不同的外部任務(wù)進(jìn)行加載測試。嵌入式平臺上最通用的調(diào)試方式是通過LED燈指示程序運(yùn)行狀況。將信號燈任務(wù)程序編譯為外部程序進(jìn)行加載,該程序?qū)⒄{(diào)用系統(tǒng)函數(shù)和驅(qū)動接口,對LED進(jìn)行點(diǎn)亮、閃爍、延時、流水燈等操作。借助該測試樣例成功驗(yàn)證功能,包括外部程序成功加載、調(diào)用系統(tǒng)函數(shù)及多個外部程序之間的通訊。

    5結(jié)語

    本文參考Linux動態(tài)加載庫原理,實(shí)現(xiàn)ELF文件動態(tài)加載,使得μcosIII支持外部程序的動態(tài)加載,提高操作系統(tǒng)的可拓展性和靈活性。將代碼段和數(shù)據(jù)段分離,盡可能使外部加載代碼類似于原生代碼的方式執(zhí)行,對動態(tài)加載內(nèi)存開銷大的問題作出改進(jìn),通過配置文件提高靈活性,使該技術(shù)在嵌入式領(lǐng)域具備實(shí)用價值。不足之處是支持多個任務(wù)模塊之間的通信,但依賴加載順序,對Static型不支持,在編碼過程中需注意Static變量使用,采用全局變量進(jìn)行替代。本文闡述的動態(tài)軟件模塊機(jī)制有待進(jìn)一步完善。

    參考文獻(xiàn)參考文獻(xiàn):

    [1]張丹.嵌入式系統(tǒng)引導(dǎo)加載程序分析[J].軟件,2012,7(9):129132.

    [2]李忠儒.嵌入式系統(tǒng)的發(fā)展趨勢[J].辦公自動化,2011,35(11):3537.

    [3]王婧怡,應(yīng)忍冬,周玲玲.微內(nèi)核系統(tǒng)直接加載文件機(jī)制的設(shè)計與研究[J].信息技術(shù),2009,15(10):7376

    [4]RANDALLHYDE.深入理解計算機(jī)[M].韓海東,譯.北京:電子工業(yè)出版社,2006:295300.

    [5]陳紫卿,孫昕.FreeRTOS動態(tài)軟件模塊[J].計算機(jī)與現(xiàn)代化,2016,8(6):2428.

    [6]鄭映,張祖平.基于ARM+μCOSII的程序動態(tài)加載實(shí)現(xiàn)方案[J].艦船電子工程,2009,29(5):8890.

    [7]RICHARD M STALLMAN,THE GCC DEVELOPER COMMUNITY.Using the GNU compiler collection (GNU tools for ARM embedded processors)[M].GNU Press,2016.

    [8]楊偉,羅蕾.嵌入式系統(tǒng)中的模塊動態(tài)加載技術(shù)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015,23(11):810

    [9]李培亮,李振鵬.嵌入式單地址空間操作系統(tǒng)動態(tài)加載的研究[J].電子測試,2010,8(7):2327.

    [10]朱裕祿.系統(tǒng)下的文件分析[J].電腦知識與技術(shù)學(xué)術(shù)交流,2006,17(26):6466

    [11]何先波,唐寧九,呂方,等.文件格式及應(yīng)用[J].計算機(jī)應(yīng)用研究,2001,18(11):144145

    [12]袁鴻野.基于嵌入式操作系統(tǒng)的動態(tài)鏈接器設(shè)計與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.

    [13]寧濤.面向嵌入式應(yīng)用的動態(tài)加載機(jī)制研究.[D]重慶:重慶大學(xué),2008.

    [14]TOOL INTERFACE STANDARD(TIS).Executable and linking format (ELF) specification.version1.2[S].2010.

    [15]JEAN J.Labrosse μC/OSIII reference manual[M].US:Micriμm Press,2015.

    責(zé)任編輯(責(zé)任編輯:孫娟)endprint

    国国产精品蜜臀av免费| av国产久精品久网站免费入址| 亚洲av成人精品一二三区| 国产精品1区2区在线观看.| 精品久久久久久久久久久久久| 国产在视频线精品| 亚州av有码| 国产乱人视频| 久久久久久久久久久免费av| 可以在线观看毛片的网站| 看黄色毛片网站| 国产探花极品一区二区| 不卡视频在线观看欧美| 亚洲精华国产精华液的使用体验| 超碰av人人做人人爽久久| 国内少妇人妻偷人精品xxx网站| 日日摸夜夜添夜夜添av毛片| 亚洲av不卡在线观看| 免费观看的影片在线观看| 99九九线精品视频在线观看视频| 久久久久精品久久久久真实原创| 黄色日韩在线| 国产精品不卡视频一区二区| 高清在线视频一区二区三区| 日本黄色片子视频| 春色校园在线视频观看| 91久久精品国产一区二区三区| 3wmmmm亚洲av在线观看| 亚洲欧美一区二区三区黑人 | 久久99精品国语久久久| 欧美+日韩+精品| 免费少妇av软件| 男人狂女人下面高潮的视频| 一级二级三级毛片免费看| 看非洲黑人一级黄片| 亚洲一区高清亚洲精品| 青青草视频在线视频观看| 免费电影在线观看免费观看| 国产永久视频网站| 天天一区二区日本电影三级| a级一级毛片免费在线观看| 午夜精品国产一区二区电影 | 汤姆久久久久久久影院中文字幕 | 国产av在哪里看| 三级男女做爰猛烈吃奶摸视频| 亚洲精华国产精华液的使用体验| 国产精品伦人一区二区| 在线免费十八禁| 好男人视频免费观看在线| 丰满乱子伦码专区| 七月丁香在线播放| 久久久成人免费电影| 国产 一区精品| av.在线天堂| 国产伦在线观看视频一区| 黄色欧美视频在线观看| 蜜桃久久精品国产亚洲av| 韩国高清视频一区二区三区| 男人爽女人下面视频在线观看| 美女内射精品一级片tv| 嫩草影院精品99| 天堂√8在线中文| 色综合亚洲欧美另类图片| 汤姆久久久久久久影院中文字幕 | 黄片wwwwww| 男女边摸边吃奶| 久久久久久久久久久免费av| 高清视频免费观看一区二区 | 国产成人免费观看mmmm| 国产真实伦视频高清在线观看| 大香蕉久久网| 国产伦在线观看视频一区| 国产成人a区在线观看| 亚洲精品456在线播放app| 国产精品一区www在线观看| 午夜福利视频1000在线观看| 深爱激情五月婷婷| 最近最新中文字幕免费大全7| 少妇丰满av| 搡女人真爽免费视频火全软件| 国产精品三级大全| 亚洲欧美日韩卡通动漫| 两个人视频免费观看高清| 国产精品一区二区三区四区久久| 亚洲伊人久久精品综合| av又黄又爽大尺度在线免费看| 国国产精品蜜臀av免费| 性色avwww在线观看| 国产黄色小视频在线观看| 激情五月婷婷亚洲| 国产国拍精品亚洲av在线观看| 日韩制服骚丝袜av| 日韩伦理黄色片| 亚洲精品久久久久久婷婷小说| 国产av码专区亚洲av| 日本熟妇午夜| 午夜免费男女啪啪视频观看| 精品一区二区三卡| 久久久a久久爽久久v久久| 极品少妇高潮喷水抽搐| 国产在线一区二区三区精| 国产精品久久久久久久久免| 直男gayav资源| 国产视频内射| 精品久久久久久久末码| 免费看美女性在线毛片视频| 亚洲国产欧美在线一区| 婷婷六月久久综合丁香| 国产午夜精品久久久久久一区二区三区| 身体一侧抽搐| av在线蜜桃| 久久久久久久久久久免费av| 欧美激情久久久久久爽电影| 欧美激情国产日韩精品一区| 精品久久国产蜜桃| 天堂影院成人在线观看| 青春草视频在线免费观看| 午夜视频国产福利| 成年女人在线观看亚洲视频 | 99热全是精品| 国产精品嫩草影院av在线观看| 一二三四中文在线观看免费高清| 欧美一区二区亚洲| 国产黄色小视频在线观看| 舔av片在线| 久久久精品欧美日韩精品| xxx大片免费视频| 一区二区三区四区激情视频| 人妻少妇偷人精品九色| 精品久久久精品久久久| 久99久视频精品免费| 插阴视频在线观看视频| 两个人视频免费观看高清| 国产av国产精品国产| 国产av国产精品国产| 久久6这里有精品| 国产黄色小视频在线观看| 久久久国产一区二区| 国产黄a三级三级三级人| eeuss影院久久| 日韩av不卡免费在线播放| 成人毛片a级毛片在线播放| 日韩av在线免费看完整版不卡| 精品国产一区二区三区久久久樱花 | 亚洲欧洲日产国产| 天堂√8在线中文| 国产精品久久久久久精品电影| av播播在线观看一区| 亚洲精品久久久久久婷婷小说| 亚洲激情五月婷婷啪啪| 国产乱人视频| 黄色日韩在线| 美女脱内裤让男人舔精品视频| 成人毛片60女人毛片免费| 久久精品国产自在天天线| 国产精品福利在线免费观看| 国产黄色免费在线视频| 日韩一本色道免费dvd| 亚洲精品亚洲一区二区| 久久久亚洲精品成人影院| 成人毛片a级毛片在线播放| 嫩草影院新地址| 亚洲av成人av| 欧美日韩视频高清一区二区三区二| 一边亲一边摸免费视频| 精品久久国产蜜桃| 搡老妇女老女人老熟妇| 少妇猛男粗大的猛烈进出视频 | 国产成人免费观看mmmm| 亚洲av成人精品一二三区| 免费av毛片视频| 美女黄网站色视频| 国产成人福利小说| 国产精品日韩av在线免费观看| 综合色av麻豆| 亚洲国产欧美在线一区| 精品午夜福利在线看| 久久人人爽人人爽人人片va| 一边亲一边摸免费视频| 精品一区在线观看国产| 国产精品女同一区二区软件| 午夜免费激情av| 久久久久网色| 亚洲人与动物交配视频| 国产69精品久久久久777片| 亚洲av电影不卡..在线观看| 十八禁国产超污无遮挡网站| 一级毛片aaaaaa免费看小| 少妇的逼水好多| 久久久久久久久久成人| 九草在线视频观看| 国产精品不卡视频一区二区| 国产精品一区二区三区四区免费观看| 国产成人精品福利久久| av线在线观看网站| videos熟女内射| 国产精品麻豆人妻色哟哟久久 | a级一级毛片免费在线观看| 亚洲精品456在线播放app| 久久精品国产亚洲网站| 97精品久久久久久久久久精品| 在线免费观看不下载黄p国产| 亚洲精品456在线播放app| 色尼玛亚洲综合影院| 乱码一卡2卡4卡精品| 国产 一区 欧美 日韩| 黄色欧美视频在线观看| 成年女人在线观看亚洲视频 | 亚洲最大成人手机在线| 久久精品夜色国产| 日本黄色片子视频| 国产大屁股一区二区在线视频| 夜夜爽夜夜爽视频| 可以在线观看毛片的网站| kizo精华| 久久精品国产亚洲av涩爱| 黄色配什么色好看| 欧美日韩一区二区视频在线观看视频在线 | 中国国产av一级| 啦啦啦中文免费视频观看日本| 嫩草影院入口| 午夜精品在线福利| 人妻系列 视频| 蜜桃亚洲精品一区二区三区| 欧美高清性xxxxhd video| 免费黄频网站在线观看国产| 观看免费一级毛片| 联通29元200g的流量卡| 国产伦一二天堂av在线观看| 国产伦在线观看视频一区| 免费大片黄手机在线观看| 最近中文字幕2019免费版| 国内少妇人妻偷人精品xxx网站| 国产三级在线视频| 国内揄拍国产精品人妻在线| 黑人高潮一二区| 精品午夜福利在线看| 激情 狠狠 欧美| 69人妻影院| 欧美zozozo另类| 美女cb高潮喷水在线观看| 99热全是精品| 极品教师在线视频| 成年女人在线观看亚洲视频 | 夜夜爽夜夜爽视频| 久久久久久久久久成人| 国产av码专区亚洲av| 国产爱豆传媒在线观看| 男人舔女人下体高潮全视频| 我的女老师完整版在线观看| 国产一区二区亚洲精品在线观看| 美女xxoo啪啪120秒动态图| 69av精品久久久久久| av女优亚洲男人天堂| 日本黄色片子视频| 成人美女网站在线观看视频| 91狼人影院| 成年女人看的毛片在线观看| 人人妻人人澡欧美一区二区| 久久这里只有精品中国| 男女国产视频网站| 成人午夜高清在线视频| 午夜福利在线观看吧| 成人无遮挡网站| 亚洲图色成人| 国产男女超爽视频在线观看| 亚洲精品久久久久久婷婷小说| 久久精品久久久久久噜噜老黄| 国产精品人妻久久久影院| 校园人妻丝袜中文字幕| 午夜精品在线福利| 国产v大片淫在线免费观看| 又爽又黄a免费视频| a级一级毛片免费在线观看| 国产成人精品福利久久| 男的添女的下面高潮视频| 亚洲欧美成人综合另类久久久| 少妇的逼好多水| 亚洲国产精品成人综合色| 熟女人妻精品中文字幕| 成人亚洲精品av一区二区| 久久久欧美国产精品| 亚洲欧美精品自产自拍| 深夜a级毛片| 亚洲av.av天堂| 久久99热这里只频精品6学生| 丰满少妇做爰视频| 一级二级三级毛片免费看| 亚洲国产最新在线播放| 欧美 日韩 精品 国产| 啦啦啦韩国在线观看视频| 精品酒店卫生间| 男女边摸边吃奶| 一区二区三区高清视频在线| 欧美日韩综合久久久久久| 久久久成人免费电影| 日本av手机在线免费观看| 毛片女人毛片| 亚洲精品成人av观看孕妇| av在线老鸭窝| 肉色欧美久久久久久久蜜桃 | 在线观看av片永久免费下载| 免费观看a级毛片全部| 国产高清有码在线观看视频| 免费黄网站久久成人精品| 午夜福利在线观看免费完整高清在| 国产精品无大码| 一边亲一边摸免费视频| 日日摸夜夜添夜夜爱| 免费在线观看成人毛片| 亚洲人成网站高清观看| 久久久久国产网址| 99久久人妻综合| 尤物成人国产欧美一区二区三区| 久久亚洲国产成人精品v| 日本-黄色视频高清免费观看| 日韩伦理黄色片| a级毛片免费高清观看在线播放| 婷婷色综合www| 极品教师在线视频| 日韩在线高清观看一区二区三区| 纵有疾风起免费观看全集完整版 | 国产视频首页在线观看| 亚洲精品国产av成人精品| 国产v大片淫在线免费观看| 国产在线男女| 国产午夜福利久久久久久| 亚洲国产av新网站| av一本久久久久| 国产亚洲精品久久久com| 内地一区二区视频在线| 国产精品不卡视频一区二区| 久久久亚洲精品成人影院| a级毛片免费高清观看在线播放| 国产黄色视频一区二区在线观看| 中国美白少妇内射xxxbb| 久久久久久九九精品二区国产| 久久久久久久久大av| 美女内射精品一级片tv| 久久这里有精品视频免费| 免费大片黄手机在线观看| av播播在线观看一区| 国产精品爽爽va在线观看网站| 能在线免费看毛片的网站| 亚洲精品国产av蜜桃| 欧美+日韩+精品| 国产精品一区二区性色av| 欧美bdsm另类| 亚洲最大成人av| 直男gayav资源| 十八禁网站网址无遮挡 | 亚洲精品亚洲一区二区| 亚洲最大成人av| 18禁动态无遮挡网站| 不卡视频在线观看欧美| 91午夜精品亚洲一区二区三区| 久久久久久久午夜电影| 欧美3d第一页| av在线亚洲专区| 日本黄大片高清| 久久这里只有精品中国| 日韩av在线大香蕉| 嘟嘟电影网在线观看| 丝袜喷水一区| 精品一区二区三区人妻视频| 久久精品夜夜夜夜夜久久蜜豆| 99九九线精品视频在线观看视频| 午夜激情福利司机影院| 青春草视频在线免费观看| 成人毛片60女人毛片免费| 亚州av有码| 午夜免费激情av| 日本三级黄在线观看| 国产成人精品福利久久| 精品久久久久久久久亚洲| 一本久久精品| 联通29元200g的流量卡| 亚洲精品aⅴ在线观看| 日韩av免费高清视频| 国产人妻一区二区三区在| 国产免费又黄又爽又色| 美女脱内裤让男人舔精品视频| 99热网站在线观看| 毛片女人毛片| 可以在线观看毛片的网站| 天天躁夜夜躁狠狠久久av| a级毛片免费高清观看在线播放| 国产精品嫩草影院av在线观看| 中文字幕久久专区| 纵有疾风起免费观看全集完整版 | 亚洲精品日本国产第一区| 国产淫语在线视频| 亚洲精品视频女| 久久精品综合一区二区三区| 干丝袜人妻中文字幕| 精品酒店卫生间| 国产成人91sexporn| 一本久久精品| 啦啦啦韩国在线观看视频| 午夜福利网站1000一区二区三区| 亚洲自拍偷在线| 亚洲欧美日韩卡通动漫| 久99久视频精品免费| 久久久a久久爽久久v久久| 午夜福利网站1000一区二区三区| 成人特级av手机在线观看| 韩国av在线不卡| 久久精品国产亚洲av涩爱| 亚洲美女视频黄频| 在现免费观看毛片| 亚洲在线观看片| 久久热精品热| 女人十人毛片免费观看3o分钟| 国产 一区 欧美 日韩| 1000部很黄的大片| 国产视频首页在线观看| 女人被狂操c到高潮| www.av在线官网国产| www.色视频.com| 日本欧美国产在线视频| 日韩一区二区视频免费看| 国内少妇人妻偷人精品xxx网站| 嫩草影院精品99| 久久久久久久国产电影| 日韩av不卡免费在线播放| 亚洲精品国产av成人精品| 久久久精品免费免费高清| 亚洲精品,欧美精品| 69av精品久久久久久| 国产综合懂色| 天天躁夜夜躁狠狠久久av| 日本免费a在线| 丝瓜视频免费看黄片| 大陆偷拍与自拍| 国产成人福利小说| 一级av片app| 成人亚洲欧美一区二区av| 国产成人精品婷婷| 色视频www国产| 2022亚洲国产成人精品| 国产黄a三级三级三级人| 三级国产精品片| 欧美不卡视频在线免费观看| 黑人高潮一二区| 少妇熟女欧美另类| 伦理电影大哥的女人| 最近最新中文字幕免费大全7| 国产美女午夜福利| 国产白丝娇喘喷水9色精品| 久久人人爽人人爽人人片va| 久久精品久久久久久久性| 一级毛片黄色毛片免费观看视频| 成人特级av手机在线观看| 18禁动态无遮挡网站| 51国产日韩欧美| 水蜜桃什么品种好| 亚洲欧美日韩东京热| 亚洲av.av天堂| 少妇熟女欧美另类| 一个人看的www免费观看视频| 一级a做视频免费观看| 中文字幕亚洲精品专区| 亚洲电影在线观看av| 欧美日韩视频高清一区二区三区二| 极品少妇高潮喷水抽搐| 久久99蜜桃精品久久| 18禁在线无遮挡免费观看视频| 可以在线观看毛片的网站| 街头女战士在线观看网站| 美女内射精品一级片tv| 国产精品麻豆人妻色哟哟久久 | 最近手机中文字幕大全| 天天一区二区日本电影三级| 噜噜噜噜噜久久久久久91| 99久久精品一区二区三区| 日本猛色少妇xxxxx猛交久久| 亚洲精品一区蜜桃| 国产精品国产三级专区第一集| 亚洲高清免费不卡视频| 人人妻人人看人人澡| 亚洲怡红院男人天堂| 51国产日韩欧美| 色5月婷婷丁香| 亚洲一级一片aⅴ在线观看| 精品欧美国产一区二区三| 人妻制服诱惑在线中文字幕| 国产男人的电影天堂91| 免费在线观看成人毛片| 日本免费在线观看一区| 天天躁日日操中文字幕| 国产成人精品福利久久| 一区二区三区四区激情视频| 少妇熟女aⅴ在线视频| 久久精品久久精品一区二区三区| 亚洲无线观看免费| 免费看美女性在线毛片视频| 少妇的逼水好多| 免费av毛片视频| 韩国高清视频一区二区三区| 欧美xxⅹ黑人| 69av精品久久久久久| 久久久精品免费免费高清| 777米奇影视久久| 极品少妇高潮喷水抽搐| www.色视频.com| 超碰av人人做人人爽久久| 人妻系列 视频| 欧美激情国产日韩精品一区| 国产国拍精品亚洲av在线观看| 久久精品国产鲁丝片午夜精品| 久久99精品国语久久久| 国产亚洲精品久久久com| 免费大片黄手机在线观看| 综合色av麻豆| 国产乱人偷精品视频| 国产真实伦视频高清在线观看| 男人和女人高潮做爰伦理| 免费av不卡在线播放| 国产综合精华液| 国产伦精品一区二区三区四那| 亚洲av男天堂| 如何舔出高潮| 国产极品天堂在线| 精品欧美国产一区二区三| 免费av不卡在线播放| 国产黄片视频在线免费观看| 午夜免费男女啪啪视频观看| 丰满人妻一区二区三区视频av| 内地一区二区视频在线| 国产一区二区三区av在线| 亚洲欧美中文字幕日韩二区| 熟女电影av网| 日韩av在线大香蕉| 亚洲国产日韩欧美精品在线观看| 欧美精品国产亚洲| 国产综合懂色| eeuss影院久久| 国产69精品久久久久777片| 边亲边吃奶的免费视频| 亚洲婷婷狠狠爱综合网| 熟妇人妻久久中文字幕3abv| 97在线视频观看| 国产日韩欧美在线精品| 亚洲综合色惰| 亚洲av在线观看美女高潮| 国产 一区精品| 久久精品夜色国产| 亚洲精品aⅴ在线观看| 一级毛片我不卡| 亚洲经典国产精华液单| 天美传媒精品一区二区| 免费看不卡的av| 麻豆国产97在线/欧美| 国产色爽女视频免费观看| 日韩不卡一区二区三区视频在线| 欧美3d第一页| freevideosex欧美| 亚洲成人久久爱视频| 天堂中文最新版在线下载 | 欧美日韩在线观看h| 久久精品夜色国产| 久久久久久九九精品二区国产| 春色校园在线视频观看| 波野结衣二区三区在线| 两个人视频免费观看高清| 亚洲性久久影院| 我要看日韩黄色一级片| 99久久精品一区二区三区| 又粗又硬又长又爽又黄的视频| 又爽又黄a免费视频| 日韩制服骚丝袜av| 熟妇人妻不卡中文字幕| 国内揄拍国产精品人妻在线| 国产一级毛片在线| 国产午夜精品久久久久久一区二区三区| 日韩亚洲欧美综合| 中文资源天堂在线| 国产精品爽爽va在线观看网站| 老女人水多毛片| 久久99热这里只有精品18| 蜜桃久久精品国产亚洲av| 久久精品国产自在天天线| 国产v大片淫在线免费观看| 黄片无遮挡物在线观看| 久久人人爽人人片av| 国产老妇女一区| 成人无遮挡网站| 欧美最新免费一区二区三区| 性插视频无遮挡在线免费观看| 国产精品.久久久| 国产精品久久久久久av不卡| 免费无遮挡裸体视频| 性插视频无遮挡在线免费观看| 三级经典国产精品| 美女内射精品一级片tv| 熟女电影av网| 国产精品嫩草影院av在线观看| 国产高潮美女av| 国产老妇伦熟女老妇高清| 国产精品综合久久久久久久免费| 亚洲成人久久爱视频| 国产精品国产三级专区第一集| 三级国产精品片| av免费观看日本| 亚洲av不卡在线观看| 黄片无遮挡物在线观看| 99久国产av精品| 男人舔女人下体高潮全视频| av线在线观看网站| 日日撸夜夜添| 免费少妇av软件| 亚洲av福利一区| 啦啦啦韩国在线观看视频| 久久久久久国产a免费观看| 在线播放无遮挡|