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

    Linux系統(tǒng)下的驅(qū)動程序開發(fā)

    2018-11-21 19:14:46韓賢忠胡業(yè)火
    科學(xué)與財(cái)富 2018年29期
    關(guān)鍵詞:板卡驅(qū)動程序內(nèi)核

    韓賢忠 胡業(yè)火

    摘 要: 本文以PC-6325A板卡Linux系統(tǒng)下的驅(qū)動開發(fā)為例介紹了PC-6325A板卡信息及工作原理,linux內(nèi)核編譯加載、常用函數(shù)方法實(shí)現(xiàn)等基本編程技術(shù)??蔀長inux系統(tǒng)下驅(qū)動程序開發(fā)人員提供一定參考。

    關(guān)鍵詞: Linux;驅(qū)動程序

    1 引言

    由于Linux系統(tǒng)具有運(yùn)行安全穩(wěn)定、功能強(qiáng)大、獲取方便等眾多優(yōu)點(diǎn),逐漸被眾多開發(fā)人員所使用。但市場上Linux發(fā)行版本多,很多硬件設(shè)備缺少對應(yīng)版本的驅(qū)動程序,需要自行開發(fā)。

    本文以PC-6325A板卡開發(fā)為例,介紹了linux內(nèi)核編譯加載、常用函數(shù)方法實(shí)現(xiàn)等基本編程技術(shù),在后續(xù)驅(qū)動程序開發(fā)中可以此為參考。

    2 硬件設(shè)備分析

    PC-6325A模入接口卡適用于具有ISA總線的PC系列微機(jī),具有很好的兼容性,CPU從目前廣泛使用的64位處理器到早期的16為處理器均可使用,操作系統(tǒng)也適用于MS-DOS、Windows系列、Unix等多種操作系統(tǒng)以及專業(yè)數(shù)據(jù)采集分析系統(tǒng)labVIEW等軟件環(huán)境。以下對PC-6325A板卡進(jìn)行詳細(xì)介紹。

    2.1 工作原理

    PC-6325A板卡主要由模擬多路開關(guān)電路、放大器電路、模數(shù)轉(zhuǎn)換電路、接口控制邏輯電路、光電隔離電路及DC/DC電源電路組成。

    2.1.1 模擬多路開關(guān)電路

    模擬多路開關(guān)由4片8選1模擬開關(guān)芯片等組成,通過KJ1和KJ2跨接插座可以選擇32路單端或16路雙端輸入方式,并將選中的信號送入差分放大器處理。

    2.1.2 模數(shù)轉(zhuǎn)換電路

    PC-6325A卡選用新一代A/D器件ADS7808作為模數(shù)轉(zhuǎn)換器件。ADS7808內(nèi)部自帶采保和精密基準(zhǔn)電源。A/D轉(zhuǎn)換可以由程序啟動,也可由外部觸發(fā)信號啟動。A/D轉(zhuǎn)換結(jié)束標(biāo)志可以由程序查詢檢出,也可通過中斷方式通知CPU處理。

    2.1.3 接口控制邏輯電路及光隔電路

    接口控制邏輯電路用來產(chǎn)生與各種操作有關(guān)的控制信號。光隔電路采用6N137高速光耦對系統(tǒng)總線與模擬信號之間進(jìn)行光電隔離,以避免相互間的干擾。

    2.1.4 DC/DC電源電路

    DC/DC電源電路有電源模塊及相關(guān)的濾波元件組成。該電源模塊的輸入電壓為+5V,輸出電壓為與原邊隔離的±15V和+5V,原付邊之間隔離電壓可達(dá)1500V。

    3 驅(qū)動程序設(shè)計(jì)

    3.1 編譯內(nèi)核

    設(shè)備驅(qū)動屬于linux內(nèi)核的部分在編寫Linux設(shè)備驅(qū)動前需要對Linux操作系統(tǒng)內(nèi)核進(jìn)行編譯。本次PC-6325板卡驅(qū)動開發(fā)調(diào)試采用2.6.23版本內(nèi)核。

    編譯步驟如下:

    1.下載并解壓Linux內(nèi)核一般內(nèi)核源碼放在/usr/src目錄下。

    2.清除從前編譯內(nèi)核時(shí)殘留的.o文件和不必要的關(guān)聯(lián):

    cd /usr/src/linux

    make mrproper

    確保源代碼目錄下沒有不正確的.o文件和文件依賴關(guān)系,執(zhí)行該命令后,內(nèi)核選項(xiàng)會回到默認(rèn)的狀態(tài)下。如果為下載的內(nèi)核源碼,且為第一次編譯可跳過該步驟。

    3.配置內(nèi)核,修改相關(guān)參數(shù):

    圖形界面下,make xconfig;

    字符界面下, make menuconfig;

    在內(nèi)核配置菜單中正確設(shè)置內(nèi)核選項(xiàng)保存退出。

    4.正確設(shè)置關(guān)聯(lián)文件:

    make dep

    根據(jù)上一步所選擇的選項(xiàng),建立文件的依賴關(guān)系。

    5.編譯內(nèi)核:

    對于大內(nèi)核,make bzlmage

    對于小內(nèi)核,mkae zlmage

    6.編譯模塊:

    make modules

    編譯可加載模塊(即內(nèi)核選項(xiàng)中選擇為M的選項(xiàng))。

    7.安裝模塊:

    make modules_install

    將編譯好的modules拷貝到/lib/modules下(該步驟需要管理員權(quán)限)。

    3.2 編寫驅(qū)動程序

    內(nèi)核編譯完成后就可以進(jìn)行驅(qū)動程序代碼編寫了,但在此之前需要了解一下Linux系統(tǒng)的一個(gè)基本概念,內(nèi)核空間和用戶空間。模塊運(yùn)行在內(nèi)核空間用于擴(kuò)展內(nèi)核功能,應(yīng)用程序運(yùn)行在用戶空間。內(nèi)核空間與用戶空間可理解為兩種運(yùn)行模式,有著不同的優(yōu)先級及自己的內(nèi)存映射。相應(yīng)的在代碼編寫中也會有內(nèi)核空間編程及用戶空間編程的區(qū)別。本文將以PC-6325A板卡驅(qū)動開發(fā)中的具體代碼為例對驅(qū)動程序中內(nèi)核空間及用戶空間較為常用的函數(shù)方法進(jìn)行詳細(xì)介紹。

    3.2.1 初始化和關(guān)閉

    1.初始化代碼如下:

    static int __init pc6325_init (void){

    register_chrdev(MAJOR_NUM, "pc6325", &pc6325;_fops);

    gPc6325Dev = kmalloc(sizeof(struct pc6325_dev), GFP_KERNEL);

    init_MUTEX(&gPc6325Dev-;>sem); /*初始化信號量*/

    return 0;

    }

    module_init(pc6325_init);

    初始化函數(shù)聲明為static,該函數(shù)僅在初始化期間使用。模塊裝載之后,模塊裝載器將初始化函數(shù)丟掉,并釋放函數(shù)所占用的內(nèi)存。

    module_init用于說明內(nèi)核初始化函數(shù)的位置。如果沒有這個(gè)定義,初始化函數(shù)將無法被調(diào)用。

    2.清除函數(shù)代碼如下:

    static void __exit pc6325_exit (void){

    unregister_chrdev(MAJOR_NUM, "pc6325");

    }

    module_exit(pc6325_exit);

    清除函數(shù)在模塊移除前注銷接口并返回系統(tǒng)中的所有資源。清除函數(shù)無返回值,聲明為void清除函數(shù)用于模塊卸載,在模塊卸載或者系統(tǒng)關(guān)閉時(shí)調(diào)用。

    3.2.2 數(shù)據(jù)讀取與發(fā)送

    1.讀取數(shù)據(jù)代碼如下

    static ssize_t pc6325_read(struct file *filp, char __user *buf, size_t size,loff_t *ppos)

    {

    unsigned long p = *ppos;

    unsigned int count = size;

    int ret = 0;

    struct pc6325_dev *dev = filp->private_data; /*獲得設(shè)備結(jié)構(gòu)體指針*/

    if (down_interruptible(&dev-;>sem)) /* 獲得信號量 */

    {

    return - ERESTARTSYS;

    }

    dev->mem[0]=inb(dev->address+p);

    copy_to_user(buf, &(dev->mem[0]), count);

    up(&dev-;>sem);

    return ret;

    }

    該函數(shù)用來從設(shè)備讀取數(shù)據(jù),函數(shù)指針被賦予NULL值時(shí),將導(dǎo)致reed系統(tǒng)調(diào)用出錯(cuò)并返回-EINVAL(非法參數(shù))。函數(shù)返回非負(fù)值表示成功讀取的字節(jié)數(shù)。對于該方法,參數(shù)filp是文件指針,參數(shù)count是請求傳輸?shù)臄?shù)據(jù)長度。參數(shù)buff是用戶空間的指針,指向用戶空間的緩沖區(qū),保存要寫入的數(shù)據(jù),或者是一個(gè)存放新讀入數(shù)據(jù)的空緩沖區(qū)。最后的offp是一個(gè)指向長偏移量類型的對象指針,用于指明用戶在文件中進(jìn)行存取操作的位置。

    2.發(fā)送數(shù)據(jù)函數(shù)如下:

    static ssize_t pc6325_write(struct file *filp, const char __user *buf,size_t size, loff_t *ppos)

    {

    unsigned long p = *ppos;

    unsigned int count = size;

    int ret = 0;

    unsigned char vData=0;

    struct pc6325_dev *dev = filp->private_data; /* 獲得設(shè)備結(jié)構(gòu)體指針 */

    if( count<3 ){

    return;

    }

    if (down_interruptible(&dev-;>sem)) /* 獲得信號量 */

    {

    return - ERESTARTSYS;

    }

    copy_from_user(dev->mem+p,buf,count);

    if( count==3 && dev->mem[0]==0xED ){

    dev->address=dev->mem[1]*0x100+dev->mem[2];

    pc6325_set_base_address(dev->address);

    }else if( count==3 && dev->mem[0]==0xCD ){

    dev->offset=dev->mem[1];

    vData=dev->mem[2];

    outb(vData,dev->address+dev->offset);

    }

    up(&dev-;>sem); /* 釋放信號量 */

    return ret;

    }

    向設(shè)備發(fā)送數(shù)據(jù)。如果返回值非負(fù),則表示成功寫入的字節(jié)數(shù)。其用法及參數(shù)與read方法一致,在此不再贅述。

    3.2.3 open和release方法

    1.open方法:

    int pc6325_open(struct inode *inode, struct file *filp)

    {

    filp->private_data = gPc6325Dev;

    return 0;

    }

    Open方法提供給驅(qū)動程序初始化的能力,從而為以后的操作完成初始化的準(zhǔn)備。在多數(shù)驅(qū)動程序中,open完成如下工作:

    a)檢查設(shè)備特定的錯(cuò)誤;

    b)如果設(shè)備是首次打開,則對其進(jìn)行初始化;

    c)必要時(shí),更新f_op指針;

    d)非配并填寫置于filp->private_data里的數(shù)據(jù)結(jié)構(gòu)[1]。

    2.release方法:

    int pc6325_release(struct inode *inode, struct file *filp)

    {

    struct pc6325_dev *dev = filp->private_data;

    pc6325_release_base_address(dev->address);

    //printk(KERN_ALERT "address release");

    return 0;

    }

    release方法的作用于open正好相反。該方法通常完成以下任務(wù)。

    a)釋放有open分配的、保存在filp->private_data中的所有內(nèi)容;

    b)在最后一次關(guān)閉操作時(shí)關(guān)閉設(shè)備。

    3.2.4 file_operations結(jié)構(gòu)

    代碼如下:

    struct file_operations pc6325_fops={

    read: pc6325_read,

    write: pc6325_write,

    open: pc6325_open,

    release: pc6325_release,

    owner: THIS_MODULE,

    };

    file_operations結(jié)構(gòu)用于建立驅(qū)動程序與設(shè)備編號之間的連接。主要用于實(shí)現(xiàn)系統(tǒng)調(diào)用。結(jié)構(gòu)中的每一個(gè)字段都指向驅(qū)動程序中特定操作的函數(shù),對于不支持的操作,對應(yīng)的字段可設(shè)置為NULL值。

    3.2.5 模塊加載與卸載

    1. 模塊加載

    # Create the device nodes (up to 10 by default)

    echo -n "Creating device nodes........... "

    rm -f ${path}/${name}*

    mknod ${path}/${name} c $major 226

    #mknod ${path}/${name} c 226 0

    # Create additional nodes for non-service driver

    if [ "${bServiceDriver}" == "0" ]; then

    mknod ${path}/${name}-0 c $major 000

    mknod ${path}/${name}-1 c $major 001

    mknod ${path}/${name}-2 c $major 002

    mknod ${path}/${name}-3 c $major 003

    mknod ${path}/${name}-4 c $major 004

    mknod ${path}/${name}-5 c $major 005

    mknod ${path}/${name}-6 c $major 006

    mknod ${path}/${name}-7 c $major 007

    mknod ${path}/${name}-8 c $major 008

    mknod ${path}/${name}-9 c $major 009

    fi

    chmod 777 $path

    上述代碼中rm -f ${path}/${name}*的作用為卸載之前的模塊以釋放空間在模塊卸載中也會用到,之后的代碼為進(jìn)行模塊加載。其中mknod命令用于創(chuàng)建設(shè)備文件。最后的chmod 777 $path表示賦予讀、寫以及運(yùn)行的權(quán)限。

    2.模塊卸載

    echo -n "Clear existing device nodes..... "

    rm -f $path/${name}*

    echo "Ok (${path}/${name})"

    卸載模塊代碼較為簡單使用rm -f $path/${name}*指令卸載即可。

    4.結(jié)論

    Linux系統(tǒng)對于開發(fā)人員而言有著眾多的優(yōu)點(diǎn),但市場上Linux發(fā)行版本多,很多硬件設(shè)備缺少對應(yīng)版本的驅(qū)動程序,需要自行開發(fā)。本文以PC-6325A板卡驅(qū)動開發(fā)為例介紹了PC-6325A板卡信息及工作原理,linux內(nèi)核編譯加載、常用函數(shù)方法實(shí)現(xiàn)等基本編程技術(shù)。可為Linux系統(tǒng)驅(qū)動開發(fā)人員提供參考。

    參考文獻(xiàn)

    [1]LINUX設(shè)備驅(qū)動程序第三版,中國電力出版社,2006年1月,魏永明,耿岳,鐘書毅 譯.

    [2]PC-6325A板卡用戶手冊.

    猜你喜歡
    板卡驅(qū)動程序內(nèi)核
    萬物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
    群眾路線是百年大黨成功之內(nèi)核性制度因素的外在表達(dá)
    強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
    Linux內(nèi)核mmap保護(hù)機(jī)制研究
    基于PCI9054的多總線通信板卡的研制
    基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
    一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
    一種通用模擬量及開關(guān)量信號采集板卡的設(shè)計(jì)
    驅(qū)動程序更新與推薦
    驅(qū)動程序更新與推薦
    a级毛片在线看网站| 天天躁夜夜躁狠狠躁躁| 亚洲伊人色综图| 国产精品国产三级国产专区5o| 天天躁夜夜躁狠狠躁躁| 一个人免费看片子| a级毛片黄视频| 观看美女的网站| 久久99热这里只频精品6学生| 欧美日韩视频高清一区二区三区二| 日本猛色少妇xxxxx猛交久久| 久久久国产一区二区| 中文精品一卡2卡3卡4更新| 看非洲黑人一级黄片| 亚洲欧洲国产日韩| 亚洲第一区二区三区不卡| 欧美+日韩+精品| 国产高清不卡午夜福利| 精品国产一区二区三区久久久樱花| 中文字幕人妻熟女乱码| 18禁裸乳无遮挡动漫免费视频| 久久韩国三级中文字幕| 美女视频免费永久观看网站| a级片在线免费高清观看视频| 日韩人妻精品一区2区三区| 少妇的丰满在线观看| 免费av中文字幕在线| 国产老妇伦熟女老妇高清| 91成人精品电影| 久久精品人人爽人人爽视色| 五月伊人婷婷丁香| 国产成人av激情在线播放| 秋霞在线观看毛片| 久久精品熟女亚洲av麻豆精品| 天堂中文最新版在线下载| 99热网站在线观看| 毛片一级片免费看久久久久| 一区二区三区乱码不卡18| 久久久久久久大尺度免费视频| 蜜桃在线观看..| 亚洲精品aⅴ在线观看| 搡女人真爽免费视频火全软件| 综合色丁香网| 亚洲欧美日韩另类电影网站| 青春草视频在线免费观看| 99精国产麻豆久久婷婷| 99香蕉大伊视频| 在线观看美女被高潮喷水网站| 免费黄色在线免费观看| 欧美在线黄色| 99精国产麻豆久久婷婷| 日本wwww免费看| 久久 成人 亚洲| 亚洲精品中文字幕在线视频| 18+在线观看网站| 国产精品 国内视频| 久久久久国产一级毛片高清牌| 一区二区三区乱码不卡18| 午夜精品国产一区二区电影| 亚洲成av片中文字幕在线观看 | 国产黄色免费在线视频| 国产黄频视频在线观看| 欧美日韩精品成人综合77777| 欧美+日韩+精品| 亚洲国产精品999| 九九爱精品视频在线观看| 男女午夜视频在线观看| 久久这里有精品视频免费| 亚洲国产日韩一区二区| 免费观看在线日韩| 久久久久久久久久久久大奶| 亚洲天堂av无毛| 多毛熟女@视频| 人妻人人澡人人爽人人| 一二三四在线观看免费中文在| 国产无遮挡羞羞视频在线观看| 999久久久国产精品视频| 国产精品麻豆人妻色哟哟久久| 秋霞伦理黄片| 九草在线视频观看| 亚洲欧美精品自产自拍| 免费人妻精品一区二区三区视频| 久久这里只有精品19| 中文精品一卡2卡3卡4更新| 久久 成人 亚洲| 9热在线视频观看99| 久久久久久人人人人人| 日韩欧美一区视频在线观看| 欧美激情极品国产一区二区三区| 青春草亚洲视频在线观看| 欧美少妇被猛烈插入视频| 2021少妇久久久久久久久久久| 女人被躁到高潮嗷嗷叫费观| 天天影视国产精品| 黄色配什么色好看| av免费观看日本| 精品少妇内射三级| 97在线人人人人妻| 亚洲第一区二区三区不卡| av网站在线播放免费| 国产片特级美女逼逼视频| 一区福利在线观看| 国产黄色免费在线视频| 色视频在线一区二区三区| 久久久久久人人人人人| 波野结衣二区三区在线| 日韩大片免费观看网站| 色婷婷久久久亚洲欧美| 男女无遮挡免费网站观看| 永久免费av网站大全| 伦理电影免费视频| 久久精品久久久久久久性| 欧美日本中文国产一区发布| 人人妻人人澡人人看| 午夜老司机福利剧场| 久久国产精品男人的天堂亚洲| 中文天堂在线官网| av天堂久久9| 香蕉精品网在线| 亚洲经典国产精华液单| 日韩大片免费观看网站| 曰老女人黄片| 亚洲视频免费观看视频| 亚洲美女黄色视频免费看| 久久97久久精品| 国产乱人偷精品视频| 成年美女黄网站色视频大全免费| 日韩av免费高清视频| 久久精品夜色国产| 人人妻人人爽人人添夜夜欢视频| 最黄视频免费看| 天天躁日日躁夜夜躁夜夜| 免费少妇av软件| 天天躁夜夜躁狠狠久久av| 搡老乐熟女国产| 丝袜在线中文字幕| 久久国产精品大桥未久av| 欧美精品国产亚洲| 亚洲精品第二区| 国产探花极品一区二区| 国产精品秋霞免费鲁丝片| 亚洲欧美清纯卡通| 国产精品香港三级国产av潘金莲 | 久久久久久久久久人人人人人人| 午夜激情久久久久久久| 日韩中文字幕欧美一区二区 | 欧美变态另类bdsm刘玥| 国产精品成人在线| 久久精品久久精品一区二区三区| 国产乱人偷精品视频| 永久免费av网站大全| 亚洲情色 制服丝袜| 成年av动漫网址| 欧美日韩一区二区视频在线观看视频在线| 免费av中文字幕在线| 老汉色∧v一级毛片| 老司机影院毛片| 亚洲精品国产一区二区精华液| 一级黄片播放器| 亚洲精品美女久久av网站| 国产成人91sexporn| 在线 av 中文字幕| 少妇精品久久久久久久| 丝瓜视频免费看黄片| 熟妇人妻不卡中文字幕| 精品亚洲成a人片在线观看| 亚洲久久久国产精品| av在线观看视频网站免费| 午夜激情久久久久久久| 日韩欧美精品免费久久| 青青草视频在线视频观看| 欧美日韩视频高清一区二区三区二| 国语对白做爰xxxⅹ性视频网站| 久久久久久免费高清国产稀缺| 三上悠亚av全集在线观看| 免费在线观看完整版高清| 日韩人妻精品一区2区三区| 美女国产视频在线观看| 久久综合国产亚洲精品| 国产成人欧美| 国产精品二区激情视频| 男的添女的下面高潮视频| 熟女少妇亚洲综合色aaa.| 一级片'在线观看视频| av在线app专区| 亚洲欧美成人精品一区二区| 亚洲熟女精品中文字幕| 毛片一级片免费看久久久久| 欧美av亚洲av综合av国产av | 蜜桃在线观看..| 一区在线观看完整版| 国产综合精华液| 嫩草影院入口| 亚洲欧洲国产日韩| 亚洲精品国产色婷婷电影| 色婷婷久久久亚洲欧美| 久久精品国产a三级三级三级| 人妻一区二区av| 最近最新中文字幕大全免费视频 | 免费日韩欧美在线观看| 飞空精品影院首页| 深夜精品福利| 久久99精品国语久久久| 中国国产av一级| 天天躁日日躁夜夜躁夜夜| 91成人精品电影| 成人亚洲欧美一区二区av| 99久久中文字幕三级久久日本| 美国免费a级毛片| 久久久久久久大尺度免费视频| 国产免费又黄又爽又色| 亚洲人成网站在线观看播放| 高清视频免费观看一区二区| 一级,二级,三级黄色视频| 一本色道久久久久久精品综合| 久久国产亚洲av麻豆专区| 久久久久久免费高清国产稀缺| kizo精华| 久久久久久久久久久久大奶| 免费久久久久久久精品成人欧美视频| 日韩免费高清中文字幕av| tube8黄色片| 精品国产乱码久久久久久男人| av片东京热男人的天堂| 咕卡用的链子| 国产欧美日韩一区二区三区在线| 久久精品国产亚洲av涩爱| 制服诱惑二区| 看免费av毛片| 亚洲精品中文字幕在线视频| 久久久久国产网址| 欧美日韩一级在线毛片| 美女福利国产在线| 午夜精品国产一区二区电影| 90打野战视频偷拍视频| 中国三级夫妇交换| 美女国产高潮福利片在线看| 亚洲精品一区蜜桃| videosex国产| 日韩精品有码人妻一区| av电影中文网址| 亚洲第一av免费看| 久久久国产精品麻豆| 国产极品天堂在线| 在线观看三级黄色| 不卡av一区二区三区| 999精品在线视频| 不卡视频在线观看欧美| 只有这里有精品99| 国产男女内射视频| 欧美成人午夜精品| 久久久精品免费免费高清| 婷婷色麻豆天堂久久| av又黄又爽大尺度在线免费看| www日本在线高清视频| 亚洲av在线观看美女高潮| av有码第一页| 只有这里有精品99| 黄色毛片三级朝国网站| 赤兔流量卡办理| 成人国语在线视频| 2021少妇久久久久久久久久久| 女人高潮潮喷娇喘18禁视频| 肉色欧美久久久久久久蜜桃| 久久久国产一区二区| 亚洲成人一二三区av| 国产有黄有色有爽视频| 国产人伦9x9x在线观看 | 亚洲av中文av极速乱| av卡一久久| 免费少妇av软件| 免费大片黄手机在线观看| 成人国语在线视频| 在线 av 中文字幕| 99re6热这里在线精品视频| 婷婷色综合大香蕉| 午夜福利影视在线免费观看| 国产日韩欧美在线精品| 日韩一本色道免费dvd| √禁漫天堂资源中文www| 99热全是精品| 国产又色又爽无遮挡免| 69精品国产乱码久久久| 欧美日韩国产mv在线观看视频| 久久久久久久亚洲中文字幕| 欧美精品一区二区大全| 久久久久人妻精品一区果冻| 亚洲国产成人一精品久久久| 午夜福利在线免费观看网站| 国产一区亚洲一区在线观看| 亚洲欧美精品综合一区二区三区 | 免费观看a级毛片全部| videossex国产| 欧美97在线视频| 一级,二级,三级黄色视频| 亚洲 欧美一区二区三区| 国产精品麻豆人妻色哟哟久久| 婷婷色麻豆天堂久久| 亚洲,一卡二卡三卡| 精品一区二区三卡| 国产老妇伦熟女老妇高清| 日本欧美国产在线视频| 日韩欧美一区视频在线观看| 亚洲美女黄色视频免费看| 日韩欧美精品免费久久| 精品一品国产午夜福利视频| 日本午夜av视频| 久久久久网色| 人妻 亚洲 视频| av在线观看视频网站免费| 国产av国产精品国产| 国产野战对白在线观看| 人成视频在线观看免费观看| 国产精品一区二区在线不卡| 自线自在国产av| 精品福利永久在线观看| 日韩av免费高清视频| 一级黄片播放器| 伦理电影大哥的女人| av网站在线播放免费| 啦啦啦啦在线视频资源| 天天影视国产精品| 国产精品香港三级国产av潘金莲 | 成年av动漫网址| 久久精品国产亚洲av高清一级| 亚洲内射少妇av| 欧美日韩亚洲高清精品| 国产成人精品久久二区二区91 | 精品视频人人做人人爽| 在线观看免费日韩欧美大片| 啦啦啦在线免费观看视频4| 日韩制服丝袜自拍偷拍| 亚洲欧美一区二区三区黑人 | 亚洲人成网站在线观看播放| 欧美bdsm另类| 少妇 在线观看| 国产成人精品久久二区二区91 | 国产亚洲一区二区精品| 丝袜人妻中文字幕| 亚洲五月色婷婷综合| 精品福利永久在线观看| a级毛片黄视频| 欧美日韩一区二区视频在线观看视频在线| 久久精品国产综合久久久| 国产成人精品在线电影| 久久韩国三级中文字幕| 美女高潮到喷水免费观看| 91在线精品国自产拍蜜月| 精品少妇黑人巨大在线播放| 国产综合精华液| 免费在线观看完整版高清| av天堂久久9| 免费看不卡的av| 国产精品三级大全| 日韩电影二区| 啦啦啦在线观看免费高清www| 欧美精品高潮呻吟av久久| 99久久中文字幕三级久久日本| 高清在线视频一区二区三区| 精品久久久久久电影网| 国产乱人偷精品视频| 日韩一卡2卡3卡4卡2021年| 国产精品久久久久久久久免| 婷婷色综合大香蕉| 国产欧美日韩一区二区三区在线| 精品国产乱码久久久久久小说| 纯流量卡能插随身wifi吗| 亚洲天堂av无毛| 国产精品久久久久久久久免| 五月伊人婷婷丁香| 午夜精品国产一区二区电影| 视频区图区小说| 免费黄网站久久成人精品| 69精品国产乱码久久久| 在线亚洲精品国产二区图片欧美| 国产欧美日韩综合在线一区二区| 国产爽快片一区二区三区| av福利片在线| 伊人久久大香线蕉亚洲五| 国产极品粉嫩免费观看在线| www.自偷自拍.com| 一区二区av电影网| 精品人妻一区二区三区麻豆| 18禁裸乳无遮挡动漫免费视频| 国产97色在线日韩免费| 波野结衣二区三区在线| 一级毛片 在线播放| 国产成人免费无遮挡视频| 亚洲欧美色中文字幕在线| av网站免费在线观看视频| 国产成人免费无遮挡视频| 久久国产精品男人的天堂亚洲| 中文欧美无线码| 久久国内精品自在自线图片| 在线精品无人区一区二区三| 国产精品人妻久久久影院| 女人被躁到高潮嗷嗷叫费观| av网站免费在线观看视频| videossex国产| 99re6热这里在线精品视频| 日本猛色少妇xxxxx猛交久久| 久久精品国产鲁丝片午夜精品| 欧美亚洲 丝袜 人妻 在线| 欧美 亚洲 国产 日韩一| www.av在线官网国产| 欧美日韩亚洲国产一区二区在线观看 | 成人国语在线视频| 欧美97在线视频| 男女边吃奶边做爰视频| 亚洲欧美成人精品一区二区| 久久久久久久精品精品| av有码第一页| 性色avwww在线观看| 亚洲国产精品一区二区三区在线| 国产成人aa在线观看| 欧美亚洲 丝袜 人妻 在线| 久久久久久久久久久久大奶| 欧美人与性动交α欧美精品济南到 | 久久综合国产亚洲精品| 精品亚洲成国产av| 丝袜人妻中文字幕| 国产精品熟女久久久久浪| www.av在线官网国产| 精品第一国产精品| 天天影视国产精品| av网站免费在线观看视频| 久久久久久久精品精品| 欧美在线黄色| 日韩人妻精品一区2区三区| 啦啦啦在线免费观看视频4| 久久这里有精品视频免费| 亚洲一级一片aⅴ在线观看| 女的被弄到高潮叫床怎么办| 亚洲精品久久久久久婷婷小说| 色婷婷久久久亚洲欧美| 日韩熟女老妇一区二区性免费视频| 亚洲情色 制服丝袜| 亚洲精品久久成人aⅴ小说| 十分钟在线观看高清视频www| 国产精品蜜桃在线观看| 中文天堂在线官网| 欧美人与性动交α欧美软件| 中文字幕人妻丝袜一区二区 | 青春草国产在线视频| 欧美日韩视频精品一区| 久久精品久久久久久久性| 叶爱在线成人免费视频播放| 国产精品偷伦视频观看了| 久久久国产一区二区| 91成人精品电影| 亚洲国产av影院在线观看| 老汉色∧v一级毛片| 国产黄色免费在线视频| a级毛片黄视频| 精品国产乱码久久久久久男人| 美女福利国产在线| 国产在线视频一区二区| 青春草亚洲视频在线观看| 赤兔流量卡办理| 国产亚洲午夜精品一区二区久久| 天天影视国产精品| 中国三级夫妇交换| 国产亚洲av片在线观看秒播厂| 26uuu在线亚洲综合色| 国产无遮挡羞羞视频在线观看| 亚洲一区二区三区欧美精品| 一本—道久久a久久精品蜜桃钙片| 国产精品久久久久久精品电影小说| 午夜福利在线免费观看网站| 国产在视频线精品| 99精国产麻豆久久婷婷| 亚洲精品国产av成人精品| av.在线天堂| 亚洲国产精品成人久久小说| 满18在线观看网站| 国产片特级美女逼逼视频| 亚洲欧美一区二区三区黑人 | 久久久欧美国产精品| 亚洲精品国产一区二区精华液| 亚洲图色成人| 精品一区二区三区四区五区乱码 | 久久久久国产一级毛片高清牌| 精品人妻一区二区三区麻豆| 亚洲伊人久久精品综合| 狠狠精品人妻久久久久久综合| 欧美日韩一级在线毛片| 九九爱精品视频在线观看| 亚洲国产av影院在线观看| 中文字幕制服av| 精品国产一区二区久久| 晚上一个人看的免费电影| 婷婷色综合大香蕉| 熟妇人妻不卡中文字幕| 美女国产视频在线观看| 国产野战对白在线观看| 爱豆传媒免费全集在线观看| 国产精品久久久av美女十八| 日韩大片免费观看网站| 亚洲av在线观看美女高潮| 视频区图区小说| 亚洲成人一二三区av| 久久99蜜桃精品久久| 超碰97精品在线观看| 欧美bdsm另类| 国产深夜福利视频在线观看| 视频区图区小说| 熟妇人妻不卡中文字幕| 少妇被粗大猛烈的视频| 美女视频免费永久观看网站| 一区在线观看完整版| 中文字幕亚洲精品专区| 免费在线观看黄色视频的| 精品99又大又爽又粗少妇毛片| 国产极品粉嫩免费观看在线| 精品99又大又爽又粗少妇毛片| 日韩不卡一区二区三区视频在线| 国产爽快片一区二区三区| 亚洲欧美成人综合另类久久久| 九九爱精品视频在线观看| 精品一区二区免费观看| 精品人妻一区二区三区麻豆| 少妇人妻久久综合中文| 高清在线视频一区二区三区| 女人精品久久久久毛片| 老女人水多毛片| 日韩中文字幕视频在线看片| 美女午夜性视频免费| 午夜久久久在线观看| 久久精品aⅴ一区二区三区四区 | 激情视频va一区二区三区| 两性夫妻黄色片| 国产精品一二三区在线看| freevideosex欧美| 国产精品一二三区在线看| 亚洲一区二区三区欧美精品| 青春草国产在线视频| 日韩中字成人| 国产深夜福利视频在线观看| 国产97色在线日韩免费| 国产精品香港三级国产av潘金莲 | 久久久久久久久久人人人人人人| 日韩欧美精品免费久久| 黑丝袜美女国产一区| 亚洲一区中文字幕在线| 亚洲精品久久久久久婷婷小说| 丝袜在线中文字幕| 日本wwww免费看| 一级爰片在线观看| 有码 亚洲区| 久久亚洲国产成人精品v| 午夜免费鲁丝| 精品国产一区二区三区久久久樱花| 久久久久网色| 久久久久久久久久久久大奶| 日韩一区二区三区影片| 少妇被粗大猛烈的视频| 久久精品国产a三级三级三级| 日韩一卡2卡3卡4卡2021年| 亚洲精品一区蜜桃| 性少妇av在线| 欧美av亚洲av综合av国产av | 久久ye,这里只有精品| 免费看不卡的av| 日本av手机在线免费观看| 国产白丝娇喘喷水9色精品| 美国免费a级毛片| 成人毛片60女人毛片免费| 在线免费观看不下载黄p国产| 欧美亚洲 丝袜 人妻 在线| 一区二区三区激情视频| 最黄视频免费看| 新久久久久国产一级毛片| 亚洲综合色网址| 80岁老熟妇乱子伦牲交| 制服人妻中文乱码| 岛国毛片在线播放| 午夜福利影视在线免费观看| 精品福利永久在线观看| 成人二区视频| 国产成人91sexporn| 国产一区有黄有色的免费视频| 观看美女的网站| 成人毛片a级毛片在线播放| 成年av动漫网址| 久久久久人妻精品一区果冻| 天堂中文最新版在线下载| 国产欧美日韩一区二区三区在线| av一本久久久久| 中文字幕人妻丝袜制服| 在线亚洲精品国产二区图片欧美| 伦理电影免费视频| 你懂的网址亚洲精品在线观看| 香蕉精品网在线| 精品一区在线观看国产| 免费观看av网站的网址| 中文字幕制服av| 搡老乐熟女国产| 午夜福利在线观看免费完整高清在| 久久久久久久国产电影| 男女国产视频网站| 天堂中文最新版在线下载| 天天躁夜夜躁狠狠躁躁| 亚洲av电影在线观看一区二区三区| 90打野战视频偷拍视频| a 毛片基地| av免费观看日本| 少妇精品久久久久久久| 国产一区二区在线观看av| 久久青草综合色| 国产精品一区二区在线观看99| 夜夜骑夜夜射夜夜干| 最新的欧美精品一区二区| 美女xxoo啪啪120秒动态图| 久久久久久久久久久免费av| a 毛片基地|