• <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| 99riav亚洲国产免费| 日韩有码中文字幕| 亚洲 欧美一区二区三区| 色老头精品视频在线观看| 午夜视频精品福利| 免费在线观看完整版高清| 久久久久久久精品吃奶| 最新在线观看一区二区三区| 伦理电影免费视频| 2018国产大陆天天弄谢| 欧美精品av麻豆av| 精品久久久久久电影网| 18禁裸乳无遮挡动漫免费视频| 精品欧美一区二区三区在线| √禁漫天堂资源中文www| 搡老乐熟女国产| 啦啦啦视频在线资源免费观看| 亚洲av片天天在线观看| 亚洲中文日韩欧美视频| 免费日韩欧美在线观看| 在线观看66精品国产| 999久久久精品免费观看国产| 91字幕亚洲| 国产深夜福利视频在线观看| 欧美+亚洲+日韩+国产| 亚洲国产欧美网| 欧美精品av麻豆av| 性少妇av在线| 啪啪无遮挡十八禁网站| 18禁美女被吸乳视频| 男女床上黄色一级片免费看| 他把我摸到了高潮在线观看 | 捣出白浆h1v1| 亚洲成人国产一区在线观看| 精品人妻熟女毛片av久久网站| 色94色欧美一区二区| 中文字幕人妻丝袜制服| 免费看十八禁软件| 女警被强在线播放| 777米奇影视久久| 欧美大码av| 中文字幕人妻丝袜一区二区| 国产三级黄色录像| 国产福利在线免费观看视频| 亚洲av欧美aⅴ国产| 18在线观看网站| 丰满人妻熟妇乱又伦精品不卡| 欧美 亚洲 国产 日韩一| www.自偷自拍.com| 国产免费现黄频在线看| 性少妇av在线| 欧美激情久久久久久爽电影 | 欧美成人免费av一区二区三区 | 亚洲专区国产一区二区| 亚洲视频免费观看视频| 视频在线观看一区二区三区| 久久人妻av系列| 国产视频一区二区在线看| 欧美变态另类bdsm刘玥| 欧美精品一区二区免费开放| 久久国产亚洲av麻豆专区| 黄色成人免费大全| 亚洲精品一二三| 视频在线观看一区二区三区| 国产一区二区 视频在线| 麻豆乱淫一区二区| 热99久久久久精品小说推荐| 久久性视频一级片| 窝窝影院91人妻| 国产一区二区三区视频了| 80岁老熟妇乱子伦牲交| 国产亚洲欧美在线一区二区| 日韩视频一区二区在线观看| 麻豆av在线久日| √禁漫天堂资源中文www| 欧美精品亚洲一区二区| 国产免费av片在线观看野外av| 夜夜爽天天搞| 我的亚洲天堂| av天堂在线播放| 亚洲性夜色夜夜综合| 极品人妻少妇av视频| 热re99久久国产66热| 91字幕亚洲| 性高湖久久久久久久久免费观看| 日本vs欧美在线观看视频| 亚洲国产欧美网| 亚洲少妇的诱惑av| 亚洲一码二码三码区别大吗| 高清在线国产一区| 精品一区二区三区视频在线观看免费 | 这个男人来自地球电影免费观看| 免费观看a级毛片全部| 成人手机av| 男女边摸边吃奶| 国产成人av教育| 婷婷丁香在线五月| 黄色a级毛片大全视频| 在线十欧美十亚洲十日本专区| 悠悠久久av| 80岁老熟妇乱子伦牲交| 亚洲人成77777在线视频| 国产精品 国内视频| 18禁黄网站禁片午夜丰满| 黑人猛操日本美女一级片| 色播在线永久视频| 亚洲欧美激情在线| 欧美av亚洲av综合av国产av| 十八禁网站网址无遮挡| 日本wwww免费看| 女人爽到高潮嗷嗷叫在线视频| 国产在线观看jvid| 人成视频在线观看免费观看| 黄色丝袜av网址大全| 一本久久精品| 黄色成人免费大全| 男男h啪啪无遮挡| 一本大道久久a久久精品| 一边摸一边抽搐一进一出视频| 水蜜桃什么品种好| 国产精品99久久99久久久不卡| 亚洲色图av天堂| 亚洲熟女毛片儿| 国产视频一区二区在线看| 免费看a级黄色片| 国产主播在线观看一区二区| 久久中文字幕人妻熟女| 久久性视频一级片| 亚洲第一欧美日韩一区二区三区 | 久久人人爽av亚洲精品天堂| 五月天丁香电影| 亚洲精品在线观看二区| 天堂动漫精品| 国产黄色免费在线视频| 成人国语在线视频| 亚洲精品av麻豆狂野| 国产视频一区二区在线看| 国产精品香港三级国产av潘金莲| 嫁个100分男人电影在线观看| 色视频在线一区二区三区| 在线亚洲精品国产二区图片欧美| 黄频高清免费视频| 欧美久久黑人一区二区| 国产精品麻豆人妻色哟哟久久| 人成视频在线观看免费观看| 久久国产精品人妻蜜桃| av线在线观看网站| 99riav亚洲国产免费| 窝窝影院91人妻| 精品亚洲成国产av| 一区二区三区精品91| 日日夜夜操网爽| 国产男靠女视频免费网站| 亚洲国产精品一区二区三区在线| 久久午夜综合久久蜜桃| 免费黄频网站在线观看国产| 国产av又大| 男男h啪啪无遮挡| 欧美在线黄色| 日韩大码丰满熟妇| 又黄又粗又硬又大视频| 国产又色又爽无遮挡免费看| 国产精品自产拍在线观看55亚洲 | 99国产极品粉嫩在线观看| 国产在线观看jvid| 天堂动漫精品| 国产成人影院久久av| av网站在线播放免费| 在线观看舔阴道视频| 亚洲国产成人一精品久久久| 十八禁网站免费在线| 亚洲人成电影观看| 国产激情久久老熟女| 老司机深夜福利视频在线观看| 99国产极品粉嫩在线观看| 欧美激情极品国产一区二区三区| 久久九九热精品免费| 高清在线国产一区| 老司机在亚洲福利影院| 免费少妇av软件| 麻豆av在线久日| 亚洲精品久久午夜乱码| 亚洲熟女毛片儿| 国产又爽黄色视频| 高清黄色对白视频在线免费看| 日韩中文字幕视频在线看片| 女人爽到高潮嗷嗷叫在线视频| 色在线成人网| 色94色欧美一区二区| 操美女的视频在线观看| 国产1区2区3区精品| 欧美国产精品va在线观看不卡| 女性被躁到高潮视频| 999久久久国产精品视频| 亚洲全国av大片| 亚洲专区中文字幕在线| 久久人人97超碰香蕉20202| 好男人电影高清在线观看| 黑人巨大精品欧美一区二区蜜桃| 国产亚洲精品第一综合不卡| 国产日韩欧美亚洲二区| 在线观看人妻少妇| 国产主播在线观看一区二区| 久久天躁狠狠躁夜夜2o2o| 高清毛片免费观看视频网站 | 超碰97精品在线观看| 黑人操中国人逼视频| 王馨瑶露胸无遮挡在线观看| 一本大道久久a久久精品| 欧美激情久久久久久爽电影 | 婷婷成人精品国产| 亚洲国产欧美日韩在线播放| 亚洲国产毛片av蜜桃av| 一二三四社区在线视频社区8| 麻豆av在线久日| 亚洲国产av影院在线观看| 成人影院久久| 亚洲中文日韩欧美视频| 亚洲熟女毛片儿| 捣出白浆h1v1| 99精品久久久久人妻精品| 精品一区二区三区av网在线观看 | 久久国产精品男人的天堂亚洲| 99精国产麻豆久久婷婷| 在线播放国产精品三级| 久久婷婷成人综合色麻豆| 大陆偷拍与自拍| 正在播放国产对白刺激| 国产野战对白在线观看| 波多野结衣一区麻豆| 亚洲自偷自拍图片 自拍| 深夜精品福利| 欧美另类亚洲清纯唯美| 精品亚洲成国产av| 国产极品粉嫩免费观看在线| 亚洲熟女毛片儿| 日韩欧美免费精品| 在线观看免费高清a一片| 一区福利在线观看| 亚洲成a人片在线一区二区| 午夜两性在线视频| 欧美在线一区亚洲| 亚洲欧美一区二区三区久久| 精品人妻熟女毛片av久久网站| 国产97色在线日韩免费| 日本黄色视频三级网站网址 | 久久精品国产99精品国产亚洲性色 | 日韩视频在线欧美| 免费不卡黄色视频| 飞空精品影院首页| 一区二区三区精品91| 超碰成人久久| 天天添夜夜摸| av国产精品久久久久影院| 精品视频人人做人人爽| 成人国语在线视频| 老熟妇仑乱视频hdxx| 国产精品 国内视频| 亚洲av成人一区二区三| 日本黄色日本黄色录像| 丰满迷人的少妇在线观看| 免费黄频网站在线观看国产| 久久久精品国产亚洲av高清涩受| 999久久久精品免费观看国产| 男女之事视频高清在线观看| 午夜福利视频精品| 一二三四社区在线视频社区8| 老司机福利观看| 好男人电影高清在线观看| 最新的欧美精品一区二区| 欧美日韩国产mv在线观看视频| 蜜桃在线观看..| 18禁裸乳无遮挡动漫免费视频| 丝袜在线中文字幕| 久久精品亚洲av国产电影网| 一二三四在线观看免费中文在| 精品国产一区二区三区久久久樱花| 黄片播放在线免费| 午夜福利一区二区在线看| 桃花免费在线播放| 久久精品国产a三级三级三级| 汤姆久久久久久久影院中文字幕| 免费日韩欧美在线观看| 一个人免费在线观看的高清视频| 国精品久久久久久国模美| 另类亚洲欧美激情| 国产精品免费大片| 国产一区有黄有色的免费视频| 69精品国产乱码久久久| 日韩中文字幕欧美一区二区| 久久久久国内视频| av电影中文网址| 国产一区二区三区综合在线观看| 丰满迷人的少妇在线观看| 欧美在线黄色| 日韩一卡2卡3卡4卡2021年| 在线观看免费视频日本深夜| 欧美精品人与动牲交sv欧美| 中文字幕精品免费在线观看视频| 日韩欧美一区视频在线观看| 亚洲色图 男人天堂 中文字幕| 一级毛片精品| 亚洲欧美色中文字幕在线| 国产精品久久久久久人妻精品电影 | 老司机亚洲免费影院| 久久精品aⅴ一区二区三区四区| cao死你这个sao货| 天堂8中文在线网| 亚洲精品在线美女| 久久人妻熟女aⅴ| 国产激情久久老熟女| 亚洲成人免费电影在线观看| 露出奶头的视频| 久久久久国产一级毛片高清牌| 欧美日韩av久久| 欧美老熟妇乱子伦牲交| 亚洲人成伊人成综合网2020| 国产精品98久久久久久宅男小说| 女性生殖器流出的白浆| 高清av免费在线| 国产一区二区三区视频了| 99国产精品一区二区蜜桃av | 在线观看舔阴道视频| av天堂在线播放| 亚洲成av片中文字幕在线观看| 亚洲性夜色夜夜综合| 女人精品久久久久毛片| 一本久久精品| 考比视频在线观看| 男女免费视频国产| 熟女少妇亚洲综合色aaa.| 9191精品国产免费久久| 韩国精品一区二区三区| 日韩熟女老妇一区二区性免费视频| 一本—道久久a久久精品蜜桃钙片| 王馨瑶露胸无遮挡在线观看| 自线自在国产av| 俄罗斯特黄特色一大片| 欧美成人免费av一区二区三区 | xxxhd国产人妻xxx| 自线自在国产av| 人成视频在线观看免费观看| 亚洲欧美日韩高清在线视频 | 亚洲国产av影院在线观看| 欧美日韩av久久| 国产精品.久久久| 成年女人毛片免费观看观看9 | 久久精品国产综合久久久| 久久毛片免费看一区二区三区| 国产成人av教育| 女性被躁到高潮视频| 亚洲久久久国产精品| 一级片'在线观看视频| 97在线人人人人妻| 免费观看a级毛片全部| 老熟妇乱子伦视频在线观看| 高清视频免费观看一区二区| 最新在线观看一区二区三区| 欧美精品啪啪一区二区三区| 一区二区日韩欧美中文字幕| 嫁个100分男人电影在线观看| 黄色a级毛片大全视频| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲五月婷婷丁香| 亚洲专区字幕在线| 亚洲,欧美精品.| 99久久精品国产亚洲精品| 麻豆乱淫一区二区| 丝袜美腿诱惑在线| 国产高清videossex| 新久久久久国产一级毛片| 汤姆久久久久久久影院中文字幕| 午夜福利视频精品| 另类亚洲欧美激情| 夜夜夜夜夜久久久久| 999久久久精品免费观看国产| 男女之事视频高清在线观看| 精品国内亚洲2022精品成人 | 亚洲成人国产一区在线观看| 91老司机精品| 欧美日本中文国产一区发布| 美女福利国产在线| 黄色视频,在线免费观看| 搡老熟女国产l中国老女人| 精品久久久久久久毛片微露脸| 亚洲午夜理论影院| 久久人妻熟女aⅴ| 国产精品熟女久久久久浪| 在线看a的网站| 国产老妇伦熟女老妇高清| 在线看a的网站| 欧美日韩av久久| 午夜福利在线观看吧| 女同久久另类99精品国产91| 久久精品亚洲av国产电影网| 久久久久久人人人人人| 色婷婷av一区二区三区视频| 亚洲第一av免费看| 男女高潮啪啪啪动态图| 午夜福利欧美成人| 亚洲伊人久久精品综合| 每晚都被弄得嗷嗷叫到高潮| 久久精品91无色码中文字幕| 色播在线永久视频| 免费在线观看完整版高清| aaaaa片日本免费| 一边摸一边做爽爽视频免费| 一夜夜www| 精品国内亚洲2022精品成人 | 老司机靠b影院| 亚洲国产欧美一区二区综合| 咕卡用的链子| 精品少妇黑人巨大在线播放| 久久久国产一区二区| 97在线人人人人妻| 欧美人与性动交α欧美精品济南到| 欧美日韩精品网址| 黑丝袜美女国产一区| 啦啦啦中文免费视频观看日本| 一区二区日韩欧美中文字幕| 亚洲免费av在线视频| av线在线观看网站| 777米奇影视久久| 国产高清激情床上av| 国产人伦9x9x在线观看| 欧美午夜高清在线| 可以免费在线观看a视频的电影网站| 日韩中文字幕欧美一区二区| 亚洲精品粉嫩美女一区| 少妇的丰满在线观看| 亚洲成人免费电影在线观看| 久久人妻福利社区极品人妻图片| 午夜免费鲁丝| 国产不卡一卡二| tocl精华| 免费在线观看视频国产中文字幕亚洲| 欧美黄色片欧美黄色片| 国产一区二区在线观看av| 不卡av一区二区三区| 国产成人系列免费观看| 91国产中文字幕| 午夜福利影视在线免费观看| 欧美国产精品va在线观看不卡| 在线观看免费视频网站a站| 久久午夜亚洲精品久久| 精品少妇内射三级| 老熟妇乱子伦视频在线观看| 黄色视频,在线免费观看| av国产精品久久久久影院| 午夜福利乱码中文字幕| av福利片在线| 麻豆乱淫一区二区| 日韩欧美免费精品| 精品国产乱子伦一区二区三区| 美女午夜性视频免费| 日本撒尿小便嘘嘘汇集6| 午夜视频精品福利| 麻豆国产av国片精品| 在线观看www视频免费| 成人黄色视频免费在线看| 妹子高潮喷水视频| 国产精品偷伦视频观看了| 激情在线观看视频在线高清 | av在线播放免费不卡| av片东京热男人的天堂| 午夜两性在线视频| 亚洲av第一区精品v没综合| 久久国产亚洲av麻豆专区| 亚洲成av片中文字幕在线观看| 亚洲国产av新网站| 妹子高潮喷水视频| 嫁个100分男人电影在线观看| 亚洲一区中文字幕在线| 精品国产一区二区三区久久久樱花| 色综合婷婷激情| 国产在线视频一区二区| 亚洲精品国产一区二区精华液| 天天影视国产精品| bbb黄色大片| 亚洲精品成人av观看孕妇| 国产亚洲精品久久久久5区| 黑人操中国人逼视频| 日本黄色日本黄色录像| 最新美女视频免费是黄的| 久久亚洲精品不卡| 大片电影免费在线观看免费| 欧美精品高潮呻吟av久久| 日本撒尿小便嘘嘘汇集6| 国产深夜福利视频在线观看| 久久香蕉激情| 超碰97精品在线观看| 视频在线观看一区二区三区| 国产老妇伦熟女老妇高清| 男女之事视频高清在线观看| 一区二区三区乱码不卡18| 啦啦啦 在线观看视频| 天堂8中文在线网| 亚洲男人天堂网一区| 国产高清国产精品国产三级| 两个人免费观看高清视频| 大片电影免费在线观看免费| 亚洲国产毛片av蜜桃av| 最新在线观看一区二区三区| 成人av一区二区三区在线看| 男人操女人黄网站| 99国产极品粉嫩在线观看| 午夜成年电影在线免费观看| 美女高潮到喷水免费观看| 中文字幕av电影在线播放| 亚洲精品国产精品久久久不卡| 久久 成人 亚洲| 免费在线观看完整版高清| 精品少妇久久久久久888优播| 亚洲性夜色夜夜综合| 黄色成人免费大全| 久久久精品国产亚洲av高清涩受| 日韩欧美一区视频在线观看| 少妇猛男粗大的猛烈进出视频| 99国产精品一区二区蜜桃av | 国产一卡二卡三卡精品| 亚洲av片天天在线观看| 亚洲精品自拍成人| 欧美+亚洲+日韩+国产| 国产成人啪精品午夜网站| 国产在线免费精品| 97人妻天天添夜夜摸| 国产极品粉嫩免费观看在线| 在线观看免费视频网站a站| 啦啦啦在线免费观看视频4| 国产福利在线免费观看视频| 女人被躁到高潮嗷嗷叫费观| 久久久国产一区二区| 成年人免费黄色播放视频| 不卡av一区二区三区| 国产av又大| 久久国产精品男人的天堂亚洲| 精品国产乱子伦一区二区三区| 男女之事视频高清在线观看| 国产精品久久久久久精品古装| 一本—道久久a久久精品蜜桃钙片| kizo精华| 久久精品亚洲精品国产色婷小说| 超色免费av| 极品少妇高潮喷水抽搐| 最近最新中文字幕大全电影3 | 高清毛片免费观看视频网站 | 国产精品久久久久成人av| 亚洲人成电影观看| 丝袜喷水一区| 怎么达到女性高潮| 纵有疾风起免费观看全集完整版| 18禁观看日本| 黄色丝袜av网址大全| 免费高清在线观看日韩| 亚洲熟女毛片儿| 首页视频小说图片口味搜索| 午夜福利,免费看| 超碰成人久久| 中文字幕人妻熟女乱码| 久热这里只有精品99| 国产免费视频播放在线视频| 中国美女看黄片| 涩涩av久久男人的天堂| 精品一区二区三区av网在线观看 | 精品卡一卡二卡四卡免费| 汤姆久久久久久久影院中文字幕| 色在线成人网| 精品国内亚洲2022精品成人 | 成人黄色视频免费在线看| 日韩 欧美 亚洲 中文字幕| 啦啦啦中文免费视频观看日本| 交换朋友夫妻互换小说| 老熟女久久久| 成人影院久久| 性色av乱码一区二区三区2| 国产无遮挡羞羞视频在线观看| 中文字幕色久视频| 黄色视频不卡| 变态另类成人亚洲欧美熟女 | 午夜福利一区二区在线看| 99九九在线精品视频| 久久九九热精品免费| 美女午夜性视频免费| 午夜福利视频精品| 亚洲人成电影观看| 国产又爽黄色视频| 国产成人av激情在线播放| 91成年电影在线观看| 精品国产国语对白av| 国产亚洲精品久久久久5区| 777久久人妻少妇嫩草av网站| 免费人妻精品一区二区三区视频| 激情视频va一区二区三区| 免费观看a级毛片全部| 自线自在国产av| 热99re8久久精品国产| 国产日韩欧美亚洲二区| 国产成人欧美在线观看 | 少妇精品久久久久久久| 美女扒开内裤让男人捅视频| avwww免费| 欧美大码av| 亚洲精品美女久久av网站| 黑人操中国人逼视频| 男女免费视频国产| 午夜两性在线视频| 波多野结衣一区麻豆| 国产日韩欧美亚洲二区| 法律面前人人平等表现在哪些方面| 深夜精品福利| 国产免费视频播放在线视频| 丝袜美腿诱惑在线| 国产精品99久久99久久久不卡| 成人手机av|