從點一個燈開始學寫Linux字符設備驅動!

嵌入式資訊精選 2020-08-17 00:00

[導讀] 前一篇文章,介紹了如何將一個hello word模塊編譯進內核或者編譯為動態加載內核模塊,本篇來介紹一下如何利用Linux驅動模型來完成一個LED燈設備驅動。點一個燈有什么好談呢?況且Linux下有專門的leds驅動子系統。

點燈有啥好聊呢?

在很多嵌入式系統里,有可能需要實現數字開關量輸出,比如:

  • LED狀態顯示
  • 閥門/繼電器控制
  • 蜂鳴器
  • ......

嵌入式Linux一般需求千變萬化,也不可能這些需求都有現成設備驅動代碼可供使用,所以如何學會完成一個開關量輸出設備的驅動,一方面點個燈可以比較快了解如何具體寫一個字符類設備驅動,另一方面實際項目中對于開關量輸出設備就可以這樣干,所以是具有較強的實用價值的。

要完成這樣一個開關量輸出GPIO的驅動程序,需要梳理梳理下面這些概念:

  • 設備編號
  • 設備掛載
  • 關鍵數據結構

設備編號

字符設備是通過文件系統內的設備名稱進行訪問的,其本質是設備文件系統樹的節點。故Linux下設備也是一個文件,Linux下字符設備在/dev目錄下。可以在開發板的控制臺或者編譯的主Linux系統中利用ls -l /dev查看,如下圖:

對于ls -l列出的屬性,做一個比較細的解析:

細心的朋友或許會發現設備號屬性,在有的文件夾下列出來不是這樣,這就對了!普通文件夾下是這樣:

差別在于一個是文件大小,一個是設備號。

再細心一點的朋友或許還會問,這些/dev下的文件時間屬性為神馬都相差無幾?這是因為/dev設備樹節點是在內核啟動掛載設備驅動動態生成的,所以時間就是系統開機后按次序生成的,你如不信,不妨重啟一下系統在查看一下。

常見文件類型:

  • d: directory 文件夾
  • l: link  符號鏈接
  • p: FIFO pipe 管道文件,可以用mkfifo命令生成創建
  • s: socket 套接字文件
  • c: char 字符型設備文件
  • b: block 塊設備文件
  • -:常規文件

回到設備號,設備號是一個32位無符號整型數,其中:

  • 12位用來表示主設備號,用于標識設備對應的驅動程序。
  • 20位用來表示次設備號,用于正確確定設備文件所指的設備。

這怎么理解呢,看下串口類設備就比較清楚了:

主設備號一樣證明這些設備共用了一個驅動程序,而次設備號不一樣,則對應了不同的串口設備。那么怎么得到設備號呢?

/*下列定義位于./include/linux/types.h */
typedef u32 __kernel_dev_t;
typedef __kernel_dev_t dev_t;

/* 下面宏用于生成主設備號,次設備號       */
/* 下列定義位于./include/linux/Kdev_t.h */
#define MINORBITS 20
#define MINORMASK ((1U << MINORBITS) - 1)

#define MAJOR(dev) ((unsigned int) ((dev) >> MINORBITS))
#define MINOR(dev) ((unsigned int) ((dev) & MINORMASK))
#define MKDEV(ma,mi) (((ma) << MINORBITS) | (mi))

使用舉例:

/* 主設備號 */
MAJOR(dev_t dev); 
/* 次設備號 */
MINOR(dev_t dev);

設備掛載

為簡化問題,本文描述一下動態加載設備驅動模塊,暫不考慮設備樹。參考<<Linux設備驅動程序>>一書。可參照前文將驅動編譯成模塊,然后利用下面腳步動態加載模塊。由前面描述,知道設備最終需要在/dev目錄下生成一個設備文件,那么這個設備文件節點是怎么生成呢,看看下面的腳本:

#!/bin/sh
#-----------------------------------------------------------------------
module="led"
device="led"
mode="664"
group="staff"

#
 利用insmod命令加載設備模塊
insmod -f $module.ko $* || exit 1
# 獲取系統分配的主設備號 
major=`cat /proc/devices | awk "\\$2==\"$module\" {print \\$1}"`

#
 刪除舊節點
rm -f /dev/${device} 

#
創建設備文件節點
mknod /dev/${device} c $major 0
#設置設備文件節點屬性
chgrp $group /dev/${device}
chmod $mode  /dev/${device}

這里要提一下/proc/devices,這是一個文件記錄了字符和塊設備的主設備號,以及分配到這些設備號的設備名稱。比如使用cat命令來列出這個文件內容:

關鍵數據結構

字符設備由什么關鍵數據結構進行抽象的呢,來看看:

  • file_operations定義在./include/linux/fs.h
  • cdev定義在./include/linux/cdev.h

cdev中與字符設備驅動編程相關兩個數據域:

  • const struct file_operations *ops;
  • dev_t dev;設備編號

文件操作符是一個龐大的數據結構,常規字符設備驅動一般需要實現下面一些函數指針:

  • read:用來實現從設備中讀取數據
  • write:用于實現寫入數據到設備
  • ioctl:實現執行設備特定命令的方法
  • open:用實現打開一個設備文件
  • release:當file結構被釋放時,將調用這個接口函數

點燈設備

先上代碼(可左右滑動顯示):

#include <linux/module.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/kernel.h>  /* printk() */
#include <linux/major.h>
#include <linux/cdev.h>
#include <linux/fs.h>      /* everything... */
#include <linux/gpio.h>
#include <asm/uaccess.h>   /* copy_*_user */

/*這里具體參考不同開發板的電路 GPIOC24 */
#define LED_CTRL   (2*32+24)  

static const unsigned int led_pad_cfg = LED_CTRL;

struct t_led_dev{
 struct cdev cdev;
 unsigned char value; 
};

struct t_led_dev  led_dev;
static dev_t led_major;
static dev_t led_minor=0

static int led_open(struct inode * inode,struct file * filp)

 filp->private_data = &led_dev; 
 
 printk ("led is opened!\n");          
 return 0;
}

static int led_release(struct inode * inode,
                       struct file * filp)

{
 return 0;
}

