新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 嵌入式linux新手入門手記-TSLIB和支持USB接口單點(diǎn)觸摸屏

        嵌入式linux新手入門手記-TSLIB和支持USB接口單點(diǎn)觸摸屏

        作者: 時(shí)間:2015-08-21 來源:網(wǎng)絡(luò) 收藏

          kernel已經(jīng)內(nèi)置對于普通USB單點(diǎn)觸摸屏的支持,不需要修改程序,只要在/arch/arm/config/am335x_evm_defconfig中將相應(yīng)的編譯條件設(shè)置好就可以:

        本文引用地址:http://www.104case.com/article/279081.htm

          CONFIG_INPUT_TOUCHSCREEN=y

          CONFIG_TOUCHSCREEN_USB_COMPOSITE=y

          CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y

          刪除其他的觸摸屏編譯選項(xiàng),然后重新編譯kernel即可。

          下載tslib:git clone http:/github.com/kergoth/tslib,通過這個(gè)網(wǎng)站下載的tslib目前是1.6.0版本;

          安裝autoconf工具:sudo apt-get install autoconf automake libtool;

          設(shè)置交叉編譯環(huán)境變量:export CC=arm--gnueabihf-gcc

          export CXX=arm--gnueabihf-g++

          在tslib目錄下執(zhí)行./autogen.sh,自動生成Makefile文件,然后執(zhí)行./configure --prefix=/usr/tslib --host=arm--gnueabihf ac_cv_func_malloc_0_nonnull=yes。

          這里--prefix指定編譯后的tslib庫安裝的路徑,-host指定交叉編譯工具。

          上述沒有錯(cuò)誤后,執(zhí)行make -j4交叉編譯tslib,成功后執(zhí)行make install,tslib將安裝到/usr/tslib目錄下;

          將/usr/tslib目錄下的所有文件拷貝到am335x的nfs文件系統(tǒng)中的/usr/tslib目錄下,并設(shè)置am335x的環(huán)境變量:

          export T_ROOT=/usr/tslib #tslib安裝路徑

          export _FBDEVICE=/dev/fb0 #linux顯示設(shè)備名

          export _TSDEVICE=/dev/event0 #linux觸摸屏輸入設(shè)備名

          export _CALIBFILE=/etc/pointercal #觸摸屏校正數(shù)據(jù)文件

          export POINTERCAL_FILE=/etc/pointercal #觸摸屏校正數(shù)據(jù)文件

          export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf #tslib配置文件

          export TSLIB_PLUGINDIR=$T_ROOT/lib/ts #tslib插件安裝位置

          export TSLIB_CONSOLEDEVICE=none #控制臺設(shè)備

          export PATH=$PATH:$T_ROOT/bin #配置tslib應(yīng)用的安裝路徑

          export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$T_ROOT/lib #lib的裝載路徑

          export LD_PRELOAD=$T_ROOT/lib/libts.so #預(yù)裝入tslib共享庫

          修改/usr/tslib/etc/ts.conf:

          module_raw input #使用linux標(biāo)準(zhǔn)輸入設(shè)備

          module pthres pmin=1 #觸摸屏靈敏度插件設(shè)置

          #module variance delta=30 #USB觸摸屏自帶濾波,不使用這個(gè)模塊

          module dejitter delta=100 #觸摸屏去噪插件設(shè)置

          module linear #觸摸屏線性濾波插件

          重新啟動am335x,然后運(yùn)行/usr/tslib/bin/ts_print,在觸摸屏上滑動手指,超級終端上打印出觸摸的點(diǎn)的信息,觸摸屏以及tslib已經(jīng)正常工作。

          到這里,am335x的基本平臺就已經(jīng)能夠正常工作了,后續(xù)需要將QT5.4.1移植到am335x平臺上。QT5.4.1的移植花了較多的時(shí)間,同時(shí)也需要修改tslib和qt的較多源程序。

          我將用多個(gè)章節(jié)來記錄QT5.4.1的移植,以及加入tslib的支持,并對這二者的源程序進(jìn)行修改。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        linux相關(guān)文章:linux教程




        關(guān)鍵詞: linux TSLIB

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 奉贤区| 攀枝花市| 政和县| 福海县| 河池市| 蒙阴县| 大连市| 栾川县| 富平县| 壶关县| 宁德市| 隆回县| 金堂县| 田东县| 岐山县| 顺平县| 辛集市| 灵寿县| 台江县| 拉孜县| 罗山县| 吴川市| 恩施市| 牡丹江市| 曲周县| 阿勒泰市| 崇阳县| 额尔古纳市| 鸡西市| 皮山县| 仙桃市| 黄大仙区| 永城市| 石屏县| 通化市| 且末县| 原阳县| 府谷县| 屏东县| 文化| 闻喜县|