LINUXデバイス駆動タッチスクリーンtslibコンパイル使用方法

2213 ワード

起動:nfs 30000192.168.1.1.1105:/work/nfs_root/uImage_digitpic; bootm 30000000
インストール: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 –prefix=$(pwd)/tmp make make install
インストール:cd tmp cp*-rf/work/nfs_root/fs_mini_mdev_new
次の操作を行います.
まずs 3 c_をインストールしますts.ko, lcd.ko
1.vi/etc/ts.confの1行目(番号と最初のスペースを除く)を変更します.
# module_raw input
  :
module_raw input

「#」も前のスペースも削除します.
2.環境変数の設定
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0

ts_calibrate
エラー:/#ts_calibrate xres = 480, yres = 272 selected device is not a touchscreen I understand
理由:tslibの入力システムとカーネルinputシステムのバージョンが一致しないのは、もちろん他の理由もあります.EVですVERSIONという関数の構成に問題があります.
解決策:/usr/local/arm/4.3.2においてgrep"EV_VERSION"*-nRはarm-none-linux-gnueabi/libc/usr/include/linux/inputを得る.h:32:#define EV_VERSION 0 x 01000はカーネルと同じカーネル内EV_に変更する必要がありますVERSIONの値は0010001です.覚えてるchmod+w input.hそしてsudo vi input.hその後:tslibに戻りmake cleanを行う
その後make make installに入りtmpに入った後cp*-rf/work/nfs_root/fs_mini_mdev_new開発ボードに戻る:ts_を再実行するcalibrateでまたエラーが発生しました.vi/etc/ts.conf 1行目(番号と最初のスペースを除く):
ts_test
cat/proc/mymsg
replay_r, replay_w

0x00075cf7 0x00000003 0x00000018 0

0x00076617 0x00000003 0x00000018 0
0x00076617 0x00000003 0x00000018 0
0x00076617 0x00000003 0x00000018 0
0x00076617 0x00000003 0x00000018 0
0x00076617 0x00000003 0x00000018 0
0x0007661b 0x00000003 0x00000018 0
0x0007661b 0x00000003 0x00000018 0
0x0007661b 0x00000003 0x00000018 0
0x0007661b 0x00000003 0x00000018 0
0x0007661b 0x00000003 0x00000018 0