static ssize_t led_read(struct file * file, 
                        char __user * buf,
                        size_t count, 
                        loff_t *ppos)

{
 ssize_t ret=1;   
 if(copy_to_user(&(led_dev.value),buf,1))
  return -EFAULT;
 printk ("led is read!\n");
 return ret;
}

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

{
 unsigned char value; 
    ssize_t retval = 0;
 if(copy_from_user(&value,buf,1))
  return -EFAULT;
 
 if(value&0x01)
  gpio_set_value(led_pad_cfg, 1);
 else
  gpio_set_value(led_pad_cfg, 0);

    printk ("led is written!\n");
 return retval;
}

static const struct file_operations led_fops = {
 .owner = THIS_MODULE,
 .read  = led_read,
 .write = led_write,
 .open  = led_open,
 .release = led_release,
};

static void led_setup_cdev(struct t_led_dev * dev, int index)

    /* 初始化字符設備驅動數據域 */
 int err,devno = MKDEV(led_major,led_minor+index);
 cdev_init(&(dev->cdev),&led_fops);
 dev->cdev.owner = THIS_MODULE;
 dev->cdev.ops = &led_fops;
    /* 字符設備注冊 */
 err = cdev_add(&(dev->cdev),devno,1);
 if(err)
  printk(KERN_NOTICE "Error %d adding led %d",err,index); 
}

static int led_gpio_init(void)
{
 if (gpio_request(LED_CTRL, "led") < 0) {
  printk("Led request gpio failed\n");
  return -1;
 }
 
 printk("Led gpio requested ok\n");
 
 gpio_direction_output(LED_CTRL, 1); 
 gpio_set_value(LED_CTRL, 1);
 
 return 0;
}
/* 注銷設備 */
void led_cleanup(void)

 dev_t devno = MKDEV(led_major, led_minor); 
 gpio_set_value(LED_CTRL, 0); 
 gpio_free(LED_CTRL);

 cdev_del(&led_dev.cdev); 
 unregister_chrdev_region(devno, 1);    //注銷設備號  
}

/* 注冊設備 */
static int led_init(void)

 int result;
 dev_t dev = MKDEV( led_major, 0 );
 /* 動態分配設備號 */
 result = alloc_chrdev_region(&dev, 01"led");      
 if(result<0)
  return result; 
 
 led_major = MAJOR(dev);
 
 memset(&led_dev,0,sizeof(struct t_led_dev));
 led_setup_cdev(&led_dev,0);

 led_gpio_init();
 printk ("led device initialised!\n"); 
 
 return result;
}

module_init(led_init);
module_exit(led_cleanup);

MODULE_DESCRIPTION("Led device demo");
MODULE_AUTHOR("embinn");
MODULE_LICENSE("GPL");

來總結一下要點:

  • init函數,需要用module_init宏包起來,本例中即為led_init,module_init宏的作用就是選編譯為模塊或進內核的底層實現,建議剛開始不必深究。一般而言主要實現:

    • 申請分配主設備號alloc_chrdev_region
    • 為特定設備相關數據結構分配內存
    • 將入口函數(open read write等)與字符設備驅動的cdev抽象數據結構關聯
    • 將主設備與驅動程序cdev相關聯
    • 申請硬件資源,初始化硬件
    • 調用cdev_add注冊設備
  • exit函數,一樣需要用module_exit包起來,主要負責:

    • 釋放硬件資源
    • 調用cdev_del刪除設備
    • 調用unregister_chrdev_region注銷設備號
  • 用戶空間與驅動數據交換

    • copy_to_user,如其名一樣,將內核空間數據信息傳遞到用戶空間
    • copy_from_user,如其名一樣,從用戶空間拷貝數據進內核空間
  • 善用printk進行驅動調試,這是內核打印函數。

  • gpio相關操作函數,這里就不一一列舉其作用了,比較容易理解。

測試驅動

#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define READ_SIZE 10

int main(int argc, char **argv){
 int fd,count;
 float value;
 unsigned char buf[READ_SIZE+1];
 printf"Cmd argv[0]:%s,argv[1]:%s,argv[2]:%s\n",argv[0],argv[1],argv[2] );
 
 if( argc<2 ){
  printf"[Usage: test device_name ]\n" );
  exit(0);
 }
    if(strlen(argv[2]!=1)
        printf"Invalid parameter\n" );
    
 if(( fd = open(argv[1],O_WRONLY  ))<0){
  printf"Error:can not open the device: %s\n",argv[1] );
  exit(1);
 }
    
    if(argv[2][0] == '1')
        buf[0] = 1;
    else if(argv[2][0] == '0')
        buf[0] = 0;
    else
        printf"Invalid parameter\n" );

 printf("write: %d\n",buf[0]);
 if( (count = write( fd, buf ,1 ))<0 ){
  perror("write error.\n");
  exit(1);  
 }
 
 close(fd);
 printf("close device %s\n",argv[1] );
 return 0;
}

編譯成可執行文件,調用前面的腳本加載設備后,在/dev下就可以看到led設備了。比如測試代碼編譯成ledTest執行文件,則使用下面命令運行測試程序就可以看到led控制效果了:

/*打開led 具體取決電路是高有效還是低有效*/
./ledTest /dev/led 1
./ledTest /dev/led 0

這樣就實現了用戶空間驅動底層設備了,實際應用代碼就可以這樣去訪問底層的字符型設備。

總結一下

本文總結了簡單字符設備的驅動開發的一些要點,以及如何動態加載,在設備文件系統樹上創建設備節點,并演示了驅動以及驅動使用的基本要點。

1.芯師爺|2020硬核中國芯 重磅啟動!

2.【直播福利+預告】第三期“嵌入式與物聯網開發技術”線上分享即將開始啦~

3.使用ZYNQ實現復雜嵌入式系統,真的好用!

4.工業互聯網:嵌入式系統的機遇和挑戰

5.余承東簽發內部文件:華為要造屏幕芯片!

6.RTOS是如何實現多任務的?

免責聲明:本文系網絡轉載,版權歸原作者所有。如涉及作品版權問題,請與我們聯系,我們將根據您提供的版權證明材料確認版權并支付稿酬或者刪除內容。


