九九99在线视频-九九99香蕉在线视频美国毛片-九九99热久久精品在线9-九九99热-九九99久久精品在免费线bt-九九99久久

Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]
[瀏覽完整版]

標(biāo)題:嵌入式設(shè)備上的 Linux 系統(tǒng)開(kāi)發(fā)

1樓
wangxinxin 發(fā)表于:2010-11-25 9:55:31
嵌入式設(shè)備上的 Linux 系統(tǒng)開(kāi)發(fā)
出於好玩和獲利目的修補(bǔ) PDA
Anand K Santhanam(asanthan@in.ibm.com),軟體工程師,IBM Global Services
Vishal Kulkarni(kvishal@in.ibm.com),軟體工程師,IBM Global Services

2002 年 3 月
如果您剛接觸嵌入式開(kāi)發(fā),那?l大量可用的引導(dǎo)裝載程式(bootloader)、規(guī)?s小的分發(fā)版(distribution)、文件系統(tǒng)和 GUI 看起來(lái)可能太多了。但是這些豐富的選項(xiàng)實(shí)際上是一種恩賜,允許您調(diào)整開(kāi)發(fā)或用戶(hù)環(huán)境以完全符合您的需要。對(duì) Linux 嵌入式開(kāi)發(fā)的概述將幫助您理解所有這些選項(xiàng)。
Linux 正在嵌入式開(kāi)發(fā)領(lǐng)域穩(wěn)步發(fā)展。因?d Linux 使用 GPL(請(qǐng)參閱本文後面的參考資料),所以任何對(duì)將 Linux 定制於 PDA、掌上機(jī)或者可佩帶設(shè)備感興趣的人都可以從因特網(wǎng)免費(fèi)下載其內(nèi)核和應(yīng)用程式,並開(kāi)始移植或開(kāi)發(fā)。許多 Linux 改良品種迎合了嵌入式/即時(shí)市場(chǎng)。它們包括 RTLinux(即時(shí) Linux)、uclinux(用於非 MMU 設(shè)備的 Linux)、Montavista Linux(用於 ARM、MIPS、PPC 的 Linux 分發(fā)版)、ARM-Linux(ARM 上的 Linux)和其他 Linux 系統(tǒng)(請(qǐng)參閱參考資料以鏈結(jié)到本文中提到的這些和其他術(shù)語(yǔ)及?{品。)
嵌入式 Linux 開(kāi)發(fā)大致涉及三個(gè)層次:引導(dǎo)裝載程式、Linux 內(nèi)核和圖形用戶(hù)介面(或稱(chēng) GUI)。在本文中,我們將集中討論涉及這三層的一些基本概念;深入瞭解引導(dǎo)裝載程式、內(nèi)核和文件系統(tǒng)是如何交互的;並將研究可用於文件系統(tǒng)、GUI 和引導(dǎo)裝載程式的?萓h選項(xiàng)中的一部分。
引導(dǎo)裝載程式
引導(dǎo)裝載程式通常是在任何硬體上執(zhí)行的第一段代碼。在象臺(tái)式機(jī)這樣的常規(guī)系統(tǒng)中,通常將引導(dǎo)裝載程式裝入主引導(dǎo)記錄(Master Boot Record,(MBR))中,或者裝入 Linux 駐留的磁片的第一個(gè)磁區(qū)中。通常,在臺(tái)式機(jī)或其他系統(tǒng)上,BIOS 將控制移交給引導(dǎo)裝載程式。這就提出了一個(gè)有趣的問(wèn)題:誰(shuí)將引導(dǎo)裝載程式裝入(在大多數(shù)情況中)沒(méi)有 BIOS 的嵌入式設(shè)備上呢?
解決這個(gè)問(wèn)題有兩種常規(guī)技術(shù):專(zhuān)用軟體和微小的引導(dǎo)代碼(tiny bootcode)。
專(zhuān)用軟體可以直接與遠(yuǎn)端系統(tǒng)上的快閃記憶體設(shè)備進(jìn)行交互並將引導(dǎo)裝載程式安裝在快閃記憶體的給定位置中?扉W記憶體設(shè)備是與存儲(chǔ)設(shè)備功能類(lèi)似的特殊晶片,而且它們能持久存儲(chǔ)資訊 — 即,在重新引導(dǎo)時(shí)不會(huì)擦除其內(nèi)容。
這個(gè)軟體使用目標(biāo)(在嵌入式開(kāi)發(fā)中,嵌入式設(shè)備通常被稱(chēng)?d目標(biāo))上的 JTAG 埠,它是用於執(zhí)行外部輸入(通常來(lái)自主機(jī)機(jī)器)的指令的介面。JFlash-linux 是一種用於直接寫(xiě)快閃記憶體的流行工具。它支援?d數(shù)?萓h的快閃記憶體晶片;它在主機(jī)機(jī)器(通常是 i386 機(jī)器 — 本文中我們把一臺(tái) i386 機(jī)器稱(chēng)?d主機(jī))上執(zhí)行並通過(guò) JTAG 介面使用平行埠訪問(wèn)目標(biāo)的快閃記憶體晶片。當(dāng)然,這意味著目標(biāo)需要有一個(gè)平行介面使它能與主機(jī)通信。Jflash-linux 在 Linux 和 Windows 版本中都可使用,可以在命令行中用以下命令?妍吤式G

Jflash-linux
某些種類(lèi)的嵌入式設(shè)備具有微小的引導(dǎo)代碼 — 根據(jù)幾個(gè)位元組的指令 — 它將初始化一些 DRAM 設(shè)置並?壞峊媦苳W的一個(gè)串列(或者 USB,或者乙太網(wǎng))埠與主機(jī)程式通信。然後,主機(jī)程式或裝入程式可以使用這個(gè)連接將引導(dǎo)裝載程式傳送到目標(biāo)上,並將它寫(xiě)入快閃記憶體。
在安裝它並給予其控制後,這個(gè)引導(dǎo)裝載程式執(zhí)行下列各類(lèi)功能:
·        初始化 CPU 速度
·        初始化記憶體,包括?壞帡O憶體庫(kù)、初始化記憶體配置寄存器等
·        初始化序列埠(如果在目標(biāo)上有的話(huà))
·        ?壞峆?令/資料快取記憶體
·        設(shè)置堆疊指標(biāo)
·        設(shè)置參數(shù)區(qū)域並構(gòu)造參數(shù)結(jié)構(gòu)和標(biāo)記(這是重要的一步,因?d內(nèi)核在標(biāo)識(shí)根設(shè)備、頁(yè)面大小、記憶體大小以及更多內(nèi)容時(shí)要使用引導(dǎo)參數(shù))
·        執(zhí)行 POST(加電自檢)來(lái)標(biāo)識(shí)存在的設(shè)備並報(bào)告任何問(wèn)題
·        ?d電源管理提供掛起/恢復(fù)支援
·        跳轉(zhuǎn)到內(nèi)核的開(kāi)始

帶有引導(dǎo)裝載程式、參數(shù)結(jié)構(gòu)、內(nèi)核和文件系統(tǒng)的系統(tǒng)典型記憶體佈局可能如下所示:
清單 1. 典型記憶體佈局
    /* Top Of Memory */        Bootloader        Parameter Area        Kernel        Filesystem    /* End Of Memory */
嵌入式設(shè)備上一些流行的並可免費(fèi)使用的 Linux 引導(dǎo)裝載程式有 Blob、Redboot 和 Bootldr(請(qǐng)參閱參考資料獲得鏈結(jié))。所有這些引導(dǎo)裝載程式都用於基於 ARM 設(shè)備上的 Linux,並需要 Jflash-linux 工具用於安裝。
一旦將引導(dǎo)裝載程式安裝到目標(biāo)的快閃記憶體中,它就會(huì)執(zhí)行我們上面提到的所有初始化工作。然後,它準(zhǔn)備接收來(lái)自主機(jī)的內(nèi)核和文件系統(tǒng)。一旦裝入了內(nèi)核,引導(dǎo)裝載程式就將控制轉(zhuǎn)給內(nèi)核。
設(shè)置工具鏈
設(shè)置工具鏈在主機(jī)機(jī)器上創(chuàng)建一個(gè)用於編譯將在目標(biāo)上運(yùn)行的內(nèi)核和應(yīng)用程式的構(gòu)建環(huán)境 — 這是因?d目標(biāo)硬體可能沒(méi)有與主機(jī)相容的二進(jìn)位執(zhí)行級(jí)別。
工具鏈由一套用於編譯、彙編和鏈結(jié)內(nèi)核及應(yīng)用程式的元件組成。 這些元件包括:
·        Binutils — 用於操作二進(jìn)位文件的實(shí)用程式集合。它們包括諸如 ar、as、objdump、objcopy 這樣的實(shí)用程式。
·        Gcc — GNU C 編譯器。
·        Glibc — 所有用戶(hù)應(yīng)用程式都將鏈結(jié)到的 C 庫(kù)。避免使用任何 C 庫(kù)函數(shù)的內(nèi)核和其他應(yīng)用程式可以在沒(méi)有該庫(kù)的情況下進(jìn)行編譯。

構(gòu)建工具鏈建立了一個(gè)交叉編譯器環(huán)境。本地編譯器編譯與本機(jī)同類(lèi)的處理器的指令。交叉編譯器運(yùn)行在某一種處理器上,卻可以編譯另一種處理器的指令。重頭設(shè)置交叉編譯器工具鏈可不是一項(xiàng)簡(jiǎn)單的任務(wù):它包括下載源代碼、修補(bǔ)補(bǔ)丁、配置、編譯、設(shè)置頭文件、安裝以及很多很多的操作。另外,這樣一個(gè)徹底的構(gòu)建過(guò)程對(duì)記憶體和硬碟的需求是巨大的。如果沒(méi)有足夠的記憶體和硬碟空間,那?l在構(gòu)建階段由於相關(guān)性、配置或頭文件設(shè)置等問(wèn)題會(huì)突然冒出許多問(wèn)題。
因此能夠從因特網(wǎng)上獲得已預(yù)編譯的二進(jìn)位文件是一件好事(但不太好的一點(diǎn)是,目前它們大多數(shù)只限於基於 ARM 的系統(tǒng),但遲早會(huì)改變的)。一些比較流行的已預(yù)編譯的工具鏈包括那些來(lái)自 Compaq(Familiar Linux )、LART(LART Linux)和 Embedian(基於 Debian 但與它無(wú)關(guān))的工具鏈 — 所有這些工具鏈都用於基於 ARM 的平臺(tái)。
內(nèi)核設(shè)置
Linux 社區(qū)正積極地?d新硬體添加功能部件和支援、在內(nèi)核中修正錯(cuò)誤並且及時(shí)地進(jìn)行常規(guī)改進(jìn)。這導(dǎo)致大約每 6 個(gè)月(或 6 個(gè)月不到)就有一個(gè)穩(wěn)定的 Linux 樹(shù)的新發(fā)行版。不同的維護(hù)者維護(hù)針對(duì)特定體系結(jié)構(gòu)的不同內(nèi)核樹(shù)和補(bǔ)丁。當(dāng)?d一個(gè)專(zhuān)案選擇了一個(gè)內(nèi)核時(shí),您需要評(píng)估最新發(fā)行版的穩(wěn)定性如何、它是否符合專(zhuān)案要求和硬體平臺(tái)、從編程角度來(lái)看它的舒適程度以及其他難以確定的方面。還有一點(diǎn)也非常重要:找到需要應(yīng)用於基本內(nèi)核的所有補(bǔ)丁,以便?d特定的體系結(jié)構(gòu)調(diào)整內(nèi)核。
內(nèi)核佈局
內(nèi)核佈局分?d特定於體系結(jié)構(gòu)的部分和與體系結(jié)構(gòu)無(wú)關(guān)的部分。內(nèi)核中特定於體系結(jié)構(gòu)的部分首先執(zhí)行,設(shè)置硬體寄存器、配置記憶體映射、執(zhí)行特定於體系結(jié)構(gòu)的初始化,然後將控制轉(zhuǎn)給內(nèi)核中與體系結(jié)構(gòu)無(wú)關(guān)的部分。系統(tǒng)的其餘部分在這第二個(gè)階段期間進(jìn)行初始化。內(nèi)核樹(shù)下的目錄 arch/ 由不同的子目錄組成,每個(gè)子目錄用於一個(gè)不同的體系結(jié)構(gòu)(MIPS、ARM、i386、SPARC、PPC 等)。每一個(gè)這樣的子目錄都包含 kernel/ 和 mm/ 子目錄,它們包含特定於體系結(jié)構(gòu)的代碼來(lái)完成象初始化記憶體、設(shè)置 IRQ、?壞峓眹?記憶體、設(shè)置內(nèi)核頁(yè)面表等操作。一旦裝入內(nèi)核並給予其控制,就首先調(diào)用這些函數(shù),然後初始化系統(tǒng)的其餘部分。
根據(jù)可用的系統(tǒng)資源和引導(dǎo)裝載程式的功能,內(nèi)核可以編譯成 vmlinux、Image 或 zImage。vmlinux 和 zImage 之間的主要區(qū)別在於 vmlinux 是實(shí)際的(未壓縮的)可執(zhí)行文件,而 zImage 是或多或少包含相同資訊的自解壓壓縮文件 — 只是壓縮它以處理(通常是 Intel 強(qiáng)制的)640 KB 引導(dǎo)時(shí)間的限制。有關(guān)所有這些的權(quán)威性解釋?zhuān)?qǐng)參閱 Linux Magazine 的文章“Kernel Configuration: dealing with the unexpected”(請(qǐng)參閱參考資料)。
內(nèi)核鏈結(jié)和裝入
一旦?d目標(biāo)系統(tǒng)編譯了內(nèi)核後,通過(guò)使用引導(dǎo)裝載程式(它已經(jīng)被裝入到目標(biāo)的快閃記憶體中),內(nèi)核就被裝入到目標(biāo)系統(tǒng)的記憶體(在 DRAM 中或者在快閃記憶體中)。通過(guò)使用串列、USB 或乙太網(wǎng)埠,引導(dǎo)裝載程式與主機(jī)通信以將內(nèi)核傳送到目標(biāo)的快閃記憶體或 DRAM 中。在將內(nèi)核完全裝入目標(biāo)後,引導(dǎo)裝載程式將控制傳遞給裝入內(nèi)核的位址。
內(nèi)核可執(zhí)行文件由許多鏈結(jié)在一起的物件文件組成。物件文件有許多節(jié),如文本、資料、init 資料、bass 等等。這些物件文件都是由一個(gè)稱(chēng)?d鏈結(jié)器腳本的文件鏈結(jié)並裝入的。這個(gè)鏈結(jié)器腳本的功能是將輸入物件文件的各節(jié)映射到輸出文件中;換句話(huà)說(shuō),它將所有輸入物件文件都鏈結(jié)到單一的可執(zhí)行文件中,將該可執(zhí)行文件的各節(jié)裝入到指定地址處。vmlinux.lds 是存在於 arch// 目錄中的內(nèi)核鏈結(jié)器腳本,它負(fù)責(zé)鏈結(jié)內(nèi)核的各個(gè)節(jié)並將它們裝入記憶體中特定偏移量處。典型的 vmlinux.lds 看起來(lái)象這樣:
清單 2. 典型的 vmlinux.lds 文件
OUTPUT_ARCH()    /* includes architecture type */ ENTRY(stext)        /* stext is the kernel entry point */ SECTIONS        /* SECTIONS command describes the layout        of the output file */ {    . = TEXTADDR;        /* TEXTADDR is LMA for the kernel */    .init : {        /* Init code and data*/        _stext = .;    /* First section is stext followed        by __init data section */        __init_begin = .;        *(.text.init)        __init_end = .;        }    .text : {        /* Real text segment follows __init_data section */        _text = .;        *(.text)        _etext = .;    /* End of text section*/        }    .data :{        _data=.;        /* Data section comes after text section */        *(.data)        _edata=.;        }        /* Data section ends here */    .bss : {        /* BSS section follows symbol table section */        __bss_start = .;        *(.bss)        _end = . ;        /* BSS section ends here */        } }
LMA 是裝入模組位址;它表示將要裝入內(nèi)核的目標(biāo)虛擬記憶體中的位址。TEXTADDR 是內(nèi)核的虛擬起始位址,並且在 arch// 下的 Makefile 中指定它的值。這個(gè)地址必須與引導(dǎo)裝載程式使用的地址相匹配。
一旦引導(dǎo)裝載程式將內(nèi)核複製到快閃記憶體或 DRAM 中,內(nèi)核就被重新定位到 TEXTADDR — 它通常在 DRAM 中。然後,引導(dǎo)裝載程式將控制轉(zhuǎn)給這個(gè)位址,以便內(nèi)核能開(kāi)始執(zhí)行。
參數(shù)傳遞和內(nèi)核引導(dǎo)
stext 是內(nèi)核入口點(diǎn),這意味著在內(nèi)核引導(dǎo)時(shí)將首先執(zhí)行這一節(jié)下的代碼。它通常用組合語(yǔ)言編寫(xiě),並且通常它在 arch// 內(nèi)核目錄下。這個(gè)代碼設(shè)置內(nèi)核頁(yè)面目錄、創(chuàng)建身份內(nèi)核映射、標(biāo)識(shí)體系結(jié)構(gòu)和處理器以及執(zhí)行分支 start_kernel(初始化系統(tǒng)的主常式)。
start_kernel 調(diào)用 setup_arch 作?d執(zhí)行的第一步,在其中完成特定於體系結(jié)構(gòu)的設(shè)置。這包括初始化硬體寄存器、標(biāo)識(shí)根設(shè)備和系統(tǒng)中可用的 DRAM 和快閃記憶體的數(shù)量、指定系統(tǒng)中可用頁(yè)面的數(shù)目、文件系統(tǒng)大小等等。所有這些資訊都以參數(shù)形式從引導(dǎo)裝載程式傳遞到內(nèi)核。
將參數(shù)從引導(dǎo)裝載程式傳遞到內(nèi)核有兩種方法:parameter_structure 和標(biāo)記列表。在這兩種方法中,不贊成使用參數(shù)結(jié)構(gòu),因?d它強(qiáng)加了限制:指定在記憶體中,每個(gè)參數(shù)必須位於 param_struct 中的特定偏移量處。最新的內(nèi)核期望參數(shù)作?d標(biāo)記列表的格式來(lái)傳遞,並將參數(shù)轉(zhuǎn)化?d已標(biāo)記格式。param_struct 定義在 include/asm/setup.h 中。它的一些重要欄位是:
清單 3. 樣本參數(shù)結(jié)構(gòu)
struct param_struct { unsigned long page_size;    /* 0: Size of the page */ unsigned long nr_pages;    /* 4: Number of pages in the system */ unsigned long ramdisk        /* 8: ramdisk size */ unsigned long rootdev;    /* 16: Number representing the root device */ unsigned long initrd_start; /* 64: starting address of initial ramdisk */        /* This can be either in flash/dram */ unsigned long initrd_size; /* 68: size of initial ramdisk */ }
請(qǐng)注意:這些數(shù)表示定義欄位的參數(shù)結(jié)構(gòu)中的偏移量。這意味著如果引導(dǎo)裝載程式將參數(shù)結(jié)構(gòu)放置在位址 0xc0000100,那?l rootdev 參數(shù)將放置在 0xc0000100 + 16,initrd_start 將放置在 0xc0000100 + 64 等等 — 否則,內(nèi)核將在解釋正確的參數(shù)時(shí)遇到困難。
正如上面提到的,因?d從引導(dǎo)裝載程式到內(nèi)核的參數(shù)傳遞會(huì)有一些約束條件,所以大多數(shù) 2.4.x 系列內(nèi)核期望參數(shù)以已標(biāo)記的列表格式傳遞。在已標(biāo)記的列表中,每個(gè)標(biāo)記由標(biāo)識(shí)被傳遞參數(shù)的 tag_header 以及其後的參數(shù)值組成。標(biāo)記列表中標(biāo)記的常規(guī)格式可以如下所示:
清單 4. 樣本標(biāo)記格式。內(nèi)核通過(guò) 頭來(lái)標(biāo)識(shí)每個(gè)標(biāo)記。
#define struct {        u32 ;        u32 ; }; /* Example tag for passing memory information */ #define ATAG_MEM        0x54410002 /* Magic number */ struct tag_mem32 {        u32    size;        /* size of memory */        u32    start;        /* physical start address of memory*/ };
setup_arch 還需要對(duì)快閃記憶體存儲(chǔ)庫(kù)、系統(tǒng)寄存器和其他特定設(shè)備執(zhí)行記憶體映射。一旦完成了特定於體系結(jié)構(gòu)的設(shè)置,控制就返回到初始化系統(tǒng)其餘部分的 start_kernel 函數(shù)。這些附加的初始化任務(wù)包含:
·        設(shè)置陷阱
·        初始化中斷
·        初始化計(jì)時(shí)器
·        初始化控制臺(tái)
·        調(diào)用 mem_init,它計(jì)算各種區(qū)域、高記憶體區(qū)等內(nèi)的頁(yè)面數(shù)量
·        初始化 slab 分配器並?d VFS、緩衝區(qū)快取記憶體等創(chuàng)建 slab 快取記憶體
·        建立各種文件系統(tǒng),如 proc、ext2 和 JFFS2
·        創(chuàng)建 kernel_thread,它執(zhí)行文件系統(tǒng)中的 init 命令並顯示 lign 提示符。 如果在 /bin、/sbin 或 /etc 中沒(méi)有 init 程式,那?l內(nèi)核將執(zhí)行文件系統(tǒng)的 /bin 中的 shell。

