如何理解Linux字符設(shè)備驅(qū)動?

嵌入式ARM 2022-07-12 12:00
我們學(xué)習(xí)編程的時候,一般都會從hello程序開始。同樣的,學(xué)習(xí)Linux驅(qū)動,我們也是從最簡單的hello驅(qū)動學(xué)起。

驅(qū)動層和應(yīng)用層

看一下STM32裸機開發(fā)與嵌入式Linux開發(fā)的一些區(qū)別:




嵌入式Linux的開發(fā)方式與STM32裸機開發(fā)的方式有點不一樣。在STM32的裸機開發(fā)中,驅(qū)動層與應(yīng)用層的區(qū)分可能沒有那么明顯,常常都雜揉在一起。

當然,有些很有水平的裸機程序分層分得還是很明顯的。但是,在嵌入式Linux中,驅(qū)動和應(yīng)用的分層是特別明顯的,最直觀的感受就是驅(qū)動程序是一個.c文件里,應(yīng)用程序是另一個.c文件。

比如我們這個hello驅(qū)動實驗中,我們的驅(qū)動程序為hello_drv.c、應(yīng)用程序為hello_app.c。

驅(qū)動模塊的加載有兩種方式:第一種方式是動態(tài)加載的方式,即驅(qū)動程序與內(nèi)核分開編譯,在內(nèi)核運行的過程中加載;第二種方式是靜態(tài)加載的方式,即驅(qū)動程序與內(nèi)核一同編譯,在內(nèi)核啟動過程中加載驅(qū)動。

在調(diào)試驅(qū)動階段常常選用第一種方式,因為較為方便;在調(diào)試完成之后才采用第二種方式與內(nèi)核一同編譯。

STM32裸機開發(fā)與嵌入式Linux開發(fā)還有一點不同的就是:STM32裸機開發(fā)最終要燒到板子的常常只有一個文件(除開含有IAP程序的情況或者其它情況),嵌入式Linux就需要分開編譯、燒寫。

Linux字符設(shè)備驅(qū)動框架

我們先看一張圖:


當我們的應(yīng)用在調(diào)用open、close、write、read等函數(shù)時,為什么就能操控硬件設(shè)備。那是因為有驅(qū)動層在支撐著與硬件相關(guān)的操作,應(yīng)用程序在調(diào)用打開、關(guān)閉、讀、寫等操作會觸發(fā)相應(yīng)的驅(qū)動層函數(shù)。

本篇筆記我們以hello驅(qū)動做分享,hello驅(qū)動屬于字符設(shè)備。實現(xiàn)的驅(qū)動函數(shù)大概是怎么樣的是有套路可尋的,這個套路在內(nèi)核文件include/linux/fs.h中,這個文件中有如下結(jié)構(gòu)體:


這個結(jié)構(gòu)體里的成員都是些函數(shù)指針變量,我們需要根據(jù)實際的設(shè)備確定我們需要創(chuàng)建哪些驅(qū)動函數(shù)實體。比如我們的hello驅(qū)動的幾個基本的函數(shù)(打開/關(guān)閉/讀/寫)可創(chuàng)建為(以下代碼來自:百問網(wǎng)):

(1)打開操作

左右滑動查看全部代碼>>>

static int hello_drv_open (struct inode *node, struct file *file)
{
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
return 0;
}

打開函數(shù)的兩個形參的類型要與struct file_operations結(jié)構(gòu)體里open成員的形參類型一致,里面有一句打印語句,方便直觀地看到驅(qū)動的運行過程。

(2)關(guān)閉操作

左右滑動查看全部代碼>>>

static int hello_drv_close (struct inode *node, struct file *file)
{
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
return 0;
}

(3)讀操作

左右滑動查看全部代碼>>>

static ssize_t hello_drv_read (struct file *file, char __user *buf, size_t size, loff_t *offset)
{
int err;
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
err = copy_to_user(buf, kernel_buf, MIN(1024, size));
return MIN(1024, size);
}

copy_to_user函數(shù)的原型為:

左右滑動查看全部代碼>>>

static inline int copy_to_user(void __user *to, const void *from, unsigned long n);

用該函數(shù)來讀取內(nèi)核空間(kernel_buf)的數(shù)據(jù)給到用戶空間(buf)。另外,kernel_buf的定義如下:

static char kernel_buf[1024];

MIN為宏:

#define MIN(a, b) (a < b ? a : b)

MIN(1024, size)作為copy_to_user的實參意在對拷貝的數(shù)據(jù)長度做限制(不能超出kernel_buf的大小)。

(4)寫操作

左右滑動查看全部代碼>>>

static ssize_t hello_drv_write (struct file *file, const char __user *buf, size_t size, loff_t *offset)
{
int err;
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
err = copy_from_user(kernel_buf, buf, MIN(1024, size));
return MIN(1024, size);
}

copy_from_user函數(shù)的原型為:

左右滑動查看全部代碼>>>

static inline int copy_from_user(void *to,const void __user volatile *from,unsigned long n)

用該函數(shù)來將用戶空間(buf)的數(shù)據(jù)傳送到內(nèi)核空間(kernel_buf)。

有了這些驅(qū)動函數(shù),就可以給到一個struct file_operations類型的結(jié)構(gòu)體變量hello_drv,如:

static struct file_operations hello_drv =
{

.owner = THIS_MODULE,
.open = hello_drv_open,
.read = hello_drv_read,
.write = hello_drv_write,
.release = hello_drv_close,
};

有些朋友可能沒見過這種結(jié)構(gòu)體初始化的形式(結(jié)構(gòu)體成員前面加個.號),這是C99及C11標準提出的指定初始化器。

上面這個結(jié)構(gòu)體變量hello_drv容納了我們hello設(shè)備的驅(qū)動接口,最終我們要把這個hello_drv注冊給Linux內(nèi)核。

套路就是這樣的:把驅(qū)動程序注冊給內(nèi)核,之后我們的應(yīng)用程序就可以使用open/close/write/read等函數(shù)來操控我們的設(shè)備,Linux內(nèi)核在這里起到一個中間人的作用,把兩頭的驅(qū)動與應(yīng)用協(xié)調(diào)得很好。

我們前面說了驅(qū)動的裝載方式之一的動態(tài)裝載:把驅(qū)動程序編譯成模塊,再動態(tài)裝載。

動態(tài)裝載的體現(xiàn)就是開發(fā)板已經(jīng)啟動運行了Linux內(nèi)核,我們通過開發(fā)板串口終端使用命令來裝載驅(qū)動。裝載驅(qū)動有兩個命令,比如裝載我們的hello驅(qū)動:

  • 方法一:insmod hello_drv.ko
  • 方法二:modprobe hello_drv.ko

其中modprobe命令不僅能裝載當前驅(qū)動,而且還會同時裝載與當前驅(qū)動相關(guān)的依賴驅(qū)動。有了轉(zhuǎn)載就有卸載,也有兩種方式:

  • 方法一:rmmod hello_drv.ko
  • 方法二:modprobe -r hello_drv.ko