嵌入式資訊精選 掌握最鮮資訊,盡領行業新風
評論
  • 在物聯網從“萬物互聯”邁向“萬物智聯”的進程中,LTE Cat.1憑借其在速率、成本與網絡覆蓋之間的完美平衡,正成為中低速物聯網市場的絕對主力。隨著2G/3G網絡的逐步退網以及新國標對終端設備智能化、定位功能的強制要求,Cat.1模組迎來了爆發式的增長窗口。在這一關鍵節點,基于華為海思Hi2131芯片設計的LTE Cat.1模組,憑借其在能效、射頻、架構及物理規格上的底層創新,成功打破了“高性能必高功耗”的傳統魔咒,為行業提供了極具競爭力的連接最優解。核心技術優勢:重塑Cat.1能效與連接標桿海
    用戶1778981989717 2026-08-05 21:04 169瀏覽
  • 在EMC測試過程中,傳導發射(Conducted Emission,CE)超標是工程師最常遇到的問題之一。更令人頭疼的是,同樣的超標曲線背后,可能對應著完全不同的干擾機理:有的是差模噪聲沿電源回路傳播,有的是共模電流通過寄生路徑耦合,還有些問題甚至并非來自電源本身,而是負載、電纜布局或接地結構引起的連鎖反應。 · 150kHz~1MHz 超標:多為差模噪聲為主,干擾沿火線-零線回路傳輸。 · 1MHz~30MHz 超標:通常共模噪聲占主導,干擾通過火線/零線對地回路傳播。 如果條件允許,用電流探
    譽磁電磁兼容EMC 2026-07-31 18:45 507瀏覽
  • 在前六期中,我們已經分別討論了 CRA 的適用范圍、整體影響、漏洞通報義務、風險評估與技術文檔證據鏈、第三方組件與 SBOM 供應鏈治理,以及產品上市后的支持期、安全更新、用戶說明和終止支持管理。到這里,企業已經能夠回答幾個核心問題:產品是否落入 CRA 適用范圍,產品由哪些組件構成,企業如何證明自己在設計、開發和上市前采取了必要的安全措施,以及產品上市后如何持續維護和安全下線。但對于真正準備落地 CRA 合規的企業來說,還有一個更現實的問題:CRA 的法規條文相對原則化,企業應當如何把“網絡安
    虹科云科技 2026-08-03 16:51 162850瀏覽
  • 產品使用18V供電,配套4串鋰離子電池,需要設計一個充電器。因為輸入18V,電池最高 16.8V,壓差僅 1.2V。因為壓差太小。使用開關型的充電控制芯片不穩定。嘗試自行設計一個。整體采用分立三極管 + TL431架構,分4個功能單元:使能控制回路、限流環路、TL431 精密恒壓反饋環路、PNP 功率管主功率輸出回路;實現完整鋰電池充電邏輯。使能控制回路按鍵按下:5V 電壓經 R12 (2kΩ) 送入 NPN 管 Q3 基極,Q3 飽和導通,對地拉低 R1、R2 組成的分壓控制節點電位;該節點直
    southcreek 2026-08-07 13:45 334瀏覽
  • 導語在現代高速數字電路設計中,信號的完整性已不僅是理想波形推演,而是一場與物理非理想特性正面博弈的工程實踐。濾波器芯片作為凈化傳輸鏈路的關鍵屏障,其核心挑戰在于:能否有效識別并濾除那些隱匿在電平跳變過程中的亞納秒級瞬態脈沖干擾,這類干擾持續極短,卻足以在高速鏈路中引發誤觸發。然而,傳統函數發生器受限于采樣率與邊沿速率,根本無法忠實復現如此狹窄且陡峭的異常波形。針對此困境,德思特TS-AWG7000系列任意波形發生器以17 GS/s采樣率與50 ps原生邊沿速度,為瞬態脈沖提供精細刻畫,配合SPG
    德思特測試測量 2026-08-05 14:06 5瀏覽
  • ?摘要:低價大流量卡正全面退市,政策收緊已成定局。面對傳統號卡的不確定性,隨身WiFi憑借穩定連接、多設備共享、獨立設備和靈活套餐等優勢,成為務實可靠的備選方案。1、流量卡黃金時代要結束了通信行業正迎來一場前所未有的“地震式”調整——曾讓無數用戶追捧的低價大流量卡,正在全速退出各大平臺。這早已不是一次普通的競合,而是一場趨勢性的行業洗牌。回望過去,19元200G的神卡,那時真是“睡著都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像隨便刷、隨便看,流量自由觸手可及。可如今,回頭再看,那種
    愛上電路設計 2026-08-03 10:21 128878瀏覽
  • 摘要防爆自控系統同時布設本安信號、工業總線、動力供電三類線路,僅依靠標識標牌管控插接極易出現人為錯插問題,高壓動力回路竄入本安弱電回路會突破安全柵限能標準,產生點火風險。依托 A、D、K 標準化機械防呆編碼體系,搭配護套顏色區分管理,適配 3 針 3 孔免焊接冷壓增安型防爆航插、5PIN 總線防爆航空插頭、8 芯焊接防爆法蘭插座的選型使用,從物理結構層面杜絕防爆接近開關連接器、防爆傳感器航插接頭混用插接問題,補齊防爆系統被動安全防護體系。關鍵詞圓形防爆連接器,防呆編碼防爆航插,防爆航空插頭,防爆
    kyfbest科迎法電氣 2026-07-31 18:29 407瀏覽
  •        很多人只見過封裝在SMD外殼里的小尺寸晶振,卻不知道一顆2016、1612甚至1210封裝的微型石英晶振,從一塊巴掌大的石英原礦,到最終能穩定起振的成品,要經過十幾道精密工序。它內部的石英晶片厚度最薄不到20微米,比普通A4紙的1/5還薄,整個生產過程里哪怕0.1微米的誤差,都會直接廢掉整批產品,這也是小尺寸晶振過去長期依賴進口,國內廠商花了十幾年才啃下量產硬骨頭的核心原因。1. 原石定向切割:0.01度的角度誤差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 385瀏覽
  • 做藍牙音箱的工程師大概都碰過這個局面。產品要連手機放歌,要本地播開機提示音和按鍵音,還要接 App 做配網和狀態上報。三件事拆開,早先的常規做法是音頻藍牙一顆料、數傳藍牙一顆料、本地播放再掛一顆小 MCU 加一片 Flash。板子越畫越大,BOM 越算越貴,待機電流和固件工作量也跟著漲。WT2605C 出來以后,這套需求可以集成到一顆芯片,就是 WT2605C-32N,該芯片采用QFN32 封裝,4×4 毫米,把音頻藍牙、BLE 數傳和 MP3 本地播放三樣全包了。對藍牙音箱來說,最實在的好處就
    唯創知音語音芯片 2026-08-06 15:14 289瀏覽
  • 摘要在防爆電氣設計中,只參照芯數選型而忽略額定載流量,長期滿負荷運行會出現插頭發熱、接觸面氧化、IP67 密封受熱老化等問題。結合常用 3 針 3 孔、4 芯、5PIN、8PIN 圓形防爆連接器,制作分級電流參數對照表,區分冷壓免焊接、焊接兩種接線結構的安全載流數值,設置合理電流冗余系數,搭配使用環境修正參數,規范防爆接近開關連接器、防爆法蘭插座的選型計算方式。關鍵詞圓形防爆連接器,載流參數表,防爆法蘭插座,防爆端子接頭,IP67 防爆防水接插件1 產品概述圓形防爆連接器觸點載流能力由插針直徑、
    kyfbest科迎法電氣 2026-08-03 09:18 128645瀏覽
  • 文:杜杰編輯:侯煜當地時間7月28日,美國特朗普政府落地最新科技封鎖政策,美國聯邦通信委員會(FCC)正式更新《受管制清單》,新增兩大類設備——境外生產的先進機器人設備、境外生產的聯網電力逆變器。FCC在官方情況說明書中明確,該類境外制造產品,“會對美國國家安全或美國民眾的人身安全構成無法承受的風險”。本次新規設置明確豁免機制:經美國國防部(DoW)、電力逆變器品類經美國國土安全部(DHS)審核并授予“有條件批準”,認定對應設備品類不存在重大安全風險,即可獲得準入豁免。同時政策嚴格執行新老劃斷原
    華爾街科技眼 2026-08-03 21:28 325瀏覽
  •                                                                        
    廣州鐵金剛 2026-08-06 17:44 113834瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 午夜狂情| 隐形的帽子韩剧| 《女教师3》在线观看| 新三狼之欢场屠夫| 卖保险套的销售无删减版| 电视剧洪湖赤卫队| 韩剧《大度》在线观看全集| 谢谢你温暖我一共几集| 敦煌夜谭| 《极乐宝鉴》2徐少强| kaera uehara| 火箭军司令员李玉超| 法国空姐8| 爱情公寓5| 女子上班被老板灌醉侵犯网站| 部长出差的日子 免费看| 兵王顺溜| 两个人的视频在线观看| 品味人生无憾在线观看| 西行纪5季免费观看樱花| 刘敏涛主演的黑蝴蝶在线播放| 《需要爸爸种子》意大利| 无主之花电影| 公浮之手中2完整版免费播放 | 星辰变超前点播| 法国空乘4完整版播放| 星战传说| 娜塔莉在线| 特殊游泳教练 免费| 大唐诡事录第二季| 动漫二人生猴子免费观看动漫视频| 厨房伦理岳| 我家女友可不止可爱呢| 肮脏的交易| 农家乐钓鱼| 王凯主演的电视剧大全(全部)| 满天星《女超人》免费播放| 纽约客的故事| 巜电车痴汉玩弄人妻HD| 美丽的桃子5大结局| 女扮男装当校草全集免费| 反恐特警组:火速救援| 公浮之手中字2023最新版| 终极谍匪| 《斩神》动漫| 花蝴蝶4免费版大全多少集天气 | 好朋友的男朋友| 林风短剧免费全集播放| 韩剧需要父亲播种| 有钱了小品| eeuSS| 如果爱第2季 综艺| 四月一日灵异录| 傲娇小姑娘中文版| 我是你亲妹妹免费观看电视剧| 肉蒲团之夜销魂 贵妃| 入室强奸的三级片| 名侦探柯南免费观看全集完整版| 无颜之月一至五集观看| 3对一在线观看| 年轮 电视剧| 台安县| 蜡笔小新免费国语版大全| 锦鲤少女:旺夫旺家旺全族全集免费 | 初代奥特曼中文版全集免费观看| 扑克 电影| 泰剧妒海主题曲| 《卢旺达的玫瑰》| 金瓶梅电影百度影音| 同学的妈妈双字ID| 王者清风电视剧| 最强驱魔师vs花子第一集免费观看视频 | 《入室暴行3被蹂躏高潮电影| 高清《飞驰人生2》在线观看地址| 坏修女电影完整版在线看免费| 东北抗联电视剧| 《激战丛林》HD完整版| 抱抱俏佳人粤语版| 新恋爱世纪| 高压监狱法版1分45钟高清免费观看 | 陈雪凝回应抄袭汪苏泷| 全球高武动漫全集免费| 家庭作业迅雷下载| 女版战狼6免费| 黑帮大佬和我365日在线观看| 黑白配4黑白配在线观看免费高清 《在姨母家的客厅》免费播放完整版 | 爱上包养我的女人| 赛仑《渔夫的妻子》| 刷子李课件| 歌唱祖国的歌曲| 《乳头按摩》免费观看视频| 魔幻情劫| 掌心电视剧免费观看完整版| 《驯服2》电影演员名单| 老阿姨电影电视剧免费播放| 马龙被疑打假球| 还魂第二季| 霍山县| 最刺激的夫妻互换 | 爱神一号| 古惑仔电影1-6全集| 塔日酒店未删减版在线观看| 3g手机电影| k8s版电影免费观看| 《玛克辛》电影| 动画片大头儿子小头爸爸| 兵变1938| 刑警之海外行动电视剧在线观看| 《哪吒3》在线观看| 临终老人要走的6个手势| 塔日酒店在线观看高清完整版| 飞哥与小佛全集免费观看| 剃须然后捡到女高中生| 酒店1-5集高清免费观看| 牵手电视剧演员表| 历劫俏佳人下载| 美容店的特殊待遇| 做我的奴役| 欢笑老弄堂| 做aj的的电视剧| 3d肉蒲团 蓝燕| 电影邻居完整版| 生活中的玛丽电影在线播放免费| 电视剧浪子燕青| shoeplay| 新济公活佛全集| 野鸽子电视剧全集30| 新建文件夹2线观看| 狼狈百度影音| 正在播放销售的销售秘密3-在线观看- 最新热门电影电视剧-麻花影院 | 性解命| 追凶者也在线观看免费完整版| 红娘子电视剧下载| 美味快递员2特殊待遇| 乡村爱情7免费全集播放| 同闯歌坛| 黑客帝国免费| 陪部长出差的日子在线播放| 菜根谭的作者是哪个朝代的人| 《需要爸爸播种子》免费在线观看高清完整版-美国福利片 - 无限影院 | 德州市| 女体解剖授业| 喜爱夜蒲 bt| 韩剧美美| Overflower在线观看| 火口的两人全集免费观看| 电影心理罪| 姨妈战狼6| 高清《纠缠》24年最新上映的电影| 樱桃红了电视剧38集| 向井蓝之催情调教| 电影借种| 忆青春飘逝免费观看高清在线| 郝板栗《千金》免费看| 安乃近说明书| 姐姐免费观看国语全集| 凯登克罗斯HD版高清播放电影| 要帅气的生活剧情介绍| b哥全集| 跑男第十二季免费播放| 酒店激战1-5集免费播放人生第一次 | 唯你归途短剧免费观看| 兽魂觉醒动漫免费观看高清 | 被最想拥抱的人拥抱了第一季樱花| 再次我的人生第二季| 赤警威龙在线观看| 屠龙少年历险记| 《高压监狱》HD无删减| 与我同眠 百度影音| 身为超人弟弟的我却成了祖国人| 五亿探长雷洛传2| 特殊的保险推销员2 中国| 电影战马| 《一笑随歌》免费观看| 私人女性监狱免费观看地址| 水手服饲育| 庆余年手机在线观看| 木凛凛演的电影逃亡花| 小舍得电视剧免费观看完整版| 男士美容院| 美国式保罗4免费| 《西虹市首富》电影| 荒岛生存| 韩国理发店的特别待遇| 肉写得很好的糙汉文| 淑蓉又痒了办公室献身| 知否连续剧全集免费观看| 日本战狼8免费播放视频大全| 犯罪心理第十八季| 白夜追凶27| 美国的忌讳5—7| 白丝带电影| 仙剑奇侠传第三部全集| 上司办公室在线观看| 大澳的天空| 漂白在线播放| 哇嘎免费播放网站| 再说一次我爱你 刘德华| 晶兵总动员| 站着再来一次第26集免费播放| 铁梨花43集免费观看| 萌宝追妻:神级奶爸短剧全集| 女律师的坠落未删减版观看| 七品芝麻官电影完整版| 手拉手歌曲| 高清《原谅我》完整版| 大漠孤侠| 《要听爸爸的话》第4集| 《新人类之毒医肥尸》| 一念永恒52集完整版大结局| 男按摩师电影| 新金瓶梅2qvod| 《天海翼和部长一起去出差旅》| 借种电影完整版| 《误杀3》电影超清免费观看| 暴躁老妈高清全集免费看| 老爸当家电视剧| 海市蜃楼的形成| 我的健身锻炼在线观看| 汪文斌任命| 欢聚一堂串词| 《年轻女教师3》韩国| 脱逃者天海冀全集免费观看| 姚明场边大喊:不要犯规| 老版武则天| 电影荣誉守则在线观看 | HD《激战丛林》完整版| 我在情人截取了一段小视频| 金毛动漫库| 《overflower》1-8集 www.appopen.com.cn| 好姑娘6影视剧在线观看| 骚人美女| 野鸽子电视剧全集| 美国版深仇高清在线观看| 无常电影| 韩国空姐2024满天星法版演员表 | 余罪第一季全24集观看完整版| 土耳其电影爱上大妈| 林由奈jufd467在线播放| 头文字d第一部国语| 穿靴子的猫第二季国语版| 儿子爱上日本妈妈叫什么电影| 楼房倒塌人像饺子往下掉不实| 真爱诺言优酷| 露营后营露宿第一季未增减野营| 电视连续剧追| 丫鬟主母:侯府逆袭短剧全集| 坎坝奇品味人生| 寒战2粤语迅雷下载| 以爱为营电视剧免费观看在线| 我和寡妇房东| 老马的快乐生活| 樱桃红 电视剧| 情逢敌手| 新金银屏5(美国)最新更新内容| 小巷人家40集全免费| 我的青梅竹马是消防员第一集| 总统夫人的夜晚高清完整版在线观看| 北斗七星的传说| 孤舟电视剧40集免费观看高清版| hd版泰山《激战丛林》完整版在线观看| 真咲惠美| 八零弃少:重生搞钱宠媳妇全集免费| 九重紫连续剧| 女刑警满天星电影免费观看| 午夜情缘| 单身妈妈3高清全集在线观看| 和大胸大乳继拇做爰5| 8毫米电影| 真爱谎言下载| 快乐到家迅雷下载| 姐妹医生在线观看| 万家灯火免费| 满清十大刑酷翁虹版| STAR471电影免费观看中字| 泰迦奥特曼剧场版| 开战日电影在线看免费观看| 《过多的爱与谋杀》| 需要爸爸播种免费看中文版 | 谁在说慌| 满天星丽莎和父亲| 人狼特种部队免费完整版在线观看 | 懒猫和他的狮子倒影在线观看 | 羊炭疽病| 陪部长出差的电影叫什么名字| 兵临城下qvod| 我在90分钟cut截了一段| 酋长之女2:狂飙2 | 使徒行者1在线完整版免费观看| 发烧会所1984美国版叫什么 | 奶爸战神人生:打仗带娃全集免费 | 自白在线观看完整版电影| 网友调侃宣布退出春节档| 性生活电影4| 宝贝别忍着喷出来| 陆战之王全集在线观看| 小伙爱上阿姨日本电影叫什么| 出差与部长同房希岛爱里在线电影| 苹果在线观看| 上海路炒粉| 浪漫女教师黛比无删减版| 太极马畅| 花与爱丽丝| 头文字d电影粤语| 一愁愁愁全集免费看| 英雄本色2免费| 故乡别来无恙在线观看| 《生活中的玛丽》经典片段| 神奇女侠在线观看| 有匪电视剧在线观看全集| 纯纯欲动HD在线动漫| 西班牙掌中之物完整版免费观看| 十九岁免费观看| 人面兽心在线播放| 金牌销售的秘密2中字更新时间| 行尸走肉第三集| 性生活电影院| 甜蜜的鞭子| 《妻子与游泳教练》| 田蕴章每日一字| 麻豆AV《修车艳遇》在线观看| 赌博默示录第三季| 我们的宇宙泰剧免费观看| 灵魂冲浪| 文成公主王庆爽| 珠江人家一共多少集| 最高爱人诏三上免费高清| 女娲传奇之灵珠| 金瓶梅原著电视剧1| 勐海县| 俄罗斯空姐4| 玉女心经播放| 夜光神杯全集| 蛇姬恋电影完整版免费观看| 绫见ひかる| 牵牛的夏天片尾曲| 猛兽侠下载| 《姐妹医牙》完整版1986| 复仇打脸:重生弃少短剧全集| 向往的生活第5季| 特殊房产销售3| 王向阳书法| 特殊教练游泳| 年轻的母亲4在线播放| 小猪佩奇爆笑版视频| 荷尔蒙6美国版| 舒淇的全部三电影| 银河奥特曼免费观看完整版中文版 | 篮网逆转雄鹿赢下天王山| 使徒行者2粤语在线观看| 《俘虏之锁》第一集免费| 极乐空间快播| 花的勇气ppt| 强壮的公么征服免费看| 高清《左撇子艾伦》电视剧| xl司令第二季无马赛第八集真人| 排球少年第一季在线看| 七大罪无删减完整版在线观看| 这里发现爱电视剧| 法国高2压监狱| 一代妖姬杨贵妃| 深圳第一现场在线直播| 女友妈妈双字id| 真相2012| 电影《无憾》免费观看| 美国电影娃娃脸| 《和讨厌的部长出差》演员名单| 奥美迦奥特曼免费播放| 小土豆歌曲完整版| 苍狼之特战突击电视剧免费观看| 孤男寡女战狼4妈妈结局| 薄冰谍战电视剧全集高清免费观看| 金瓶双艳完整版| 战狼4在线9999| 中国机长电影免费版完整版| 日剧《穿睡衣下楼取快递》 | 《他过分野》短剧全集完整免费| 哆啦a梦大雄的地球交响乐国语| 赛伦1996年的电影| 芸汐传电视剧在线看免费观看| 当我飞奔向你电视剧| 妻子去朋友公司上班| r片| 国产电影《突袭》在线观看| 唐人街探案3高清完整免费| 《特殊游泳教练》免费观看下拉式 | 《法官李汉英》| 大男人的小胶妻| 美艳的房东太与阿宾91| 娘亲舅大电视剧免费观看完整版| 战地黄花电视剧| 堕落新娘| 荷尔蒙6荷语中文版| 钻石王牌第三季| 动画片 葫芦娃| 孙俪电视剧全集免费观看| 双人调情按摩电影| 我的前半生在线观看免费完整版| 佐佐木希av作品| 731部队电影完整版 | 梦想的声音第一期| 平凡之路在线观看| 出轨的女人 电影 2011| 《公的浮之手中字》电影| 麻婆豆腐天美传媒| 电影《姐妹牙医》完整版哪里可以看| 一仆二主百度影音| 国产真实强被迫伦姧女在线观看| 抽曲的痛免费观看完整版海外| 俄语电影| 《倔强退魔师》| 四少妇的秘密按摩在线观看伦理电影| 学霸女神短剧全集| 理发店特殊待遇中字国语版| 信义大结局| 《丰满的继牳5》在线观看| 咖宝车神之拯救联盟| 坠落的女律师完整版在线观看| 初级瑜伽视频2| 《冬日的什么呀,春日的什么呢》 | 哲仁皇后| 《被下药强辱的妻子》免费看| 营销策划书怎么写| 《无憾》完整在线观看免费版| 情人劫 电影| 母亲5免费高清电视剧在线看| 在线观看蜜桃17| 名侦探柯南绯色的不在证明动漫| 丛林武士| 牛鞭擦进女人下身手机在线观看| 我是特种兵3之狼牙| 黄金时代电影| 柳州市| 台湾版1987年渔夫野史| 秀丽江山之长歌行电视剧| 长月无烬电视剧免费观看| 牙医姐妹电影在线完整版观看| 坎贝奇三部曲免费无删减在线观看| 少女高清动漫在线观看| 淮文《攀缠》短剧全集| v-hotel啄木鸟第一季全集在线观看| 海之声免费完整版如如| 老k是谁| 如何剥石榴| 女超人麦乐迪在线完整版免费观看 | 明日战记在线观看| 连环计中计| 丈夫的下属是初恋| 四肢无力肌肉酸痛| 雪莉露h| 情逆三世缘国语版| 肉蒲团 在线观看| 美国需要爸爸播种| 有你真好天堂飘雪| 高压监狱完整版在线观看完整免费高清原声满天星2023 | 我们恋爱吧第二季在线观看| 罗马帝国艳情史 下载| 密挑AV| 恰好是少年在线观看| 如此喜欢的你1V2| 白峰美羽主演电影为了心爱的丈夫| 特种部队2全面反击| 爱的奴隶| metarthunter| 坎贝奇《无憾》播放品味人生| 长相思第二季在线观看免费全集| 家常菜电视剧全集免费观看| 平定县| 金银悔1一5集| 恋夏38度| 狂飙38集| 学校怪谈 动漫| 高压监狱2法版1时43分| 极恶非道3电影高清版免费观看| 三大队电影免费抢先观看| 暗夜情报员| R电影在线观看| 术士樱花动漫免费看| 雷神公司副董事坠机身亡| 杨思明敏电影| xl司令免费高清全集| 还珠格格风儿阵阵吹| 游戏王gx动漫在线观看| 正义联盟电影泷泽| 卖百科全书的人完整版| 角斗士3满天星哪里看| 大江大河350集高清免费观看| 侦探语录免费观看完整版| 花芯在线观看| 王多鱼打扑克免费在线观看视频| 军医电视剧| 妻子的秘密49| 美人心计在线播放| 美发店的待遇2| 高清《琉璃厂传奇》电视剧| 大地8中文在线观看免费高清成全 禁止的爱 免费观看 百度百度 | 玫瑰的故事电视剧在线| 哇嘎全集免费播放在线观看| 黄凯芹经典歌曲| 种马猎人电影免费观看高清| 废渊战鬼| 朱卫民推杆| 赤红之瞳动漫| 色播九月| 基本演绎法第三季| 以法之名 电视剧| 《我们的父辈》免费观看| 凯登·克劳丝-Kayden壮志凌云| 飞屋环游记在线观看| 亲爱的妈妈4韩国在线看| 同学两亿岁全集免费可以看| 森泽佳奈《和部长一起去出差旅》| XL司令第二季无马赛免费观看真人版| 变身电影| 年少轻狂| 减肥健美操| 《和讨厌的部长出差旅》日本电影观 | 坚持翁立友| 《黑色电话2》| 王牌逗王牌电影| 爱你几何在线观看完整免费| 火柴女孩| 高清平安夜,杀人夜未删减| 少女农场| 郭德纲新济公传| 我的父亲母亲电影完整版观看| 大内密探零零发免费版| 美国1985G点中文版| 菠萝蜜在线观看视频| 《撒玛利亚》电影免费播放| 复仇者联盟3神马抢先版| 阿凡达2水之道普通话免费高清| 需要爸爸播种籽2演员名字全集 | 壮志凌云女版| 两个女人的诱惑在线观看| 相亲第一天就日了她| 雁归时电视剧全集免费| 美容是特殊待遇5| 麦乐迪爸爸不让她出门是哪一部| 灰姑娘美国版电影| 完美真相优酷| 《麻将棒棒手》免费观看全集| 女儿的复仇的啄木鸟续集| 外卖小哥是隐藏大佬短剧全集| 男生和女生拔萝卜| 电影雷霆战警| 法国空姐4电影| 落魄贵族琉璃川在线动漫完整版| 高清历劫惊途 第二季| 马东锡乌有之地| 浮世风清绘完整版| 《美姐妹很努力》| 扫黑风暴在线播放免费完整版 | 伍六七之暗影宿命 2023| 法国私人助理1982年 | 浮之手中字6| 朋友的名义| 肖央喜剧电影《情圣》| 《金牌销售的秘密3》| 神奇动物:格林德沃之罪| 非诚勿扰 2号| 开心超人2| 《卖保险的女销售》| 黑白配国语在线播放免费 | 谍海计中计在线观看| 村上里沙| 林珍娜为艺术献身电影在线观看| 我的名字叫可汗| 古董局中局第一部免费观看| 越狱第五季在哪看| 新版娃娃脸9免费观看高清| 铃原爱蜜莉| 高清《我的狐仙女友》| 极品家丁全集| 急救护士2成人版| 混血儿的摇篮| 长歌行超前点播资源| 电视剧天龙八部| 美容室的特殊待遇是4| 爱几何原板| 老男孩 剧情| 后宫 帝王之妾在线观看| 阿姨电影| 甜蜜惩罚无马赛| 《有翡》观看免费完整版| 美剧《真探》第一季免费观看全集| 调包婴儿| 临清市| 肉蔻之香双语版在线听| 人生七年 纪录片| 小姬无人宠| 咒术回战在线观看免费观看| 女版壮志凌云满天星英文名| 《隔山有眼3:起源》免费下载| 长空之王电影| 武动乾坤之瑶魔乱舞| 孤注一掷免费完整版| ovoerflower动漫第一季免费观看中文版 | 拔掉57颗牙是什么体验| 《原始的女儿国部落》| 欢迎来到蘑菇屋免费播放| 台湾《小凤新婚下》在线观看| 庆余年2在线播放策驰影院| 我的邻居老婆电影完整版免费观看| 美姐妹牙医在线电影观看完整版高清 | 喜爱夜蒲2在线电影高清| 美味三姐妹电影| 韩国电影想要爸爸一颗种子在线播放| 《繁花》免费播放在线观看全集| 丧尸之地| 麦乐迪《女超人》2013 | 变形计2017| 《急诊护士》法国版电影| 异灵灵异 2002国语| 电视剧婚巢| 售楼小姐的秘密韩国电视剧| 《东北警察故事3》| 电视剧淬火年代全集免费观看| 保山市| 晚安为我而眠的妹妹在线观看| 韩剧 你是我的命运| 扒鸭屁股| 王者之风| 超雄综合症是精神病吗| 木下檩檩子电影免费观看2023年最新| 赘婿全集免费观看| 无处逢生| 电视剧《雪豹》全集免费| 广东省| 酒店免费高清在线观看| 身边的幸福电视剧| 高清《狙击手6》在线观看高清| 纵横秘史| 嘎哇在线观看高清电影| 电影《急诊护士》完整版 | 痲豆传媒免费观看| 朴振英 honey| 《壮志凌云女版》(法国版)| 吾妻正斗| 蛇王岛在线观看| 我强行与岳的性关系在线观看| 豺狼的日子完整免费版在线观看| 我的私人游泳教练| 拳击手在线观看| 长空之王在线观看高清免费 | 电影特邀外卖员在线观看国语| 部长来家做客中文字幕在线观看| 蓄谋爱意| 咏春大师被ko| 好朋友的母亲2完整有限中| 美容室:待遇服务7| 韩国理伦片驯服小峓子的主演背景故 | 美国伦理蜜桃5| 成全视频免费在线观看动漫| 星际之门 第一季| 花咒电影完整版| 真爱一生| 铁拳电影| 下属的妻子电影| 匆匆那年| 何洁门照艳全集| 全职猎人34| 三年中文高清免费观看| 韩剧 爱人| 电影搜索引擎| 泰剧真爱无价女主角| 禁区猎人| 女超人在线观看| 《奇怪的美容院2》的完整演员表| 团地妻qvod| 绝密卧底电视剧免费观看| 斗罗大陆 免费完整版| 《overflower》动漫免费观看全集| 私人女性监狱-言情片-高清完整版-全集免费在线观看-tvb云播 | 黑衣人2高清完整版| 火线传奇3| 云水怒电视剧全集免费播放| 法国航空4免费播放| 《法国空姐8| 四川频道| 撒玛利亚电影完整版在线观看| 以家人之名电视剧免费观看| 好孕皇后进阶录短剧免费观看| 牙医赤子板栗免费| 超时空辉夜姬!未删减| 情深深雨蒙蒙25| 痴情快婿国语| 嘉峪关在线网| 隔壁邻居很美味| 日韩电影修理工的骚扰| 铃芽之旅在线观看| 三大队电影免费| 最高爱人诏三上全| 我的丑娘演员表| jizz女学| 电视剧战争不相信眼泪| 白嫖者联盟免费播放熊出没电影| 炸天小姐1980免费观看| 年轻的母亲2韩剧免费中文版| 五十度灰电影完整版第二部未删版| 特种部队2 复仇完整百度影音| 玉浦团电影在线观看| 瓜达卢佩的玫瑰完整版| 黄秋生《雨夜屠夫》| 50部韩剧普通话国语版| 我 机器人| 中国远征军电视剧| 永平县| 正在播放: DRPT-048 春药曝露性爱 仓田真央带乳头导线与前女友相见 十年来同 | 特殊诊所| 15YC电影院| 赌圣周星驰国语| 突然之间 莫文蔚| 《我是刑警》全集在线观看| 战狼9免费高清999加拿大版在线观看| 壮志凌云满天星在线| 女佣变凤凰| 《大明王朝1566》电视剧| 《爱情回来了》电视剧| 霜花店无删减版| 公的浮之手中字40| 莱纳安德森《黑暗森林》在线播放欢 | 盐亭县| 菲律宾一级色情电影需要爸爸播种子| 终极格斗4完整版在线观看| 宝可梦地平线樱花动漫| 黑暗荣耀未删减版| 扫黑风暴免费观看| 朋友换麦子3:普通话版| 馒头影院| 美女脱18以下禁止看免费| 咒术回战第三季在线观看| 千古玦尘49集全集免费观看| 大蛇3龙蛇之战在线观看| 维修工绝遇5国语版免费观看| 年轮影视在线观看| 重生之龙在异界| 叶玉卿《卿本佳人》高清| 老舅1-27集全免费播放| 蓝色隐形帽子完整版| 维修工艳遇日剧| 高清轧戏| 无烟柴火气化炉| 人头移植| 斗罗大陆在线观看218| 灿烂的海棠花4| 年轻的小婊一级A片国产| 双子公主第一部| 古剑奇谭第十集| 宦海奇官| 暴走财神1| 我的亲爱的瘦子8| 爱我几何无减版在线看| 司藤结局什么意思| 初恋是姐姐动漫全集免费观看 | 夫妻隔帘按摩BD中字电影| 殊死七日电视剧| 伯虎为卿狂| 葡萄姐姐| 后宫甄嬛传19| 爱我几几何电影免费观看| 楼上老阿姨叫我修电灯在线观看 | 篮球少年1| 且试天下第45集全集免费| 一剪梅歌曲| 真破血全集免费播放高清版| 锁清秋在线观看| 高压监狱免费| 外太空杀人小丑| 电视剧开心小和尚| 法国电影女超人满天星在线观看| 《少妇》6| 大风歌全集| 岳飞传117集全免费听| 妻子8在线观看高清电视剧| 谁能百里挑一20130504| 欢乐课程| 窈窕绅士高清下载| 初级瑜伽视频2| 如何剥石榴| 邻家特工国语版高清百度影音 | 人猿泰山hr版 时间| 宫13集| 按摩少妇2| 摩登时代免费| 丑闻裴勇俊| 纯白色之恋| 《屠宰餐厅》在线观看完整版电影| 傅艺伟版封神榜| 21世纪大君夫人全集观看| 沧元图55集| 不当军事行为2017法版迅雷磁力| 哲仁王后 电视剧| 魔王学院的不适合者动漫免费观看| 看没看过暮光之城的都沉默了| 轻年电视剧| 私人航空法国电影完整版在线观看| 战狼5欧美版免费观看完整版国语百度| 隆美尔电影| 深情眼在线观看电视剧| 兄弟之道在线观看高清免费| 灰姑娘 2015 电影| 三上悠亚《最高の爱人诏》| 女儿需要爸爸播种中文配音| 陈楚生原来的我| 沉香如屑电视剧免费观看55集| 兽魂觉醒动漫免费观看高清| 美女餐厅2修改器| 法国版《女超人:麦乐迪》在线观看电影| 男女一起愁愁愁电视剧在线观看| 猎狼电影免费播放完整版| 美国BGM大片| 高压监狱3法国电影完整免费观看| 睫毛膏4美国1983| 领导挺进娇妻身体| 陵川县| 白峰601在线观看免费第6集| 忠义群英国语| 我本将心向明月短剧免费观看| 命运印度电视剧| 三位大学位按摩记的更新内容怎么写| 丰满少女免费电影| 少女免费高清在线观看| 恰好是少年在线观看| 偷窥 莎朗斯通| 电视剧烈火| 男人女人一起愁愁愁电视剧免费 | 高压监狱3完整版在线看| 藏海花在线| 浮之公手3| 妻子丰胸按摩电影在线观看| 强制窃贼电视剧| 聊斋之奇情异恋| 神医小娇妻短剧全集| 21世纪爱情指南电影在线观看 | 回头是爱| 《满天星》陈宝莲免费观看| 《驯服小峓子2》| 乌云之上电视剧在线免费观看 | 爸爸给我播种子免费观看| 澳门风云快播| 高清《兄弟的女朋友》电视剧| 美酒加咖啡dj| 辣妹子的电视剧在线观看| 雪地黄金犬| 战争暴行女兵HD版电影播放| 意大利版泰山hr版| 新水浒孙二娘| 单口相声刘宝瑞| 朋友的妈妈2018中语| 美人鱼免费观看完整版|