把嵌入式設備驅動比相親,那總線就是紅娘,設備是男方,驅動是女方.....

傳感器技術 2020-03-02 00:00


一、platform 驅動的工作過程


platform模型驅動編程,需要實現platform_device(設備)與platform_driver(驅動)在platform(虛擬總線)上的注冊、匹配,相互綁定,然后再做為一個普通的字符設備進行相應的應用,總之如果編寫的是基于字符設備的platform驅動,在遵循并實現platform總線上驅動與設備的特定接口的情況下,最核心的還是字符設備的核心結構:cdev、 file_operations(他包含的操作函數接口)、dev_t(設備號)、設備文件(/dev)等,因為用platform機制編寫的字符驅動,它的本質是字符驅動。


我們要記住,platform 驅動只是在字符設備驅動外套一層platform_driver 的外殼。


在一般情況下,2.6內核中已經初始化并掛載了一條platform總線在sysfs文件系統中。那么我們編寫platform模型驅動時,需要完成兩個工作:


a -- 實現platform驅動 

b -- 實現platform設備


然而在實現這兩個工作的過程中還需要實現其他的很多小工作,在后面介紹。platform模型驅動的實現過程核心架構就很簡單,如下所示:

 

platform驅動模型三個對象:platform總線、platform設備、platform驅動。

platform總線對應的內核結構:struct bus_type-->它包含的最關鍵的函數:match() (要注意的是,這塊由內核完成,我們不參與)

platform設備對應的內核結構:struct platform_device-->注冊:platform_device_register(unregister)

platform驅動對應的內核結構:struct platform_driver-->注冊:platform_driver_register(unregister)

       

那具體platform驅動的工作過程是什么呢:


設備(或驅動)注冊的時候,都會引發總線調用自己的match函數來尋找目前platform總線是否掛載有與該設備(或驅動)名字匹配的驅動(或設備),如果存在則將雙方綁定;


如果先注冊設備,驅動還沒有注冊,那么設備在被注冊到總線上時,將不會匹配到與自己同名的驅動,然后在驅動注冊到總線上時,因為設備已注冊,那么總線會立即匹配與綁定這時的同名的設備與驅動,再調用驅動中的probe函數等;


如果是驅動先注冊,同設備驅動一樣先會匹配失敗,匹配失敗將導致它的probe函數暫不調用,而是要等到設備注冊成功并與自己匹配綁定后才會調用。

 


二、實現platform 驅動與設備的詳細過程




1、思考問題?

在分析platform 之前,可以先思考一下下面的問題:

a -- 為什么要用 platform 驅動?不用platform驅動可以嗎?

b -- 設備驅動中引入platform 概念有什么好處?


現在先不回答,看完下面的分析就明白了,后面會附上總結。

 


2、platform_device 結構體 VS   platform_driver 結構體

這兩個結構體分別描述了設備和驅動,二者有什么關系呢?先看一下具體結構體對比



前面提到,實現platform模型的過程就是總線對設備和驅動的匹配過程 。打個比方,就好比相親,總線是紅娘,設備是男方,驅動是女方:


a -- 紅娘(總線)負責男方(設備)和女方(驅動)的撮合;    

b -- 男方(女方)找到紅娘,說我來登記一下,看有沒有合適的姑娘(漢子)—— 設備或驅動的注冊

c -- 紅娘這時候就需要看看有沒有八字(二者的name 字段)匹配的姑娘(漢子)——match 函數進行匹配,看name是否相同;

d -- 如果八字不合,就告訴男方(女方)沒有合適的對象,先等著,別急著亂做事 —— 設備和驅動會等待,直到匹配成功;

e -- 終于遇到八字匹配的了,那就結婚唄!接完婚,男方就向女方交代,我有多少存款,我的房子在哪,錢放在哪等等( struct resource    *resource),女方說好啊,于是去房子里拿錢,去給男方買菜啦,給自己買衣服、化妝品、首飾啊等等(int (*probe)(struct platform_device *) 匹配成功后驅動執行的第一個函數),當然如果男的跟小三跑了(設備卸載),女方也不會繼續待下去的(  int (*remove)(struct platform_device *))。

 


3、設備資源結構體

在struct platform_device 結構體中有一重要成員 struct resource *resource


[cpp] view plain copy

1. struct resource {  

2.     resource_size_t start;  資源起始地址     

3.     resource_size_t end;   資源結束地址  

4.     const char *name;        

5.     unsigned long flags;   區分是資源什么類型的  

6.     struct resource *parent, *sibling, *child;  

7. };  

8.   

9. #define IORESOURCE_MEM        0x00000200  

10. #define IORESOURCE_IRQ        0x00000400     


flags 指資源類型,我們常用的是 IORESOURCE_MEM、IORESOURCE_IRQ  這兩種。start 和 end 的含義會隨著 flags而變更,如


a -- flags為IORESOURCE_MEM 時,start 、end 分別表示該platform_device占據的內存的開始地址和結束值; 

b -- flags為 IORESOURCE_IRQ   時,start 、end 分別表示該platform_device使用的中斷號的開始地址和結束值; 


下面看一個實例:


[cpp] view plain copy

1. static struct  resource beep_resource[] =  

2. {  

3.     [0] = {  

4.             .start = 0x114000a0,  

5.         .end = 0x114000a0+0x4,  

6.             .flags = IORESOURCE_MEM,  

7.     },  

8.   

9.     [1] = {  

10.             .start = 0x139D0000,  

11.             .end = 0x139D0000+0x14,  

12.             .flags = IORESOURCE_MEM,  

13.     },  

14. };   


好酒好禮,五糧液十五醬!(點擊進入)




4、將字符設備添加到platform的driver中


前面我們提到platform 驅動只是在字符設備驅動外套一層platform_driver 的外殼,下面我們看一下添加的過程:


[cpp] view plain copy

1. static struct file_operations hello_ops=  

2. {  

3.     .open = hello_open,  

4.     .release = hello_release,  

5.     .unlocked_ioctl = hello_ioctl,  

6. };  

7.   

8. static int hello_remove(struct platform_device *pdev)  

9. {  

10.     注銷分配的各種資源  

11. }  

12.   

13. static int hello_probe(struct platform_device *pdev)  

14. {  

15.     1.申請設備號  

16.     2.cdev初始化注冊,&hello_ops  

17.     3.從pdev讀出硬件資源  

18.     4.對硬件資源初始化,ioremap,request_irq( )  

19. }  

20.   

21. static int hello_init(void)  

22. {  

23.     只注冊 platform_driver  

24. }  

25.   

26. static void hello_exit(void)  

27. {  

28.     只注銷 platform_driver  

29. }  


可以看到,模塊加載和卸載函數僅僅通過paltform_driver_register()、paltform_driver_unregister() 函數進行 platform_driver 的注冊和注銷,而原先注冊和注銷字符設備的工作已經被移交到 platform_driver 的 probe() 和 remove() 成員函數中。