其中modprobe命令不僅卸載當前驅(qū)動,也會同時卸載依賴驅(qū)動。

我們在串口終端調(diào)用裝載與卸載驅(qū)動的命令,怎么就會執(zhí)行裝載與卸載操作。對應(yīng)到驅(qū)動程序里我們有如下兩個函數(shù):

module_init(hello_init); //注冊模塊加載函數(shù)
module_exit(hello_exit); //注冊模塊卸載函數(shù)

這里加載與注冊有用到hello_inithello_exit函數(shù),我們前面說的把hello_drv驅(qū)動注冊到內(nèi)核就是在hello_init函數(shù)里做,如:

左右滑動查看全部代碼>>>

static int __init hello_init(void)
{
int err;

printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
/* 注冊hello驅(qū)動 */
major = register_chrdev(0, /* 主設(shè)備號,為0則系統(tǒng)自動分配 */
"hello", /* 設(shè)備名稱 */
&hello_drv); /* 驅(qū)動程序 */

/* 下面操作是為了在/dev目錄中生成一個hello設(shè)備節(jié)點 */
/* 創(chuàng)建一個類 */
hello_class = class_create(THIS_MODULE, "hello_class");
err = PTR_ERR(hello_class);
if (IS_ERR(hello_class)) {
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
unregister_chrdev(major, "hello");
return -1;
}

/* 創(chuàng)建設(shè)備,該設(shè)備創(chuàng)建在hello_class類下面 */
device_create(hello_class, NULL, MKDEV(major, 0), NULL, "hello"); /* /dev/hello */

return 0;
}

這里這個驅(qū)動程序入口函數(shù)hello_init中注冊完驅(qū)動程序之后,同時通過下面連個創(chuàng)建操作來創(chuàng)建設(shè)備節(jié)點,即在/dev目錄下生成設(shè)備文件。

據(jù)我了解,在之前版本的Linux內(nèi)核中,設(shè)備節(jié)點需要手動創(chuàng)建,即通過創(chuàng)建節(jié)點命令mknod 在/dev目錄下自己手動創(chuàng)建設(shè)備文件。既然已經(jīng)有新的方式創(chuàng)建節(jié)點了,這里就不摳之前的內(nèi)容了。

以上就是分享關(guān)于驅(qū)動一些內(nèi)容,通過以上分析,我們知道,其是有套路(就是常說的驅(qū)動框架)可尋的,比如:

#include 
#include
#include
/* 其她頭文件...... */

/* 一些驅(qū)動函數(shù) */
static ssize_t xxx_read (struct file *file, char __user *buf, size_t size, loff_t *offset)
{

}

static ssize_t xxx_write (struct file *file, const char __user *buf, size_t size, loff_t *offset)
{

}

static int xxx_open (struct inode *node, struct file *file)
{

}

static int xxx_close (struct inode *node, struct file *file)
{

}
/* 其它驅(qū)動函數(shù)...... */

/* 定義自己的驅(qū)動結(jié)構(gòu)體 */
static struct file_operations xxx_drv = {
.owner = THIS_MODULE,
.open = xxx_open,
.read = xxx_read,
.write = xxx_write,
.release = xxx_close,
/* 其它程序......... */
};

/* 驅(qū)動入口函數(shù) */
static int __init xxx_init(void)
{

}

/* 驅(qū)動出口函數(shù) */
static void __exit hello_exit(void)
{

}

/* 模塊注冊與卸載函數(shù) */
module_init(xxx_init);
module_exit(xxx_exit);

/* 模塊許可證(必選項) */
MODULE_LICENSE("GPL");

按照這樣的套路來開發(fā)驅(qū)動程序的,有套路可尋那就比較好學(xué)習(xí)了,至少不會想著怎么起函數(shù)名而煩惱,哈哈,按套路來就好。

關(guān)于驅(qū)動的知識,這篇筆記中還可以展開很多內(nèi)容,限于篇幅就不展開了。我們之后再進行學(xué)習(xí)、分享。

下面看一下測試程序/應(yīng)用程序(hello_drv_test.c中的內(nèi)容,以下代碼來自:百問網(wǎng)):

左右滑動查看全部代碼>>>

#include 
#include
#include
#include
#include
#include

/*
* ./hello_drv_test -w abc
* ./hello_drv_test -r
*/

int main(int argc, char **argv)
{
int fd;
char buf[1024];
int len;

/* 1. 判斷參數(shù) */
if (argc < 2)
{
printf("Usage: %s -w \n", argv[0]);
printf(" %s -r\n", argv[0]);
return -1;
}

/* 2. 打開文件 */
fd = open("/dev/hello", O_RDWR);
if (fd == -1)
{
printf("can not open file /dev/hello\n");
return -1;
}

/* 3. 寫文件或讀文件 */
if ((0 == strcmp(argv[1], "-w")) && (argc == 3))
{
len = strlen(argv[2]) + 1;
len = len < 1024 ? len : 1024;
write(fd, argv[2], len);
}
else
{
len = read(fd, buf, 1024);
buf[1023] = '\0';
printf("APP read : %s\n", buf);
}

close(fd);

return 0;
}

就是一些讀寫操作,跟我們學(xué)習(xí)文件操作是一樣的。學(xué)單片機的有些朋友可能不太熟悉main函數(shù)的這種寫法:

int main(int argc, char **argv)

main函數(shù)在C中有好幾種寫法(可查看往期筆記:main()函數(shù)有哪幾種形式?),在Linux中常用這種寫法。

argc與argv這兩個值可以從終端(命令行)輸入,因此這兩個參數(shù)也被稱為命令行參數(shù)。argc為命令行參數(shù)的個數(shù),argv為字符串命令行參數(shù)的首地址。

最后,我們把編譯生成的驅(qū)動模塊hello_drv.ko與應(yīng)用程序hello_drv_test放到共享目錄錄nfs_share中,同時在開發(fā)板終端掛載共享目錄:

mount -t nfs -o nolock,vers=4 192.168.1.104:/home/book/nfs_share /mnt

關(guān)于NFS網(wǎng)絡(luò)文件系統(tǒng)的使用可查看往期筆記。

然后我們通過insmod 命令裝載驅(qū)動,但是出現(xiàn)了如下錯誤:


這是因為我們的驅(qū)動的編譯依賴與內(nèi)核版本,編譯用的內(nèi)核版本與當前開發(fā)板運行的內(nèi)核的版本不一致所以會產(chǎn)生該錯誤。

重新編譯內(nèi)核,并把編譯生成的Linux內(nèi)核zImage映像文件與設(shè)備樹文件*.dts文件拷貝到開發(fā)板根文件系統(tǒng)的/boot目錄下,然后進行同步操作:

#mount -t nfs -o nolock,vers=4 192.168.1.114:/home/book/nfs_share /mnt
#cp /mnt/zImage /boot
#cp /mnt/.dtb /boot
#sync


下面是完整的hello驅(qū)動程序(來源:百問網(wǎng)):

左右滑動查看全部代碼>>>

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

/* 1. 確定主設(shè)備號 */
static int major = 0;
static char kernel_buf[1024];
static struct class *hello_class;


