https://blog.csdn.net/flfihpv259/article/details/51496959
마이그레이션 단계 :
1. 다운로드 tslib
다운로드 포인트가 I 입력 또는 자식 명령을 사용하여 다운로드 :
자식 주소 - https://github.com/kergoth/tslib.git
tslib에서 다운로드 디렉토리 또는 추출물 2.
몇 가지 명령을 수행합니다 :
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
- 이
- 삼
- 4
- 5
- 6
- (7)
절대 경로는 몇 가지 문제에서 절대 경로 여야합니다 수 없습니다.
4. 해당 루트 파일 시스템 디렉토리에 라이브러리와 실행 프로그램에 사용.
두 가지 방법 :
다음 ->는이 "/"는 파일 시스템이 아닌 PC의 루트 디렉토리, 안정적인 이식 후이 tslib의 루트 디렉토리를 참조 후
- 라이브러리 :> / lib에 - 제거 pkgconfig 디렉토리 tslib / lib 디렉토리 / 파일 이외의 다른 모든 파일
- 프로그램 : tslib에서 / 빈 파일의 모든 텍스트 -> / 빈
- 구성 : tslib은 / etc / ts.conf 파일 -> /etc/ts.conf
또한 루트 디렉토리에있는 디렉토리로 전체 디렉토리를 선택할 수 있지만 구성 환경 변수에 해당하는 변경을 할, 이식의 시작에 대한 오류 수정 시간,
5. 변경 파일 시스템 구성 파일 및 추가 환경 변수
ts.conf는 : 개발 보드에 터치 스크린 정보에 따라 여기에 취소 주석, 그것을 다음 재판에 대한 권리를 취소했다.
# 주석을 해제 당신이 샤프 자우르스 SL-C700 / C750 / C760 / C860 사용하는 경우
module_raw 코기
은 / etc / 프로필에 자신의 파일 시스템에 따라 다음 설정을 추가 :
수출 TSLIB_TSDEVICE = / 디바이스 / TS0 여기서 선택된 #을 ts.conf를 위해서 event0은 입력 module_raw으로부터 선택 될 경우
ts.conf 수출 TSLIB_CONFFILE =은 / etc /
수출 TSLIB_PLUGINDIR = / LIB / TS
여기서 교정 pointercal가 내보내기 TSLIB_CALIBFILE = / TEMP / # 파일이 변경 장소를 저장
수출 TSLIB_CONSOLEDEVICE을 = 없음
수출 TSLIB_FBDEVICE =는 / dev / FB0
상기 방법은 2 단계 인 경우에는 다음과 같이, 구성은 :
수출 TS_ROOT = / usr / 지방 / tslib #tslib 이동 파일 시스템 디렉토리에
수출 TSLIB_TSDEVICE =는 / dev / 입 / TS0
수출 TSLIB_CONFFILE = $ ts.conf 등 TS_ROOT / /
내보내기 TSLIB_PLUGINDIR = $ TS_ROOT / lib 디렉토리 / TS
수출 TSLIB_CALIBFILE = / TEMP / pointercal
수출 TSLIB_CONSOLEDEVICE = 없음
수출 TSLIB_FBDEVICE =는 / dev / FB0
내보내기 PATH = $ TS_ROOT / 빈 : $ 는 PATH
내보내기 LD_LIBRARY_PATH = $ TS_ROOT / lib에 : $ LD_LIBRARY_PATH에
이러한 구성은 참조 tslib이 / README는 다음과 의미 :
42 43 TSLIB_TSDEVICE TS 장치 파일 이름. 44
기본 (비 inputapi) / 디바이스 / 터치 / ucb1x00 45
기본값 (inputapi) / 디바이스 / 입 / 위해서 event0 46 TSLIB_CALIBFILE
교정 파일. 47 기본값 :
$ {sysconfdir의} / pointercal 48 TSLIB_CONFFILE 구성 파일. 49
기본값 : $ (50) TSLIB_PLUGINDIR 플러그인 /ts.conf {sysconfdir의}
디렉토리. 51 기본값 : $ {DATADIR은} / 52 플러그인
TSLIB_CONSOLEDEVICE 콘솔 장치를. 53 기본 :
/ 디바이스 / TTY 54 TSLIB_FBDEVICE 프레임 버퍼 장치. 55
기본값 :는 / dev / FB0
6. 마 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 35,073 97 -3070220 43 30219 65536
두 번째 문제가 발생 요약 :
./autogen.sh를 구현 1. 나타납니다
./autogen.sh: 3: autoreconf: not found
다음 명령을 설치, 더 설치 Automake의 도구가 없기 때문에 그 이유는 :
sudo apt-get install autoconf automake libtool
실수가있는 경우 2. 음주 ./configure 아마 :
erro1 :
libtool이 : 설치 : 오류 : 디렉토리가 끝나는로`linear.la '를 설치할 수 없습니다를 / usr / local / lib로 / TS에서
: 만들기 [2] * [설치-pluginexecLTLIBRARIES] 오류 1
메이크업 [2] :'디렉토리를 떠나 / 집 / anzyelay / 데스크탑 / 팔 / tslib / 플러그인 '
메이크업 [1] : * [설치 - 오전] 오류 2
메이크업 [1] :`디렉토리를 떠나 / 홈 / anzyelay / 데스크탑 / / tslib / 플러그인 팔'
합니다 *를 [설치 -recursive] 1 오류
각 ./configure를 다음 메이크업을 실행 한 후 오류 처리, 청소해야한다.
있고 Error2 :
libtool이 : 설치 (CD / 홈 / anzyelay / 데스크탑 / 팔 / tslib / 플러그인 / 빈 / bash는 / 홈 / anzyelay / 데스크탑 / 팔 / tslib / libtool이 -tag CC -mode = 다시 연결 팔 - 리눅스 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 : 다시 연결 : 팔 - 리눅스의 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 : 팔 - 리눅스 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
- 이
3. 메이크업 出 libtool이 설치 : 설치 : 오류 : 다시 연결`linear.la을 '위의 명령으로
전술 한 구성, 모든 방법 확인을하지만, 오류 메이크업 설치할 때와 같이 다음과 같습니다 :
```
/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
- 이
- 삼
- 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
- 이
옳은
anzyelay@ubuntu:tslib$ ./configure --host=arm-linux --prefix=`pwd`/build CC=/usr/local/arm/4.9.4/bin/arm-linux-gcc
- 1
- 이
절대 주소를 사용할 때 좋은 작업 컴파일러 환경을 가지고 있지만, 팔 - 리눅스 GCC를 찾을 수 있지만, 잘못 할 수는 OK입니다.
다음과 같은 오류 ts_calibrate를 수행하십시오
ERROR1는 :
/bin/ts_calibrate: line 1: syntax error: unexpected end of file
86에서 파일이 실제로 파일이 아닌 팔을 발견했다.
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
- 이
PATH 변수는 나중에 PC 복구를 발견하고는 / etc / 프로필이 정상 다음 다시 실행 소스의 / etc / 프로필, 정상 PATH를 참조 볼, sudo는 스와 복원 된 후 다시 설정해야합니다. 그리고 정상적인 설치를 다시 컴파일 :
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
- 이
- 삼
있고 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
이상 3 :
[루트 @ BST : /] # ts_calibrate
XRES = 480, yres = 272
ts_read : 잘못된 인수
I는 ts.conf 모듈 "module_raw 코기"인 선택 했으므로 구성 파일의 변경되도록 TSLIB_TSDEVICE 변수는 다음이다
export TSLIB_TSDEVICE=/dev/input/event0
修改为
export TSLIB_TSDEVICE=/dev/input/ts0
- 1
- 이
- 삼
심층 질문은 다음의 대응 관계를 발견
/ 디바이스 / 입 / 위해서 event0 <->는 INPUT module_raw
/ 디바이스 / 입 / 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
- 이
- 삼
- 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
- 이
- 삼
- 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을해야한다