嵌入式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驅動學習筆記(十五)------編譯使用tslib支援LCD觸控式螢幕Linux筆記編譯
- linux 觸控式螢幕驅動編寫Linux
- Android 觸控式螢幕驅動Android
- 多點觸控式螢幕驅動
- Unity觸控式螢幕觸控事件定義Unity事件
- Raspberry3B + 3.5寸LCD觸控螢幕上手教程
- S3C2410觸控式螢幕驅動程式碼分析1S3
- 「技術乾貨」工業觸控式螢幕之觸控式螢幕分類(連載)
- WHQL ITO觸控式螢幕 用手指觸控世界
- 【6集iCore3_ADP觸控式螢幕驅動講解視訊】6-6 底層驅動之觸控操作
- PLC與觸控式螢幕通訊
- 開發板觸控式螢幕測試
- 觸控式螢幕響應速度效能分析
- 嵌入式Linux驅動筆記(九)------dts裝置樹在2440使用Linux筆記
- win8.1觸控式螢幕關閉教程
- Linux驅動開發筆記(一):helloworld驅動原始碼編寫、makefile編寫以及驅動編譯Linux筆記原始碼編譯
- 嵌入式Linux驅動筆記(十六)------裝置驅動模型(kobject、kset、ktype)Linux筆記模型Object
- 觸控式螢幕遊戲會把孩子變“殭屍”?遊戲
- WPF --- 觸控式螢幕下的兩個問題
- 觸控板觸控式螢幕禁止手指縮放,這麼處理才行
- 嵌入式Linux驅動學習筆記(十六)------裝置驅動模型(kobject、kset、ktype)Linux筆記模型Object
- 嵌入式Linux驅動筆記(十一)------i2c裝置之mpu6050驅動Linux筆記
- 嵌入式Linux驅動筆記(十三)------spi裝置之RFID-rc522驅動Linux筆記
- 嵌入式Linux驅動筆記(十七)------詳解V4L2框架(UVC驅動)Linux筆記框架
- GhostTouch:針對智慧觸控式螢幕的非接觸性攻擊
- 樹莓派上安裝2.8寸TFT觸控式螢幕樹莓派
- 羅克韋爾AB PVPlus觸控式螢幕使用者自動登出的方法
- 嵌入式Linux驅動筆記(十二)------通俗易懂式分析瞭解spi框架Linux筆記框架
- 【Nano Framework ESP32篇】使用 LCD 螢幕NaNFramework
- .NET 白板書寫延遲-觸控式螢幕報點率
- LCD螢幕顯示PNG影像
- win10觸控板如何校準_windows10怎樣校準觸控式螢幕Win10Windows
- Linux驅動開發筆記(三):基於ubuntu的驅動、makefile編寫以及編譯載入流程Linux筆記Ubuntu編譯
- linux 取消筆記本觸控鍵Linux筆記
- 觸控式螢幕一體機Surface Studio 微軟的新型黑科技微軟
- 亞馬遜統治智慧音響市場 將推觸控式螢幕Echo亞馬遜
- iPhone螢幕出現盲區 使用者無法觸控操作iPhone
- iPhone XS怎麼開啟輔助觸控小白點?蘋果iPhone螢幕輔助觸控使用教程iPhone蘋果