5、platform是如何匹配device和driver


這時就該總線出場了,系統為platform總線定義了一個bus_type 的實例platform_bus_type,其定義如下:


[cpp] view plain copy

1. struct bus_type platform_bus_type = {  

2.     .name        = "platform",  

3.     .dev_groups    = platform_dev_groups,  

4.     .match        = platform_match,  

5.     .uevent        = platform_uevent,  

6.     .pm        = &platform_dev_pm_ops,  

7. };  


其又是怎樣工作的呢?在platform.c (e:\linux-3.14-fs4412\drivers\base)    31577    2014/3/31 中可以看到



[cpp] view plain copy

1. __platform_driver_register()  

2. {  

3.     drv->driver.bus = &platform_bus_type;     536行  

4. }  



在platform_bus_type 中調用 了platform_match:


[cpp] view plain copy

1. static int platform_match(struct device *dev, struct device_driver *drv)  

2. {  

3.     struct platform_device *pdev = to_platform_device(dev);  

4.     struct platform_driver *pdrv = to_platform_driver(drv);  

5.   

6.     匹配設備樹信息,如果有設備樹,就調用 of_driver_match_device() 函數進行匹配  

7.     if (of_driver_match_device(dev, drv))  

8.         return 1;  

9.   

10.   

11.     匹配id_table  

12.     if (pdrv->id_table)  

13.         return platform_match_id(pdrv->id_table, pdev) != NULL;  

14.   

15.     最基本匹配規則  

16.     return (strcmp(pdev->name, drv->name) == 0);  

17. }  



 6、解決問題

現在可以回答這兩個問題了

a -- 為什么要用 platform 驅動?不用platform驅動可以嗎?

b -- 設備驅動中引入platform 概念有什么好處?


引入platform模型符合Linux 設備模型 —— 總線、設備、驅動,設備模型中配套的sysfs節點都可以用,方便我們的開發;當然你也可以選擇不用,不過就失去了一些platform帶來的便利;


設備驅動中引入platform 概念,隔離BSP和驅動。在BSP中定義platform設備和設備使用的資源、設備的具體匹配信息,而在驅動中,只需要通過API去獲取資源和數據,做到了板相關代碼和驅動代碼的分離,使得驅動具有更好的可擴展性和跨平臺性。

 


三、實例



這是一個蜂鳴器的驅動,其實前面已經有解析 Linux 字符設備驅動開發基礎(二)—— 編寫簡單 PWM 設備驅動, 下面來看一下,套上platform 外殼后的程序:



1、device.c



[cpp] view plain copy

1. #include <linux/module.h>  

2. #include <linux/device.h>  

3. #include <linux/platform_device.h>  

4. #include <linux/ioport.h>  

5.   

6. static struct resource beep_resource[] =  

7. {  

8.     [0] ={  

9.         .start = 0x114000a0,  

10.         .end =  0x114000a0 + 0x4,  

11.         .flags = IORESOURCE_MEM,  

12.     },  

13.   

14.     [1] ={  

15.         .start = 0x139D0000,  

16.         .end =  0x139D0000 + 0x14,  

17.         .flags = IORESOURCE_MEM,  

18.     }  

19. };  

20.   

21. static void hello_release(struct device *dev)  

22. {  

23.     printk("hello_release\n");  

24.     return ;  

25. }  

26.   

27.   

28.   

29. static struct platform_device hello_device=  

30. {  

31.     .name = "bigbang",  

32.     .id = -1,  

33.     .dev.release = hello_release,  

34.     .num_resources = ARRAY_SIZE(beep_resource),  

35.     .resource = beep_resource,  

36. };  

37.   

38. static int hello_init(void)  

39. {  

40.     printk("hello_init");  

41.     return platform_device_register(&hello_device);  

42. }  

43.   

44. static void hello_exit(void)  

45. {  

46.     printk("hello_exit");  

47.     platform_device_unregister(&hello_device);  

48.     return;  

49. }  

50.   

51. MODULE_LICENSE("GPL");  

52. module_init(hello_init);  

53. module_exit(hello_exit);  


 


2、driver.c



[cpp] view plain copy

1. #include <linux/module.h>  

2. #include <linux/fs.h>  

3. #include <linux/cdev.h>  

4. #include <linux/device.h>  

5. #include <linux/platform_device.h>  

6. #include <asm/io.h>  

7.   

8. static int major = 250;  

9. static int minor=0;  

10. static dev_t devno;  

11. static struct class *cls;  

12. static struct device *test_device;  

13.            

14. #define TCFG0         0x0000                 

15. #define TCFG1         0x0004                              

16. #define TCON          0x0008               

17. #define TCNTB0        0x000C            

18. #define TCMPB0        0x0010             

19.   

20. static unsigned int *gpd0con;  

21. static void *timer_base;  

22.   

23. #define  MAGIC_NUMBER    'k'  

24. #define  BEEP_ON    _IO(MAGIC_NUMBER    ,0)  

25. #define  BEEP_OFF   _IO(MAGIC_NUMBER    ,1)  

26. #define  BEEP_FREQ   _IO(MAGIC_NUMBER   ,2)  

27.   

28. static void fs4412_beep_init(void)  

29. {     

30.     writel ((readl(gpd0con)&~(0xf<<0)) | (0x2<<0),gpd0con);  

31.     writel ((readl(timer_base +TCFG0  )&~(0xff<<0)) | (0xff <<0),timer_base +TCFG0);   

32.     writel ((readl(timer_base +TCFG1 )&~(0xf<<0)) | (0x2 <<0),timer_base +TCFG1 );   

33.   

34.     writel (500, timer_base +TCNTB0  );  

35.     writel (250, timer_base +TCMPB0 );  

36.     writel ((readl(timer_base +TCON )&~(0xf<<0)) | (0x2 <<0),timer_base +TCON );   

37. }  

38.   

39. void fs4412_beep_on(void)  

40. {  

41.     writel ((readl(timer_base +TCON )&~(0xf<<0)) | (0x9 <<0),timer_base +TCON );  

42. }  

43.   

44. void fs4412_beep_off(void)  

45. {  

46.     writel ((readl(timer_base +TCON )&~(0xf<<0)) | (0x0 <<0),timer_base +TCON );  

47. }  

48.   

49. static void beep_unmap(void)  

50. {  

51.         iounmap(gpd0con);  

52.         iounmap(timer_base);  

53. }  

54.   

55. static int beep_open (struct inode *inode, struct file *filep)  

56. {  

57.     fs4412_beep_on();  

58.     return 0;  

59. }  

60.   

61. static int beep_release(struct inode *inode, struct file *filep)  

62. {  

63.      fs4412_beep_off();  

64.      return 0;  

65. }  

66.   

67. #define BEPP_IN_FREQ 100000  

68. static void beep_freq(unsigned long arg)  

69. {  

70.     writel(BEPP_IN_FREQ/arg, timer_base +TCNTB0  );  

71.     writel(BEPP_IN_FREQ/(2*arg), timer_base +TCMPB0 );  

72.   

73. }  

