
北京谈球吧论坛科技有限公司
谘詢熱線:010-82488292
公司電話:010-82488292
公司傳真:010-82611646
企業郵箱:sales@changyinwuye.com
地址:北京市海澱區中關村大街19號 新中關大廈B座南翼15層1507室
RK3288 新的觸摸屏驅動移植過程
摘要 : RK3288觸摸屏驅動一般都可以從供應商得到驅動的DEMO, 這些就是我們從供應商那得到的代碼,要移植一款驅動,就必須先看懂原來的驅動,不要求完全看懂,能看個大概就可以,判斷下驅動需要修改哪裏。
1.觸摸屏驅動一般都可以從供應商得到驅動的DEMO
這些就是我們從供應商那得到的代碼,要移植一款驅動,就必須先看懂原來的驅動,不要求完全看懂,能看個大概就可以,判斷下驅動需要修改哪裏。有的IC會提供移植文檔,但是有的沒有,以為電容觸摸屏的驅動原理都差不多,所以驅動程序架構也相差不大。其中ft5x06x_ts.c是這個驅動的核心文件,文件的結構如下:
以上箭頭所指的函數是驅動非常關鍵的函數,
分別是驅動的入口函數和驅動退出函數。
probe函數也非常重要即驅動的探測函數,
中斷處理函數。
2.複製驅動文件到 kernel/drivers/input/touchscreen
注意,在touchscreen下麵新建了個文件夾ft5x0x放驅動文件
3.編寫Makefile 和 Kconfig,讓係統編譯到我們放進去的驅動文件。
先在touchsrceen目錄下修改Makefile和Kconfig
Kconfig的修改,添加紅框的內容
Makefile的修改,添加紅框的內容
然後進入ft5x0x目錄,再添加一個Makefile文件
4.在kernel 目錄下敲make menuconfig 然後回車。
然後找到 > Device Drivers > Input device support > Touchscreens當前路徑
│ │ --- Touchscreens │ │
│ │ <*> zet62xx touchscreen driver │ │
│ │ < > gslX680 touchscreen driver for firefly │ │
│ │ <*> ft5x0x touchscreen driver for firefly │ │
│ │ <*> Goodix touch screen gt801X2 support for rockchip based plat│ │
│ │ < > CT36X touchscreens support │ │
│ │ <*> VTL touchscreens support │ │
│ │ < > ADS7846/TSC2046/AD7873 and AD(S)7843 based touchscreens │ │
│ │ < > AD7877 based touchscreens │ │
│ │ < > Analog Devices AD7879-1/AD7889-1 touchscreen interface
選擇ft5x0x touchscreen driver for firefly ,前麵*號代表已經被選擇,會編譯到內核。
選擇後保存退出,然後編譯,出現各種錯誤。為什麽會有那麽多錯誤呢,因為驅動DEMO編寫的時候不是在rk3288上寫的,而且基於的內核2.6或者3.0比較舊,而rk3288使用的內核是3.10,采用的是dts,這就要我們去修改。
修改步驟:
①根據編譯錯誤,或者找不到的頭文件屏蔽了,在平台找到對應的頭文件補上。
②根據錯誤提示繼續修改,無非就是一些宏定義沒有,或者結構體沒有。
小技巧:打開firefly默認使用已經移植好的驅動,大概看下,就知道怎麽改了。
5.編譯通過後,讓驅動跑起來,由於之前的驅動沒有DTS,所以加入DTS,GPIO 、中斷等參數從dts獲取。
①在ft5x0x_ts.c的probe函數加入以下代碼,當然還得添加頭文件,一些變量等
②在firefly-rk3288.dts中加入dts配置
如果你的IC是掛載I2C1就在裏麵加,如果是2就到i2c2裏麵加
6.接下來就是細節慢慢調試了。
RK3228移植觸摸屏常遇到的問題:
1.I2C不通,檢測下硬件,電源是否有電,檢測設備的地址是否對。上電時序是否按規格書來,比如要求複位腳拉高等..
2.觸摸屏分辨率和方向不對,驅動配置是否正確,如果配置對,可以從驅動裏的固件修改,驅動固件一般找驅動IC的FAE(技術支持工程師)來調試。
驅動調試工具可以用串口,ADB 等
上一篇:RK3288底板+核心板設計過程1970-01-01
下一篇:TI推出最新Sitara AM335x ARM Corte1970-01-01
文章推薦
- RK3288底板+核心板設計過程
- RK3288廣告機硬件和軟件調試心得
- 一款基於TI Sitara Cortex-A8 AM3358的嵌入式單板機
- BeagleBone產品采用了谈球吧论坛儀器推出的Sitara AM335x Cortex A8 ARM處理器
- 一個帶有HDMI視頻輸入的VS-RK3288方案
- 瑞芯微vs-rk3288方案定製androids 開發板
- RK3288在人臉識別上的應用及外接雙路攝像頭
- 谈球吧论坛儀器(TI)工業以太網解決方案
- AM335x ARM Cortex-A8處理器-TI DLP 3D打印機總體解決方案
- 瑞星微RK3288方案設計
- i.MX6Q Cortex-A9新一代智能平台
- i.MX6Q車載全觸控智能管理終端解決方案
- AM谈球吧平台正规吗嵌入式充電樁計費控製單元主板方案
- 大聯大控股世平推出 TI 、NXP 多領域應用人機交互平台
- 強化物聯網“心髒”,智能網關設計詳解
- TI AM437x係列處理器為核心的嵌入式開發板Rico Board
- 如何用BB Black製作DAC係統
- 采用AM3352工控核心板進行免疫熒光檢測儀解決方案
- 人機交互與TI Sitara處理器的產品性能介紹
- Rockchip RK3399 eMMc 的 DTS 配置說明
我要評論: | |
*內 容: |
|
驗證碼: |
|
共有0條評論