#define MIN(a, b) (a < b ? a : b)

/* 3. 實現(xiàn)對應(yīng)的open/read/write等函數(shù),填入file_operations結(jié)構(gòu)體 */
static ssize_t hello_drv_read (struct file *file, char __user *buf, size_t size, loff_t *offset)
{
int err;
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
err = copy_to_user(buf, kernel_buf, MIN(1024, size));
return MIN(1024, size);
}

static ssize_t hello_drv_write (struct file *file, const char __user *buf, size_t size, loff_t *offset)
{
int err;
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
err = copy_from_user(kernel_buf, buf, MIN(1024, size));
return MIN(1024, size);
}

static int hello_drv_open (struct inode *node, struct file *file)
{
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
return 0;
}

static int hello_drv_close (struct inode *node, struct file *file)
{
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
return 0;
}

/* 2. 定義自己的file_operations結(jié)構(gòu)體 */
static struct file_operations hello_drv =
{

.owner = THIS_MODULE,
.open = hello_drv_open,
.read = hello_drv_read,
.write = hello_drv_write,
.release = hello_drv_close,
};

/* 4. 把file_operations結(jié)構(gòu)體告訴內(nèi)核:注冊驅(qū)動程序 */
/* 5. 誰來注冊驅(qū)動程序啊?得有一個入口函數(shù):安裝驅(qū)動程序時,就會去調(diào)用這個入口函數(shù) */
static int __init hello_init(void)
{
int err;

printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
major = register_chrdev(0, "hello", &hello_drv); /* /dev/hello */


hello_class = class_create(THIS_MODULE, "hello_class");
err = PTR_ERR(hello_class);
if (IS_ERR(hello_class)) {
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
unregister_chrdev(major, "hello");
return -1;
}

device_create(hello_class, NULL, MKDEV(major, 0), NULL, "hello"); /* /dev/hello */

return 0;
}

/* 6. 有入口函數(shù)就應(yīng)該有出口函數(shù):卸載驅(qū)動程序時,就會去調(diào)用這個出口函數(shù) */
static void __exit hello_exit(void)
{
printk("%s %s line %d\n", __FILE__, __FUNCTION__, __LINE__);
device_destroy(hello_class, MKDEV(major, 0));
class_destroy(hello_class);
unregister_chrdev(major, "hello");
}


/* 7. 其他完善:提供設(shè)備信息,自動創(chuàng)建設(shè)備節(jié)點 */

module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("GPL");

END


作者:ZhengN
來源:嵌入式大雜燴

版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。

推薦閱讀
手把手教你搭建一個輕量級電子實驗室
如何寫一個健壯且高效的串口接收程序?
大規(guī)模裁員后,計算機專業(yè)會成下一個土木嗎?