74.   

75. static long beep_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)  

76. {  

77.     switch(cmd)  

78.     {  

79.         case BEEP_ON:  

80.             fs4412_beep_on();  

81.             break;  

82.         case BEEP_OFF:  

83.             fs4412_beep_off();  

84.             break;  

85.         case BEEP_FREQ:  

86.             beep_freq( arg );  

87.             break;  

88.         default :  

89.             return -EINVAL;  

90.     }  

91.     return 0;  

92. }  

93.   

94. static struct file_operations beep_ops=  

95. {  

96.     .open     = beep_open,  

97.     .release = beep_release,  

98.     .unlocked_ioctl      = beep_ioctl,  

99. };  

100.   

101. static int beep_probe(struct platform_device *pdev)  

102. {  

103.     int ret;      

104.     printk("match ok!");  

105.       

106.     gpd0con = ioremap(pdev->resource[0].start,pdev->resource[0].end - pdev->resource[0].start);  

107.     timer_base = ioremap(pdev->resource[1].start, pdev->resource[1].end - pdev->resource[1].start);  

108.   

109.     devno = MKDEV(major,minor);  

110.     ret = register_chrdev(major,"beep",&beep_ops);  

111.   

112.     cls = class_create(THIS_MODULE, "myclass");  

113.     if(IS_ERR(cls))  

114.     {  

115.         unregister_chrdev(major,"beep");  

116.         return -EBUSY;  

117.     }  

118.   

119.     test_device = device_create(cls,NULL,devno,NULL,"beep");//mknod /dev/hello  

120.     if(IS_ERR(test_device))  

121.     {  

122.         class_destroy(cls);  

123.         unregister_chrdev(major,"beep");  

124.         return -EBUSY;  

125.     }  

126.       

127.     fs4412_beep_init();  

128.       

129.     return 0;  

130. }  

131.   

132. static int beep_remove(struct platform_device *pdev)  

133. {  

134.     beep_unmap();  

135.     device_destroy(cls,devno);  

136.     class_destroy(cls);   

137.     unregister_chrdev(major,"beep");  

138.   

139.     return 0;  

140. }  

141.   

142.   

143. static struct platform_driver beep_driver=  

144. {  

145.     .driver.name = "bigbang",  

146.     .probe = beep_probe,  

147.     .remove = beep_remove,  

148. };  

149.    

150.   

151. static int beep_init(void)  

152. {  

153.     printk("beep_init");  

154.       

155.     return platform_driver_register(&beep_driver);  

156. }  

157.   

158. static void beep_exit(void)  

159. {  

160.     printk("beep_exit");  

161.     platform_driver_unregister(&beep_driver);  

162.       

163.     return;  

164. }  

165.   

166.   

167. MODULE_LICENSE("GPL");  

168. module_init(beep_init);  

169. module_exit(beep_exit); 




3、makefile   



[cpp] view plain copy

1. ifneq  ($(KERNELRELEASE),)  

2. obj-m:=device.o driver.o  

3. $(info "2nd")  

4. else  

5. #KDIR := /lib/modules/$(shell uname -r)/build  

6. KDIR := /home/fs/linux/linux-3.14-fs4412  

7. PWD:=$(shell pwd)  

8. all:  

9.     $(info "1st")  

10.     make -C $(KDIR) M=$(PWD) modules  

11. clean:  

12.     rm -f *.ko *.o *.symvers *.mod.c *.mod.o *.order  

13. endif  


 


4、test.c




[cpp] view plain copy

1. #include <sys/types.h>  

2. #include <sys/stat.h>  

3. #include <fcntl.h>  

4. #include <stdio.h>  

5.   

6. main()  

7. {  

8.     int fd,i,lednum;  

9.   

10.     fd = open("/dev/beep",O_RDWR);  

11.     if(fd<0)  

12.     {  

13.         perror("open fail \n");  

14.         return ;  

15.     }  

16.       

17.     sleep(10);  

18.     close(fd);  

19. } 


  來源:玩轉單片機


免責聲明:本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,我們將根據您提供的證明材料確認版權并按國家標準支付稿酬或立即刪除內容!本文內容為原作者觀點,并不代表本公眾號贊同其觀點和對其真實性負責。

 
  

為您發布產品,請點擊“閱讀原文”

