tslib移植レコードのルートファイルシステムの移行

https://blog.csdn.net/flfihpv259/article/details/51496959

移行手順:

1.ダウンロードtslib

ダウンロードポイントIは、入力されたかのgitコマンドを使用してダウンロード:
gitの住所- https://github.com/kergoth/tslib.git

tslibからダウンロードディレクトリまたは抽出物2.

3.いくつかのコマンドを実行します。

anzyelay@ubuntu:tslib$ ./autogen.sh  //得到configure
anzyelay@ubuntu:tslib$ ./configure  --host=arm-linux  --prefix=安装目录 CC=交叉编译器绝对路径
anzyelay@ubuntu:tslib$ make
anzyelay@ubuntu:tslib$ sudo make install

anzyelay@ubuntu:安装目录$ ls    //成功后在安装目录有如下文件
bin  etc  include  lib
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

いいえ、絶対パスはいくつかの問題から、絶対パスでなければなりません。

4.対応するルートファイルシステムディレクトリにライブラリと実行可能プログラムを使用。

二つの方法:

  • ここで - >「/」は、安定した移植後のため、このtslib、ファイルシステムではなく、お使いのPCののルートディレクトリのルートディレクトリを参照した後、

  • 図書館:> / libに - 除去pkgconfigディレクトリtslib / libに/ファイル以外の他のすべてのファイル
  • プログラム:tslibの下で/ binにファイルのすべてのテキストについて - > / binに
  • 構成:tslibの/ etc / ts.confファイル - > /etc/ts.conf
  • あなたはまた、ルートディレクトリ内のディレクトリにディレクトリ全体を選択することができますが、設定環境変数に対応する変更を行うには、移植の始めのための誤り訂正時、

  • 5.変更したファイルシステム構成ファイルと環境変数を追加します

    • ts.conf:開発ボード上のタッチスクリーン情報によっては、それを以下の裁判を受ける権利をここにキャンセルコメントをキャンセル。

    #コメントを解除あなたはシャープのザウルスSL-C700 / C750 / C760 / C860使用している場合
    module_rawコーギー

  • / etc / profileをでは、独自のファイルシステムに応じて次の設定を追加します:

  • ts.confのEVENT0はINPUT module_rawから選択する場合、輸出TSLIB_TSDEVICE =は/ dev / TS0#ここで選択
    ts.conf /エクスポートTSLIB_CONFFILE =の/ etc
    エクスポートTSLIB_PLUGINDIR = / libに/ TS
    ここでエクスポートTSLIB_CALIBFILE = / TEMP /#校正pointercalですファイルが変更、場所を保存する
    エクスポートTSLIB_CONSOLEDEVICEを=なし
    エクスポートTSLIB_FBDEVICE =は/ dev / FB0

    この方法は、ステップ2である場合は、次のような構成です。

    輸出TS_ROOT =は/ usr / local / tslib #tslib 移動するファイルシステムディレクトリに
    エクスポートTSLIB_TSDEVICE =は/ dev / INPUT / TS0
    エクスポートTSLIB_CONFFILE = $ ts.conf TS_ROOTの/ etc /
    エクスポートTSLIB_PLUGINDIR = $ TS_ROOT / libに/ TS
    輸出TSLIB_CALIBFILE = / TEMP / pointercal
    エクスポートTSLIB_CONSOLEDEVICE =なし
    エクスポートTSLIB_FBDEVICE =は/ dev / FB0
    エクスポートPATH = $ TS_ROOT / binに:$ PATH
    輸出LD_LIBRARY_PATH = $ TS_ROOT / libに:$ LD_LIBRARY_PATH

    これらの設定は意味を参照してくださいtslib / READMEは次のとおりです。

    42 43 TSLIB_TSDEVICE TSデバイスファイル名。44
    デフォルト(非inputapi):の/ dev /タッチスクリーン/ ucb1x00 45
    デフォルト(inputapi):の/ dev /入力/ EVENT0 46 TSLIB_CALIBFILE
    較正ファイル。47デフォルト:
    $ {SYSCONFDIR} / pointercal 48 TSLIB_CONFFILE設定ファイル。49
    デフォルト:$ 50 TSLIB_PLUGINDIRプラグイン/ts.conf {SYSCONFDIR}
    ディレクトリ。51デフォルト:$ {DATADIR} /プラグイン52
    TSLIB_CONSOLEDEVICEコンソール装置。53デフォルト:
    は/ dev / ttyの54 TSLIB_FBDEVICEフレームバッファデバイス。55
    デフォルト:は/ dev / FB0

    6.実行(Do)ts_calibrate補正

    [ルート@ BST:/]#ts_calibrate
    XRES = 480、yresは= 272は
    26個のサンプルを取っ...
    トップ左:X = 162、Y 209 =
    30個のサンプルを取っ...
    トップ右:X = 866、Y = 210
    ... 31個のサンプルを取った
    ボット右:X = 871、Y = 581は、
    31個のサンプルを取っ...
    ボットは、左:X = 155、Y = 584は
    24のサンプル...かかった
    センター:X = 515、Y = 395の
    -35.559814 0.535173 0.001486
    -46.847839 0.000662 0.461112
    較正定数:-2330448 35073 97 -3070220 43 30219 65536


    第二の問題に遭遇概要:

    ./autogen.shを実装するには1.が表示されます。

    ./autogen.sh: 3: autoreconf: not found

    何のインストールautomakeのツールが存在しないための理由は、次のコマンドをインストールします。
    sudo apt-get install autoconf automake libtool

    間違いがあります。2.実行(Do)は./configure:

    • erro1:

    libtoolは:インストール:エラー:ディレクトリは終了しないように`linear.la」をインストールすることはできませんは/ usr / local / lib / TSで
    :作る[2] * [インストール-pluginexecLTLIBRARIES]エラー1
    メイク[2]:`ディレクトリを残して/ホーム/ anzyelay /デスクトップ/腕/ tslib /プラグイン
    メイク[1]:* [インストール-AM]をエラー2
    メイク[1]:ディレクトリ`/ホーム/ anzyelay /デスクトップ/腕/ tslib /プラグインのままに
    メイクを:* [インストール-recursive]エラー1

    それぞれに./configureその後、メイクを実行した後、エラー処理は、きれいにする必要があります。

  • ERROR2:

  • libtoolは:インストールします(CD /ホーム/ anzyelay /デスクトップ/腕/ tslib /プラグイン; / binに/ bashを/ホーム/ anzyelay /デスクトップ/腕/ tslib / libtoolを-tag CC -mode =再リンクアームのlinux-gccの-DTS_POINTERCAL = \」/ホーム/ anzyelay /デスクトップ/腕/ tslib_installの/ etc / pointercal \」-DTSLIB_INTERNAL -fvisibility =隠さ-DGCC_HASCLASSVISIBILITY -O2 -Wall -W -module -avoid-バージョン-o linear.la -rpath /ホーム/ anzyelay /デスクトップ/腕/ tslib_install / libに/ TS linear.lo ../src/libts.la)
    のlibtool:再リンク:腕のlinux-gccの-shared -fPIC -DPIC .LIBS / linear.o -Wl、-rpath -Wl、 /ホーム/ anzyelay /デスクトップ/腕/ tslib_install / libに-L /ホーム/ anzyelay /デスクトップ/腕/ tslib_install / libに-lts -O2 -Wl、-soname -Wl、linear.so -o .LIBS / linear.so
    /ホーム/ anzyelay /デスクトップ/腕/ tslib / libtoolを:行8968:腕のlinux-gccの:コマンドが見つかりません。
    libtoolは:インストール:エラー:上記のコマンドを使用して再リンク`linear.laを」はインストール前に
    行うこと[2]:* [インストール-pluginexecLTLIBRARIES]エラー1

    次のようにCCを指定するには、絶対アドレス、または第三次のエラーを使用する必要があります。

    anzyelay@ubuntu:~/Desktop/arm/tslib$ ./configure  --host=arm-linux --prefix=/home/anzyelay/Desktop/arm/myrootfs/usr/local/tslib CC=/usr/local/arm/4.4.3/bin/arm-linux-gcc
    
      
      
    • 1
    • 2

    上記構成では、すべての方法を確認し、[OK]が、次のようにエラーmakeがインストールします。

    ```
    /bin/bash ../libtool   --mode=install /usr/bin/install -c   linear.la dejitter.la variance.la pthres.la ucb1x00.la corgi.la collie.la h3600.la mk712.la arctic2.la tatung.la dmc.la linear_h2200.la input.la galax.la touchkit.la '/home/anzyelay/Desktop/arm/tslib/build/lib/ts'
    libtool: install: warning: relinking `linear.la'
    libtool: install: (cd /home/anzyelay/Desktop/arm/tslib/plugins; /bin/bash /home/anzyelay/Desktop/arm/tslib/libtool  --tag CC --mode=relink arm-linux-gnueabi-gcc -DTS_POINTERCAL=\"/home/anzyelay/Desktop/arm/tslib/build/etc/pointercal\" -DTSLIB_INTERNAL -fvisibility=hidden -DGCC_HASCLASSVISIBILITY -O2 -Wall -W -module -avoid-version -o linear.la -rpath /home/anzyelay/Desktop/arm/tslib/build/lib/ts linear.lo ../src/libts.la )
    libtool: relink: arm-linux-gnueabi-gcc -shared  -fPIC -DPIC  .libs/linear.o   -Wl,-rpath -Wl,/home/anzyelay/Desktop/arm/tslib/build/lib -L/home/anzyelay/Desktop/arm/tslib/build/lib -lts  -O2   -Wl,-soname -Wl,linear.so -o .libs/linear.so
    /home/anzyelay/Desktop/arm/tslib/libtool: line 8968: arm-linux-gnueabi-gcc: command not found
    libtool: install: error: relink `linear.la' with the above command before installing it
    make[2]: *** [install-pluginexecLTLIBRARIES] Error 1
    make[2]: Leaving directory `/home/anzyelay/Desktop/arm/tslib/plugins'
    make[1]: *** [install-am] Error 2
    make[1]: Leaving directory `/home/anzyelay/Desktop/arm/tslib/plugins'
    make: *** [install-recursive] Error 1
    
    ```
    
      
      
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    CC =以下のように絶対的な用語は、そのアドレスを変更する、
    ときにエラー

    anzyelay@ubuntu:tslib$ ./configure --host=arm-linux --prefix=`pwd`/build CC=arm-linux-gcc
    
      
      
    • 1
    • 2

    正しいです

    anzyelay@ubuntu:tslib$ ./configure --host=arm-linux --prefix=`pwd`/build CC=/usr/local/arm/4.9.4/bin/arm-linux-gcc
    
      
      
    • 1
    • 2

    私は良い仕事コンパイラ環境を持って、腕のlinux-gccのを見つけるが、それは間違っていることができますが、絶対アドレスを使用している場合、それはOKです。

    次のエラーts_calibrateを実行4.

    • ERROR1は:
      /bin/ts_calibrate: line 1: syntax error: unexpected end of file
      x86の下のファイルは実際にはファイルではなく、腕を発見しました。

    anzyelay@ubuntu:myrootfs$ file bin/ts_calibrate 
    bin/ts_calibrate: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xb79294591df01693dcc3ae349c4995c59a527f80, not stripped
      
      
    • 1
    • 2

    PATH変数は、後にPCの回復を見つけ、/ etc / profileをが正常で、次の再ランソースは/ etc / profileは、通常のPATHを参照してください閲覧、須藤秀が復元された後に戻ってオンにする必要があります。そして、通常のインストールを再コンパイル:

    anzyelay@ubuntu:myrootfs$ file usr/local/tslib/bin/ts_calibrate 
    usr/local/tslib/bin/ts_calibrate: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped
    
      
      
    • 1
    • 2
    • 3
  • ERROR2:

  • [ルート@ BST:/]#ts_calibrate
    ts_calibrate:エラー読み込み中に、共有ライブラリ:libts-1.0.so.0:間違ったELFクラス:ELFCLASS64

    ライブラリはtslib / libに/ libts-1.0.so.0が下/ libに移動した場合、それは次のようにライブラリ検索パスを指定する必要がありますディレクトリ全体のtslibをシフトさせる方法があるかどうかを確認することはありませんので、これは次のようになります。
    export TS_ROOT=/usr/local/tslib
    export LD_LIBRARY_PATH=$TS_ROOT/lib:$LD_LIBRARY_PATH

  • error3:

  • [ルート@ BST:/]#ts_calibrate
    XRES = 480、yres = 272
    ts_read:無効な引数

    次のようにコンフィギュレーションファイルTSLIB_TSDEVICE変数の変化があるので、私は、ts.confモジュールは「module_rawコーギー」で選択したので、

    export TSLIB_TSDEVICE=/dev/input/event0 
    修改为
    export TSLIB_TSDEVICE=/dev/input/ts0
      
      
    • 1
    • 2
    • 3

    イン深さ問い合わせは、以下の対応関係が見つかりました:
    は/ dev / INPUT / EVENT0 < - > INPUT module_raw
    の/ dev / INPUT / TS0 - module_rawコーギーを<>
    対応する構成プロファイルts.conf書き込み限り、どちらも可能です。

  • エラー4

  • root@~# ts_calibrate 
    xres = 800, yres = 480
    tslib: Selected device is not a touchscreen (must support ABS and KEY event types)
    Took 3 samples...
    Top left : X = 1993966148 Y = 20672392
    Took 3 samples...
    Top right : X = 1993966148 Y = 20672392
    Took 3 samples...
    Bot right : X = 1993966148 Y = 20672392
    Took 3 samples...
    Bot left : X = 1993966148 Y = 20672392
    Took 3 samples...
    Center : X = 1993966148 Y = 20672392
    0.348604 -0.002357 0.227393
    -0.214578 0.004819 -0.464815
    Calibration constants: 22846 -154 14902 -14062 315 -30462 65536
      
      
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    選択したデバイスから、何かがうまくいか確認するためにタッチスクリーンTSLIB_TSDEVICE文ではありません、次のチェック:

    export TSLIB_TSDEVICE=/dev/input/event0
      
      
    • 1

    次のデバイスを見ます

    root@/etc# cat /proc/bus/input/devices 
    I: Bus=0019 Vendor=0000 Product=0000 Version=0000
    N: Name="20cc000.snvs-pwrkey"
    P: Phys=snvs-pwrkey/input0
    S: Sysfs=/devices/soc0/soc.0/2000000.aips-bus/20cc000.snvs-pwrkey/input/input0
    U: Uniq=
    H: Handlers=kbd event0 evbug 
    B: PROP=0
    B: EV=3
    B: KEY=100000 0 0 0
    
    I: Bus=0000 Vendor=0000 Product=0000 Version=0000
    N: Name="iMX6UL TouchScreen Controller"
    P: Phys=
    S: Sysfs=/devices/virtual/input/input1
    U: Uniq=
    H: Handlers=mouse0 event1 evbug 
    B: PROP=0
    B: EV=b
    B: KEY=400 0 0 0 0 0 0 0 0 0 0
    B: ABS=3
    
    I: Bus=0003 Vendor=0c45 Product=6340 Version=0000
    N: Name="USB 2.0 Camera"
    P: Phys=usb-ci_hdrc.1-1.1/button
    S: Sysfs=/devices/soc0/soc.0/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/input/input3
    U: Uniq=
    H: Handlers=kbd event2 evbug 
    B: PROP=0
    B: EV=3
    B: KEY=100000 0 0 0 0 0 0
    
      
      
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    タッチスクリーンは再びts_calibrateを実行し、再起動を修正し、EVENT1をする必要があります

    公開された42元の記事 ウォンの賞賛148 ビュー410 000 +

    おすすめ

    転載: blog.csdn.net/baidu_37503452/article/details/104793866