→點關(guān)注,不迷路←
嵌入式ARM 關(guān)注這個時代最火的嵌入式ARM,你想知道的都在這里。
評論
  •                                                                        
    廣州鐵金剛 2026-08-06 17:44 117667瀏覽
  • 在EMC測試過程中,傳導(dǎo)發(fā)射(Conducted Emission,CE)超標是工程師最常遇到的問題之一。更令人頭疼的是,同樣的超標曲線背后,可能對應(yīng)著完全不同的干擾機理:有的是差模噪聲沿電源回路傳播,有的是共模電流通過寄生路徑耦合,還有些問題甚至并非來自電源本身,而是負載、電纜布局或接地結(jié)構(gòu)引起的連鎖反應(yīng)。 · 150kHz~1MHz 超標:多為差模噪聲為主,干擾沿火線-零線回路傳輸。 · 1MHz~30MHz 超標:通常共模噪聲占主導(dǎo),干擾通過火線/零線對地回路傳播。 如果條件允許,用電流探
    譽磁電磁兼容EMC 2026-07-31 18:45 507瀏覽
  • 文:杜杰編輯:侯煜當?shù)貢r間7月28日,美國特朗普政府落地最新科技封鎖政策,美國聯(lián)邦通信委員會(FCC)正式更新《受管制清單》,新增兩大類設(shè)備——境外生產(chǎn)的先進機器人設(shè)備、境外生產(chǎn)的聯(lián)網(wǎng)電力逆變器。FCC在官方情況說明書中明確,該類境外制造產(chǎn)品,“會對美國國家安全或美國民眾的人身安全構(gòu)成無法承受的風險”。本次新規(guī)設(shè)置明確豁免機制:經(jīng)美國國防部(DoW)、電力逆變器品類經(jīng)美國國土安全部(DHS)審核并授予“有條件批準”,認定對應(yīng)設(shè)備品類不存在重大安全風險,即可獲得準入豁免。同時政策嚴格執(zhí)行新老劃斷原
    華爾街科技眼 2026-08-03 21:28 330瀏覽
  • 在前六期中,我們已經(jīng)分別討論了 CRA 的適用范圍、整體影響、漏洞通報義務(wù)、風險評估與技術(shù)文檔證據(jù)鏈、第三方組件與 SBOM 供應(yīng)鏈治理,以及產(chǎn)品上市后的支持期、安全更新、用戶說明和終止支持管理。到這里,企業(yè)已經(jīng)能夠回答幾個核心問題:產(chǎn)品是否落入 CRA 適用范圍,產(chǎn)品由哪些組件構(gòu)成,企業(yè)如何證明自己在設(shè)計、開發(fā)和上市前采取了必要的安全措施,以及產(chǎn)品上市后如何持續(xù)維護和安全下線。但對于真正準備落地 CRA 合規(guī)的企業(yè)來說,還有一個更現(xiàn)實的問題:CRA 的法規(guī)條文相對原則化,企業(yè)應(yīng)當如何把“網(wǎng)絡(luò)安
    虹科云科技 2026-08-03 16:51 166656瀏覽
  • ?摘要:低價大流量卡正全面退市,政策收緊已成定局。面對傳統(tǒng)號卡的不確定性,隨身WiFi憑借穩(wěn)定連接、多設(shè)備共享、獨立設(shè)備和靈活套餐等優(yōu)勢,成為務(wù)實可靠的備選方案。1、流量卡黃金時代要結(jié)束了通信行業(yè)正迎來一場前所未有的“地震式”調(diào)整——曾讓無數(shù)用戶追捧的低價大流量卡,正在全速退出各大平臺。這早已不是一次普通的競合,而是一場趨勢性的行業(yè)洗牌。回望過去,19元200G的神卡,那時真是“睡著都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像隨便刷、隨便看,流量自由觸手可及。可如今,回頭再看,那種
    愛上電路設(shè)計 2026-08-03 10:21 128883瀏覽
  • 摘要防爆自控系統(tǒng)同時布設(shè)本安信號、工業(yè)總線、動力供電三類線路,僅依靠標識標牌管控插接極易出現(xiàn)人為錯插問題,高壓動力回路竄入本安弱電回路會突破安全柵限能標準,產(chǎn)生點火風險。依托 A、D、K 標準化機械防呆編碼體系,搭配護套顏色區(qū)分管理,適配 3 針 3 孔免焊接冷壓增安型防爆航插、5PIN 總線防爆航空插頭、8 芯焊接防爆法蘭插座的選型使用,從物理結(jié)構(gòu)層面杜絕防爆接近開關(guān)連接器、防爆傳感器航插接頭混用插接問題,補齊防爆系統(tǒng)被動安全防護體系。關(guān)鍵詞圓形防爆連接器,防呆編碼防爆航插,防爆航空插頭,防爆
    kyfbest科迎法電氣 2026-07-31 18:29 413瀏覽
  • 摘要在防爆電氣設(shè)計中,只參照芯數(shù)選型而忽略額定載流量,長期滿負荷運行會出現(xiàn)插頭發(fā)熱、接觸面氧化、IP67 密封受熱老化等問題。結(jié)合常用 3 針 3 孔、4 芯、5PIN、8PIN 圓形防爆連接器,制作分級電流參數(shù)對照表,區(qū)分冷壓免焊接、焊接兩種接線結(jié)構(gòu)的安全載流數(shù)值,設(shè)置合理電流冗余系數(shù),搭配使用環(huán)境修正參數(shù),規(guī)范防爆接近開關(guān)連接器、防爆法蘭插座的選型計算方式。關(guān)鍵詞圓形防爆連接器,載流參數(shù)表,防爆法蘭插座,防爆端子接頭,IP67 防爆防水接插件1 產(chǎn)品概述圓形防爆連接器觸點載流能力由插針直徑、
    kyfbest科迎法電氣 2026-08-03 09:18 128645瀏覽
  •        很多人只見過封裝在SMD外殼里的小尺寸晶振,卻不知道一顆2016、1612甚至1210封裝的微型石英晶振,從一塊巴掌大的石英原礦,到最終能穩(wěn)定起振的成品,要經(jīng)過十幾道精密工序。它內(nèi)部的石英晶片厚度最薄不到20微米,比普通A4紙的1/5還薄,整個生產(chǎn)過程里哪怕0.1微米的誤差,都會直接廢掉整批產(chǎn)品,這也是小尺寸晶振過去長期依賴進口,國內(nèi)廠商花了十幾年才啃下量產(chǎn)硬骨頭的核心原因。1. 原石定向切割:0.01度的角度誤差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 387瀏覽
  • 導(dǎo)語在現(xiàn)代高速數(shù)字電路設(shè)計中,信號的完整性已不僅是理想波形推演,而是一場與物理非理想特性正面博弈的工程實踐。濾波器芯片作為凈化傳輸鏈路的關(guān)鍵屏障,其核心挑戰(zhàn)在于:能否有效識別并濾除那些隱匿在電平跳變過程中的亞納秒級瞬態(tài)脈沖干擾,這類干擾持續(xù)極短,卻足以在高速鏈路中引發(fā)誤觸發(fā)。然而,傳統(tǒng)函數(shù)發(fā)生器受限于采樣率與邊沿速率,根本無法忠實復(fù)現(xiàn)如此狹窄且陡峭的異常波形。針對此困境,德思特TS-AWG7000系列任意波形發(fā)生器以17 GS/s采樣率與50 ps原生邊沿速度,為瞬態(tài)脈沖提供精細刻畫,配合SPG
    德思特測試測量 2026-08-05 14:06 5瀏覽
  •     長期專注WiFi領(lǐng)域,也算是行業(yè)老兵了!同行閑聊中,時不時能提起我和我們!從疫情起,國產(chǎn)替代風生水起,起起落落,大浪淘沙,生存下來的都是強者!    WiFi模塊應(yīng)用廣泛,對于高端市場和特定市場,要求WIFI模塊需要過CE/FCC之類的認證,也就是說沒有認證的模塊,不具備導(dǎo)入產(chǎn)品設(shè)計.接下來就和大家聊聊認證模塊選型參考!    WIFi模塊硬件方面主要考慮以下九點特性:    1
    納拓科技 2026-07-31 17:56 269瀏覽
  • 產(chǎn)品使用18V供電,配套4串鋰離子電池,需要設(shè)計一個充電器。因為輸入18V,電池最高 16.8V,壓差僅 1.2V。因為壓差太小。使用開關(guān)型的充電控制芯片不穩(wěn)定。嘗試自行設(shè)計一個。整體采用分立三極管 + TL431架構(gòu),分4個功能單元:使能控制回路、限流環(huán)路、TL431 精密恒壓反饋環(huán)路、PNP 功率管主功率輸出回路;實現(xiàn)完整鋰電池充電邏輯。使能控制回路按鍵按下:5V 電壓經(jīng) R12 (2kΩ) 送入 NPN 管 Q3 基極,Q3 飽和導(dǎo)通,對地拉低 R1、R2 組成的分壓控制節(jié)點電位;該節(jié)點直
    southcreek 2026-08-07 13:45 345瀏覽
  • 做藍牙音箱的工程師大概都碰過這個局面。產(chǎn)品要連手機放歌,要本地播開機提示音和按鍵音,還要接 App 做配網(wǎng)和狀態(tài)上報。三件事拆開,早先的常規(guī)做法是音頻藍牙一顆料、數(shù)傳藍牙一顆料、本地播放再掛一顆小 MCU 加一片 Flash。板子越畫越大,BOM 越算越貴,待機電流和固件工作量也跟著漲。WT2605C 出來以后,這套需求可以集成到一顆芯片,就是 WT2605C-32N,該芯片采用QFN32 封裝,4×4 毫米,把音頻藍牙、BLE 數(shù)傳和 MP3 本地播放三樣全包了。對藍牙音箱來說,最實在的好處就
    唯創(chuàng)知音語音芯片 2026-08-06 15:14 293瀏覽
  • 在物聯(lián)網(wǎng)從“萬物互聯(lián)”邁向“萬物智聯(lián)”的進程中,LTE Cat.1憑借其在速率、成本與網(wǎng)絡(luò)覆蓋之間的完美平衡,正成為中低速物聯(lián)網(wǎng)市場的絕對主力。隨著2G/3G網(wǎng)絡(luò)的逐步退網(wǎng)以及新國標對終端設(shè)備智能化、定位功能的強制要求,Cat.1模組迎來了爆發(fā)式的增長窗口。在這一關(guān)鍵節(jié)點,基于華為海思Hi2131芯片設(shè)計的LTE Cat.1模組,憑借其在能效、射頻、架構(gòu)及物理規(guī)格上的底層創(chuàng)新,成功打破了“高性能必高功耗”的傳統(tǒng)魔咒,為行業(yè)提供了極具競爭力的連接最優(yōu)解。核心技術(shù)優(yōu)勢:重塑Cat.1能效與連接標桿海
    用戶1778981989717 2026-08-05 21:04 174瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 和部长一起去出差旅行在线观看| 中央一套元宵晚会| 电影读百科全书的女人在线观看| 狙击手拉苏尔电影免费观看完整版 | 没什么大不了电影| 需要你的种子| 臣本布衣短剧全集| 甜蜜蜜在线观看电视剧免费 | 继承人电视剧全集| 我们的秘密泰剧在线观看全集| 我家有喜事电视剧全集免费观看| 史努比动画片| 台剧浪漫女家教免费播放| 局内人2| 《妻子的视频》2017| 徐元《保险推销员》在线| 洗屋全集在线免费观看| 善待自己学会快乐| 姜汉娜:《瑜伽》在线观看| 灿烂的花园综艺免费观看高清| 廖学秋潘金莲| 浙江卫视美食爽天下| 时寒冰经济大棋局| 法国空姐3| 诱惑人的好嫂子| 公公与媳妇高清免费版电视剧| 坎贝尔《无憾》播放 | 赤膊狂奔电影完整版| 卖保险套的女销售在线观看| 日版情定大饭店| 叶问外传张天志电影免费观看国语| 《索命舞娘》| 妻子的秘密49| 黑白配1080P高清完整版| 杰克森 胡| 老电影武当| 甲种公牛1976意大利| 人乳喂奶HD无中字| 电击小子第3部四圣团| 四少妇按摩无码高潮片| 镖人动画| 宸汐缘免费观看| 正在播放: JUL-601 你真的是处男吗?因为发现丈夫出轨被自称童贞的男子欺骗身 | 女大学生按摩3| 《混凝土市场》| 百慕大三角 美剧| 《酒店激情1-5集在线观看| 我的邻居老婆电影完整版免费观看| 目中无人高清电影免费完整版 | 亲爱的妈妈4免费观看韩剧| 神奇数字马戏团第一集| 高压监狱伦理法国| 狄仁杰4| 史前战纪第一季在线观看完整版| 总统之夜| 生存游戏电影| 8号当铺电视剧免费观看| 插曲的痛第60集完整版| 使命召唤战区上线| 中字年轻漂亮的儿媳BD| 千金肉板栗完整版| 电影云南虫谷| 扑克 电影| 国风按摩院1-5季| 特殊争夺| 小仵作御赐| 裸体按摩电影| 花非花雾非雾百度影音| 我叫赵甲第免费观看| 酒店一到50集| 我的丑娘续集| 喜爱夜蒲1快播| 人猿泰山H版未删减| 黑白禁区电视剧免费全集观看 | 敢叫山河换新颜短剧免费观看| 罗曼蒂克消亡史电影未删除完整版| 战狼9欧式少女全部视频| 腓尼基计划未删减| 堂吉诃德动画片| 激战丛林电影免费观看| 军事不当行为未删减版百度云资源 | 卯水咲流| 安吉拉怀特满天星观看| 风雨雕花楼40集免费观看全集| 达芬奇的恶魔第三季| 瓜达卢佩的玫瑰电影在线伦理片| 野性陷阱| 兄弟战争ova| 私人航空 电影| 浪漫满屋泰国版12| 精油按摩韩剧| 99re在线观看视频| 国模私拍合集| 大神与七个伙伴| 巨茎插入李淑芬体内视频| 鸭王2粤语| 小小影视大全在线观看电视剧免费| 保罗一家1-4美国版| 欲望中的女人在线观看无删减 | 《沧元图3》| 戏点鸳鸯| 《地球超新鲜》综艺| 熊出没动画片全集104| 九一神雕侠侣| 写的比较细的开车故事| 哎呀女朋友电影| 卖保险套的女销售在线观看| 酒徒电影| 度华年全40集免费观看| 张云熙| 电视剧抗战奇侠| 情难断原唱| 《女儿国满天星版》| 张鲁一失踪| 大帅哥粤语| 维修工的艳遇 中字| 二人转全集正戏| 暖暖在线观看免费高清完整版| 菠萝蜜菠萝蜜影视在线观看 | 神龙赌圣| 金牌销售秘密5HD| 胜利在线| 精灵宝可梦bw| 明媒正娶的妻子国语| 大胸特殊按摩电影| 尸体派对2| 以家人之名大结局免费观看 | 维密天使内衣秀2015| 祈祷爱情电视剧| 韩国电影售楼处的秘密| 我为聊狂| 监狱女兵免费版| 雨晴版农民伯伯1-4集在线看| 情路婉转云烟散| 特利迦奥特曼全集免费观看| 战狼6欧式少女全部人物| 呼吸过度电影| 壮士出川| 年轻的岳母4电影播放| 甜蜜惩罚我是专门看守所宠物真人| 不怕开水烫| 隔壁的邻居在线观看电视剧| 狗带tV金瓶梅| 日喀则怎么读| 奈奈和熏的sm日记| 房屋售楼员在线| 遇见璀璨的你免费观看完整版 | 入室暴行2免费观看完整版| 谭咏麟演唱会2012| 人头移植| 女超人:麦乐迪| 复活电影免费观看完整版高清| 老爸的筒子楼全集| 《妻子8》免费完整版高清韩剧| 伦理影片岳母厨房在线观看| 高清《沸腾人生》免费观看| 蜘蛛侠3英雄无归在线| 俘虏之锁1| 九年级英语unit9| 《女朋友的真实容貌》动漫1~2集 麻豆mdx0020穷小子大翻身 | 法证先锋5大结局| 美容室的待遇6| 危机公关电视剧| 囧妈网上怎么看| 见龙卸甲电影| 古墓丽影特别版法国 在线播放| 高清《残花》电影在线观看| 远亲小姐在线观看| 牙医姐妹电影在线看完整版高清| 绝地反击电影| 陈星旭主演的电视剧| 姐姐的朋友3中文字线观高清| 《法国空姐2024法版》法国空姐 | 深空动漫| 再来一次第7集| 《魔法少女伊莉雅》| 三年大全国语在线观看| 人民名义电视剧| 和部长一起出差旅的日子电影| 即刻上场 电视剧| 四喜电视剧免费观看全集高清| 暴躁46集全剧情免费观看| 古剑奇谭电视剧全集 | 亲吻电视剧| 和讨厌的部长出差旅bd | 农情蜜意| 神医弃女短剧全集| 翁源县| 苹果 范冰冰版| 李卫当官第1部全集| 秘书2| 我和我的祖国免费| 俘虏之锁2在线观看完整版免费| 电视剧刘老根三部全集2019| 朝国年经的继2免费观看时间 | 又见逍遥电视剧免费观看| 韩国电影 好姑娘干 在线观看 | 人猿泰山hr版的女主演| 《鸣龙少年》电视剧| 陪你一起好好吃饭在线观看| 大江大河在线播放免费观看| 老医馆短剧全集免费| 需要爸爸的种子在线美国观看| 碧血剑林家栋版全集| 西班牙版《荷尔蒙》| 甜密惩罚第一季免费观看完整版| 高hbl动漫| 旁观者电影| 我在你的未来吗免费观看完整版| 陪部长出差| 一口气看完凡人修仙传| 终极三国2017| 《需要爸爸播种美国》在线观看 | 公的浮之手中字电影| 吸血鬼猎人d有几部| 《在姨母家的客厅》免费播放完整版 | 白峰美羽《被讨厌的上司》完整版| 怪盗基德特别篇全集| 独一无二在线观看完整版| 印度一生的承诺| 白嫖者联盟在线观看免费观看最新版 | 上海出轨女老师| 我的瘦子女朋友2上映时间| 浮生若梦电影| 归途电视剧全集免费观看乐视 | 四平风云电影| 妻子的背叛3集| 壮志凌云女版1994年版| kaera uehara| 潘金莲之前世今生百度影音| 一念天堂电影高清免费观看| 桃色凶器免费看| 亲爱的热爱的免费版全集| 流浪的青春| 三年高清观看免费大全一 | 新还珠哥哥| 我需要爸爸播种| 那年冬天风在吹全集| 全职高手第三季免费观看动漫| xl司令第一季全集在线观看完整版免费| 斗罗大陆电视剧全集免费观看完整版| 爸爸当家第三季免费观看完整版高清| 《夏家三千金》电视剧| KKKBO| 绝世枭雄| 禁欲电影观看完整版高清| 让媳妇变成花痴2电视剧叫什么名字| 小巷人家 电视剧 在线观看| 圣石小子粤语| 电视剧如懿传| 《XL司令》免费观看| 陈楚生何洁经过| 女版战狼免费观看| 幽灵战队| 济公传奇2| 小姑娘1中汉字| 抗日奇侠演员表| 一次特殊的游泳课| 故乡的女孩| 《她被搬运工侵犯》在线播放| 狂飙电视剧在线观看策驰| 家属と姉妹の声| 高压监狱2法国版完整版免费| 又见一帘幽梦优酷 | 星汉灿烂在线免费观看| 古墓丽影2004满天星在线观看完整免费高清 | 娃娃脸少女美国| 昆仑神宫电视剧在线观看完整免费| 疫情期间我和母亲完整版一| 明白人组合| 部长出差的日子在線觀看| 花姐的个人资料| 头文字d动画| 麦乐迪《家庭矛盾》| 防雷接地方案| 倚天屠龙记2019版演员表| 拥抱太阳的月亮大结局| 隔壁邻居很美味电影| 爱是一场在劫难逃短剧免费观看| 爱在几何电影完整版免费观看| 少年男仆库洛下载| 兽魂觉醒动漫免费观看高清| 高清《妻子的浪漫旅行2026》| 男女生一起愁愁视频| 攻击嗓子的新病毒来了| 迷你特工队x| omoflow第一集真人| 日剧《轮到你了》40集| 刻晴被盗宝团C的不能自理| 明星大侦探第三季| 西班牙掌中之物在线观看完整版| 新员工韩剧电视剧| 动物特工局| 妙警贼探完整版免费观看| 黑人巨吊 云播| 机甲兽神2| 韩剧想你国语版| 美容室的特殊待遇| 56天全集观看| 《愤怒的小鸟》| 韩剧千次的吻全集| 锵锵锵完整版在线观看高清完整版| 高清《龙云镇怪谈》2| 湘西诡案电影完整版免费播放| 峡江县| 满天星电影女超人在线观看完整免费| 幸孕萌宝宠翻天短剧免费播放| 中国新说唱第二季| 安姨在线观看| 女生宿舍迅雷下载| 神话优酷| 法国空姐电影正片| 金银瓶2008版徐少强| 央视网评秦朗丢寒假作业事件 | 女孩地铁晕倒大便失禁女子帮清理| 社长的漂亮夫人电影在线播放 | 2024追风者电视剧免费观看| 李丽珍蜜桃| 《荣誉守则》在线观看法国| 天天向上20100416| 娇妻被黑人夹了三明治| 夏日口袋动漫免费观看| 《不再是朋友的夜晚第二季》| 高清《互换性伴侣》在线观看| 十月三十三日电视剧免费播放| 一对浑圆的胸乳被揉捏电影| 荒岛女儿国| 透明装无内衣秀表演| 电视剧麦香| 鸳鸯村的故事| 千灭天际线| 雾里歌曲原唱| 不汗党国语版| 最终列车醉汉第一季| 漂亮的小蜜桃5| 北岛玲丝袜办公室高跟鞋| 中国五大战区司令都是谁| 《绝版渔夫荒淫史》| 《色戒》未删减版电影| 矿哥矿嫂的平凡生活| 求婚大作战 韩剧| yellow在线免费观看| 骚女视频| 歌手在线观看免费完整版| 斗罗大陆2绝世唐门免费观看第四季| 家属动漫1-6全集免费观看| 《塞伦娜》电影全部| 新十字街头| 包青天在线观看| 公与浮之| 我爱你中国简谱| 明日之战电影在线观看西瓜| 男按摩师| 房产销售的秘密电影在线观看| 孝庄秘史| 甜美日系风| 《控制美女老板的遥控器》电影| 铃木里美在线观看| 电影《霸占》在线观看| 出来混迟早要还的| 肯纳詹姆斯《空乘》| 唐砖电视剧| 老九门西瓜| 赶尸先生国语| 理伦电影第2季| 终极快递2| 缺宅男女大结局| 《推油》完整版免费观看| 漂亮小瘦子 3| 自w到抖还要继续吗| 火箭军原副司令员吴国华病逝| 卿卿日常更新| 需要爸爸播| 追爱电影高清完整版| 维斯塔小镇家长会2免费观看| 《老舅》免费观看全集| 《法国空乘11》播放了几集| 老板办公室乳摸秘书gif动态图| 铁血使命第2部全集| 日本变态整人节目| 先锋影院日韩 | johnen 定之爱| 韩国秋瓷炫,生死决断完整版| 长沙乐和城电影| 《布里奇顿 第四季》| 王保长歪传| 《两位少妇按摩》| 安家剧情分集介绍| 隐藏大佬:外卖小哥全集免费| 青瓶梅电视剧正版观看平台 | 野战排国语| 逃狱犯入室暴行电影免费观看| 外国美女热舞| 高清以猫饲爱未删减| 《前度》电影免费观看| 韩国电影中文字幕美国片我要爸爸播种 | 黑白通吃:都市狂龙全集免费| 插曲的痛30集全集免费播放百度云资源| 日本电影和部长一起出差| 姑父lvl温软是什么类型的小说| 30集电视剧关中匪事免费观看| 做aj的电视在线观看免费大全| 文豪野犬第三季全集完整版| 机动奥特曼第一季| 古惑仔6国语高清免费| 美容院的特殊待遇| 卖保险的女销售2| 真千金是团宠大佬| 激战国语| 中字HD丈夫的下属中字| 售楼小姐的秘密》在线观看| 慈禧电影| 《我的初恋不可能是姐姐》| 布尔津县| 埃丽·诺娃《纯粹》满天星| 《唐朝诡事录》第二季| 麻辣隔壁电视剧| 星舰迷航| 三年电影免费完整版| 《overflower》第1季免费观看全集动漫| 四位大学位按摩记电子版PDF下载| 鬼楼契约 第一季| 夺命狙击2电影| 美国电影需要爸爸播种子高清| 小小诊所完整版| 妈妈的朋友6在线| 美国电影大全免费观看高清完整版| 天字号女子监狱| 家属1到5集第一季第五集免费观看| 韩剧鬼怪百度云| 《交换:完美的邻居》中字| 金塔县| 公之浮之手中字8| 宿舍2大尺度挑战| 奇妙的美发沙龙| 爱上女学生电影完整版| 日剧《家庭教师上门拜访》| 《黑白禁区》电视剧全集| 血疫电影完整免费观看| 终极恶女| 新油菜电影在线观看| 与恶魔有约电视剧| 木行猜成语| 高清《肖申克的救赎》在线观看| 韩国理伦片驯服小峓2| 两个女人喜欢我韩剧在线播放| 后窗免费| 老司机福利午夜| 德川幕府三部曲水月篇| 高清《解语花》曹宝儿| 真爱永恒电视剧| 南北少林电影| 信宜市| 《Wan etd 西部通緝令》| 海洋之城| 釜山行2半岛在线观看完整版| 新还珠格格97集| 韩国R电影在线| 火红的青春| 祈祷爱情电视剧| 插翅难逃全集免费看 | 塔兹米死了吗| 周小斌个人资料| 只此江湖梦电视剧免费观看| 希要爸爸的种子| 年轻得妈妈| 落花时节又逢君电视剧刘学义| 机器人总动员全集| 《特邀送货员》刘志贤| 谋杀第二季| 火影忍者最新op| 大长今之尚宫天下| 出差被最讨厌的部长欺负电视剧| 睫毛膏3美国电影| 黎明之前高清下载| 归路1—30集免费观看策驰影院| 邪恶护士| 朱莉安妮版售楼女王免费观看| 机械师2:复活| 保你平安| 通缉玉面飞狐| 日本混血女大学生精油按摩三位混血女大学生BDHD | 少年包青天2部| 增城地图| 隔壁漂亮女邻居躲避我是什么心理| 蛇姬恋电影在线观看| 妖僧无花和如尘| 天空之城| 电视剧黑金地的女人| 安斋拉拉在线观看视频| 等着你韩国电影在线观看| 伞娘传奇电视剧全集剧情| 高品格单恋 电视剧| 张警官| 2019商务旅行女老板戴的帽子经典电影| 四大名捕| 一路向西hd| 哪里逃1VLH| 爸爸需要播种子电影| 《招魂3》在线观看| 马路天使在线观看| 阿尔法特种部队| 男人女人愁愁在线观看电视剧| 由菱开始电影免费观看| 德国电影朱莉第一次免费看 | 妈妈的职业2韩剧结局| 免费理论韩国片在线观看新妈妈| 我的妹妹在线观看| 爱情牧场| 法国空姐3完整免费高清原声满天星原名 | 天乩之白蛇传说电视剧全集免费| 韩国小电影男子获得遥控器控制女领导| 泰剧甜心派| 热恋2015| 我不卖身我卖子宫| 《私人航空》法国在线播放 | 碧草侦探社| 和大胸大乳继拇做爰5| 角斗士3满天星哪里看| 搜查瑠公圳未删减| 三生三世十里桃花12集| 咱们结婚吧电影| 荣誉之战满天星在线播放| 男孩爱上已婚妇女是哪部电影 | 电影《活着》在线观看| 慈禧电影| 奇妙的美发沙龙| 广场舞好人好梦| 坎贝奇三部曲b站无憾完整版| 九重紫电视剧免费观看高清| 皇后进宫电视剧| 春草电视剧免费观看| 俘虏之锁| 特邀外卖员免费在线观看| 精装追女仔2004国语| 天若有情3粤语| 皇朝dj联盟| 我要爸爸种子美国电影完整版| 海南一家四口 3人遇害| 小丑免费| 仁心解码电视剧| 神雕侠侣电影| 电影《绿茵星妈》免费观看| 自w到抖还要继续吗| 龙樱第一季电视剧免费观看高清| 鹊刀门传奇| 温泉县| 《修理工的艳遇》观看| 韩国女主播艾琳| 爱你没商量| 哦吼小闪电的真名叫什么| 日本性生活电影| 美式的忌讳1~8| 鼓楼外42集大结局| 三生三世枕上 书| 善良嫂子3| 莫妮卡版《爱我几何》哪里能看| 怒战狂心| 星光美丽电视剧全集在线观看免费| 恋之欲室百度影音| 昭然若揭的意思| 韩国伦理维修工的艳遇| 爱情雨全集| 飞虎出征 刘安琪| 关于未知的我们| rapper高清在线观看免费大全| 法国空姐4(多塞尔航空)完整版免费中文| 奥特曼全集免费观看完整版| 娘王 下载| 爱情与灵药迅雷下载| 《私人航空》法国电影| 爱唯侦察2024年最新合集| 极度深寒2深海惊变| 二十四道拐| 古城童话| 浮之手中字22| 蓝色隐形帽子完整版在线| 温柔的背后全集在线观看| 美人鱼在线观看免费观看| 智障小烁| 《越南女兵满天星》1988| 荣誉守则成人版高清资源| 芭比美人鱼历险记| 叶玉卿《卿本佳人》高清| 苍狼之特战突击电视剧免费观看| 双女任务在线观看完整免费法剧| 女销售的秘密2韩剧三级| 惊天下:女状元文武短剧全集| 唐朝浪漫英雄下载| 疯狂原始人迅雷下载| 17·3电影免费播放高清| 学生XNXNXN美女18| 疯狂汉堡| 苹果在线观看| 赖汉的幸福指数 电视剧| 二十一世纪性格与X爱情免费观看电视 | 瑜伽室里的激情在线观看| 韩国恶作剧之吻| 扫黑风暴连续剧| 高清绮梦之旅未删减| 法国空乘2016完整版中文翻译英文 | 私人航空电影免费观看完整版在线播放| 四面佛电视剧免费观看| 乱世三义电视剧免费观看 | 捡漏小能手:古玩街我称王短剧全集| 爱唯侦察dvd免费观看| 穿越火线在线观看免费完整版| 天天碰天天摸| 海天盛筵 孙静雅| 幸福一定强| 分歧4麦乐迪| 百慕大三角| 长月无烬免费观看完整版| 湘北小成| 疯狂动物城中文版免费观看| 加勒比海盗完整版1| 仙逆128全集观看| 闪婚老伴是豪门| 天狱飞龙| 我的女神oad| 高压监狱1小时43分| 侦探先生,你的背包开着呢未删减| 冲出迷雾 电视剧| 花咒电影完整版| 妻子的秘密按摩里面用的什么精油 | 敌营十八年插曲| 龙帅归来:都市风云再起全集免费| 流浪的青春| 大兵寝室| 售楼小姐日本| 怒火重案电影免费观看完整版| 非诚勿扰泰国女嘉宾| 大清十二刑| 泉州市| 私人航空免费观看| 秘密10| 维修工人的绝遇2中文字HD_午夜电影全集_完整版免费在线观看-天天影院 | 危机迷雾| 好心作怪粤语24| 爱情公寓20| 战狼6在线观看| 销售员2| 小公主莎拉| 中国电影免费高清观看| 武契奇收到死亡威胁| 韩国《维修工的艳遇》| 高清《梅根2.0》电影| 《骄阳伴我》| 神探狄仁杰第四部44| 步步惊心剧情| 歼灭天际线1-66全集| 高清《世界》| 箭在弦上电视剧全集免费观看| 抓紧我放弃我电视剧| 公主把奶尖放入侍卫口中| 飞翔女孩满天星免费播放| ylacoyote女超人| 东莞第一高楼| 爱你命中注定泰剧免费观看泰剧网| 女子上班被老板灌醉侵犯网站| 法国电影《女销售》的剧情简介| 人马速配45分钟免费视频| 小青扮演者陈美琪| WRITE AS 黄瓜| 风中奇缘全集| 我家大师兄脑子有坑第一季| 男女在一起愁愁愁视频电视剧免费观看全集动漫版 | 后进紧身牛仔裤翘臀美女视频| 意大利电影《八尺夫人》完整版| 驯服小姨子2在线观看| 孤舟电视连续剧免费收看| 上海滩系列电影| ZLJZLJZLJ日本妈妈| 厨王电视剧| 铿锵铿锵铿铿锵免费观看| 将军夫人:夫君护短全集免费| 推荐好看的电视剧| 《溺爱关系》动漫| 孤男寡女免费观看全部电视剧高清| 《越南暴行》完整版免费观看| 《束缚游戏》第一季1到2集免费观看| 意外国语| 侯门嫡女:宅斗冠军是我短剧全集 | 夺命金国语| 米酒mama最新视频| 上司趁丈夫不在家来拜| 唐伯唬vlog在线观看免费版| 罗曼史高清免费完整版| 野玫瑰之恋| 堕落前辈动画第一季樱花动漫免费| 三傻大闹宝莱坞国语版| 禁忌5在线观看电视剧完整版免费 壮志凌云女版满天星法版免费2011美国 | 香港奇案| 洞房电影| 电影《私人航空》法国电影| 小凤新婚全部免费观看| 巡回检察组45集免费观看| 食人神之山在线观看完整版| 怒火十二小时免费观看| 爱死亡与机器人| 铯妮玛亚洲欧洲夫妻轮换角色| 北上电视剧| 师傅电视剧| 名侦探柯南普通话版免费观看 | 《隔山有眼3:起源》免费下载| 中国驻英领馆遭冲闯| av收藏之家| 《外出》2015版| 镇江热线| 《爱你几何》免费观看全集| 美妙的旋律| 赛车总动员1 QVOD| 以你的心诠释我的爱第二季电视剧| 爱我几何莫妮卡原版| 当着丈夫面被耍| 三年电影在线观看高清| 电视剧火线三兄弟在线观看| 小宁电影网| 老家有喜| 深宅大院| 女版幽灵船满天星| 战狼6手机免费电影版| 潜伏者电视剧免费播放| 鸽子电影| 《偿还3》完整版| 《军事不当行为》在线观看| 国家宝藏1在线| 木下之影| 洛阳影视| 《特殊的精油按摩》在线观看 | 普通事故未删减| 无人在线直播免费观看| 本乡爱演的日本电影| 宝洁回应男子洗澡发现香皂嵌刀片| 制服诱惑2地下法庭| 郑州换纱窗| 艾莎公主动画片全集免费观看中文| 书生中学成绩查询| 电影《千金与佣人》免费观看| 没落要塞| 《名侦探柯南:独眼的残像》| 陕西桥梁垮塌已致12死31失联| 《且试天下》免费观看| 别当欧尼酱了动画第一季免费观看| 电影《千金与佣人》完整版| 师生接吻| 倪大红版林海雪原免费观看| 高h乱np甄宓| 风暴粤语高清完整版| 球球大作战米修斯| 女销售卖房子视频| 偷偷藏不住免费观看25集| 脔到她哭H粗话H好爽五星视频| 征服人妻第1-52集资源请求| 鹿镇传奇| 终极审判第二季| 女版壮志凌云hr法版| 卖房子的女销售3在线播放| 咱们结婚吧 25| 恋童电影全部免费播放| 电视剧老女人6| 今天的她们电视剧| 战狼6双人版免费播放 | 抛妻弃子| 我和我的祖国免费| 媳妇的烦恼| 调教女佣2| 妻子游泳教练HD中字| 《落魄贵族琉璃川》免费动漫观看全集 | 斗罗大陆177| 致命玩笑3| 两人世界插曲30分钟| 兵临城下电影下载| 迎风的青春电视剧免费观看全集| 王牌贱谍| 银瓶梅在线观看| 我的莫格利男孩| 夜幕下的哈尔滨| 美国怪谈第一季| 高清《当替身我月薪百万》| 家有公婆全集下载| 法国少女农场2中文版在线观看| 卖百科全书的女手机播放人| 对你不止是喜欢你电视剧免费观看| 强奸女护士| 老牛天天晚上夜噜噜噜| 大西南剿匪记全集下载| 乡村三姐妹保姆医药| 姜素拉电影在线播放| 一个有风景的房间:美味的性| 小巷人家电视剧在线免费观看| 教堂姐姐在线观看| 快刀斩乱麻成语| 小苍解说| 麦乐迪马克斯超人| 被侵犯的美女教师天海翼| 我邻居的老婆 电影| 龙胆虎威4下载| 壹号皇庭3国语版| 大话西游连续剧| 小辣椒3电影在线看免费完整版高清| 漂亮的瘦子电影| 爸爸的朋友2免费中字翻译木瓜| 妒忌电影| 新还珠格格的所有歌曲| 蜗牛在线观看免费播放| 女大学生的心理沙龙室| 本乡爱演的日本电影| 斑马电影街桥矿| 我是传奇2之末日重生| 刺客伍六七第6季免费观看完整版| 幸福二重奏免费观看完整版高清 | 激情文学激情五月天| 最后的王爷电视剧免费观看| 坏蛋联盟电影完整版免费观看| 女人公敌高清第三季| 新金瓶梅2009| 西班牙电影《掌中之物》简介 | 斗罗大陆206集免费观看 | 美姊妹医生在线观看完整版电影| 丽卡驯服2电影免费观看| 《好久不见》韩剧在线观看| 公主她不装了:摊牌是大佬全集免费| 《苏醒》短剧免费观看| 师宗县| 妈妈的职业8结局原声在线看视频免费| 呼吸过度动漫在线观看完整| 神盾局特工第四季| 首付电视剧全集| 妙妙米奇屋| 进击的巨人樱花| 公公的浮生手中字电影完整版| 日本电影女律师的坠落| 爱情珠宝电视剧全集免费观看| 小城大事电视剧在线观看免费| 爱人 韩版| 莆仙戏二团| 一世倾心再逢君短剧免费观看| aj视频电视剧大全| 男女一起愁愁愁电视剧免费观看全集高清完整| 吴雪雯电影| 《课后辅导女教师》电视剧动漫 | 双人调情按摩术在线看| 德川幕府刑罚史记水月篇完整版| 四十七浪人| 山村大爷| 以家人之名电视剧免费观看| 娘心电视剧全集粤语| 北影校花陈冰冰| 《少女》2电影| 毒医肥尸1999未删减版|