傳感器技術 制造業的未來是智能化,智能化的基礎就是傳感器; 互聯網的方向是物聯網,物聯網的基石也是傳感器; 關注傳感器技術,獲得技術資訊、產品應用、市場機會,掌握最黑科技,為中國工業導航。
評論
  •                                                                        
    廣州鐵金剛 2026-08-06 17:44 146796瀏覽
  • 在前六期中,我們已經分別討論了 CRA 的適用范圍、整體影響、漏洞通報義務、風險評估與技術文檔證據鏈、第三方組件與 SBOM 供應鏈治理,以及產品上市后的支持期、安全更新、用戶說明和終止支持管理。到這里,企業已經能夠回答幾個核心問題:產品是否落入 CRA 適用范圍,產品由哪些組件構成,企業如何證明自己在設計、開發和上市前采取了必要的安全措施,以及產品上市后如何持續維護和安全下線。但對于真正準備落地 CRA 合規的企業來說,還有一個更現實的問題:CRA 的法規條文相對原則化,企業應當如何把“網絡安
    虹科云科技 2026-08-03 16:51 195803瀏覽
  • 產品使用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 357瀏覽
  • 在EMC測試過程中,傳導發射(Conducted Emission,CE)超標是工程師最常遇到的問題之一。更令人頭疼的是,同樣的超標曲線背后,可能對應著完全不同的干擾機理:有的是差模噪聲沿電源回路傳播,有的是共模電流通過寄生路徑耦合,還有些問題甚至并非來自電源本身,而是負載、電纜布局或接地結構引起的連鎖反應。 · 150kHz~1MHz 超標:多為差模噪聲為主,干擾沿火線-零線回路傳輸。 · 1MHz~30MHz 超標:通常共模噪聲占主導,干擾通過火線/零線對地回路傳播。 如果條件允許,用電流探
    譽磁電磁兼容EMC 2026-07-31 18:45 518瀏覽
  •        很多人只見過封裝在SMD外殼里的小尺寸晶振,卻不知道一顆2016、1612甚至1210封裝的微型石英晶振,從一塊巴掌大的石英原礦,到最終能穩定起振的成品,要經過十幾道精密工序。它內部的石英晶片厚度最薄不到20微米,比普通A4紙的1/5還薄,整個生產過程里哪怕0.1微米的誤差,都會直接廢掉整批產品,這也是小尺寸晶振過去長期依賴進口,國內廠商花了十幾年才啃下量產硬骨頭的核心原因。1. 原石定向切割:0.01度的角度誤差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 412瀏覽
  •     長期專注WiFi領域,也算是行業老兵了!同行閑聊中,時不時能提起我和我們!從疫情起,國產替代風生水起,起起落落,大浪淘沙,生存下來的都是強者!    WiFi模塊應用廣泛,對于高端市場和特定市場,要求WIFI模塊需要過CE/FCC之類的認證,也就是說沒有認證的模塊,不具備導入產品設計.接下來就和大家聊聊認證模塊選型參考!    WIFi模塊硬件方面主要考慮以下九點特性:    1
    納拓科技 2026-07-31 17:56 279瀏覽
  • 摘要防爆自控系統同時布設本安信號、工業總線、動力供電三類線路,僅依靠標識標牌管控插接極易出現人為錯插問題,高壓動力回路竄入本安弱電回路會突破安全柵限能標準,產生點火風險。依托 A、D、K 標準化機械防呆編碼體系,搭配護套顏色區分管理,適配 3 針 3 孔免焊接冷壓增安型防爆航插、5PIN 總線防爆航空插頭、8 芯焊接防爆法蘭插座的選型使用,從物理結構層面杜絕防爆接近開關連接器、防爆傳感器航插接頭混用插接問題,補齊防爆系統被動安全防護體系。關鍵詞圓形防爆連接器,防呆編碼防爆航插,防爆航空插頭,防爆
    kyfbest科迎法電氣 2026-07-31 18:29 418瀏覽
  • 導語在現代高速數字電路設計中,信號的完整性已不僅是理想波形推演,而是一場與物理非理想特性正面博弈的工程實踐。濾波器芯片作為凈化傳輸鏈路的關鍵屏障,其核心挑戰在于:能否有效識別并濾除那些隱匿在電平跳變過程中的亞納秒級瞬態脈沖干擾,這類干擾持續極短,卻足以在高速鏈路中引發誤觸發。然而,傳統函數發生器受限于采樣率與邊沿速率,根本無法忠實復現如此狹窄且陡峭的異常波形。針對此困境,德思特TS-AWG7000系列任意波形發生器以17 GS/s采樣率與50 ps原生邊沿速度,為瞬態脈沖提供精細刻畫,配合SPG
    德思特測試測量 2026-08-05 14:06 5瀏覽
  • 摘要在防爆電氣設計中,只參照芯數選型而忽略額定載流量,長期滿負荷運行會出現插頭發熱、接觸面氧化、IP67 密封受熱老化等問題。結合常用 3 針 3 孔、4 芯、5PIN、8PIN 圓形防爆連接器,制作分級電流參數對照表,區分冷壓免焊接、焊接兩種接線結構的安全載流數值,設置合理電流冗余系數,搭配使用環境修正參數,規范防爆接近開關連接器、防爆法蘭插座的選型計算方式。關鍵詞圓形防爆連接器,載流參數表,防爆法蘭插座,防爆端子接頭,IP67 防爆防水接插件1 產品概述圓形防爆連接器觸點載流能力由插針直徑、
    kyfbest科迎法電氣 2026-08-03 09:18 128659瀏覽
  • 文:杜杰編輯:侯煜當地時間7月28日,美國特朗普政府落地最新科技封鎖政策,美國聯邦通信委員會(FCC)正式更新《受管制清單》,新增兩大類設備——境外生產的先進機器人設備、境外生產的聯網電力逆變器。FCC在官方情況說明書中明確,該類境外制造產品,“會對美國國家安全或美國民眾的人身安全構成無法承受的風險”。本次新規設置明確豁免機制:經美國國防部(DoW)、電力逆變器品類經美國國土安全部(DHS)審核并授予“有條件批準”,認定對應設備品類不存在重大安全風險,即可獲得準入豁免。同時政策嚴格執行新老劃斷原
    華爾街科技眼 2026-08-03 21:28 345瀏覽
  • ?摘要:低價大流量卡正全面退市,政策收緊已成定局。面對傳統號卡的不確定性,隨身WiFi憑借穩定連接、多設備共享、獨立設備和靈活套餐等優勢,成為務實可靠的備選方案。1、流量卡黃金時代要結束了通信行業正迎來一場前所未有的“地震式”調整——曾讓無數用戶追捧的低價大流量卡,正在全速退出各大平臺。這早已不是一次普通的競合,而是一場趨勢性的行業洗牌。回望過去,19元200G的神卡,那時真是“睡著都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像隨便刷、隨便看,流量自由觸手可及。可如今,回頭再看,那種
    愛上電路設計 2026-08-03 10:21 128906瀏覽
  • 在物聯網從“萬物互聯”邁向“萬物智聯”的進程中,LTE Cat.1憑借其在速率、成本與網絡覆蓋之間的完美平衡,正成為中低速物聯網市場的絕對主力。隨著2G/3G網絡的逐步退網以及新國標對終端設備智能化、定位功能的強制要求,Cat.1模組迎來了爆發式的增長窗口。在這一關鍵節點,基于華為海思Hi2131芯片設計的LTE Cat.1模組,憑借其在能效、射頻、架構及物理規格上的底層創新,成功打破了“高性能必高功耗”的傳統魔咒,為行業提供了極具競爭力的連接最優解。核心技術優勢:重塑Cat.1能效與連接標桿海
    用戶1778981989717 2026-08-05 21:04 177瀏覽
  • 做藍牙音箱的工程師大概都碰過這個局面。產品要連手機放歌,要本地播開機提示音和按鍵音,還要接 App 做配網和狀態上報。三件事拆開,早先的常規做法是音頻藍牙一顆料、數傳藍牙一顆料、本地播放再掛一顆小 MCU 加一片 Flash。板子越畫越大,BOM 越算越貴,待機電流和固件工作量也跟著漲。WT2605C 出來以后,這套需求可以集成到一顆芯片,就是 WT2605C-32N,該芯片采用QFN32 封裝,4×4 毫米,把音頻藍牙、BLE 數傳和 MP3 本地播放三樣全包了。對藍牙音箱來說,最實在的好處就
    唯創知音語音芯片 2026-08-06 15:14 306瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 目迷五色是什么生肖| 快乐星球第六部| 张响神枪电视剧全集| 《渔夫的荒野史记》| 电视剧拜托小姐| 石破天惊电视剧| 曲麻莱县| 等你回家 宋佳| 三年大片在线观看免费观看国语完整版| 斗罗大陆动漫在线观看免费| 沧元图第三季| 阿坝一家人电视剧在线观看| 情满雪阳花电视剧全集 | 老包青天83版免费全集| 郝板栗《姐妹》 | 星克莱尔总统夫人电影在线观看| 新妈妈中文| 放课后的花子君| 海底小纵队第10季全集免费完整版 | 《谍战深海之惊蛰》电视剧| 塔罗牌在线观看| 5566黑夜在线电视剧免费观看 | 天使禁恋| 公的浮之手中字1上映时间| 招惹电视剧在线观看免费版高清| 《驯服2》丽卡| 巨熟乳波霸a 田中瞳| 在异世界迷宫开后无修改动漫 | 我爱男保姆全集下载| 凯登克罗斯电影 在线观看| 陈雅伦快播| 向往的大海| 盲女72小时迅雷下载| 学生特殊的按摩精油| 我的游泳女教练免费观看| 战狼2电影观看| 罗马尼亚电影复仇| 欢喜冤家 江苏卫视| 下降头的电影| 黑白配免费观看完整版| 河北电视台农民频道绝对有戏| 纪美影院在线观看电视剧免费| 厨神电视剧| 地牢围攻2电影| 暗红1936电视剧全集| 暗香 电视剧| 小蜜桃6| 夫妻免费观看全集完整版| 刘伟元的旅行| 尖东老泥妹| 耀眼的你啊电视剧免费观看| 女超人(麦乐迪)版迅雷| 刀郎演唱会为何引网友期待| 机械师6高清免费观看完整版 | 插曲的痛在线观看完整版 | 梅德韦杰娃| 欧美日韩电影维修工的艳遇5| 妖妮大姐| 玫瑰庄园| meansys| 出发3综艺在线观看免费| omoflow| 电视剧武则天全集| 美丽妻子替夫还债电影在线播放| 速度与激情9在线观看免费完整版| 绝世天劫免费观看高清| 女老板电影| 电视剧女人泪| 丈夫的下属是初恋| 冰湖重生| 日本战狼6大牛老黑免费观看| 解密电视剧| 等风也等你电视剧全集免费观看| 练气期修炼十万年动漫免费观看| 陪你到世界之巅在线观看| 私人航空电影法国在线观看 | 入室强奸的三级片| 金瓶梅在线观看免费版电影 | 在世界尽头咏唱4集原版| 年轻的女士2在线观看| 漂亮妈妈6 中字 开头 歌曲| 正负之间台剧免费观看| 特殊治疗室五| 雪中悍刀行免费观看完整版| 韩剧求婚国语版| 裸婚以后| 四大名捕会京师攻略| 《极乐宝鉴》2徐少强| 吸血鬼猎人d有几部| 哪里可以观看《V酒店第一季》?| 爱情有烟火全集免费观看| 社长给2倍工资做秘书| 阿凡达3d版在线观看| 破风在线高清免费观看| 一周的朋友电影在线观看| 电影永不退缩| 美味快递| 留存的爱未删减| 漂亮的的小瘦子3| 僵尸福星仔下载| 武松蒋玲玲| 两个人观看的视频| 爷们儿电视剧大结局| 疯狂的麦克斯4| 广东大妈| 我的老婆是大佬3高清| 流光之下更新| 陪讨厌部长去出差旅在线观看 | 侄女开发日记1-6季| 家庭教师剧场版国语| 美食的俘虏131| 铠甲勇士之帝皇侠| 吉祥三宝舞蹈| 抓紧我放弃我电视剧全集免费播放| 商务旅行的女老板戴的帽子2019年完整版在线观| 女保险公司销售员2| 凤姐直播| 大胸姐姐3| 暖暖的味道| ‘私人女子监狱| 东京复仇者 在线观看| 热血高校在线观看| 飓风奇劫| 铠甲勇士之雅塔莱斯大电影完整版| 黑白配在线播放免费观看高清国语 | 性婬女兵俱乐部| 电视剧神话免费观看完整版 | 《斛珠夫人》全集免费| 电影巜商务旅行戴帽子| 青木玄德| 姊妹牙医在线观看高清完整 | 福尔摩斯第二季| 露营后营露宿第一季未增减野营| 赤坂丽令嬢肉奴隷未删减版| 无限动漫在线观看免费| 隐龙老爸风华绝代短剧免费观看| 公主的诱惑| 花儿与少年第二季下载| 《洪武大案》大结局| 《年轻女教师2》在线播放| 《借种生子》电影免费观看| 房东3| 天狱飞龙| 女友的妈妈双字id| 天若有情 刘德华| 《义子侵犯》北条麻妃在线观看| 酒徒电影| xl司令第一季全集在线无马赛克观看 | 胭脂霸王电视剧| 欧美伦理电影,精彩程度满天星!《V酒店第一季》1 - 3集 | 蜜桃视频17| 掉了伴奏| 重庆废弃红太阳幼儿园发生了什么| 唐朝豪放女电视剧完整版| 机甲女神| 扫黑风暴免费看| 大奉打更人免费观看电视剧| 善良的嫂子在线观看| 金装四大才子百度影音| 高雄市| 包青天系列| 逃犯入室暴行电影免费播放| 新喜剧之王电影| 男生女生一起相愁愁愁电视剧在线观30集下载 | 痴汉系列a| 一杆枪勇闯无底洞2免费观看2023年上映时间表| 故宫开车| 男生女生一愁愁愁在线观30集 | 侠岚动画片全集| 神雕侠侣陈晓| 聚会的目的1在线| 电影《大突围》完整版| 彻夜之歌第一季免费观看完整版| 插曲的痛30免费观看| 《快乐到死》电影| 图书馆女朋友在线观看完整免费版电视剧第五集 | 在线看连续剧| 猫女的诅咒在线观看免费高清版| 玩偶游戏第二部| 刚结婚的夫妻是不是每天都弄| 春满宫185集免费观看| 绝密卧底电视剧免费观看| 《法国空姐2019法版》| 美女拍拍| 小凤新婚下集完整播放视频| 王刚夜幕下的哈尔滨| 美容院特殊待遇5中文字幕剧情介绍 | 王保长传奇| 牙医姐妹在线电影播放完整版| 举重妖精金福珠在线观看| 品味人生无憾| 朋友的名义| 驯龙记国语版| 月嫂剧情| 魔术师1998| 平凡歌电视剧免费观看全集高清| 军事不当行为1985意大利| 妖怪人间| 鬼骨场国语| 六扇门之沦陷| 万里归途电影完整版| 法版空姐2020免费观看电视剧| 玻璃先生| 日剧《和讨厌的前任》中字| 扑杀天使朵库萝| 美国空乘4| 普法栏目剧听见凉山6| abo成结动画| 赛德克巴莱完整版电影| 木下檀檀子《邻居》| 贞观长歌高清| 战娘6全集免费下载| 上海皇帝之岁月风云| 我爱hk开心万岁粤语高清| 重生回到刚就业时| 闪耀的她全集32集在线观看 | 超级乐8点| 北越暴行| 猎罪图鉴1电视剧全集完整观看| 李心暖的今天新视频| 温柔的谎言在线观看| 老三国演义84集免费观看网站| 美版HD古墓丽影山寨版| 《误杀3》大结局| 飞机特殊待遇5| 高圆圆回应网友说她老了| 《隐形帽子》电影完整版| 李娜年终总决赛| 一国两制的核心| 赖小子完整版| 《夫妻的世界》电视剧| 《急诊护士》法国版电影| 妈妈电影免费观看高清电视剧| 黑白配HD版美国版| 挡不住的疯情 电影| 妈妈的职业5韩| 韩国医协将宣布集体停诊计划| 中文字Dl幕岳 和女胥A| 《姐妹新娘》全集观看| 木下檀檀子完整版免费看| 哭悲恐怖片| 禅宗少林音乐大典| 去大猫电影| 凌总追妻| 梁小菊的春天全集| 塔日酒店电影免费观看高清版| 兰若寺电影| 丰满的继牳3理伦片| 饥饿游戏2:星火燎原| 《妽妽的丰满大胸》1| 密爱2002在线观看| 朱莉安妮监狱| 归去来结局| 360天大佬爱上二免费全集| 抹布女也有春天电视剧| 村干部忘记关摄像头| 十九岁免费观看全集电视剧| 大侠霍元甲| 做aj的电视剧大全免费观看下载| 《柳舟记》免费观看无需下载| 旧里番内衣办公室无删减观看 | 电视剧驻站免费观看| 日本电影特殊治疗的医护 | 电影《珍妮弗》完整版| 《农场保卫战》凯登克罗| 楚才晋用是什么意思| 我的漂亮小瘦子3免费| 电视剧小站风云| 兵临城下电影在线观看| 罪恶都市特殊车辆任务| 墨斗先生国语| 牙医姐妹1986无删减版 | 湿润的继拇HD中文3| 璀璨人生65集| 《地味变2》免费观看| 雪中悍刀行电视剧上映| 美式忌讳1--5| 高清《谎言》在线观看| 特派外卖员| 欢乐喜剧人第二季| 安拉斋在线观看免费版电影 | 花房姑娘第三季剧情介绍| 香格里拉开拓异境| 爱情雨好看吗| 韩国伦理电影需要爸爸的种子| 曾经想火| 壮志凌云女版凯登克罗斯百度网盘| 暮光之城 破晓| 至尊瞳术洛清瞳免费漫画| 花与蛇4之白衣牙医| 瓦尼塔斯的手记动漫在线观看| 黑鹰坠落满天星高能版| 亲爱的妈妈韩国电影完整版| 冬之蝉下载| 斗罗大陆免费完整观看174| 闯关东百度影音| 被部长玩弄的秘书| 詹俊英超精华| 抚松县| 亲密爱人韩国电影免费完整版| 大内密探零零发免费版| 邵氏《女儿国》满天星| 佐佐木与宫野| 电视剧狂飙在线观看免费| 爱很美味| 以爱为营电视剧免费观看在线| 动漫《家属》在线观看免费| 侯门嫡女:宅斗冠军是我短剧全集 | 终极蜘蛛侠第二季| 电影特邀外卖员| 少林寺传奇| 我的抗战之猎豹突击演员| 紫罗兰永恒花园| 斗罗大陆免费完整观看209| 电影十日谈| 夺冠电影| 《我和我们在一起》电视剧| 《唐诡奇谭之九重楼》| 《诱人的女教师2》在线播放| 安徽民间小调憨子| 女生宿舍迅雷下载| 七十七封阵亡通知书| 瘦子3| 百度战曲| 《插曲的痛》免费观看高清| 怒水西流 电影| 美国爸爸的种子| 来自星星得你| 《妻子与游泳教练》电影在线观看 | 铁石心肠泰语版电视剧| 天地无伦电影高清完整版在线观看 - 爱看电影| 电影儿媳的味道在线播放中文| 疯狂小女生法国满天星剧情介绍| 老鹰都开始抓鲨鱼了| 野花全集未删减版| 冲上云霄2优酷| 变形金刚2国语版全集| 杰克逊MV| 仓井空电影在线观看| 年轻的销售员8| 路人吐槽跨年活动布置像“灵堂”| 僵尸满天星| 银魂188| 遥控器控制女老板的电影 | 丈夫出差沉迷于妻子的表现 | 爱丫爱丫电视剧免费高清| 超级乐8点| 别墅互换| 凶灵假期| 日本空姐电视剧| 男生和女生一起愁愁愁免费观看全集高清完整版电视剧 | 老婆5免费高清电视剧最新| 康熙王朝 高清| 倩女幽魂在线观看| 电影沉香如屑在线播放| 大器晚成在线观看| 男生和女生一起在愁愁愁电视剧在线看| 中国家庭第二部全集| 人马速配45分钟免费视频| 奉子成婚第一皇后| 哇嘎电影免费观看高清版下载| 晚上摸摸摸你下面是什么歌| 公之孚手中字22| 荷尔蒙3| 寒枝折不断电视剧免费观看| 相爱相亲| 十九岁在线观看免费完整版韩剧| 百色起义| 遍地狼烟在线观看| 韩国电影女大学生的诱惑| 不文小丈夫| 法国特殊理发店| 和空姐一起的日子剧情| 莲花楼电视剧在线观看全集免费播放| 欢迎来到实力至上主义教室在线观看| 小鸭子老师| 炉火纯青是什么工艺| 我的狐仙女友全集观看| 神州侠侣高清| 龙年图片壁纸| 《淫の方程式》动漫| 美食俘虏| 1987版《娃娃脸》满天星 | 幸福的黄手帕完整版| 反对自由主义全文| 谍影重重之上海电视剧| 十七岁在线观看高清电视剧| 暴躁少女高清完整版| 赵丽颖《小城大事》在线观看免费| 台湾棘手狂情 在线播放| 一路向西电影qvod| 《overflower》动漫第1季免费观看全集动| 决裂电影| 我想和你好好的剧情| 1新金银悔1一5普通话| 盗墓笔记超级季播剧| 和部长一起出差的电影| 名侦探柯南:通往天国的倒计时| 《玉女心经3:阴阳和合》免费看叶子媚| 冰冷少帅荒唐妻全文免费阅读| 速度与激情10完整版免费| 梦回鹿鼎记官网| 李月华15部电影大全| 《爆乳女教师 高清BD》在线| 林采缇视频种子| 火山两人没有打马赛| 尸兄19| 《格林童话》免费观看| 无欲不爱在线观看| 东京塔之越南女子别动队在线观看| 郭麒麟平凡之路| 遇见未来的你台剧免费观看| 花季在线免费观看| 站着再来一次免费视频哆来咪影院 | 卖房子的女销售在线观看| 云中玫瑰国语版| 圣诞树折纸| 金牌销售最后一集| 利刃出鞘3未删减| 麦乐迪满天星HD版| 毒妃在上:王爷别碰我短剧全集| 情刺是哪一年上映的影视作品| 男生和女生一起在愁愁愁电视剧在线看| 开战日电影在线看免费观看| 俄罗斯女超人麦乐迪| 黄金大劫案| 皮皮鲁与鲁西西之罐头小人 | 三大队电影免费| 《堕落的女律师》HD中字 | 壮士出川之铁血征途高清| 张子健大漠枪神| 私人女性监狱电视剧完整版观费| 小森林冬春篇电影| 《美人》电影免费观看| 国际刑警1997国语| 魂断秦淮| 《朋友夫妇:交换》3| 庆余年第二季免费看全集| XL司令第一季动漫| 斗破苍穹免费观看全集完整版| 韩国电影需要爸爸的种子| 你是我的荣耀在线观看免费完整版| 战狼6666电影免费观看正版高清版下载| 南北腿王| 三级片迅雷下载| 丰满的女学生| 一路上有你第一季| 电视剧风筝在线观看| 明星大侦探6| 酒店1—50全集观看| 羚羊号历险记| 《蛟龙行动》在线观看高清电影| 封神榜39| 黑白配中文高清免费观看| 勇者大冒险第一季| 肖恩康纳莱| 斗牛犬电影| 秘密女搜查官影视先锋播放| 丁度电影| 做aj的免费大全电视剧| 乔尼亚斯奥特曼全集| 一代女皇武则天高清| 俄罗斯美女大逼| 高压监狱免费| 女体统电影完整版免费观看高清| 血恋3在线观看完整免费高清原声满天星奔跑吧| 某种物质电影免费观看整版| 校草是女生短剧全集| 《法国空乘5》伦理观看| 小姬无人宠| 五亿探长雷洛传2| 《妙手》短剧全集免费观看| 《白蛇:浮生》正片免费观看| 《和讨厌的部长出差》演员名单| 功夫熊猫2免费观看完整版国语| 金瓶梅迅雷下载地址| 日本满天星电影全集免费观看| 铿锵玫瑰之女兵排| 璀璨人生爱奇艺| 韩国电视剧漂亮女孩| 与我同眠下载| 现代启示录电影完整版高清免费 | 3对1三人一次性体检什么电影| 电影牙医姐妹在线完整版| 星际浩劫2| 生活中的玛丽在线伦理| 太阳照常升起电影| 完美女人| 伦理《法国护士长》高清电影| 相思原唱| 远藤新菜| 布兰迪v酒店2季免费观看| 摩登年代在线观看| 顶楼的大象| 加勒比女海盗1在线观看| 小姨多鹤| 哪里逃1VLH| 坎贝奇成人影片免费播放| 蝙蝠侠与罗宾| 舒淇任达华| 公的浮之手2电影免费观看| 附注我爱你下载| 最开放的表演12点表演| 女律师的堕落01经典片免费看| 电视剧《下海》| 女人被添荫蒂舒服了的更新时间| 王子变青蛙免费观看全集| 龙者罗拉| overflow第一季免费观看全集动漫| 猛士极品FREEDOM| 从结婚开始恋爱免费播放电视剧| 朝国年经继拇6免费 | 笑八仙之素女的故事| 需要爸爸种的种子完整版| 隔世相逢| 大管家电视剧| 花与蛇牙医电影完整版| 皮囊之下电影完整高清在线播放| 今天的她们电视剧| 《美丽的小蜜桃5| 电视连续剧薛平贵与王宝钏| 第十四个目标| 思路高清| 韩国电影诱惑| 《姨母的诱惑》| 痛欲 电影| 龙棺古墓电影免费观看| 漂亮的瘦子 5| 刘洋金牌 邹敬园银牌| 台东市| 法国悲情城市电影完整版手机在线| 聊斋iii| 水手服饲养1| 成均馆绯闻10| 翻唱日本歌曲| 我的XL司令第一季真人版| 夏天协奏曲| 郭奶奶相声网| 电影偷月情| 《诱人的护士》在线| 铿铿锵锵锵免费观看高清| 东北话版蜡笔小新| 超凡的诺曼| 叶问电视剧粤语| 剑蝶电视剧全集| 奇怪的美发沙拉龙中文配| 速度与激情4 影音| 颜心记电视剧| 音乐老师的饺子水饺在线观看| 贞淑的推销2024韩剧| 华晨宇打响内娱反黄牛第一枪 | 希崎杰西卡 空姐| 很想很想你更新了多少集| 现在就出发第一季| 白嫖者联盟在线观看免费| 实习医生格蕾第七季| 车太贤主演的电影| 人猿泰山1995版本| 柏原崇电视剧| 蜜桃成熟时下载地址| 荒井小姐的秘密生活日剧全集| 爵迹3风津道| rhts 040| 牙医姐妹 在线观看| 庖丁解牛朗读| 尹律新剧《债务妻子》结局| 请回答1988在线观看| 正负之间台剧免费观看| 铜铿锵锵完整版免费看| 《昭和》电影免费观看| 赤坂丽千金肉奴隶| 漂亮的妈妈7中字开头7个字 | 战狼双人免费高清完整版下载| 马大帅第二部| 凡人修仙传159集在线播放| 伊波拉2病毒完整国语版免费 | 鸭王2 电影| 狂飙 下载| 四少妇精油按摩电影| 疯狂汉堡| 无良医生| 《肉蔻之香》法国手机在线观看| 爱在日落之前| 暖暖在线观看免费观看高清中文| 黄色仓库在线| 棋魂电视剧免费观看全集| 只因我们天生一对泰剧在线观看| 白锋美羽被讨厌的公侵犯电影| 骑骑上司妻| 海贼王969| overflower第一季全集免费观看| 惊变下载| 上司侵犯人妻中文字幕熟女| 我的大胸的继拇| 景甜被罚没722万| 身为超人弟弟的我却成了祖国人| 美容院特殊待遇免费观看| 食功夫之美食大冒险| 爱的套索| 高压监狱二免费观看完整版全集| 江苏公共频道| 喜羊羊之灰太狼之决战次时代| 小凤新婚完整版免费看| 地球脉动纪录片中文免费观看| 高清《堕落》| 被可怕的科长欺负| 斗破苍穹101集| 永不退缩3完整版| 水浒传新版全集| 半路夫妻剧情| 需要爸爸播种子电影免费播放英文| 钓鱼台国宴| 青阳县| 电视剧梅花红桃免费观看| 暮光之城4百度影音| 人间中毒完整版高清在线看| 不要对我撒谎| 食物链截了一段视频原声| 郭达蔡明小品打针| 缘之空第11集| 夺命奇兵| 疯狂小说家电影| 热恋在线观看免费完整版电视剧| 炸天小姐在线完整版| 父母儿女媳妇一起来玩的说说| 黑鹰坠落2满天星| LX司令| 新网球王子ova4| 向涟苍士献上我的纯洁| 丽卡《驯服》电影完整版 | 玛丽亚凯莉| 蜜桃成熟时李玉珍版| 客途秋恨| 花样男子韩国版国语| 樱兰高校| 电影商务旅行戴绿帽在线观看| 一世好命| 新员工2电影免费观看完整版高清| 牙医姐妹在线观看免费观看 | 我的野蛮女友 全智贤| 除却巫山邓家佳DVD版| 虎哥说车得了什么病| 花样男子全集| 特殊交易在线观看| 男和女一起愁愁愁电视剧在线观看动漫 | 家属1到6集第一季第五集免费观看| 唐朝诡事录2官宣| 满天星急救护士法版2| 名侦探柯南621| 黑执事豪华客船篇百度云| 八戒八戒8免费| 平凡的世界全集| 商务旅行戴帽子的老板同行百度云| 斗罗大陆150集| 《匿杀》| 老女人免费观看高清电视剧| 义姐是不是良喂养樱花第2集| 电影默杀免费看| 年轻的瘦了5| 水饺皇后| 武打电影免费观看高清完整| 行运一条龙国语| 荃加福禄寿粤语| 沈腾机器人电影叫什么| 高柳家的花嫁动画片| 布兰妮crazy| 《授课到天亮》动漫免费观看全集| 无双谱国语| 白峰美羽的电影中字| 无颜之月1~5集无删减观看策驰| 十万个冷笑话9集| 《坎贝奇完整版视频三部曲》| 南京城市频道| 兵王都市:护花使者全集免费| 特殊的房产销售| 许我耀眼全集32集| 春欲未删减版dvd| 既没有生孩子| 男女一起愁愁愁在线免费| 流水迢迢在线观看| 善良的嫂子3中文字幕| 与继拇的族行日本| 秘密的爱电影免费观看剧情解析| 满江红在线观看免费高清完整版| 新有菜在线视频| 兄弟之道在线观看高清免费| 侏罗纪世界:重生全集观看| 修理工艳遇韩| 韩剧《我的家教老师》剧情介绍 | 男乒乓球团体赛决赛直播| 维修工工人的艳遇| 民国奇探| 已爱为营电视剧免费观看| 酒店1—60集| 人体蜈蚣2下载| 一世真爱情免费观看全部电视剧| 《战狼4》免费999| 小小姐们| 新建文件夹2完整版在线观看| 美国要爸爸播种2全集免费观看| 情满雪阳花电视剧全集 | 超星五灵侠第七季| 初体验3在线观看| 《和讨厌的部长出差》日本电影| 雷神暂退好莱坞| 阿尔法特种部队| 黑白配大黑鬼国语版免费播放影视大| 可疑的美发店| 恋爱男孩泰剧| 天浴 在线观看| 电影《女子护卫队》在线观看免费 | 富民县| 美容店的待遇5HD韩国三级片| 帝王计划怪兽遗产电视剧免费观看| 女超人麦迪乐版| 十九岁免费观看| 旧版水浒传全集| 法国空姐2009塞内加尔完整版| 死神264| 睫毛膏4美版免费观看| 隐秘的角落在线观看| 爱我几何网址| 年轻的母亲在钱中字| 韩国禁令啥意思| 甜蜜蜜电视剧| 青梅竹马第二季未删版| hd新婚妻子| 《破·地狱》国语版免费看| 战狼6双人版高清下载| 迷情2第二集| 年轻媳妇在线观看完整版| 《捕风追影》| 牙医姐妹电影完整版在线看| 我将喜欢告诉了风电视剧免费观看 | 爱情公寓3演员| 甜蜜惩罚动漫无删减| 《特殊的治疗》李采潭在线| 劲舞团修改密码| 《诱人的护士》| 欧式少女第16集全集剧情介绍视频| 铿锵锵锵锵在线观看完整版 | 战狼电视剧| 男女愁愁愁全集在哪看| 灿烂的前行| 小伙子爱上隔壁女邻居电视剧| 独狼电视剧在线观看| 《睫毛膏3》美国| 密宗威龙国语完整版| 成仁高清影视| 红蜘蛛2剧情| 古墓丽影法国版女版在线观看| 全境封锁电影完整| 小狼电影| 哈利波特第八部免费观看| 《公的浮之手中字》免费电影| 高清《催眠术》樱花动漫| 皮囊之下电影完整高清在线播放| 高清《紫罗兰永恒花园》动漫| 姊妹牙医免费观看。| 露水夫妇| 康熙王朝50集全集高清| 黑豹在线观看| 挣扎吧亚当君第二季在线观看| 周杰伦摩天轮2013演唱会| 俘虏之锁动漫1-2季全集在线观看| 乒乓球混合双打决赛直播 | 牙医赤板栗完整版在线观看| 使徒行者2粤语在线播放| 老表发钱寒国语免费完整版| 公的浮之9| 韩国电影后宫| 《野花》电影| 法官李汉英全集观看| 法国伦理电影女子护卫队在线观看 | 哇嘎免费看| 免费vip电影电视剧| 绝代双骄林志颖版| 树下红房子电视剧免费版在线观看| Melody女超人免费观看高清| 别去地下室免费观看电视剧大全| 真爷们儿电视剧全集| 鸭王2电影在线免费观看| 伦理《法国护士长》观看-电影全集HD高清完整电影 | 女上司的堕落:复仇让她彻底沦陷电影 | 代号十三钗| 小日子全部免费播放电视剧| 维尼夫妇全集| 水润女人在线观看电视剧免费 | 斗牛 电影| 3v1三人一次性体检韩国电影| 《口咬》电影完整版| 百万巨鳄电影完整版| 就是要你爱上我2| 西部通缉令 在线观看| 热带雨林的暴笑生活| 湄公河行动电影| 爱我就别想太多在线观看免费全集| 《花子vs驱魔师》第1集免费观看视频| 清洁工是隐藏首富短剧全集| 新月格格电视剧全集播放免费观看| 高清新干线惊爆倒数| 小瘦子2在| 电视剧狂飙免费观看| 赖猫的狮子倒影在线看| 烈火电视剧| 爱我几何电影完整版高清免费观看 | 女护卫三级片视频| 电影蜘蛛2侠免费播放| 海天盛筵电影| 特殊外卖员在线观看| 赌神1电影| 哈里波特7| 《卢旺达的玫瑰》| 策驰影视免费大全在线观看| 倒霉熊第二季| 电视剧芈月传全集免费观看| 高压监狱2法板145分钟| 元敬韩国电影免费观看| 玉女心经2| 兵临城下截取精彩片段| 掐曲30分钟的痛| 越南女兵满天星2023年上映时间 | 鬼打鬼 电影| 决战食神免费观看完整版| xl司第二季真人版| 天地民心| 毛阿敏北京演唱会| 灵媒在线观看| 《壮志凌云》凯登.克劳丝| 爱在日落之前吻戏| 今天的她们在线电视剧免费播放| 连锁大阴谋| 高陵县| 鬼吹灯之天星术免费版| 重案六组第四部优酷| 电视剧红颜的岁月| 像我这样的小可爱| 白峰美羽伦理电影| 神印王座动漫免费观看| 搞定岳父| 鹿晗脸上的疤| 鄂托克旗| 3对1三人一次性体检什么电影| 双世宠妃3免费观看完整版电视剧| 一起老去| 过气明星:复出即顶流全集免费| 铿铿锵锵在线看免费观看 | 泰国满天星| 本草纲目健身操| 二人世界精彩片段| 大清药王|