設(shè)備驅(qū)動(dòng)程式
嵌入式系統(tǒng)通常有許多設(shè)備用於與用戶(hù)交互,象觸摸屏、小鍵盤(pán)、滾動(dòng)輪、感測(cè)器、RA232 介面、LCD 等等。除了這些設(shè)備外,還有許多其他專(zhuān)用設(shè)備,包括快閃記憶體、USB、GSM 等。內(nèi)核通過(guò)所有這些設(shè)備各自的設(shè)備驅(qū)動(dòng)程式來(lái)控制它們,包括 GUI 用戶(hù)應(yīng)用程式也通過(guò)訪問(wèn)這些驅(qū)動(dòng)程式來(lái)訪問(wèn)設(shè)備。本節(jié)著重討論通常幾乎在每個(gè)嵌入式環(huán)境中都會(huì)使用的一些重要設(shè)備的設(shè)備驅(qū)動(dòng)程式。
幀緩衝區(qū)驅(qū)動(dòng)程式
這是最重要的驅(qū)動(dòng)程式之一,因?d通過(guò)這個(gè)驅(qū)動(dòng)程式才能使系統(tǒng)螢?zāi)伙@示內(nèi)容。幀緩衝區(qū)驅(qū)動(dòng)程式通常有三層。最底層是基本控制臺(tái)驅(qū)動(dòng)程式 drivers/char/console.c,它提供了文本控制臺(tái)常規(guī)介面的一部分。通過(guò)使用控制臺(tái)驅(qū)動(dòng)程式函數(shù),我們能將文本列印到螢?zāi)簧?— 但圖形或動(dòng)畫(huà)還不能(這樣做需要使用視頻模式功能,通常出現(xiàn)在中間層,也就是 drivers/video/fbcon.c 中)。這個(gè)第二層驅(qū)動(dòng)程式提供了視頻模式中繪圖的常規(guī)介面。
幀緩衝區(qū)是顯卡上的記憶體,需要將它記憶體映射到用戶(hù)空間以便可以將圖形和文本能寫(xiě)到這個(gè)記憶體段上:然後這個(gè)資訊將反映到螢?zāi)簧稀徯n區(qū)支援提高了繪圖的速度和整體性能。這也是頂層驅(qū)動(dòng)程式引人注意之處:頂層是非常特定於硬體的驅(qū)動(dòng)程式,它需要支援顯卡不同的硬體方面 — 象?壞峞?禁用顯卡控制器、深度和模式的支援以及調(diào)色板等。所有這三層都相互依賴(lài)以實(shí)現(xiàn)正確的視頻功能。與幀緩衝區(qū)有關(guān)的設(shè)備是 /dev/fb0(主設(shè)備號(hào) 29,次設(shè)備號(hào) 0)。
輸入設(shè)備驅(qū)動(dòng)程式
可觸摸板是用於嵌入式設(shè)備的最基本的用戶(hù)交互設(shè)備之一 — 小鍵盤(pán)、感測(cè)器和滾動(dòng)輪也包含在許多不同設(shè)備中以用於不同的用途。
觸摸板設(shè)備的主要功能是隨時(shí)報(bào)告用戶(hù)的觸摸,並標(biāo)識(shí)觸摸的座標(biāo)。這通常在每次發(fā)生觸摸時(shí),通過(guò)生成一個(gè)中斷來(lái)實(shí)現(xiàn)。
共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .01367 s, 2 queries.
主站蜘蛛池模板: 亚洲成熟人网站 | 各种高潮超清特写tv | 国产香港明星裸体xxxx视频 | 久久综合久久鬼色 | 少妇一级淫片高潮性生活 | 一本大道加勒比免费视频 | 日韩内射美女人妻一区二区三区 | 哪个网站可以看毛片 | 噼里啪啦免费看 | 综合精品 | 成人国产精品免费网站 | 久久免费国产精品1 | 精品九九九九 | 肉视频在线观看 | av一级网站 | 这里都是精品 | 国产伦精品一区二区三区在线观看 | 成人性生交免费大片 | 少妇性i交大片免费看 | 国产性夜夜春夜夜爽1a片 | 国内精品999 | 息与子猛烈交尾一区二区 | 人妻饥渴偷公乱中文字幕 | 久草中文在线观看 | 中文字幕亚洲天堂 | 国产盗摄一区二区 | 正在播放亚洲精品 | 91av影院| 男女日批视频 | 日本不良网站在线观看 | 无码人妻精品一区二区 | 免费的污网站 | 国产精品美女一区二区三区四区 | 青草青草视频2免费观看 | r级无码视频在线观看 | 国产精品一区二区毛片 | 99国语露脸久久精品国产ktv | 大地资源网第二页免费观看 | 日本少妇bbwbbw精品 | xxxx性视频 | 欧美剧场| 久久艹逼视频 | 波多野结衣中文字幕久久 | 精品视频网 | 国产精品久久久不卡 | 国产在线播放一区二区 | 亚洲精品成人网站在线观看 | 美女视频黄频a免费 | 91精品国产亚洲 | 国产大屁股喷水视频在线观看 | 久久四色| 九一午夜精品av | 亚洲综合伊人久久大杳蕉 | 中文字幕永久2021 | 日本视频三区 | 日日av色欲香天天综合网 | 新国产三级在线观看播放 | 中国白嫩丰满人妻videos | 黄色中文字幕在线观看 | 国产黄网永久免费视频大全 | 黄色一级大片在线免费看产 | 99国内精品久久久久久久 | 丁香六月激情 | 香蕉视频网页 | 免费动漫吸乳羞羞网站视 | 日韩免费在线观看视频 | 在线观看精品视频 | 天天操天天射天天爱 | 国产成人午夜视频 | 电车侵犯高潮失禁在线看 | 女人爽得直叫免费视频 | 欧洲美熟女乱又伦av | 蜜桃精品视频在线观看 | 国产日韩欧美精品一区二区三区 | 一级片99 | 色五婷婷| 免费看特级毛片 | 91网站免费| 精品成人一区二区三区 | 国产真人性做爰久久网站 | 天堂亚洲2017在线观看 | 亚洲精品ww久久久久久p站 | 国产精品18久久久久久麻辣 | 伊人久久国产精品 | 自拍偷在线精品自拍偷无码专区 | 日本在线黄色 | 国产精品嫩草影院ccm | 国产全是老熟女太爽了 | 99久久人人爽亚洲精品美女 | 岛国av噜噜噜久久久狠狠av | 九九热视 | 在线视频精品中文无码 | 欧美mv日韩mv国产网站 | 巨胸喷奶水www视频网站 | 亚洲国产精品久久久久秋霞影院 | 中文字幕――色哟哟 | 99久久综合狠狠综合久久aⅴ | 亚洲精品久久久蜜桃网尤妮丝 | 国产精品丝袜久久久久久不卡 | 国产精品久久高潮呻吟粉嫩av | 亚洲欧美第一页 | 国产成人在线一区二区 | 10000部拍拍拍免费视频 | 91亚洲视频| 亚洲成av人片不卡无码 | 伊人久久大香线焦av综合影院 | 天天爽夜夜爽一区二区三区 | 一级片免费视频 | 国产成人精品视频一区二区不卡 | 久久久久久黄色片 | 二区三区在线观看 | 欧美69囗交视频 | 免费午夜爽爽爽www视频十八禁 | 精品一区二区免费视频 | 日韩国产一区二区 | 国产精品高清在线 | 国产熟妇乱子伦视频在线观看 | 乱女伦露脸对白在线播放 | 欧美 亚洲 另类 偷偷 自拍 | 日本a天堂| 久久在线看 | 日本a级黄 | jizjiz中国少妇高潮水多 | 少妇一级二级三级 | 国产av天堂亚洲国产av天堂 | 欧美午夜精品一区二区蜜桃 | 色视频免费在线观看 | 国产又粗又黄又爽又硬的免费视频 | 午夜精品区 | 婷婷成人综合激情在线视频播放 | 国产区精品在线观看 | 国产精品igao视频网网址 | 欧洲一区二区视频 | 中文字幕一区二区三区人妻少妇 | 欧美www.| 天堂中文а√在线官网 | 国产l精品国产亚洲区在线观看 | 涩涩涩在线视频 | 国产在线 | 中文 | 九色视频导航 | 国产精品香蕉在线观看 | 欧美男人的天堂 | 久久久久亚洲精品中文字幕 | 国产伦精品一区二区三区视频黑人 | 色呦呦在线播放 | 欧美一级免费在线 | 久久天堂av综合色无码专区 | 用舌头去添高潮无码视频 | 欧美成人三级在线视频 | 国产女人18毛片 | 免费成人视屏 | 三级毛片网站 | 美女av网| 亚洲人成色4444在线观看 | 亚洲第一狼人区 | 亚洲aⅴ无码专区在线观看春色 | 成人一级免费视频 | 中文字幕在线观看一区 | 欧美日韩生活片 | 国产免费拔擦拔擦8x网址 | 2020亚洲天堂 | 成人短视频在线 | 亚洲国产精品久久精品 | 四虎最新紧急入口 | 乱码av麻豆丝袜熟女系列 | 国产欧美精品一区二区三区 | 欧美日韩精品久久 | 公车乳尖揉捏酥软呻吟 | xxx日本黄色 | 日本少妇全身按摩做爰5 | 伊人久久大香线蕉亚洲五月天 | 韩国美女主播娇喘乳奶摇 | 午夜精品极品粉嫩国产尤物 | 久久99国产精品久久99果冻传媒新版本 | 国产欧美一区二区在线观看 | 欧美亚洲精品在线 | 轻点太深了射的好满视频 | 苍井优三级在线观看 | 日日碰狠狠躁久久躁蜜桃 | 888久久久| xxhd麻豆xxhd激情视频 | 国产亚洲精品精品精品 | 蜜桃臀无码内射一区二区三区 | 亚洲另类自拍 | 国产成人av免费看 | 9.1成人看片免费版 9191国产精品 | 女性隐私黄www网站视频 | 森泽佳奈作品在线观看 | 污污免费观看 | 亚洲精品一区二区三区在线观看 | 都市激情 在线 亚洲 国产 | 深夜免费福利 | b站永久免费看片大全 | 午夜福利不卡在线视频 | 四虎最新站名点击进入 | 91吃瓜今日吃瓜入口 | 亚洲一区二区三区四区的 | 久久97| 五月天婷婷网站 | 日产精品高潮呻吟av久久 | 1000部无遮挡拍拍拍免费视频观看 | 亚洲欧洲av | 久久99国产精品久久 | 青娱乐最新官网 | 日韩成人在线播放 | 六月丁香啪啪 | 伊人啪啪| 久久成年视频 | 天天综合久久综合 | 欧美精品一区二区久久 | 国产成人无码av一区二区在线观看 | 国产亚洲激情 | 国产欧美精品日韩区二区麻豆天美 | 亚洲男人第一无码av网站 | 国产日视频 | 中国一级大黄大黄大色毛片 | 玖玖免费 | 天天干,天天干 | 国产人与zoxxxx另类91 | 小鲜肉自慰网站 | 鲜嫩高中生无套进入 | 日本九九视频 | 香蕉免费在线视频 | 色噜噜狠狠一区二区三区果冻 | mm1313亚洲国产精品无码试看 | 精品久久久久久无码免费 | 2021狠狠干| 国产伦精品一区二区三区在线播放 | 欧美性生活免费视频 | 一区二区三区在线看 | 人妻中出无码中字在线 | 绝色美妇性调教沦为玩物 | 成人亚洲天堂 | 国产免费一级淫片a级中文 国产免费一区 | 欧美国产精品日韩在线 | 国产成人精品日本亚洲77上位 | 国产伦子系列沙发午睡 | 日韩欧美一区三区 | 国产精品久久久久久超碰 | 国产精品伦一区二区三区在线观看 | 91黄色短视频 | 免费黄色a级片 | 欧美日韩一级二级 | 狠狠综合久久久久综合网址 | 成人免费视频国产免费麻豆 | 免费一级做a爰片久久毛片潮 | 国产极品美女在线精品图片 | 色情无码www视频无码区小黄鸭 | 天天爱天天做天天爽 | 色哟哟入口国产精品 | 久久久日韩精品一区二区 | 丰满大乳一级淫片免费播放 | 国产在线一区二区 | 夹得我好紧好爽日出了水视频 | 国产免费人做人爱午夜视频 | 久久人人爽亚洲精品天堂 | 久久精品岛国av一区二区无码 | 任你操这里只有精品 | 91美女福利视频 | 久久精品人成免费 | 少妇做爰免费视看片 | 国产91在线播放九色000 | 成人无遮挡裸免费视频在线观看 | 东京一本一道一二三区 | 超碰在线公开 | 久久精品一区二区 | 91日本在线| 日日夜夜伊人 | 日韩视频在线观看 | 深夜视频在线观看免费 | 无码人妻少妇色欲av一区二区 | 国产麻豆xxxvideo实拍 | 日本精品巨爆乳无码大乳巨 | 国产jjizz一区二区三区老人 | 天天视频国产 | 欧美猛男性猛交视频 | 人妻少妇偷人精品无码 | 亚洲精品久久久久玩吗 | 成人免费网站视频 | 一级黄色片在线播放 | 国产极品在线观看 | 伊人蕉久 | 狠狠操精品视频 | 国产免费麻豆 | 青娱乐最新视频 | 夜夜躁日日躁狠狠久久av | 精品无码国产污污污免费 | 日韩精品视频免费在线观看 | 欧美美女性高潮 | 亚洲一区a| 成 人 黄 色 视频 免费观看 | 女同亚洲精品一区二区三 | 黄网站永久免费 | 免费jizzjizz在线播放 | 深夜在线免费视频 | 香蕉在线观看视频 | 午夜三级a三级三点窝 | 国产情侣一区二区三区 | 97视频免费 | 免费观看添你到高潮视频 | 六月激情网 | 中文字幕免费在线观看视频 | 懂色中文一区二区三区在线视频 | 国产肉体xxxx裸体784大胆 | 精品久久国产字幕高潮 | 国色天香亚欧乱码 | 亚洲国产欧美一区二区潘金莲 | 黄色91免费| 奇米影视奇米色 | 国产一区成人 | 九九九九九九九伊人 | 成年女人黄网站色视频免费97 | 亚洲精品国产精品乱码不卡 | 久久久99精品 | 亚洲欧美在线精品 | 国产国拍亚洲精品av在线 | 国产一级淫片免费放大片 | 装睡被陌生人摸出水好爽 | av无码免费一区二区三区 | 欧美三区 | 亚洲自拍一区在线 | 国产精品国产三级国产aⅴ原创 | 人妻少妇精品无码专区二区 | 亡は夫の上司中文字幕 | 国产精品入口免费视频一 | www精品国产 | 欧美xxxxx做受vr91九色 | 88av在线播放| 国产911| 91在线网址 | 91午夜剧场 | 亚洲专区 变态 另类 | 免费超爽大片黄 | 午夜免费福利小视频 | 欧美男女交配 | 久久人人爽人人爽人人片av东京热 | 国产精品538一区二区在线 | 国产亚洲精品久久久久的角色 | 国产一区二区三区久久久久久久 | 成人毛片视频在线播放 | 成年人91视频 | 偷拍超碰 | 国产成人在线网站 | 日韩中文人妻无码不卡 | 国产第一页在线观看 | 中文在线а√天堂官网 | 无码少妇一区二区三区 | 81精品国产乱码久久久久久 | 在线观看网站黄 | 性人久久久久 | 久久爱网| 公用小sao货h | 88av在线| 自拍毛片| 国产超碰人人模人人爽人人添 | 天天躁日日躁狠狠躁伊人 | 日本三级欧美三级 | 国产成人精品亚洲男人的天堂 | 2024av在线播放 | 在线免费观看av的网站 | 国产白袜脚足j棉袜在线观看 | 日本一级吃奶淫片免费 | 久久中文字幕一区二区三区 | 在线国产视频 | 免费高潮视频95在线观看网站 | 欧美一卡二卡三卡四卡视频区 | 泽村玲子在线中文字幕 | av在线免费观看不卡 | 奇米777第四色 | 国产真人性做爰久久网站 | 亚洲国产成人综合 | 国产色婷婷精品综合在线手机播放 | 午夜丁香婷婷 | 双性人做受视频 | 国产成人三级视频在线播放 | 国产精品xxx在线观看 | 久久精品亚洲精品国产欧美kt∨ | 天堂а在线中文在线新版 | 日本成人动漫在线观看 | 午夜嫩草嘿嘿福利777777 | 老司机午夜精品 | 91在线视频国产 | 在线看片wwwzzz | 在线观看亚洲大片短视频 | 中文字幕妇偷乱视频在线观 | 中文字幕天天躁日日躁狠狠躁免费 | 看全黄大色黄大片美女人 | 久草在线综合 | 美女国产在线 | 亚洲va韩国va欧美va | 亚洲码与欧洲码一二三四区 | 五月天色婷婷丁香 | 天天色综合久久 | 正在播放国产老头老太色公园 | 亚洲高清视频在线播放 | 久久久久久久久久久久中文字幕 | 超碰成人97 | 337p嫩模大胆色肉噜噜噜 | 国产在视频线精品视频 | 中文字幕丰满乱孑伦无码专区 | 狼人伊人久久 | 少妇又紧又爽又黄的视频 | 亚洲综合另类小说色区色噜噜 | 国产精品最新乱视频二区 | 天天做天天爱天天操 | 调教女少妇二区三区视频 | 国产人妻精品久久久久野外 | 国产一级特黄,真人毛片 | 亚洲三级久久 | 91精品福利少妇午夜100集 | 91精品啪在线观看国产线免费 | 色咪咪网站 | 成人做爰69片免费看网站 | 四虎永久在线精品无码视频 | 色妞www精品视频7777 | 可以免费看的黄色网址 | 超碰成人免费 | 国产一区二区三区在线观看免费 | 乱色熟女综合一区二区三区 | 日韩成人激情视频 | 一色综合 | 久久久在线观看 | 黑人一级黄色片 | 国产a久久 | 伊人中文字幕在线观看 | 亚洲精品乱码久久久久久按摩观 | 日韩黄色大全 | 天天干精品| 伊人久久大香线蕉综合影院首页 | 欧美亚洲天堂 | 国产婷婷色一区二区三区四区 | 午夜影视体验区 | 日本草逼视频 | 天天爽天天摸 | 日韩精品无码一区二区三区久久久 | 激情久久一区二区三区 | 中文字幕福利视频 | 国产成人无码av | 久久久www成人免费精品 | 亚洲综合精品一区二区三区 | 日日噜噜噜夜夜爽爽狠狠视频寻花 | 中文字幕午夜精品一区二区三区 | 性精品 | 久久久久久98 | 中文字幕欧美激情 | 99久99 | 国产成人久久av免费高清蜜臀 | 久久精品人人做人人爱爱站长工具 | 国产精品一色哟哟 | 国产欧美精品区一区二区三区 | 国产精品秘 | 国产99久60在线视频 | 传媒 | 亚洲人成网网址在线看 | 午夜精品久久久久久久男人的天堂 | 中文字幕在线2021 | 成人蜜桃视频 | 人妻被按摩到潮喷中文字幕 | 精品一区二区三区无码免费视频 | 强制中出し~大桥未久10在线播放 | 苍井优三级在线观看 | 国产免费av一区二区 | av影视在线观看 | 在线观看人成视频免费 | 狂野欧美性猛交免费视频 | 色欲欲www成人网站 婷婷成人综合激情在线视频播放 | 日本三级全黄少妇三2023 | 免费国产小视频 | 亚洲色播爱爱爱爱爱爱爱 | 澳门av网站 | 久久久久久在线观看 | 日本无码欧美一区精品久久 | 国偷自产一区二区三区蜜臀 | 18一20岁毛毛片 | 国产美女激情 | 国产女人和拘做受视频免费 | 亚洲午夜天堂 | 中文字幕在线二区 | 亚洲国产成人精品久久久国产成人一区 | youjizzcom欧美| www色五月com | 四虎影| 欧美精品一区二区视频 | 性做久久久久久久久久 | 思九九爱九九 | 欧美放荡的少妇 | 激情综合激情五月俺也去 | 99久久综合狠狠综合久久止 | 日本熟妇色一本在线观看 | 精品粉嫩aⅴ一区二区三区四区 | 中国少妇xxxⅹ性xxxx | 国产精品对白交换视频 | 人妻天天爽夜夜爽一区二区 | 亚洲国产成人精品久久久国产成人 | 精品国产乱码久久久久久久软件 | 日本在线网 | 手机国产乱子伦精品视频 | 亚洲精品久久久久avwww潮水 | 91麻豆精品传媒一二三区 | 五月丁香六月激情综合在线视频 | 欧美人与性动交α欧美精品 | 自慰无码一区二区三区 | 亚洲精品乱码久久久久红杏 | 99国产在线拍91揄自揄视 | 最近最好的中文字幕2019免费 | 日本欧美激情 | 99在线视频免费观看 | 国产亚洲精品久久久97蜜臀 | 99精产国品一二三产区nba | 欧美日韩国产免费观看 | 97久久人澡人人添人人爽 | 亚洲精品鲁一鲁一区二区三区 | 国产网友自拍 | 少妇性俱乐部纵欲狂欢电影 | 色一情| 国产国语农村妇女偷人视频 | 成人黄色在线观看 | 精品人妻二区中文字幕 | 日本人又黄又爽又色的图片 | 嫩模写真一区二区三区三州 | 超碰97最新 | 色av性av丰满av | 69久久久 | 欧美精品一区二区三区免费视频 | 热久久久久 | 国产精品区免费视频 | 亚洲国产av一区二区三区四区 | 欧美熟妇丰满肥白大屁股免费视频 | 亚洲免费播放 | 国内少妇毛片视频 | 亚洲人成在线影院 | 三级全黄做爰龚玥菲在线 | 国产日韩三级 | 荫蒂被男人添的好舒服爽免费视频 | 偷偷色噜狠狠狠狠的777米奇 | 少妇人妻偷人精品无码视频新浪 | 日本美女啪啪 | 尤物一区 | 国产毛片儿 | 国产精品无码翘臀在线观看 | 九九九九九热 | 欧美日本三级少妇三级久久 | 成人精品网站在线观看 | 99热这里只有精品在线 | 免费激情网站 | 丰满大肥婆肥奶大屁股 | 91精产国品一二三产区区别网站 | 一本大道伊人av久久综合 | 91精品老司机久久一区啪 | 51国产偷自视频区 | 亚洲综合精品香蕉久久网 | 国产精品久久久久久网站 | 尤妮丝大尺度av在线播放 | 日韩精品一卡2卡3卡4卡乱码的功能 | 国产精品久久久久久久久久久久 | 久视频在线观看 | 伊人久久大香线蕉午夜 | 欧美色视频在线播放 | 欧美在线视频第一页 | 综合久久中文字幕 | 欧美一级大片在线观看 | 国产在线精品一区二区三区直播 | 国产午夜精品一区二区三区欧美 | 欧美性猛交乱大交 | 干欧美少妇 | 欧美,日韩,国产在线 | 欧美日韩国产一区二区 | 日日橹狠狠爱欧美超碰 | 就去干成人网 | 亚洲精品久久久蜜臀av站长工具 | 佐佐木明希奶水喷出在线视频 | 久久wwww| 高h禁伦肉伦np双龙 高h捆绑拘束调教小说 | 精品国产一二三产品价格 | 91欧美日韩国产 | 寂寞少妇按摩spa高潮91 | 国产98在线 | 日韩 | 亚洲精品国产一区 | 乱码一区二区三区 | 狠狠色综合色综合网站久久 | bb日韩美女预防毛片视频 | 成人免费在线视频 | 91精品国产乱码久久久久久久久 | 久久中文字幕人妻熟av女蜜柚m | 国产麻豆视频 | 大地资源中文第二页日本 | 99re伊人 | 久久久久久久国产免费看 | 精品人人妻人人澡人人爽牛牛 | 日本护士毛茸茸高潮 | 亚洲区一区二区三区 | 曰韩无码二三区中文字幕 | 国产www在线观看 | 国产精品xnxxcom | 永久av免费| 中文字幕观看 | 韩产日产国产欧产 | 美女一区二区三区四区 | 久久久久成人免费看a含羞草久色 | 久操免费在线视频 | 天天色综 | 妺妺窝人体色www看美女 | 亚洲精品在线观看视频 | 日韩精品一区二区三区蜜臀 | 日本成人精品 | 丰满肥臀大屁股熟妇激情视频 | 亚洲综合图色 | 亚洲精品影视 | 成 人 黄 色视频免费播放 | 欧美xxxx做受性欧美88 | 国产大学生av | 91精品一区二区三区在线观看 | 黄色1级片| 色香av| eeuss影院一区二区三区 | 久久国产欧美日韩精品 |