国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

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
返回資訊列表
国产少妇高潮| 亚洲情色图片区| 18精品一区| 亚洲一区二区av| 久久最新视频免费观看| 精品国产乱码久久久久久久| 真实高潮91| 成人日本视频人妻在线| 成人在线视频网| 国产不卡的视频| 青青青国产手线观看视频2| 亚洲一区日韩| 午夜视频久久久| 视频国产精品未满十八禁止在线观看| 久久久111| 国产乱伦视频污| 色婷婷影院| 久久视频少妇美女| 欧美日韩操操操| 精品亚州18| 性爱视频免费网址| 夜夜国产一区| 国产乱色国产精品免费视| 六六久久日韩不卡| 成人蜜乳小视频网站| 久久综合九九| 国产精品一二三区福利| 中国一级αV| 五月激情小说| a级免费在线观看| 东京热男人的天堂网| 国产丁香精品露脸视频| 亚洲午夜免费狠狠干| 亚洲天堂男| 神马福利久草| 蜜臀久久99精品久久久电影| 国内精品不卡无毒99999| 亚州性色| 久久天天摸| 无码不卡亚洲成?人片| 人人人人人人少妇| 人人操人人93| 在线情色电影 91大 | 精品综合久久久久久97| 黄片www.| 91春色| 女色视频社区| 激情网色| 污色区网站| 超碰午夜在线| 欧美性爱第一区| 天天澡天天爽日日av| 国产一级高跟丝袜| 999熟女精品| 国产毛片久久久久久久| 欧美高清91| 午夜天天碰综合视频| 欧美日本成人一区二区| 69人妻精品丰满熟女区| 亚洲欧美精品福利在线| 97综合久久| 天综合网欧美| 欧美另类色图片| 综合亚洲欧美| 欧美伦乱爱| 在线可观看的黄色网址| 日韩性爱一级片| 精品成人女人久久| 日本福利二区视频| 91精品网站| 麻豆一区二区三区精品| 久久XX| 国产二区三区免费视频| 欧美性视频二区三区| 色一情一乱一乱一区91Av| 综合网天天| 91日产欧美| 丰满的三级少妇欧美久久久| 国产日韩精品suv| 在线小视频| 九九黄色网| 久久老女人| 久久超碰98| 日韩精品区二区三区不卡| 国产精品午夜福利亚洲综合网| 国产精品欧美日韩久久| 91精品国产91综合久久蜜臀| 欧美人妻一区二区| 亚洲自拍一区夜夜操| 亚洲精品aa久久伊人| 欧美黄色手机在线观看| 亚洲无码一区成人免费午夜| 老汉网| 亚洲精品视频二区| **一级毛片国产| 欧美性爱综合,免费| 国产精品一区二区三区四区五区| 超碰碰小说97| 欧美亚洲AN| 日日夜夜天天| 亚洲国产激情国产av| 超碰97人人cao| 91强在线播放| 亚洲色9| 日韩精品一区二区三区四虎影视| 欧亚性爱视频免费看| 大香蕉一级黄色片久久| 综合熟妇一区二区三区| 97久久久网站| 久久线上视频免费看| 欧美中字二区| 91欧美长吊| 亚洲不卡AV在线| 第一高清av中文字幕| 丰满人妻一区二区三区性色| 国产免费一区2区3区| 欧美九九九九九| 欧美成人精品一区二区男人蜜臀| 欧美日韩国产人人| 中文字幕精品久久久久人妻红杏ⅰ| 91美女丝袜诱惑视频| 性开放中文AV高清无码免费看| 国产肏逼网站| 一个色导综合| 思思热久久成人| 日韩精品资源专区二区| 69XX一中文字幕人妻91| 懂色Av| 黄页av| 男女啊啊啊| 美女性91| 欧美色偷偷| 伊人欧美大香蕉视频| 人人爽夜夜玩视频| 99超碰网| 猛猛干| 久久人妻熟女一区二区| 中日无幕一二三四区| 色五月综合网| 人妻加勒比东京热| 久久久久13| 国产精品久久久亚洲一区| 99无码视频| 亚洲91少妇| 久久人妻精品| 天综合网| 观看免费区二区三区二| 97天天做| 风月影院男女十八禁| 亚州图片第一页| 青操影院| 粉嫩AV一区二区夜夜| 成人情色综合网| 蜜屁av| 一区二区三区高清| 搡老女人911熟妇老熟女| 综合网亚洲| 日本精品网站在线中文| 欧美日韩在线国产在线| 久久激情综合| 九九热免费国产视频婷婷伊人五月| 午夜天堂精品久久久久91| 男人的天堂啪啪| 男人的天堂2019AV| 综合国产97| 亚洲电影91| 欧美性第1页| 舔足天天操天天射| 亚洲一区日韩精品| 国产综合永久精品日韩鬼片| 九九AV| 操我啊啊啊啊啊| 婷婷成人久久久精品| 国产丝袜美女诱惑| 激情小说亚洲图片| 91丨人妻丨国产丨丝袜| 国产AV激情无码久久无码| 日本精品高清一二区一本到| 99久久9| 人人潮人人摸| 六月激情网| 91网亚洲| 亚洲综合首页| 亚洲欧美在线观看免费| www.天天干| 亚洲色9| 天美一区在线| 曰韩人妻中文字幕在线| 99久久精品无码一区二区| 国产高潮AA片免费看| www激情| 欧美片第一页| 日韩精品 视频一区二区| 婷婷五月在线视频| 女人18精品一区二区三区| 麻豆久久一区二区三区| 丰满人妻一区二区三区大胸懂色| 人妻天天夜夜爽一区二区| 性爱AV天堂| 精品人妻一区二区三区不卡断 | 丝袜视频网国产90| 乱伦一二三区| 99爱爱| 殴美牲| 日日做夜狠狠爱欧美黑人| 97操b| 中文字幕日韩人妻视频一区二区三区| 国内91熟女人妻丝袜天天精品视频在线 | 玖玖爱一区在线| 欧美色交| 老熟妇一区二区三区…| 无码99| 大香蕉在线SuP| 美女天天干| 日本123区操B视频| 天天综合网~91入口| 97超碰欧美中文字幕| 久操视频资源站公开| 亚洲男人的天堂V| 日1区2区3区2020| 日韩欧美~中文字| 婷婷av在线中文字幕| 九九九九久久久| 国产尤物在线三区| 欧美日韩香蕉| 人妻激情在线视频| 91精品久久久久五月天精品| 色眯眯射| 久久97超碰| 国产精品久久久鸭无码的功能| 偷拍超碰| 国产无码精品成人| 嗯嗯嗯啊啊啊操的我好爽 | 国产小u女在线观看| 九草在线大香蕉| 嗯嗯不要 视频| 亚洲操人| 免费99精品国产自在在线| 国产精品露脸在线观看| 91 国产丝袜在线放观看| 日韩精品-原创伙伴| 亚洲激情av| 岛国片在线观看视频亚洲| 加勒比综合九九99视频在线播放| 91丝袜美女视频| 天天色粽合合合合合合合| 香蕉精品二区二区 | 色哟哟511老熟女| 欧美亚男人的天堂| 91综合网| 亚洲棕合电彰| 国产在线激情视频| 色偷综合| 偷看洗澡一二三区美女| 精品丰满熟妇人妻一区| 日本久久网| 97亚洲综合在线| 欧美人与动性人交a| 激情专区综合| 男人夜色天堂ss| 果冻国产精品麻豆成人av| 99无码视频| 欧美日韩人人精品| 男人天堂东京热| 天天弄天天操| 色久桃花影院在线观看| 99无码精品| 日日夜夜草草草| 蜜臀99久久国产| 性爱视频免费网址| 欧美激情综合| 人妻娇喘 激情视频| 97免费在线观看视频| 日本熟妇人妻中出视频| 色 亚洲 91| 欧美性第一页| 一级性爱视频免费观看 | 日韩精品一区二区人人人| 屁股久久久久久久| 国产色呦呦| 欧洲天天在线| 天堂亚洲精品久久老牛| 黄色大片免费在线| 久久9精品视频| 国产91丝袜 在线播放| 成人无码在线超碰网| 亚洲精品视频在线播放| 久久一本大香蕉| 国内精品999| 91精品国久久久久久无码| 91肉片| 91亚洲黑人| 日本不卡二区| 97色色网| 国产丝袜啪啪| 日韩乱插| 97人人夜| 曰韩欧美国产传媒麻豆第一区| 天天综合网~91| 色欧美天天| 夜夜性| 99爱视频| 国产中出内射一区二区| 欧美亚洲成人在线一区二区三区| 97人人超| 亚洲欧美国产中文视频| 二级久久网| 国产精品久久久无码aV去| 欧洲精品久久| 色性欧美| 黄片aaaaa一区| 欧美与日韩97| 女人爽到高潮潮喷18禁网站| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 亚州五月| 久久久久久久久久久97| 2023天天操夜夜操| 九色 蝌蚪 熟女自| 久九干| 精品人体无圣光凹凸| 97欧美精品综合| 白天啪啪晚上啪啪视频| 九九九九九九视频| 婷婷久热| 亚洲熟女性高潮久久久| 欧美性性性| 性九九九九九九| 国产免费永久精品无码| 9久久久久| 九九九久久久久| 国产黄色 A 片免费看| 91人妻在线视频| 亚洲少妇自拍中文字幕懂色| 高树玛利亚无码流出| AA特级绝黄| 一起草高清无码| 欧美性爱网97| 97视频在线免费看| 热久久这里只有精品| 大香网站| 久久久久亚洲三级电影| 欧美综合1性辶| 色综合20p| 丝袜制服字幕在线| 欧美超碰9798| 一二三四日本视频高清| 香一区二区三区| 97色色色| 日本天天色| 婷婷色导航| 久久老子无码午夜伦不卡| 日韩中文字幕人妻视频| 秋霞一集毛片观看| 中文字幕三四五区| 亚洲熟久久| 日韩内射视频| 蜜臀亚洲中文| 欧美中文字幕一区| 97视频在线视频| 欧美日韩制服| 手机av亚洲丝袜美腿日韩第一页二页| 大香蕉综合在线| 久久m| 欧美综合网1| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 欧美亚洲一区二区久久久婷精品大包诱| 亚洲熟妇自偷自拍另欧美| 欧美成人精品一区二区三区| 性色国产东北露脸精品视频| 牛牛久久国产精品视频一二三 | 狠狠操,使劲操| 白丝被操91| 四虎国产精品永久在线囯在线| 色五月av| 国产精品探花色| 亚洲精品影视老司机| 欧美在线官网| 午夜啊啊| 人人操人人操人人人操| 色青青久久影视| 亚洲成人av色网| 久久99精品九九久久久婷婷| 亚洲图片欧美偷拍| 试看日韩黄片| 国产精品无码av| 婷婷午夜| 伊人四虎综合| 五十路六十路素人熟女| 狠狠色婷婷7777久| 97超久碰| 久久精品区| 中文字幕一区电影在线观看| 小草精彩毛片| 精品视频久久| 婷婷六月色| 成人在线永久| 日本精品中文字幕视频| 色婷久久| 91成人亚洲色图| 欧美v亚洲v日韩v最新在线二区 | 综合操逼| 久草精品一区 | 交换娇妻呻吟声不停中文字幕| 九九干| 黄页18禁| 国产乱伦性爱区| 啊啊啊啊嗯嗯嗯用力好爽| 欧美成人国产精品| 一区二区三区亚洲| 日韩草久视频| 青青草久草| 久久精品国产精品亚洲艾通辽熟妇| 久久久久亚洲精品| 国产女大学生AV| 久久精品人体| 强奸乱伦 亚洲一区| 操我啊啊啊啊啊| 明星性猛交ⅹxxx乱大交| 成人欧美一区二区三区黑人一| 成人情色综合网| 日本肏逼视频在线观看| 亚洲第一页综合在线| 久久精品国产72国产精品福利| 欧美同性恋 的搜索结果 - 91n| 丝袜美腿制服人妻二区中文字幕| h色99999| 国产大学生高潮在线播放 | AV中文字幕三四五| 97久久久久久久精| 亚洲 无码 偷拍| suv精产一二三区| 综合日本女人伊人| 精品无码久久久久久国产浪潮| 99婷婷| 91熟女丨91老女人| 91美女视频在线| 日本中文字幕在线视频| 久久精品人人做人人看| 久草精品一区| 国产精品电影| 久久熟女嫩草成人片免费| 9久久精品| 26uuu久久| 久久超碰98| 久久精品亚洲成a人天堂| 中文字幕1区2区| 日韩紧密久久| 一级啊性爱在线视频| Aa东京男人的天堂| 天天享受天天看| 日本在线激情一区二区三区 | 四虎精品一区二区| 大地资源在线观看中文第二页| 日韩懂色网| 国产中文字幕在线| 性感美女啊啊啊在线| 又大又大又大又粗爽高潮观看| 韩日性爱av| 操我无码| 日日干男人的天堂| 日韩AV电影网站| 人妻丝袜无 码视频专区| 无码九九九九| 久久久久久精品免费看A级| 午夜呻吟欧美| 综合伊人网12色| 欧美性爱另类综合| 黑人性欧美| AV免费在线播放一区| 91日产欧美| 波多野结衣先锋影音| 26uuu欧美日韩| 天天日天天干天天整| 久久久工口| 亚洲图片欧美另类综合免费视频大大香| 精品九九九九| 亚洲色图综合网| 国产污视频麻豆传媒一区二区| 超碰 欧美| 国产女生在线| 国产免费内射视频| 日本一区二区三区精品| 中文字幕日韩电影人妻| 久久同城AV| 午夜寂寞欧美| 九久9精品| 99色热| 97就爱干| 凹凸视频特色日本特黄| 天天欧美| 一道本东京热加勒比一区二区三区 | 欧美日韩人妻婷婷一区| 日韩AC| 91狠狠综合久久| 亚州欧美在线| 日韩午夜国产| 国产粉嫩蜜臀av一区二区三区| 夜夜嗨一区二区| 人妻熟女一区二区三区视频| 国产欧美精品日韩区二区麻豆天美| 秋霞Av理论一级在线| 又黄又爽在线观看视频| 日韩免费中文字幕视频| 中文字幕视频免费| 97人人射| 中文字幕天堂在线| av日韩中文字幕| 丰满人妻-区二区三区免费| 久久久久久久九九九九九九| 69久久| 欧美男女午夜啪啪| 亚洲黄网在哪免费看| 97在线免费视频观看| 大香网伊人久久综合网eew| 国产成人自拍视频在线| 亚洲欧洲日本精品中文a∨| 亚洲美女 晚间男人天堂| 六月丁香啪啪| 国产无马视频| 91狠狠| 黑丝制服中文字幕 | 久久精品亚洲婷婷| 精品一区二区成人动漫| AV乱伦专区| 综合熟妇一区二区三区| 欧美性暴力猛交XXXX | 久久久久婷婷| 国产精品一区午夜福利| 综合久久9| 激情婷婷丁香网| 亚州色站 日韩电影| 丁香五月色| 日韩乱伦AⅤ| 超碰78| 91女日逼| 色噜噜精品一区二区三| 欧美巨大性舒爽顶到了| 日本二三四区| 午夜九九| 国产第11页| 亚洲永久永久永久永久一级一级一级精品| 亚洲天堂男人在线| 中文字幕jul-617人妻熟女| 丰满人妻一区二区三区四区| 欧美v日韩v亚洲v最新在线| 欧美精品一二三| 天天影视之亚洲综合网| 中文字幕在线2| 亚洲国产精品成人无码久久久| 久久久91| 精品在线78| 女上位精品在线| 91美女視頻| 色九九综合AV| 久久99国产综合精品女同| 欧美视频在线视频免费va| 成人亚欧免费视频| AV污污污污| 人人弄人人摸| 日韩欧美亚洲自拍偷拍| 91在线免费精品视频| 欧美劲爆第一页| 欧美亚洲系列| 日韩成人小视频| 凹凸 69堂 在线播放| 日本一卡二区在线| 精品一区二区久久| 熟妇激情| 青草伊人网| 人妻少妇精品久久久久久| 97超碰国产亚洲精品| 97国产精选| 久久久99999久网站| 欧美视频在线第3页| 东京热AV男人的天堂| 青草成人免费视频一com| 一个人免费视频观看在线WWW| 69XX一中文字幕人妻91| 午夜视频好爽啊| 99色色| 色哟哟AⅤ| 99亚洲国产精品色一区二区三区| 伊人网免费视频| 9丨亚洲一区二区在线| 成人26uuu| 国产成人一级av88| 国产亚州精品美女久久久免费| 蜜臀操逼黄色视频操的好爽| aaa一级黄片| 六九九九| 国产精品网站www| 亚洲色悠悠久久88| 激情内射| 欧美色图91| 人人干人人操人人爱| 亚洲精品国产专区在线观看| 成人美女av| 亚洲五月丁香花狠狠干一区二区三区| 嗯啊不要在线观看嗯啊| 色婷婷综合久久中文字幕雪峰| 任我爽视频在线观看| 亚洲欧洲色情高清| 国产日产欧产美韩系列麻豆免费| 99999久久精| 久久国产AⅤ| 日本午夜操逼| 91在线色综合| 色娱乐色呦呦夜夜夜夜av| 亚洲诱惑天堂 | 国产高清26uuu| 国产精品久久伊人| 人人喜人人妻| 九九九九九九九九九九九九九九九女| 婷婷丁香人妻 | 国产女人9999| 91av一区二区在线观看| 啊啊啊啊好疼视频| 丁香五月大香蕉| 欧美久久毛片基地| 精久久久| 老女人综合| 久久无码成人| 国产精品无码AV网站| 大香蕉2017| 尤物黄色在线观看网站| 久草成人福利导航| 久草免费在线视频| 欧美色图天堂在线| 欧美色女人| 欧美黑人与女人91~| 精品国产久久乱码| 明星性猛交ⅹxxx乱大交| 中文字幕国产| 日韩av影片在线观看| 成人久久无码www| 97中文综合| 成人黑料社久久| 亚洲精品黑丝| 日va操| 久干网| 久久久久久精品免费看A级| 99久热精品99re6热| 少妇内射www在线观看视频| 久久这里只| 久久只有精品一区二区三区| 欧美久久草熟女| 久久久九九网站| 综合欧美日韩在线| 人人操人人爽人人操人人| 性色av网站| 中出789在线视频| 97天天| 91干熟女| 欧美极品色| 久久久久久亚洲Av无码精| 大香樵伊人网| 91在线一起| 最新日产中文在线麻豆| 亚洲人妖网| 91老熟女视频| 屌色在线97视频| K8久久久久| 黄片直播三级黄片两女一男| 综合久久99亚洲人妻中文在线| 国产精品直播在线观看直播| 91在线|亚| 日韩精品人妻中文字幕不卡乱码| 温婉少妇玩3p| 九九亚洲色在线观看| 国产女人高潮嗷嗷嗷叫小说 | 精品视频在线观看| 九九在线视频| 九久久九精品视频| 性生活无遮挡纯毛片在线看| 青青草日韩无码| 无码av永久免费专区网站| 午夜九九| 97操在线| 色欲人妻一区二区在线| 91/欧美| 日本潮催一卡操| 久久精品一区| 亚洲国产精品V?在线播放| 久久久av爱| 中文字幕日韩电影人妻| 亚洲黄日韩无码专区| 日韩人妻有码免费视频| 久久同城AV| a一区二区三区乱码在线| 殴洲老熟女| 国产绿奴视频在线观看| 亚洲在钱| 超碰99在线观看| 就去色综合| 丰满人妻一区二区三区免费,| 四虎影视精品| 国产久久久9999| 国产精品ⅴ无码大片在线看.| 丝袜综合| 亚洲天堂7777| 一区二区三区色综合| 亚洲AV性爱电影| 麻豆色约约| 密桃99999| 12一15性XXXX粉嫩国产| 欧美 熟女 日韩| 国产精品一级片在线看| 精品美女少妇一区二区| 爱av免费| 91老熟妇| 欧美78| 国产福利精品最新在线| 欧亚日韩一区在线| 大香蕉一人在线| 殴美在线AⅤ| 97视频免费播放| 国产av尤物| 欧美一区二区三区互相| 久久久精品九| 男人的天堂2019AV| 精品国产无码中文| 97在线视频免费看| 中文字幕 一区二区 亚洲无码| 18禁中文字幕| 我中文字幕6区| 五月丁香影院| 蜜乳Av成人片网站| 久操电影网| 亚洲色图加勒比| 新婚人妻扶着粗大强行坐下| 97在线视频免费看| 97视频7| 国产av波波国产精品| 国产精品久久久亚洲第一牛牛_在线观看| 超碰97爽| 在线一道啪| 久久免费少妇| 久久综合av| 亚洲欧美色图片| 人妻夜夜爽天天爽麻豆三区网站| 91草草草| 欧美综合天天| 欧美劲爆视频一区二区| 一牛影视久久久一区二区三区| 人人妻人人爱人人玩| 大香蕉强奸乱伦| 久久高潮妇女视频| 9997se| 国产精品久久久久久夜夜夜| 免费的黄片wwwwww| 74成人在线| 神马麻豆福利院| 亚洲精品国产av天美传媒| 人人人人人人少妇| 国产不卡免费在线视频| 日韩性爱啪啪视频| 久久大香蕉97| 东京热av男人的天堂| 丰满人妻一区二区三区四| 人妻中文字幕日韩电影| 欧美中文字幕日韩在线| 91精品人妻| 亚洲Av噜噜一区二区三区妖精| 欧美午夜精品久久久久久3D| 3p国产欧美99热| 黑人精品XXX一区一二区| 欧美日韩中文视频播放| 操久久久久| 日日夜夜模| 啊啊啊97视频| 欧美色66| 日本曲间由美性生活片| 丁香五月激情综合| 手机看片1024你懂的国产| 最新岛国大片| 亚洲一区操| 欧美日韩欧美| 好湿好紧视频| 久久成人精品| 东京热熟女亚洲视频网站| 台湾佬中文娱乐自偷自拍| 日韩乱码Av| 久久久五月天| 被窝影院午夜看片无码| 91精品国产综合久久久蜜臀酒店| 91精品国产91久久久久久久久久久久| 啊啊啊不要嗯嗯在线观看| 黄色十八禁网站| 91九九九逼| 久久久久一本一区二区青青蜜月| 久久久艹艹艹| 天天操天天射青青草| 神马精品视频| 吻戏激情性巴克| 日本大片日本一区二区免费高清| 郑州宾馆老熟女露脸啪啪| 国产久久成人| 日本欧美一区二区三区免费| 夜夜操青青草| 日本丝袜人妻内射| 一区二区三区成人高清视频| 嫩呦国产一区二区三区AV| 影音先锋日本一区二区| 精品人妻中文字幕4399| 亚洲?V无码专区在线电影| 国产精品福利视频播放| 亚洲精品国产熟女| 人妻少妇被猛烈进入中| 强奸乱伦Av网| 日韩国产中文字幕| 桃花色涩综合影院| 色九九九九久| 婷婷伊人一区| 国产精品91ai| 久久久久斤小| 97久久超碰亚洲| 久草资源在线| 九九九精品成人免费视频小说| wwwxxx日本爽| 自拍视频一区在线观看| 久久久久成人亚洲国产| 色999;丁香五月| 亚洲男人天堂Av| 九九九久千久久激情蜜桃在线看| 狠狠操一区二区| 麻豆区久久久久亚| 操逼内射干逼白丝91| 超踫中文字幕| 欧美专利1区2区3区4区5区免费| 五月天玖玖资源站| 亚欧毛片基地国产毛片基地| 麻豆国产97在线| 久久区| 亚洲人妻色图| AV色五月天| 青久操| 久久精品视频28| 亚洲精品欧美专业| 伦理片秋霞免费影院| 94色色电影网| 99精品丰满人妻无码| 日本一区二区三区欧美日韩中文字幕| 91情色| 九9热伊人| 人妻丰满熟妇av无码区蜜桃| 熟妇人妻丰满久久久久久久无码| 永久免费观看的毛片的网站| 69av一区二区三区| 亚洲AV无码国产精品久久久久| 欧美色性爱| 久久精品性| 天天爽人人综合免费7799| 欧美日韩高潮喷水91| 综合网,亚洲,欧美| 五月激情天| 日韩三级一区| 91色伦| 亚洲中文字幕妇伦久久| 欧洲小说色图视频另类| 亚洲人妻爽爽爽| 欧美操人视频| 久久鲁干| 欧美另类色| 天天色踪合| 黄页av| 亚洲欧美国产va在线播放频| 亚洲啪啪视频免费| 人人操人人摸人人看人人插| 丰满人妻av一区二区三区| 另类图片五月| 好吊色一区| 狠狠97| 欧美成人四级在线播放| 91婷婷伊人狠人| 东京热av男人的天堂| 久草这里只有精品| 殴美大黄片| 成人五月香网在线| 亚洲九九视频在线观看| 在线毛片片免费观看| 亚洲高清在线| 一区二区三区无卡视频在线观看| 淫荡网址| 伊人久久婷婷| 99精品网站| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 久久久久婷婷| 婷婷伊人一区| 91老司机精品| 亚洲天堂99| 少妇天堂网络| 久久久久久九九九| 天天日B夜夜干B时时操B| 九热大香蕉| 亚洲第一视频 欧美风情 日韩| 操人人| 亚洲黑丝在线| 久欲AV| 影音先锋中文字幕日本好一区二区| 九九九网页| 青青草在线视频人人想人人上| 亚洲91亚洲| 青青操国产夫妻| 观看视频图片一区二区三区| 日韩资源网| 精品一二三区四视频| 超碰97人妻免费在线| 亚洲成人ab| 久久久久夜夜夜夜| 色婷婷小说| 欧洲站一级二级三级h| 亚洲欧美日韩电影网站一区| 国产日韩区| 美女淫穴| 隔壁邻居波多野结衣中文字幕| 久久综合日韩亚洲欧美| 一级日本牲交大片好爽在线看| 岛国AV一区二区电影| 91成人无码| 天堂成人网| 亚洲动态色图| 欧美国产日韩清纯唯美| 91亚洲综合在线| 日韩免费性爱视频在线观看| 91高跟美女在线播放| 600国产精品视频| 免费少妇一区二区| 日本一天色道久久久精品视频| 无码人妻一区二区三区色欲aⅴ | 色色色色网站| 91中出在线| 欧美性爱精品一区二区| 久久大香蕉97| 欧美后进式| 亚洲图片欧美| 男人的天堂.com| 亚洲国产精品成人综合| AV 少妇 人妻 偷拍| 精品国产乱子伦一区二区三区,精品一| 99久久综合| 97亚洲精品| 大香蕉综合| 五月婷婷六月丁香网址| 亚洲综合大片| 国内毛片免费h片在线| 五月天伊人网| 在线天堂999| 伊人久久综合精品欧美| 男女性扦B| 亚洲综合小说另类图欧美视频激情小说色五月天 | 视频国产成人精品日本亚洲18| 亚洲91色在线| 五月亭亭六月丁香| 亚洲揄拍网| 国产一区二区视频在线播放| 欧美日韩色| 久久久亚洲精品电影免费看| 曰韩av中文字幕专区| 日日操免费视频| 性无码专区2020| 欧美激情一| av久日| 激情四射婷婷四五月天| 久久精品性| 婷婷丁香九月| 麻豆天天躁天天揉揉AV| 婷婷五月天无码| 色女99一级片在线观看| 狼人久草| 啪啪AV导航| 国产拍偷精品网站| 欧美日韩国第一区| 中文字幕亚洲永久精品| 亚洲精品自拍| 免费的黄片有限公司| www.色婷婷色综合| 成人小说另类在线| 天美精品一区二区三区四区在线观看| 91爆操视频| 久久久人妻| 日韩精品人妻中文字有码在线 | 久久综合五月天| 亚洲图片激情综合另类| 一级黄碟在线观看| 久久97资源 网| 国产超碰在线一区| av草草在线电影| julia中文字幕在线观看| 啊啊啊啊啊啊啊在线| 欧美日韩性感| av在线人气| 麻豆一区二区三区精品| 日本久久超碰| 大屁股国产在线视频| 亚洲男人的天堂亚洲| 成人七区| 日韩性爱一级片| 99热线麻豆 | 久久αⅴ| 9999亚洲精品| 五月丁香| 国模不卡| 国产91亚洲精品一区二区三区| 日本999精品视频| 在线国产探花| 亚洲成人在线高清| 一区二区影视| 五月婷婷综合在线| 亚洲 欧美 另类 日韩 人妻一区| 中文字幕av一区二区三区人妻少妇| 中文字幕无码不卡啪啪| 亚洲骚男同com| 亚洲性网| 国产无码一二三区| 91久久久久久久久久久| 欧美亚洲宗合色性图| 亚州综合色| 中文一区二区三区影院| 屁股久久久久久久久| 草b在线| 97操碰| 欧美一级黄片免费播放| 台湾成人无码AV| 琪琪精品免费一区二区三区| 男女一级A片大黄,一进一出| 欧美熟妇视频| 国产精品一区在线播放| 欧美日本成人一区二区| 久久久久久AV无码免费网站| 丝袜制服字幕在线| 日韩精品人妻中文字幕不卡乱码| 草草草视频在线免费看| 黄片无码在线制服| 伊人天堂在线| 日本一久是| 啪啪性爱免费视频| 亚洲nv男人的天堂网| 99.色网| 欧在线一二区| 婷婷综合五月| 91女优在线观看 | 久久不卡一区二区| 婷婷五月激情综合| 欧洲一级性爱视频在线观看| 日本熟女不卡视频| 久久亚洲中文字幕视频| 精品国产av一区二区三区四区入口| 久久97超碰| 综合网少妇| 伊人久久大香蕉线AV五月天| 亚洲在线a| 日本污ww视频网站| 熟女91网| 一线黄色免费性爱片| 超碰在线97国产| 免费岛国一级片| 中文字幕在线观看AV| 亚洲视频精选| 夜夜国自区| 久久婷五月| 久久婷婷亚洲| 欧美天天弄| 欧美人妻少妇| 最新日本中文字幕| 天堂成人网| 久久久精品| 成人免费视瓶| 性爱乱伦视频免费| 天天色黄色影院天天操| av无码av无码专区| 操逼日批| 国产东北女人在线视频| 欧美日韩免费性爱| 日韩,欧美,中文在线| 亚洲无码色| 国产欧美美女免费观看视频| 国产不卡精品91| 内射中出日韩在线观看视频| 精品视频97| 长久操视频| 亚洲综合另类色图| 男人的天堂va在线| 一本色道无码DVD中文字幕| 亚洲精品一二牛牛| 1人人看人人摸人人操| 操逼操逼逼操操逼91| 欧美视频在线视频免费va| 亚欧精品久久久久久久久久久| 久久欧美按摩999| 秋霞男人网| 91少妇通奸网站| 美女高潮国产高清| 久久大黄片| 日韩久久.一级黄色片| 综合久久99| 99自拍B亚洲 | 日本在线视频导航| 天天舔天天| 欧美在线l亚洲| 青草伊人网| 91肉丝| 精品人妻一区二区视频| 久热伊人| 久久久久久性爱视频| 成人在线午夜视频一区| 老熟女综合| 操逼逼中文字幕| 国产伊人自拍| 干B| 97在线观看免费视频| 久草线上视频免费看| 男人干美女| 99热免费精品| 国产视频一区二区在线观看| 婷婷久月| 噜噜吧,噜噜色,噜噜| 可以在线观看的黄色网址| 手机看片91人妻| 亚洲情色综合| 啊啊啊啊好多水| 精品97久久| 亚欧洲日韩国产精品| 天天欲望网| 亚洲中文字幕一区二区| 热热色青青草| 91亚洲黄色网| 夜夜骑操视频| 99热线麻豆 | 久久精品国产亚洲妲己影视| 人人操人人肉久久精品| 九九九九一区| 97在线播放| 淫淫综合网| 偷拍 亚洲 欧美| 美女刺激久久国产欧美| 亚洲综合色图欧美| 久久综合亚洲色1080p| 国产h片在线观看视频| 人妻密肉在线观看| 国产精品夜夜夜| 国产亚洲精品无码三区| 天天色综合图片| 男人的天堂三级| 色就色综合| 色色色色色色色色色色色色色色综合| 操死我了啊啊啊| 人人摸.人人色| 九九热男人天堂| 天天噜| 八戒午夜福利理论片| 蜜乳AV网址| 盗摄 精品 另类 一区| 人妻天天爽夜夜爽精品2| 啊操爽品善一区二区三区| 经典丝袜一区| av中亚| 夜色AV无码手机在线影院| 天天插天天干| 使劲用力艹少妇视频一区二区| 操操操五月天婷婷丁香影院|