亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

嵌入式Linux觸摸屏驅(qū)動(dòng)開(kāi)發(fā):從設(shè)備樹(shù)到Android框架的CST226SE移植實(shí)戰(zhàn)

嵌入式Linux觸摸屏驅(qū)動(dòng)開(kāi)發(fā):從設(shè)備樹(shù)到Android框架的CST226SE移植實(shí)戰(zhàn) 1. 項(xiàng)目概述當(dāng)CST226SE觸摸屏遇上MSM8953平臺(tái)最近在做一個(gè)基于高通MSM8953平臺(tái)的項(xiàng)目需要調(diào)試一款新的觸摸屏芯片——CST226SE。這活兒聽(tīng)起來(lái)就是“驅(qū)動(dòng)移植”的老套路但真上手了才發(fā)現(xiàn)從拿到原理圖到觸摸屏流暢響應(yīng)中間每一步都可能藏著坑。MSM8953作為一款經(jīng)典的中端手機(jī)SoC其內(nèi)核和驅(qū)動(dòng)架構(gòu)在嵌入式領(lǐng)域應(yīng)用廣泛而CST226SE則是一款性能不錯(cuò)的電容觸摸控制器。兩者的結(jié)合考驗(yàn)的不僅僅是配置幾個(gè)GPIO和I2C地址更是對(duì)整個(gè)Android/Linux內(nèi)核輸入子系統(tǒng)、設(shè)備樹(shù)Device Tree以及芯片本身特性的理解。如果你也在為類(lèi)似平臺(tái)的觸摸調(diào)試頭疼或者好奇一個(gè)觸摸功能從無(wú)到有需要經(jīng)歷哪些步驟那么我這次踩坑和填坑的經(jīng)歷或許能給你一份清晰的路線(xiàn)圖。2. 核心需求與方案選型解析2.1 為什么是CST226SE與MSM8953的組合在項(xiàng)目選型初期我們?cè)u(píng)估了幾款觸摸芯片。最終選擇CST226SE主要基于幾個(gè)考量首先是性?xún)r(jià)比它在報(bào)告率、精度和抗干擾能力上達(dá)到了一個(gè)很好的平衡能滿(mǎn)足我們產(chǎn)品一款工業(yè)手持設(shè)備對(duì)可靠觸控的需求其次是供應(yīng)商的支持提供了相對(duì)完整的Linux內(nèi)核驅(qū)動(dòng)代碼和調(diào)試工具這能極大縮短開(kāi)發(fā)周期。而MSM8953平臺(tái)我們團(tuán)隊(duì)對(duì)其內(nèi)核通常是Android 7/8對(duì)應(yīng)的Linux 3.18或4.9內(nèi)核和硬件接口非常熟悉其成熟的I2C、中斷、電源管理框架為外設(shè)驅(qū)動(dòng)開(kāi)發(fā)提供了穩(wěn)定基礎(chǔ)。這個(gè)組合的核心需求很明確在MSM8953的Linux內(nèi)核上使能CST226SE觸摸控制器實(shí)現(xiàn)穩(wěn)定、精準(zhǔn)的多點(diǎn)觸控功能并集成到Android系統(tǒng)的輸入服務(wù)中。這不僅僅是一個(gè)“點(diǎn)亮”屏幕的問(wèn)題更涉及到坐標(biāo)校準(zhǔn)、手勢(shì)識(shí)別、功耗優(yōu)化等一系列工程細(xì)節(jié)。2.2 整體調(diào)試思路與工具鏈準(zhǔn)備面對(duì)這樣一個(gè)驅(qū)動(dòng)調(diào)試任務(wù)我的思路是分層推進(jìn)從硬件到軟件從底層到上層硬件確認(rèn)層確保原理圖連接正確電源、I2C、中斷線(xiàn)INT、復(fù)位線(xiàn)RST等硬件信號(hào)萬(wàn)無(wú)一失。這是所有工作的基石硬件錯(cuò)了軟件調(diào)死也沒(méi)用。內(nèi)核驅(qū)動(dòng)層這是核心戰(zhàn)場(chǎng)。需要獲取CST226SE的驅(qū)動(dòng)源碼將其適配到MSM8953的內(nèi)核中重點(diǎn)修改設(shè)備樹(shù)DTS來(lái)描述硬件連接并確保驅(qū)動(dòng)能正確初始化、注冊(cè)為輸入設(shè)備。系統(tǒng)驗(yàn)證層驅(qū)動(dòng)加載后通過(guò)內(nèi)核日志、輸入子系統(tǒng)調(diào)試接口、以及Android端的getevent工具來(lái)驗(yàn)證原始觸摸數(shù)據(jù)是否正確上報(bào)??蚣芘渲脤釉贏ndroid系統(tǒng)層面配置輸入設(shè)備IDidc文件和觸摸屏參數(shù)tp文件或inputflinger配置確保系統(tǒng)能正確識(shí)別并處理來(lái)自CST226SE的觸摸事件。功能與性能調(diào)優(yōu)層解決可能出現(xiàn)的坐標(biāo)漂移、跳點(diǎn)、邊緣不靈、功耗高等問(wèn)題進(jìn)行參數(shù)微調(diào)。工欲善其事必先利其器。調(diào)試過(guò)程中離不開(kāi)以下工具硬件工具萬(wàn)用表、示波器用于抓取I2C波形和中斷信號(hào)排查硬件通信問(wèn)題、邏輯分析儀更深入的協(xié)議分析。軟件工具串口調(diào)試助手這是與設(shè)備內(nèi)核交互的生命線(xiàn)。通過(guò)串口查看dmesg內(nèi)核日志是診斷驅(qū)動(dòng)問(wèn)題的最直接方式。我習(xí)慣使用minicom或picocom在Linux主機(jī)上操作當(dāng)然Windows下也有SecureCRT、MobaXterm等優(yōu)秀工具。ADBAndroid Debug Bridge當(dāng)系統(tǒng)啟動(dòng)后ADB是連接設(shè)備和上位機(jī)進(jìn)行文件傳輸、命令執(zhí)行、日志抓取的關(guān)鍵。內(nèi)核及文件系統(tǒng)源碼MSM8953的BSP板級(jí)支持包和CST226SE的驅(qū)動(dòng)源碼。文本編輯與對(duì)比工具如VSCode、Vim用于代碼修改和diff比較。3. 硬件連接與設(shè)備樹(shù)DTS配置詳解3.1 原理圖關(guān)鍵信號(hào)核對(duì)拿到硬件原理圖首先要像偵探一樣審視以下幾個(gè)關(guān)鍵點(diǎn)任何一處疏漏都可能導(dǎo)致后續(xù)調(diào)試陷入僵局電源軌CST226SE通常需要1.8V或3.3V的IO電源VDDIO和模擬電源AVDD。必須確認(rèn)MSM8953平臺(tái)上的相應(yīng)電源網(wǎng)絡(luò)能否提供穩(wěn)定、干凈的電壓上電時(shí)序是否符合芯片要求。用萬(wàn)用表實(shí)測(cè)電壓是必不可少的步驟。I2C總線(xiàn)確認(rèn)SCL和SDA線(xiàn)連接到了MSM8953的哪個(gè)I2C控制器如i2c_0i2c_1。特別注意上拉電阻通常需要在總線(xiàn)上拉例如4.7KΩ到VDDIO如果原理圖遺漏需要在PCB上補(bǔ)焊。中斷信號(hào)INT這是觸摸事件通知的關(guān)鍵。確認(rèn)INT引腳連接到了MSM8953的哪個(gè)GPIO。必須配置為中斷輸入模式并且要確認(rèn)中斷觸發(fā)方式上升沿、下降沿或低電平與CST226SE的數(shù)據(jù)手冊(cè)描述一致。通常電容觸摸芯片在有觸摸時(shí)INT會(huì)拉低。復(fù)位信號(hào)RST有的設(shè)計(jì)會(huì)用GPIO控制芯片硬復(fù)位確保開(kāi)機(jī)或異常時(shí)能可靠復(fù)位。需要確認(rèn)連接和極性高電平復(fù)位還是低電平復(fù)位。I2C從機(jī)地址CST226SE的I2C地址通常由某個(gè)引腳如ADDR的電平?jīng)Q定查看原理圖確認(rèn)該引腳是接高、接低還是懸空內(nèi)部有上拉/下拉從而確定7位從機(jī)地址例如0x2E。實(shí)操心得強(qiáng)烈建議在焊接第一塊樣板后先用示波器抓一下I2C總線(xiàn)的波形。在系統(tǒng)上電、內(nèi)核啟動(dòng)過(guò)程中看看主控是否嘗試去訪(fǎng)問(wèn)你預(yù)設(shè)的I2C地址。如果連起始信號(hào)START和地址包都看不到那問(wèn)題很可能出在硬件連接、電源或I2C控制器使能上。3.2 設(shè)備樹(shù)DTS節(jié)點(diǎn)編寫(xiě)設(shè)備樹(shù)是Linux內(nèi)核用來(lái)描述硬件資源配置的數(shù)據(jù)庫(kù)。對(duì)于MSM8953這類(lèi)ARM平臺(tái)驅(qū)動(dòng)匹配硬件主要靠它。我們需要在對(duì)應(yīng)的板級(jí)DTS文件如msm8953-mtp.dtsi或項(xiàng)目自定義的DTS中添加CST226SE的節(jié)點(diǎn)。假設(shè)我們的硬件連接是I2C總線(xiàn)為i2c_3對(duì)應(yīng)i2c_3 INT引腳連接至GPIO 25 RST引腳連接至GPIO 32 I2C地址為0x2E。/* 在 i2c_3 節(jié)點(diǎn)內(nèi)添加 */ i2c_3 { status “okay”; // 確保該I2C控制器已啟用 cst226se_ts: cst226se2e { compatible “chipone,cst226se”; // 驅(qū)動(dòng)匹配的關(guān)鍵字 reg 0x2e; // I2C從機(jī)地址 interrupt-parent tlmm; // 中斷控制器MSM平臺(tái)通常是tlmm interrupts 25 0x2008; // GPIO 25 觸發(fā)方式0x2008通常代表邊沿觸發(fā)、高電平有效具體需查平臺(tái)定義 reset-gpios tlmm 32 GPIO_ACTIVE_LOW; // 復(fù)位GPIO低電平有效 vdd-supply pm8953_l10; // 模擬電源引用PMIC上的LDO vddio-supply pm8953_l5; // IO電源引用PMIC上的LDO /* 芯片特定參數(shù) */ chipone,x-res 720; // 觸摸屏X方向分辨率 chipone,y-res 1280; chipone,irq-gpio tlmm 25 0x2008; // 再次明確中斷GPIO有些驅(qū)動(dòng)需要這樣寫(xiě) chipone,reset-gpio tlmm 32 0; // 可能還有其他參數(shù)如最大觸摸點(diǎn)數(shù)、報(bào)告率等需參考驅(qū)動(dòng)源碼 }; };關(guān)鍵點(diǎn)解析compatible屬性這是靈魂。字符串必須與CST226SE驅(qū)動(dòng)源碼中of_device_id表里的條目完全一致。通常驅(qū)動(dòng)商會(huì)提供這個(gè)字符串。interrupts屬性格式為GPIO號(hào) 中斷標(biāo)志。0x2008是一個(gè)常見(jiàn)值表示IRQ_TYPE_EDGE_RISING上升沿觸發(fā)但務(wù)必根據(jù)芯片數(shù)據(jù)手冊(cè)和平臺(tái)頭文件如dt-bindings/interrupt-controller/irq.h確認(rèn)。錯(cuò)誤的中斷觸發(fā)方式會(huì)導(dǎo)致無(wú)法收到中斷或持續(xù)收到中斷。GPIO引用MSM平臺(tái)使用tlmm作為GPIO控制器。GPIO_ACTIVE_LOW表示低電平有效這對(duì)于復(fù)位引腳很常見(jiàn)。電源管理使用vdd-supply和vddio-supply引用PMIC電源管理芯片的調(diào)節(jié)器可以讓內(nèi)核在系統(tǒng)掛起/恢復(fù)時(shí)自動(dòng)控制觸摸屏的供電實(shí)現(xiàn)低功耗。注意事項(xiàng)修改DTS后需要重新編譯內(nèi)核或DTB設(shè)備樹(shù)二進(jìn)制文件并燒錄到設(shè)備。確保編譯系統(tǒng)正確包含了你的修改。一個(gè)快速驗(yàn)證DTB是否正確的方法是在系統(tǒng)啟動(dòng)后通過(guò)adb shell進(jìn)入執(zhí)行cat /proc/device-tree/或使用dtc工具反編譯當(dāng)前運(yùn)行的DTB查看你的節(jié)點(diǎn)是否存在且屬性正確。4. 內(nèi)核驅(qū)動(dòng)移植與編譯4.1 驅(qū)動(dòng)源碼結(jié)構(gòu)與適配通常芯片原廠(chǎng)或模組廠(chǎng)會(huì)提供一個(gè)Linux內(nèi)核驅(qū)動(dòng)包。其核心文件一般包括chipone_ts.c主驅(qū)動(dòng)文件包含初始化、探測(cè)probe、移除remove、中斷處理、上報(bào)輸入事件等核心函數(shù)。chipone_ts.h頭文件定義寄存器地址、數(shù)據(jù)結(jié)構(gòu)、配置參數(shù)。Makefile和Kconfig用于將驅(qū)動(dòng)集成到內(nèi)核編譯體系。適配工作的核心確認(rèn)兼容性檢查驅(qū)動(dòng)代碼所依賴(lài)的內(nèi)核API。MSM8953的內(nèi)核版本可能較老如3.18而供應(yīng)商提供的驅(qū)動(dòng)可能是針對(duì)更新內(nèi)核如4.19編寫(xiě)的。需要關(guān)注input_devAPI、GPIO API、中斷API、電源管理API等是否有變化。常見(jiàn)的適配點(diǎn)是devm_gpio_request_one、request_threaded_irq等函數(shù)的參數(shù)或頭文件路徑。集成到內(nèi)核樹(shù)將驅(qū)動(dòng)源碼文件夾例如chipone-touch/放置在內(nèi)核源碼的drivers/input/touchscreen/目錄下。修改Makefile/Kconfig在drivers/input/touchscreen/Makefile中添加一行obj-$(CONFIG_TOUCHSCREEN_CST226SE) chipone-touch/在drivers/input/touchscreen/Kconfig中添加一個(gè)配置選項(xiàng)config TOUCHSCREEN_CST226SE tristate “ChipOne CST226SE touchscreen” depends on I2C help Say Y here if you have a ChipOne CST226SE touchscreen connected to your system. If unsure, say N.驅(qū)動(dòng)中的硬件抽象層HAL適配仔細(xì)查看驅(qū)動(dòng)中的probe函數(shù)。它需要通過(guò)of_系列函數(shù)如of_get_gpio、of_property_read_u32從我們剛寫(xiě)的DTS節(jié)點(diǎn)中讀取GPIO編號(hào)、分辨率等參數(shù)。確保驅(qū)動(dòng)代碼能正確解析你在DTS中設(shè)置的屬性名如chipone,irq-gpio。4.2 內(nèi)核配置與編譯完成代碼放置和配置后需要在內(nèi)核編譯菜單中啟用該驅(qū)動(dòng)。# 在內(nèi)核源碼根目錄 make ARCHarm64 menuconfig # 對(duì)于64位的MSM8953 # 或者 make ARCHarm menuconfig # 對(duì)于32位內(nèi)核導(dǎo)航至Device Drivers --- Input device support --- [*] Touchscreens --- * ChipOne CST226SE touchscreen選擇*表示編譯進(jìn)內(nèi)核鏡像M表示編譯為內(nèi)核模塊。對(duì)于觸摸屏這種基礎(chǔ)設(shè)備建議直接編譯進(jìn)內(nèi)核*。保存退出后開(kāi)始編譯內(nèi)核和DTBmake ARCHarm64 CROSS_COMPILEaarch64-linux-gnu- -j8編譯完成后在輸出目錄如arch/arm64/boot/找到Image.gz-dtb或單獨(dú)的Image.gz和*.dtb文件將其燒錄到設(shè)備。踩坑記錄有一次編譯順利但驅(qū)動(dòng)死活不工作。dmesg里甚至看不到驅(qū)動(dòng)的探測(cè)probe信息。排查了半天發(fā)現(xiàn)是內(nèi)核的CONFIG_I2C配置中我使用的那個(gè)具體I2C控制器編號(hào)如CONFIG_I2C_QUP沒(méi)有被啟用。所以不僅要開(kāi)啟觸摸驅(qū)動(dòng)本身還要確保其依賴(lài)的底層總線(xiàn)驅(qū)動(dòng)I2C/SPI以及對(duì)應(yīng)的控制器驅(qū)動(dòng)也已啟用。5. 系統(tǒng)啟動(dòng)與初步調(diào)試5.1 內(nèi)核日志分析與驅(qū)動(dòng)狀態(tài)確認(rèn)燒錄新內(nèi)核后通過(guò)串口觀(guān)察啟動(dòng)日志。你需要關(guān)注以下幾個(gè)關(guān)鍵信息I2C控制器初始化搜索i2c_3或你使用的總線(xiàn)編號(hào)看是否成功注冊(cè)。設(shè)備樹(shù)節(jié)點(diǎn)解析內(nèi)核會(huì)打印解析到的設(shè)備節(jié)點(diǎn)。驅(qū)動(dòng)探測(cè)Probe這是最關(guān)鍵的日志。如果一切順利你應(yīng)該能看到類(lèi)似這樣的信息[ 2.345678] i2c i2c-3: new_device: Found device chipone,cst226se at address 0x2e [ 2.345690] cst226se 3-002e: Probing ChipOne CST226SE touchscreen [ 2.356789] cst226se 3-002e: Touchscreen size: 720x1280 [ 2.356801] cst226se 3-002e: Successfully initialized [ 2.356812] input: chipone,cst226se as /devices/platform/soc/78b7000.i2c/i2c-3/3-002e/input/input5最后一行特別重要它表明驅(qū)動(dòng)已經(jīng)向輸入子系統(tǒng)Input Subsystem成功注冊(cè)了一個(gè)名為chipone,cst226se的輸入設(shè)備路徑是/dev/input/eventX這里的event5。如果看不到Probing信息可能的原因有DTS節(jié)點(diǎn)compatible字符串與驅(qū)動(dòng)不匹配。I2C通信失敗地址錯(cuò)誤、總線(xiàn)未使能、硬件問(wèn)題。驅(qū)動(dòng)編譯未生效或未包含進(jìn)內(nèi)核。如果探測(cè)失敗驅(qū)動(dòng)可能會(huì)打印錯(cuò)誤碼如-ENODEV-EIO等這是最重要的調(diào)試線(xiàn)索。5.2 使用輸入子系統(tǒng)工具驗(yàn)證數(shù)據(jù)上報(bào)驅(qū)動(dòng)成功注冊(cè)后就可以在用戶(hù)空間驗(yàn)證觸摸數(shù)據(jù)了。查看輸入設(shè)備列表adb shell cat /proc/bus/input/devices在輸出列表中尋找你的觸摸屏設(shè)備確認(rèn)其Handlers中包含eventX。使用getevent工具監(jiān)聽(tīng)原始事件adb shell getevent -l /dev/input/event5這個(gè)命令會(huì)實(shí)時(shí)打印出該輸入設(shè)備上報(bào)的所有原始事件。用手指觸摸屏幕你應(yīng)該能看到連續(xù)的EV_ABS絕對(duì)坐標(biāo)事件數(shù)據(jù)流包括ABS_MT_TRACKING_ID觸摸點(diǎn)ID、ABS_MT_POSITION_X、ABS_MT_POSITION_Y等。這是驅(qū)動(dòng)與上層通信的“原始語(yǔ)言”。如果能看到坐標(biāo)變化恭喜底層驅(qū)動(dòng)基本通了如果沒(méi)有任何輸出可能是中斷未觸發(fā)或者驅(qū)動(dòng)內(nèi)部的數(shù)據(jù)解析、上報(bào)邏輯有問(wèn)題。需要結(jié)合內(nèi)核日志dmesg -w動(dòng)態(tài)查看驅(qū)動(dòng)在中斷處理函數(shù)中是否有打印信息。使用evtest工具進(jìn)行更詳細(xì)的測(cè)試adb shell evtest /dev/input/event5evtest會(huì)提供更友好的交互界面顯示所有支持的事件類(lèi)型和具體的坐標(biāo)值非常適合驗(yàn)證多點(diǎn)觸控多個(gè)TRACKING_ID是否正常工作。實(shí)操心得在驅(qū)動(dòng)調(diào)試初期可以在中斷處理函數(shù)、坐標(biāo)上報(bào)函數(shù)里添加一些printk內(nèi)核打印語(yǔ)句輸出原始寄存器值或計(jì)算后的坐標(biāo)。雖然這會(huì)降低性能但對(duì)于定位問(wèn)題比如坐標(biāo)計(jì)算錯(cuò)誤、上報(bào)頻率異常非常有效。調(diào)試完成后記得移除或禁用這些調(diào)試打印。6. Android框架層配置與校準(zhǔn)6.1 配置輸入設(shè)備標(biāo)識(shí).idc文件Android系統(tǒng)通過(guò)Input Device Configuration文件來(lái)定義輸入設(shè)備的特性如是否為觸摸屏、虛擬鍵映射等。對(duì)于觸摸屏通常需要?jiǎng)?chuàng)建一個(gè).idc文件。在設(shè)備的/system/usr/idc/目錄下如果是只讀系統(tǒng)需要在編譯時(shí)集成到vendor分區(qū)創(chuàng)建一個(gè)文件命名規(guī)則通常為Vendor_XXXX_Product_XXXX.idc。你可以從getevent的輸出中找到input設(shè)備的name或者用更簡(jiǎn)單的方法創(chuàng)建一個(gè)以設(shè)備eventX節(jié)點(diǎn)名命名的文件例如chipone,cst226se.idc。文件內(nèi)容示例# 基本設(shè)備類(lèi)型 touch.deviceType touchScreen # 觸摸屏方向0代表自然方向 touch.orientationAware 1 # 校準(zhǔn)矩陣初始為單位矩陣后續(xù)校準(zhǔn)會(huì)覆蓋 touch.size.calibration normalized touch.pressure.calibration physical這個(gè)文件告訴Android“這是一個(gè)觸摸屏設(shè)備需要處理方向旋轉(zhuǎn)并使用標(biāo)準(zhǔn)化的尺寸和壓力校準(zhǔn)”。6.2 觸摸屏校準(zhǔn)與參數(shù)微調(diào)即使原始坐標(biāo)能上報(bào)直接使用也可能不準(zhǔn)可能出現(xiàn)點(diǎn)擊位置偏移、劃線(xiàn)不直、邊緣無(wú)效等問(wèn)題。這時(shí)就需要校準(zhǔn)。使用ts_calibrate基于Tslib對(duì)于嵌入式Linux經(jīng)典的校準(zhǔn)工具是tslib中的ts_calibrate。你需要先為Android系統(tǒng)交叉編譯tslib并將其push到設(shè)備上。運(yùn)行ts_calibrate后會(huì)在屏幕上依次顯示五個(gè)點(diǎn)點(diǎn)擊后生成一個(gè)校準(zhǔn)文件如/etc/pointercal。驅(qū)動(dòng)或中間層需要讀取這個(gè)文件來(lái)應(yīng)用校準(zhǔn)矩陣。注意這種方法更適用于老式的電阻屏或需要非線(xiàn)性校正的電容屏。對(duì)于現(xiàn)代投射式電容屏如CST226SE其線(xiàn)性度通常很好校準(zhǔn)更多是解決安裝位置偏移如TP與LCD貼合有偏差和坐標(biāo)映射問(wèn)題。在驅(qū)動(dòng)或HAL層進(jìn)行坐標(biāo)變換更常見(jiàn)的做法是在驅(qū)動(dòng)或Android的InputReader階段進(jìn)行軟件校準(zhǔn)。這通常涉及幾個(gè)參數(shù)X/Y軸反轉(zhuǎn)invert_x,invert_y。坐標(biāo)交換swap_xy。坐標(biāo)偏移和縮放offset_x,offset_y,scale_x,scale_y。 這些參數(shù)可以通過(guò)DTS屬性傳入驅(qū)動(dòng)或者在驅(qū)動(dòng)的platform_data中設(shè)置。例如如果觸摸屏的坐標(biāo)系原點(diǎn)在右下角而LCD原點(diǎn)在左上角就需要設(shè)置invert_x和invert_y。利用Android的inputflinger調(diào)試Android提供了強(qiáng)大的調(diào)試命令。通過(guò)adb shell dumpsys input可以查看所有輸入設(shè)備的詳細(xì)狀態(tài)、配置和最近事件。你可以在這里檢查你的觸摸屏設(shè)備是否被正確識(shí)別以及當(dāng)前的InputMapper應(yīng)用了哪些轉(zhuǎn)換參數(shù)。校準(zhǔn)流程建議編寫(xiě)一個(gè)簡(jiǎn)單的測(cè)試APK在屏幕上顯示一個(gè)十字準(zhǔn)星和觸摸點(diǎn)的實(shí)時(shí)坐標(biāo)。用手指點(diǎn)擊屏幕四個(gè)角和中心對(duì)比觸摸點(diǎn)坐標(biāo)和實(shí)際顯示位置。根據(jù)偏差計(jì)算并調(diào)整上述的offset和scale參數(shù)有時(shí)還需要微調(diào)resolution屬性。將最終確定的參數(shù)固化到DTS或驅(qū)動(dòng)的初始化代碼中。7. 高級(jí)調(diào)試與性能優(yōu)化7.1 常見(jiàn)問(wèn)題排查速查表問(wèn)題現(xiàn)象可能原因排查步驟驅(qū)動(dòng)完全無(wú)打印getevent無(wú)設(shè)備1. DTS節(jié)點(diǎn)錯(cuò)誤或未編譯進(jìn)DTB2. I2C通信失敗3. 驅(qū)動(dòng)未編譯/加載1. 檢查dmesg啟動(dòng)日志搜索I2C和compatible字符串。2. 用示波器測(cè)量I2C波形確認(rèn)地址和數(shù)據(jù)。3. 檢查/sys/bus/i2c/devices/下是否有對(duì)應(yīng)地址的設(shè)備節(jié)點(diǎn)。驅(qū)動(dòng)probe成功但getevent無(wú)數(shù)據(jù)1. 中斷未正確觸發(fā)或未注冊(cè)2. 芯片未初始化成功固件、配置3. 電源不穩(wěn)定1. 測(cè)量INT引腳電壓觸摸時(shí)是否跳變。2. 在驅(qū)動(dòng)中斷處理函數(shù)加打印。3. 檢查驅(qū)動(dòng)初始化流程確認(rèn)是否成功向芯片寫(xiě)了配置寄存器。觸摸有數(shù)據(jù)但坐標(biāo)全為0或固定值1. 坐標(biāo)數(shù)據(jù)解析錯(cuò)誤寄存器地址、字節(jié)序2. 芯片報(bào)告的數(shù)據(jù)格式與驅(qū)動(dòng)預(yù)期不符1. 在驅(qū)動(dòng)中打印原始寄存器數(shù)據(jù)。2. 對(duì)照數(shù)據(jù)手冊(cè)檢查驅(qū)動(dòng)解析X/Y坐標(biāo)的代碼。坐標(biāo)跳動(dòng)跳點(diǎn)1. 電源噪聲干擾2. 屏體或FPC受到干擾3. 驅(qū)動(dòng)濾波算法太弱或參數(shù)不當(dāng)1. 用示波器檢查觸摸屏供電的紋波。2. 檢查FPC連接器是否接觸良好屏蔽是否到位。3. 調(diào)整驅(qū)動(dòng)中的濾波參數(shù)如平均濾波窗口大小。邊緣觸摸不靈或坐標(biāo)錯(cuò)誤1. 屏體與蓋板貼合問(wèn)題邊緣氣泡、壓力不均2. 驅(qū)動(dòng)中定義的max_x/max_y與實(shí)際有效感應(yīng)區(qū)不匹配1. 檢查硬件裝配。2. 校準(zhǔn)工具測(cè)試邊緣點(diǎn)調(diào)整驅(qū)動(dòng)中的分辨率或映射范圍。多點(diǎn)觸控失效1. 驅(qū)動(dòng)僅支持單點(diǎn)上報(bào)2. 芯片固件或配置未開(kāi)啟多點(diǎn)3. Androididc文件配置錯(cuò)誤1. 確認(rèn)驅(qū)動(dòng)使用input_mt_report_slot_state等MT協(xié)議函數(shù)。2. 檢查芯片初始化序列。3. 確認(rèn).idc文件中touch.deviceType touchScreen。系統(tǒng)休眠后觸摸失靈1. 電源管理PM未正確配置休眠后未給TP供電2. 驅(qū)動(dòng)未實(shí)現(xiàn)resume函數(shù)或?qū)崿F(xiàn)有誤1. 檢查DTS中vdd-supply的PMIC LDO在休眠時(shí)是否被關(guān)閉。2. 在驅(qū)動(dòng)中實(shí)現(xiàn)pm_ops確保resume時(shí)重新初始化芯片。7.2 性能與功耗優(yōu)化要點(diǎn)中斷優(yōu)化默認(rèn)情況下每次觸摸事件都會(huì)觸發(fā)一次中斷。對(duì)于高報(bào)告率的TP這可能導(dǎo)致系統(tǒng)中斷負(fù)載過(guò)高??梢钥紤]使用中斷合并有些觸摸芯片支持設(shè)置報(bào)告率或驅(qū)動(dòng)中可以在短時(shí)間內(nèi)合并多次坐標(biāo)上報(bào)只上報(bào)最后一次。檢查中斷觸發(fā)方式確保是邊沿觸發(fā)而非電平觸發(fā)避免持續(xù)中斷。電源管理充分利用Runtime PM在驅(qū)動(dòng)中實(shí)現(xiàn)runtime_suspend和runtime_resume回調(diào)。當(dāng)屏幕關(guān)閉或一段時(shí)間無(wú)觸摸時(shí)讓芯片進(jìn)入低功耗模式。精細(xì)控制供電通過(guò)DTS中的vdd-supply和vddio-supply讓內(nèi)核在系統(tǒng)休眠suspend時(shí)自動(dòng)斷開(kāi)TP電源喚醒時(shí)再上電。驅(qū)動(dòng)代碼效率中斷處理函數(shù)irq_handler要盡可能短小只做必要的數(shù)據(jù)讀取和上報(bào)復(fù)雜的處理可以推到工作隊(duì)列workqueue或線(xiàn)程化中斷的下半部。避免在中斷上下文中使用printk等可能引起睡眠的函數(shù)。調(diào)試CST226SE觸摸屏驅(qū)動(dòng)是一個(gè)典型的嵌入式Linux外設(shè)驅(qū)動(dòng)開(kāi)發(fā)過(guò)程。它串聯(lián)了硬件原理、設(shè)備樹(shù)、內(nèi)核驅(qū)動(dòng)、輸入子系統(tǒng)、Android框架等多個(gè)層面的知識(shí)。最花時(shí)間的往往不是寫(xiě)代碼而是定位問(wèn)題。耐心分析內(nèi)核日志、善用硬件調(diào)試工具、對(duì)芯片數(shù)據(jù)手冊(cè)和內(nèi)核框架有清晰的理解是解決問(wèn)題的關(guān)鍵。當(dāng)屏幕終于精準(zhǔn)地響應(yīng)手指的每一次滑動(dòng)時(shí)那種成就感就是對(duì)所有調(diào)試工作的最好回報(bào)。希望這份詳細(xì)的記錄能幫你繞過(guò)我踩過(guò)的那些坑。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
无码91| 亚洲图片小说欧洲| 美女尤物福利视频| 色丁香五月婷婷| 蜜乳AV一区| 国产精品久久久久久久无码AV| 三级色影综合网| 国产精选三级在线观看| 色欲久久99国产精品久久久久久| 草草草视频| 91操熟女视频 | 一区二区乱码福利| 国内毛片欧美香蕉精品| 看全色黄大色大片免费视频| 亚洲少妇自拍中文字幕懂色| 天天舔天天日天天射| 少妇诱惑视频| 区一二区日韩亚洲乱码av电影| 美女好片色日本| 久久精品国产久精国产| 超碰在线综合97| 欧美暴力猛交| 欧美性Fer办公室秘书| 天天干,夜夜爽| 婷婷色婷婷| 亚洲AV无码黄色强奸| 国产精品一级特黄aaa大片在线观看| 一中国女人毛片水真多| 中文字幕在线观| 激情色图| 性久久| 成人一级性爱| 在线视频免费播放一区| 欧美黄色手机在线观看| 岛国黄色短视频| 97在线视频网站| 欧美传媒| 亚洲国产高清福利视频| 久久 国产精品 一区| 欧美十八禁在线看| 无码 有码 国产18p| 亚洲av无码成人精品国产| 成人性爱视频在线看| 成人日本视频人妻在线| 口爆综合网| 久草资源在线视频官方总站日韩丝袜美腿 | 色女综合| 超碰碰小说97| 国产精品com| 中文字幕丰满子伦无码专区在线视频最新 | 秋霞Av理论一级在线| 免费αV在线视频| 一区操逼| www.人人cao| 精品91摸| 日本淫色网| 无码丰满熟妇一区二区浪潮AV| 日本精品不卡一二三区| 五月花婷婷| 五月丁香狠狠爱| 日本伦理一区二区| 欧美白嫩在线放| 竹菊一区二区三区AV线| 国产精品美女视频诱惑| 国产亲戚伦亲在线| 亚洲揄拍网| 麻豆天美一区二区| 一级aaaaa欧美中文字幕录像片| WWW黄片COM| 亚洲欧美大| 日本精品免费一区二区三区四区| 亚洲本色精品一区二区久久| 99热久| 亚洲五区熟女| 日本最新1区2区3区| 日本熟女不卡视频| 欧美黄片视频在线观看免费| 中文字幕日韩综合| 男人天堂日日夜夜| 欧美综合自拍| 亚洲一区日韩| 色综合加勒比四四季| 天综合网欧美| 欧美人与动性人交a| 色色操| 日韩专区久久久| 国产白丝av| 九九激情网| 亚洲日本天堂| 99少妇| 无码少妇精品一区二区60岁老人| 9999九九九久久久| 2020中文在线一区二区三区| 亚洲国产精品99久久久| 亚洲 中文 女同| 超碰吊日色| 404操逼福利视频| 干B| 午夜.DJ高清在线观看免费7| 欧美色图天堂网m| 日日摸日日碰夜夜爽视频| 婷婷亚洲综合| 狠狠爱夜夜| 艹少妇网站| 青青草中日韩在线| 精品亚洲国产成人AV制服丝袜 | 中文自拍欧美影视| 黑人精品久久97| 人妻偷拍一区二区三区| 91久久久久久久| 日韩国产在线观看av| 亚洲日韩久久精品一区| 岛国A V在线免费看| 中文字幕丝袜美腿| 狠狠色噜噜狠狠狠狠狠色综合久久| 在线黄页看毛片| 精品国产乱码久久久久久蜜臀| 五月丁香久久| 熟妇人妻丰满久久久久久久无码 | 久久久久久久六六 | 2020中文字幕| 思思久热在线精品66| 日韩在线视频1234| 国产二区三区免费视频| 成年男人的天堂| 国产又黄又粗的视频| 亚洲欧美日韩国产丝袜自拍中文| 欧美一级黄片视频在线| 中文字幕欧洲有码| 人妻AV 中文字幕的| 78精品在线| 99色| 一级日本牲交大片好爽在线看| 求求你操操我| 在线观看AV片| 啊啊嗯嗯好爽| 激情图片亚洲色图| 无码精品久久久天天影视| 日韩精品人妻中文字幕不卡乱码| 色爱综合网| 色www精品视频在线观看| 免费?级毛片无码?∨蜜芽试看| 欧美一区二区三区黄色影视| 国产剧情一区在线观看| 2017人人操,人人摸| yazhououmeizongya| 欧美精品另类人妖xxxx| 久久九色| 怡红院网站在线视频| 探花精品视频| 日韩在线性爱免费视频| 日韩猛交| 91精品久久久久久77777| 激情婷婷| 免费精品人妻一区二区三| 日韩无限资源| 999久久久久久久久| 久久久久久久六六| 成人综合网 欧美| 97视频网站在线观看| 长长久久88视频| 亞洲久久直播| 噜噜噜在线视频| 黑人精品XXX一区一二区| 美女久久久| 好吊色青靑草| av中亚| 日本不卡一二区| 91美| 91天天| 97免费在线观看视频| 91M一社| 午夜操一视频一区| 欧美性第1页| 97人人色| 亚洲色阁| 日本精品一级二级三级| 国产精品一区av在线| 久久婷婷电影网| 97资源视频| 亚洲欧洲综合av在线| 国产精品探花色| 日韩欧美成人性爱在线| 国产吞精a级片激情电影| 在线性黄高清免费视频| 天天弄天天操| 国产人伦精品一区二区三区| 国产91精品久久久久久久网曝门| 国产 大胆 对白| 91美女高潮| 亚洲天堂少妇| 中文字幕后石码四区五区| A级片日韩欧美国产欧美视频精选观看| 看日韩黄片| 日韩无码黄色片| 欧美日韩 强奸乱伦| 国产高清26uuu| 亚洲综合婷婷| 久久超碰亚洲人| 欧美综合 站| 欧美后入式| 黑人精品久久97| 亚洲欧美国产精品久久久久久久| 免费精品无码一级毛片牛牛影视 | 超碰成人免费| yazhousetuoumei| 午夜福利在线合集| 四虎精品永久在线观看| av草草在线电影| 日夜久久久九九九久| 天美麻豆一区二区三区| 日本午夜操逼| 色诱avtt| 欧美成人A√在线一区二区| 国产精品不卡av免费在线观看| 综合欧美激情网| 欧美日韩人妻精品一区二区三区 | 91中出在线| 91影视亚洲| 97中文字幕一区| 92性色国产午夜福利在线661| 91n欧美| 丰满人妻aA一区二区三区| 大伊香蕉在线视频免费| 啊啊啊啊操死我| 热久久国产| 温婉少妇玩3p| 91深夜夜| 亚洲第一黄色av网站 | 人妻99p| 亚州操操穴网| 国产搭汕a级片| 国产精品蜜臀久久久久无码AV| 91在线精品| 好吊色一区| 国语少妇精| 双插性欧美一二三区| http://qxhbdz.com| 99久久免费看精品国产一区| 爽极品影院| 欧美色图片91| 色图综合网| 婷婷久久综合| 密臀成人视频久久久| 黄色免费网| 色色国产| 91 丝袜在线播放| 亚洲综合五月天| 97超碰中文| 一区二区三区黄片免费观看| 亚洲中文字幕日产无码久久| 天天亚洲综合| 干b网| 被男人吃奶很爽的毛片| 蜜臀在线免费观看在线免费观看| 91综合在线| 日韩免费人妻色情网站| 国产精品96久久久久久| 五月花婷婷| 久久国产精品m码| 日本Xx性爱| 久久美国毛片| 欧美性爱三区二区| 日韩色图 一区二区| 激情网色| 1204金沙人妻懂旧版免费| 白丝少妇一区二区| 国产无吗在线播放| 亚洲欧洲色情高清| 国模少妇一区二区三区| 久久久一二三四区| 色色色热| 亚洲丝袜诱惑| 天天日日舔舔| 日婷婷| 国产亚洲精品美女| 国产日韩欧美亚洲精品95| 成人久久久精品| 亚洲色图欧美色图日韩色图| 日韩欧美中文字亚洲慕| 日本99视频| 天天射天天色成人| 欧美亚洲小说| 欧美天天谢综合网| 99蜜桃臀亚洲成人在线观看| 在线观看色视频| 四虎国产精品永久入口| 欧洲综合色图| 精品无码产区一区二| 人妻社区男人天堂| 国产极品999| 深夜国产一区二区三区在线看| 人妻丝袜日本| 亚洲同性aV综合| 天天综合站| 亚州再线| 91人妻视频| 青青草日韩无码| 婷婷五月天影院| 亚洲天堂无码| 亚洲精品国产熟女| 超碰精品日韩欧美国产| 女性91网站| 97精品一区| 国内成人圈中文字幕无码视频| 久久9精品视频| 99re6国产精品99re在线| 日本天天色| 日韩一级二级三级在线不卡观看完整| 91精品国产综合久久久蜜臀| 综合97| 是还免费视频1727我| 黄在线| 你想操日本小逼吗| 9 9无尺码天堂网| 成人三级片无码| 超碰人妻97| 三级片大波波| 成人网站 免费观看| 免费在线视频97| 嗯阿好爽好紧| 婷婷月色| 欧美性生活综合| 一级A片女人高潮叫床| 日日噜噜夜夜狠狠视频无| 国产偷拍网站| 91亚洲高清| 91狠狠综合久久| 亚州五月| 欧美亚洲色的图| 亚洲天堂日本| 国产第11页| 中文字幕AV片| 超碰98综合网| 青青草大香蕉在线视频| 熟妇女人妻呻吟久久AV| 午夜呻吟欧美| 99国内精品| 色香阁在线| 91大胆欧美| www.色五月| 日日天天久久啊啊aaa| 亚洲图片在线| 大香蕉视频啪啪啪啪| 好色综合| 久久精品人人做人人看| 国产黄色影片在线观看| AV不卡在线| 日韩欧美中文| www.色操逼| 黄片色区软件| 亚洲第一黄色av网站| 26uuu最新| 欧美一级黄色免费专区| 最新av中文字幕高清| 亚洲一区日韩精品| 老熟妇综合| 韩国三级三级BD在线| a片在线播放| 澳门黄片一香蕉视频| 爱干爱射网啊啊啊| 天天爽夜夜欢视| 成人黄页| 色图综合网| 午夜欧美女人操逼| 午夜免费视频1000| 眼镜人妻101.com| 啊啊啊操死我| 天天视频网站黄| 4141514逼喷水三级片| 九九色色| 九九伊人网| 日日橹狠狠爱欧美超碰| 懂色av中文字幕一区二区三区天美| 91欧美在线| 亚洲天天更新| 操B久久| 两性色网| 黑人性欧美| 狼人综合婷婷激情四射 | 男人天堂黄片| 天天草AV| 97福利视频| 日韩免费a级毛片无码a∨| 久久色一区二区| 国产精品一级毛片不卡视| 综合亚洲网| 国产精品情侣啪啪| 国产精品永久免费10000| 婷婷精品国产欧美精品亚洲人人爽| 亚洲日韩精品在线播放| 秋霞网无码| 欧美亚洲国产日本在线,久久精品国产| 久草视频分类在线| 欧美色狠| 麻豆精品A片免费观看| 国产操操日韩三级黄| 亚洲欧美天| 国产一区96在线| 久久久久人妻二区精品叶可怜| 黑人精品欧美一区二区蜜桃| 熟妇人妻一区二区三区| 人人贴人人摸| 国产精品一区二区三| 神马久久中文字幕| 99操视频| 高清无码久操视频| 欧美激情 亚洲色图| 四虎AV影视国产精品亚洲精品| 欧美性爱另类综合| 国产美女销魂在线观看不卡| 精品夜夜澡人妻无码AV| 97干天天| 涩五月婷婷| 变态乱伦伪娘灌肠一区二区| 蜜臀久久久99久久久久 | 日韩午夜国产| 人妻熟女一区在| 在线观看无码三级少妇| 色综合天天爱去电影网| 欧美大干日韩| 男人天堂站| 免费看日本操逼视频| 亚洲最新Av| 啊啊啊水好多| 蜜桃一区二区三区| 中文字幕在线观看丝袜| 国产辣妈在线视频福利| 精品免费囯产一区二区三区| 在线亚洲丝袜视频网站| 欧美日韩人人精品| 99精品网| 国产女性无套 免费观看| 日韩AV无码网站| 欧美成人精品一区| 午夜久久久| 91精品电影18| 色五月首页| 色色色色日本| 好爽免费视频| 国产一区二区精品久久久不卡蜜臀| 1204金沙人妻懂旧版免费| 一本一道人妻久久一区二区三区| 日本成人电影资源网| 国内亚洲高清无码| 蜜桃久久一区二区| 日韩BBN| 天天操天天谢| 欧亚日韩三区| 熟女一区二区| 亚洲色图久久精品蜜| 日韩欧美中文| 精品999999| 97天天插| 欧美丝袜激情| 精品超碰中文在线| 亚洲aV无码成人在线观看| 天天视频网站黄| 人妻喷水| 丝袜视频一区二区在线播放国产中文| 天天色播| 偷窥自拍A片| 囯戸精品高潮呻吟旡码| 日本αv| 天干天干天干天天做| 青青伊人加勒比海| 久久久熟妇熟女国产| 婷婷六月天| 国产日韩精品无码去免费专区国产| 97亚洲精品超碰| 国产精品禁久久久精品| 日本不卡一区二区三区| 久久人妻四季| 色五月综合网| 欧美强奸一区二区诱惑| 自拍偷拍国产欧美日韩韩| 日韩欧美久久婷婷网站| 97欧美久久久久久久| 欧美老妇综合网| 嗯啊不要啊在线| 中文字幕av乱伦| 亚洲精品xxx| 蜜乳Av成人片网站| 天天做日日做| 偷拍三区| 伊人久久在线视频观看| 欧美精品99久久久**| 久久精品久久九九精品| 国产女人和拘做爰视频 | 国内毛片欧美香蕉精品| 久久久久久九| 亚洲天堂精品日韩电影| 免费a v| 久操视频在线观看| 91综合色噜噜| 翔田千里爆乳巨臀无码| 永久免费av无码网站国产app | 国产乱青青草久久| 亚洲高清在线se| 精品无码一区二区人妻久久蜜桃| 九一国产精品| 清纯唯美综合亚洲| 久久超碰com| 91另类| 午夜精品久久一区二区| 国产拍偷精品网站| 日韩精品资源专区二区| 丰满人妻一区二区三区蜜桃视频| 97免费在线视频| 午夜性生活av免费在线看| 精品国产Av无码久久久亚洲| 成人免费毛片| 久久无码成人| 女人午夜视频777| 操人91| 欧美亚洲日韩人妻在线观看| 国产亚洲 中文欧美久久| 欧美成人9797| 日日橹狠狠爱欧美超碰| 伊人aaa| 久久↗↗| 亚洲色人阁| 久久只有精品| 日韩精品在线观看观看| 操逼操操操91| 精品国产乱码久久久久A| 久久伊人在线五区| 日韩资源网| 超碰日韩美妻| 欧美激情在线观看视频| 国产资源中文字幕在线| 日韩亚洲精品一区二区| 免费看欧美美女黄色大片| 丁香五月婷婷基地| 少妇天堂网络| 国产精品久久久久久久免牛肉蒲团| 亚洲欧美综合网站| 啊啊啊爽爽| 可以免费看黄片的视频| 久久九九国产精品| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 另类av天堂| 9999九九九久久久| 超碰色图| 国产理论视频在线播放| 后入国产| 欧美人人曰人人操人人射射| 日本肏逼视频在线观看| 久久天天性久久伊人| 欧美日韩大陆黑人少妇99| 久久久草草精品| 欧美大色交| 在线洲亚线| 亚洲中字幕日本一区二区三区| 亚洲国产婷婷在线播放| 99热精品在线观看| 久久、1234| 噜噜瑟| 男人的午夜天堂| 国产一级内射无挡观看| 操人无码| 啊啊啊不要啊啊受不了了视频在线| 国产日韩中文字幕欧美| 人人模人人看| 五月婷婷爱六月丁香色| 超硑97精品| 99在线啪| 性夜影院爽黄A爽免费动漫| 国产综合永久精品日韩鬼片| 天天日天天舔天天喷天天射| 97 九色| 五十路三区在线| 中日亚韩免费视频| 玖玖综合.com| 嗯嗯啊啊日韩精品| yiqicaoav| 91动漫操逼视频| 日韩一级欧美一级在线观看| av操操不卡| 大香蕉性欧美| 免费一级精品啪啪视频| 91麻豆天美国产欧美| 天操老女人| 国产成人精品网站| 激情综合网五月婷婷五月天| 精品久久久久9999| 男生通女生屁股| 精品日韩人妻精品一二三区| 五月天开心网| 97情超碰色| 一道α片欧美| 七久久久| 中出20p| 日本三级A片网站com| 中文字幕在线播放2中文字幕在线观看2| 青青草国产盗摄一二三区| 啊v在线观看视频| 国产亚州高清国产拍精| 99啪啪| 久久久国产护士丝袜美腿一| 人人操人人摸超碰| 无码聚合| 欲色影视综合吧| 国产伦精品| 国产 丝袜 欧美中文 另类| 日韩精品99久久久久久中文字幕 | 欧亚日韩中文在线| 免费看欧美美女黄色大片| 久久国产精品,久久国产| 少妇熟女一区二区三区| 欧美视频中文字幕区| 99操| 国产1024在线播放| 骚逼高潮久久精品| 蜜臀va69| 中文字幕123| 久久综合女优| 欧美AAAA黄片| 欧插网站| 91丝袜| 福利色色| 91AV天美在线视频| 岛国激情视频软件| 欧美色三级片91| 欧美宗合网| 国产97色在线| 爱丝福利| 国产一区二区av综合| 老女人碰碰在线碰碰视频| 香蕉国产精品麻豆亚洲欧美日韩| 最新加勒比丝袜在线| 亚洲区 欧美区| 黄色AAAAAAAAAAA大片| 韩国女主播青草在线| 中文字幕国产在线天堂| 久久欧美按摩999| 女优大全 - 91n| 国产第25页在线观看| 夜夜操中文字幕| 久久久久女教师免费一区 | 少妇高潮喷水无套久久久久久| 国产偷拍网站| 天天添天天干电影| 99这里只有精品| 夜夜影视四色| 精人妻无码一区二区三区伊人直播 | 亚洲天堂区| 超碰在线日韩一区| 亚洲国产成人高清在线| 大香蕉宅男伊人| 亚洲无码国产精品久久| 亚洲视频,小说| 国产精品久久久久久久久久梁医生| 97久久资源| 亚洲色婷婷久久久综合日本| 天美麻豆精品视频99| 女性91网站| 后入 亚洲 美女 射| 国产99999| 999日韩中文精品观看视频。| 青草伊人网| 1769一区| 台湾大香蕉99热| 日本操逼视频不卡直接放| SS久久| 国产男女边吃边摸视频网站| 久久久久9999妇女| 欧美一级久久久久久久大片动画| 91欧美性| 五月天黄色激情视频| 少妇蹲下买菜露大唇0| www…国产操逼| 丝袜美腿丝袜| 婷婷激情啪啪| 色在线视频导航| 欧美最婬乱婬爆婬性视频 | 亚洲色图综合网| 亚洲综合中文字幕有码| 亚洲中字慕不卡| 狠狠爱综合| 日本女人久久久| 翘臀vidoes| 国产精品麻豆成人av| av天天在线| 黄片无码在线制服| 欧美少妇高潮视频| 射 色综合| 国产美女口爆吞精视频| 综合久久99亚洲人妻中文在线| 日本东京热加勒比久久| 91欧洲入口| av天堂影视中文在字幕在线中文 | 欧美天堂亚洲电影院一区在线播放| 人妻中文字幕日韩电影| 人妻中文在线| 嗯嗯不要 视频| 亚洲91av| 在线国产福利网址导航| 国产精品另类| 中文字幕加勒比海高清无码免费视频| 久久av一级av少妇av高潮| 97久久超碰亚洲| 99自拍B亚洲 | 成人五月天丁香激情综合| 久草资源欧美在线视频| 亚洲成a人在线观看久| 老熟女综合网| 日韩AV中文字幕电影| 日韩无码操逼片| 9.1小视频| 混色激情av| 嗯啊视频免费在线观看| 国产9熟妇视频网站| 99re6久热只有精品6在线直播| 人妻丰满熟妇一区二区三| 亚洲自拍青操视频| 日韩素人无码一区二区三区三州| 操逼日批| 精品国产99999| 亚洲有薄码区日本系列中文字幕| 国产性爱在线视频一区二区| 久久久天堂| www四虎| 青娱乐国产精品| 久久黄人人爽视频| 97精品第3页| 亚洲精品视频在线播放| 中文字幕黄片在线| 欧美伊人电影| 麻豆成人av| 好吊妞转入那个网| 91人妻做a观看视频| 日本506070| 91亚洲欧美综合高清在线| 偷窥自拍亚洲色图| 国产懂色精品国产av| 91视频精品| 欧美色97| 日本九九久久99| 91九久| 久久婷婷色| 国产精品爽爽v| 国产精品日日摸夜夜添骚逼| 中文字幕精品亚洲熟女| 性色高清在线| 婷婷色色五月天| 18禁网站在线播放| 亚洲欧美高清无码| 欧美激情在线观看视频| 噜噜噜亚洲精品| 夫妻四区五区六区| 丁香五月性| 国产熟女完整版中字| 中文字幕蜜乳av| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 国产99精品一区二区三区免费| 国产精品久久久久久久久久久久| 国产熟码AV| 婷婷美人网| 日产国产精品中文久久婷婷| 婷婷丁香久久| 91成人精品在线播放| 无码免费在线观看黄色片| 久夜视频| 欧美狠狠狠| 黄色一区三区| 亚洲限制级| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 中文字幕一二三| 高清无码学生妹高潮| 久9久精品视频| 午夜性| 91精品电影18| 99热精品在线| 日本欧美国内在线| 國產尤物AV尤物在線觀看| 欧美日韩另类在线播放| 日本成人在线不卡一区二区三区| 久久婷婷成人综合色怡春院| 青草伊人久久| 久久成人午夜狠狠| 国产精品密臀网在线观看| 大香蕉免| 国产视频三区四区| 欧美夜夜狠| 婷婷亚洲综合| 操逼日韩无码| 熟女六十路| 国产操逼逼网| 国产亚洲精品农村妇女| 少妇一级婬片免费放一级a性色.| 尤物av网站免费在线播放| 好爽免费视频| 超碰九区| 九九九九九九九九九国产精品| 日本一卡二区在线| 欧美精品欧美精品系列| 国产一| 劲爆欧美人妖三区91| 国产一区二区三区,在线观看观看| 另类av天堂| 亚洲网自拍| 亚洲狼狼干综合1| 九一亚洲国产免费| 久久色一区| 亚洲天堂女优在线| 岛国小电影| 67194无码不卡| 91丝袜美女| 中文字幕精品丝袜| 欧美激情视频一区二区三区不卡| 大香蕉伊人网WWWn0n| 日本人妻一区二区| 亚洲一二三精品久久网| 黄色二级片网站| 伊人成人情色综合| 美女淫穴| 97欧美色资源| 青草影院内射高潮| 亚州欧美综合| 久久超碰天天| 九九九久久久W精品| 日韩欧视频| 丝袜足交视频| 蜜臀视频网站| 欧美视频一| 久久久精品91八戒| 大香焦A片| 青娱乐国产精品| 日本在线播放不卡一区| 日韩女模中文造逼| 九九AV| 色女女女导航| 婷婷激情一区二区三区俺也去| 日日骚 av| 久久久久久久六六| 青青草导航在线视频| 亚洲精品国产拍免费91在线| 神马麻豆福利院| 翔田千里AV无码秘 三区| 国内亚洲高清无码| 国产99精品一区二区三区免费| 一级特级aaaa毛片免费观看| 国产精选三级在线观看| 亚洲第一综合| 青青草在线成人视频| 东北女人被操| 97视频在线视频| 亚春色色| 欧美天天弄| 蜜乳AV免费观看| 激情国产乱伦Av| 国产男女无套视频免费观看| 五月婷婷色| 中文字幕视频2区| 久久人妻熟女一区二区| 婷色五月| 97五月天| 天天弄欧美| 色综合20p| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲天堂电影精品一区| 男人天堂.AB| 蜜桃色院一区久久| 日韩欧美~中文字| 香蕉视频欧美一卡二卡| 成人97人人超碰人人| 嫩草影院在线观看精品| 五月天大香蕉| 蜜臀AV一区二区三区激情综合| 欧洲与亚洲欧美精品中文字幕| 天天日熟妇| 欧美色乱| 丁香六月激情| 婷婷伊人网| 伊人影院在线理论播放| 大乔未久88一区| 清纯唯美综合| 9国产超碰| 黄色性爱网网| 中文字幕国产精品1区| av72网| 国产成人精品网站| 国产91av在线播放| 色官网在线| 清纯唯美激情四射| 嫩草 我啊~嗯~在线| 中文字幕乱亚洲美女精品一区| 久久精品国产亚洲AV高清演员表 | 91精品人| 日本性爱少妇| 116美女午夜| 欧美大干日韩| 神马久久久久久久| 国模不卡| 欧美极品少妇交| 中国熟女网站| 91色花堂| 日本午夜操逼| 麻豆视频test| 大香蕉92| 很很操在线| 日韩性爱视频免费在线 | 一级性爱视频免费在线| 人人天天干干| 国产婷婷一区| 风间由美日韩欧美久久| 秋霞免费无码视频日韩A片| 91精品国产麻豆国产自产在| 欧美色66| 哈哈操电影| 一区二区三区探花在线观看| 91 手机在线播放 绯色| 青青草无码视频| 超碰在线人人射| 91精品伊人久久久大香线蕉91| 色狠狠综合噜一二三区| 90后后入| 亚洲伊人a线观看视频| 国产999精品久久久久久| 超碰欧美在线欧美| 日本久久女同性恋视频| 国产精品久久久鸭无码的功能| 久久视网78| 久久超碰com| 国产99久久99热这里只有精品15 | AV中文在线| 日日摸日日碰| 五月丁香黄色网| 操91| 99后入| 中国AV美女| 激情自拍 校园春色| 欧美一区二区三熟女剧情| 极品综合| 久7色| 超碰4A| 国产精品69人妻无码久久久| 日本三级人妻a人妻一在线| 超碰精品97| 男人高清无码一区二区| 欧美香蕉视xxx| 亚洲日韩美女丝袜美腿人妻视频| 色一色综合网| 伊人 俄罗斯 a v| 99婷婷一区二区| 密桃99999| 丝袜美腿91| 日韩乱伦影音先锋| 人妻社区男人天堂| 国产美女高潮| 亚洲无码99| 久久久久久中文| 日本免费专区| 久偷拍| 一区二区三区国产在线播放| 丁香五月激情综合| 97国产精选| 91成人久久| 亚洲区限制级| 91视频伊人| 老熟女91av| 91精品国产一区三一| 婷婷久久五月| 美女上床网站| 午夜电影在线观看无码专区| 亚州久久9| 免费国产电影一区二区| 欧美另类色| 91成人无码| 久热超碰| 欧美亚洲天天| 午夜色婷婷| 亚洲在线观看| 久久精品店| 五月天加勒比啪| 一区二区三区黄色片a| 欧美婷婷久久| 亚洲天堂五月天国产| 久久久亚洲精品电影免费看| 久操免费在线| 亚洲男人的天堂亚洲| 91热热色| 五月丁香啪啪网| 伊人性在线视频| 综合久久中文字幕综合日韩精品 | 天天综合日韩网| 国产久久久久久| 欧美拳交在线播放| 熟女精品日韩一区二区三区 | 亚洲se91| 中文字幕高清20页视频| 超碰九区| 久久亚洲不卡| 78久久| 97色冈| 久久久久97| 婷婷三区| yiqicaoav| 男人的天堂激情| 三级日本一区二区三区| 国产农村妇女精品一二区| 色欲Av人妻精品一区二| 久久熟妇五十路一区| 天堂69亚洲精品中文字| 黑人中出21连凳花野真衣| 免费中文综合精品| 99www.bibizy香蕉资源国产一区二区三区高清 | 曰韩人妻中文字幕在线| 一区二区三区精品视频| av亚洲天堂资源网站| 九久久精| 精品伊人久久久大香线蕉小说| 99国内熟女露脸视频| 日本不卡高清视频| 欧美日韩青操| 国产精品呦一区二区三区| 蜜桃久久久久久久久久久久| 久久久久久一日韩字幕无码| 欧美日韩精品国产91| 亚欧毛片基地国产毛片基地| 日日干夜夜操视频h| 中文字幕美女91| 欧美大香蕉97| 国产中文字幕在线点播| 国产五码丝袜屁眼| 福利社区午夜一区二区| 少妇内射www在线观看视频| a一区二区三区乱码在线| 91天天爱| 少妇xx精品| 97伦乱| 亚洲国产欧美中日韩成人综合视频| 中文字幕二区| 亚洲天堂 视频你懂的| 精品女同一区二区三区| 99久久婷婷国产综合精品草原| 亚洲资源一区| 午夜精品久久久久久久男人的天堂| 青青草福利视频| 99999久久久久9国产精品| 欧美精品二区视频在线| 91骚妇| 人妻一区视频| 啊啊啊啊啊舒服| 99热99在线| 91亚洲欧洲| 亚洲综合码| www亚洲免费| 国产免费一区| 六十路日本| 97色综合中文网| 北京专精特新企业招聘信息| 岛国免费视频在线| 久操在97| 国产伦乱91| 亚洲欧美在线丝袜| 97精品国产97久久久久久户外免费| 色视频蜜乳| 欧洲自拍色图gif在线| 国产一区二区啪啪视频| 天天cao在线| 欧洲乱码一区二区| 欧美性爱1080p| 加勒比色99999| 日本天天吊| 琪琪精品免费一区二区三区 | 超碰国产情侣自拍网| 日韩乱伦AⅤ| 无码精品啪啪啪一区二区三区三州| 色色色综合网| 网站A V在线| 九九九九一级| 五月香婷婷| 国产福利电影| 亚洲一二三四区在线免费看视频| 九九色综合| av爱爱爱| 天天综合网亚洲综合网| 久久国产三区| 国产最新小视频在线播放下载| 久久精品无码不卡| 伊人天堂在线| 精品国产一区二区三区香蕉欧美| 色欧美色交综合| caopeng97| 日韩亚洲中文字幕在线| 蜜臀99久久国产| 青娱乐大香蕉| 午夜精品视频777| 热思思免费视频| 欲色啪| 天天操天天射青青草| 青青久久手机线视频| 伊人麻豆传媒| 97精品97| 色99在线| 亚洲精品三区在线观看| 国产区在线| 啊啊啊97视频| 九九碰九九爱97| 成人无遮挡毛片免费看| 淫纸中9区| 天堂国产AV| www.91久久| 国产亚洲欧美每日在线| 午夜噜噜噜| 91高跟美女在线播放| www.久久爱| 日本日逼高清| 日韩大香蕉| 福利大香蕉| JULIA人妻风俗店中出电影| 熟妇操花| 高清无码久操视频| 全国男人天堂网| 神马久久久久久久久久| 狠狠综合| 国产精品一级特黄aaa大片在线观看| 欧美日韩传媒| 蜜桃狠狠色伊人亚洲综合| 99999精品视频| 亚洲无码一区二区三区三州| 91啦人妻| 成人性交午夜免费片| 97伪v| 亚洲AV免费在线观看| 人人考人人摸人人干| 国产精品盗摄 偷窥盗摄| 丝袜 中出 制服 人妻 美腿 中文字幕| 神马久久69| 天天干天天日天天射黄色| 欧美成人午夜免费福利785| 日韩免费三级黄片电影| 老熟妇91| 国内外毛片在线观看| 国产成自自拍在线观看| 国产丝袜视频| 一区三区啪啪| 免费啪啪av| 国产精品美女视频诱惑| 伊人欧美大香蕉视频| 97视频900| 熟女一区二区| 色色色网站| 入口操逼网站| www.yeyecao| 久久精品熟女亚洲AV麻豆软件| 久热精品在线| 精品九九淫乱男| 性色中出| 亚洲综合春色| 激情AV| 91人妻尻屄视频| 懂色av色欲av蜜臀av| 在线免费观看高清无码视频| 国产一线二线三线av| 麻豆黄站| 啊啊啊好大好湿| 午夜成人福利影视|