嵌入式Linux驅動筆記(十五)------編譯使用tslib支援LCD觸控式螢幕
你好!這裡是風箏的部落格,
歡迎和我一起交流。
從網上下載tslib,比如我這裡用的是tslib-1.4
編譯之前先安裝三個檔案:
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
解壓:tar xzf tslib-1.4.tar.gz
cd tslib
./autogen.sh
mkdir tmp
echo “ac_cv_func_malloc_0_nonnull=yes” >arm-linux.cache
./configure –host=arm-linux –cache-file=arm-linux.cache CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++ –prefix=$(pwd)/tmp
上面的這些選項在網上都可以查到,比如:
–host=該軟體將執行的平臺
–prefix=安裝路徑
make
make install
這樣就會生成出四個子目錄:
include:標頭檔案
lib:庫檔案
etc:配置檔案
bin:測試檔案
cp tmp/ /work/nfs/root/ts_dir -rfd
這裡我們把安裝的內容cp到根檔案的ts_dir檔案下,這裡/work/nfs/root/是根檔案路徑,ts_dir 是我自己mkdir的。
接著:
vi /work/nfs/root/ts_dir/etc/ts.conf
第1行(去掉#號和第一個空格),即:
# module_raw input
改為:
module_raw input
意思是module_raw只使用input,即Linux的input子系統。
之後在配置環境變數即可:
vi /work/nfs/root/etc/profile
這個檔案是每個使用者登入時都會執行的環境變數設定
寫入:
#!/bin/sh
export TS_ROOT=/ts_dir
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=$TS_ROOT/etc/pointercal
export TSLIB_CONFFILE=$TS_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TS_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
上面的解釋為:
TSLIB_TSDEVICE=指定觸屏裝置
TSLIB_CALIBFILE=指定觸控式螢幕校準檔案 pintercal 的存放位置
TSLIB_CONFFILE=指定 TSLIB 配置檔案的位置
TSLIB_PLUGINDIR=指定觸控式螢幕外掛所在路徑
TSLIB_CONSOLEDEVICE=設定控制檯裝置
TSLIB_FBDEVICE=指定幀緩衝裝置
這樣環境變數就配置好了。
chmod 777 profile
生成的校準檔名為pointercal,位於$TS_ROOT/etc(即_dir/etc)目錄下。
之後啟動根檔案,insmod觸控式螢幕驅動
cd _dir/bin/然後執行測試程式即可。
最後,可能會出現
selected device is not a touchscreen I understand
錯誤。
這是因為tslib裡EV_VERSION定義為:0x010001
但是我們kernel的裡的EV_VERSION不是,對不上。
所以,在kernel裡:
grep “EV_VERSION” * -nR
找到 EV_VERSION的定義,改為0x010001,重新編譯kernel和觸控式螢幕程式即可。
相關文章
- linux 觸控式螢幕驅動編寫Linux
- Android 觸控式螢幕驅動Android
- 多點觸控式螢幕驅動
- Unity觸控式螢幕觸控事件定義Unity事件
- 「技術乾貨」工業觸控式螢幕之觸控式螢幕分類(連載)
- PLC與觸控式螢幕通訊
- 觸控式螢幕響應速度效能分析
- 開發板觸控式螢幕測試
- Linux驅動開發筆記(一):helloworld驅動原始碼編寫、makefile編寫以及驅動編譯Linux筆記原始碼編譯
- WPF --- 觸控式螢幕下的兩個問題
- 羅克韋爾AB PVPlus觸控式螢幕使用者自動登出的方法
- 觸控板觸控式螢幕禁止手指縮放,這麼處理才行
- 研究發現利用筆和紙記憶勝過觸控筆和電子螢幕
- GhostTouch:針對智慧觸控式螢幕的非接觸性攻擊
- Linux驅動開發筆記(三):基於ubuntu的驅動、makefile編寫以及編譯載入流程Linux筆記Ubuntu編譯
- linux 取消筆記本觸控鍵Linux筆記
- .NET 白板書寫延遲-觸控式螢幕報點率
- win10觸控板如何校準_windows10怎樣校準觸控式螢幕Win10Windows
- 【Nano Framework ESP32篇】使用 LCD 螢幕NaNFramework
- win10 thinkpad怎麼關閉觸控式螢幕_w10thinkpad如何關掉觸控Win10ThinkPad
- LCD螢幕顯示PNG影像
- 嵌入式Linux中的LED驅動控制(續)Linux
- iPhone XS怎麼開啟輔助觸控小白點?蘋果iPhone螢幕輔助觸控使用教程iPhone蘋果
- [linux]一個通用驅動Makefile-V2-支援編譯多目錄Linux編譯
- win10 macbook的觸控式螢幕右擊失靈怎麼辦Win10Mac
- LVGL庫入門教程01-移植到STM32(觸控式螢幕)
- 在linux下編譯hibernate筆記Linux編譯筆記
- linux3.4.2核心-LCD驅動程式的移植Linux
- 如何在觸控式螢幕組態軟體上實時監控農村汙水處理PLC
- 開發觸控式螢幕的頁面時應該注意些什麼問題?
- 嵌入式Linux中的LED驅動控制(使用多個次裝置號)Linux
- 嵌入式Linux中的LED驅動控制(基於misc)Linux
- 04_Linux下把驅動編譯進核心Linux編譯
- Qt編譯MySQL驅動QT編譯MySql
- 筆記本觸控板手勢大全 觸控板快捷手勢筆記
- 嵌入式Linux中的LED驅動控制(裝置樹方式)Linux
- ArmSoM系列板卡 嵌入式Linux驅動開發實戰指南 之 字元裝置驅動Linux字元
- jz_2440_電阻屏觸控驅動
- PC系統的觸控式螢幕---IPC377G怎麼下載到PC電腦