회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

이솝s5pc100보드에 QT4.5.2을 올려서 터치동작을 하고 싶은데, 혹시 Qt  GUI에서 터치가 되게 하는 절차를 알수있을까요?

Linux GUI로 안드로이드를 써 볼까 했는데 너무 어려울 것 같아서, QT로 해볼까 하는데 터치 동작이 안되네요.

 

현재 제가 해본 절차는 다음과 같습니다.

일단은 이솝s5pc100보드에서  

linux kernel은 xwindow용입니다.

그리고 xwindows를 실행시키지 않기 위하여

/etc/inittab 파일에서

id:3:initdefault: 로 했습니다.

 

1) 우분투 호스트에서

 #cd /tmp
#tar xfz /mnt/hgfs/nshare/qt-embedded-linux-opensource-src-4.5.2.tar.gz

#cd qt-embedded-linux-opensource-src-4.5.2/

#./configure --prefix=/qt4/qt-arm -embedded arm -static -qt-libjpeg -svg -no-cups -depths 16 -little-endian -webkit -qt-freetype -qt-libmng -qt-libpng -qt-libtiff -qt-gif -depths 16,24,32 -qt-mouse-linuxtp -qt-mouse-tslib -plugin-mouse-tslib

#make

#make install

#cp /qt4/qt-arm/plugins/mousedrivers/libqtslibmousedriver.a /qt4/qt-arm/lib

#cp -R /qt4/qt-arm /nfsroot/RootFS-S5PC100/   -->nfs rootfs으로 qt4를 copy

 

2) arm board에서

#pwd

/home/root

#vi .profile

export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=tslib:$TSLIB_TSDE

 

#source .profile

 

이렇게 세팅을 하였는데, 빠지거나 잘못된것은 없는지요?


송의석

2010.06.01 19:43:06
*.123.42.156

cross-compile  환경에 tslib를 build 해 놓으셨겠지요. configure할때 나타나는 메시지를 잘 보시면 tslib가 포함됐는지 확인하실 수 있습니다. 제 경험으로는 build option를 주어도 tslib를 참조할 수 없으면 동작이 안되었던 것으로 기억됩니다. 

나오

2010.06.01 20:32:33
*.209.241.197

정확히 확인은 못하였지만, Qt에서 tslib를 third-party로 직접 코드를 포함시키지 않은걸로 기억납니다. libqtslibmousedriver를 복사하는 것은 의미가 없을걸라 생각되고, static로 build된 Qt의 libqtslibmousedriver는 다시 실제 tslib를 참조했던 것으로 생각됩니다.

위에서 동작하게 하려면, -qt-mouse-tslib 를 옵션으로 넣어주셨으니 QtCore 라이브러리에 tslib 플러그인은 포함되어 있으니, 실제 tslib 라이브러리만 실행시 제대로 링크되는 걸 확인하시면 돌아가리라 생각됩니다.

저는 shared로 컴파일 하였는데, s5pc100에서 크로스컴파일 환경에서 tslib가 자동으로 detect되어 QWS_MOUSE_PROTO만 설정하고 문제 없이 실행되었습니다.(-qt-mouse-tslib 옵션만 넣고)

export QWS_MOUSE_PROTO=tslib:$TSLIB_TSDE  에서 VICE는 짤린 것이겠죠?

 

저 같은 경우는 예전에 전체 static 묶을 때 src/gui/embedded/qmousetslib_qws.{cpp,h} 에서 직접 tslib를 넣어서 동작시켰었습니다.

detect

2010.06.01 22:41:18
*.75.54.239

답변 감사합니다. 

그런데 제가 좀 리눅스에서는 초보수준이라 죄송하게도 약간 이해가 통하지 않는 부분이 있네요.

1) tslib를 다운로드받아서 깔아야 된다는 의미인 것 같은데 실례지만 어디서, 어떻게 다운로드 받을수 있나요?

2)그리고 qt configure시 빌드 옵션에 -static을 없애고 -shared로 바꿔주어야 한다는 의미인가요?

 또한  -qt-mouse-linuxtp -qt-mouse-tslib -plugin-mouse-tslib 를 -qt-mouse-tslib로 바꾸어주고, 그런데 이때는 tslib를 다운받아 깔아주지 않아도 자동으로 해준다는 것인지요?

3)전체 static 묶을 때 src/gui/embedded/qmousetslib_qws.{cpp,h} 에서 직접 tslib를 넣어서 동작시켰었습니다.

  -->에서 tslib를 다운로드 받아서 어떻게 한다는 것인지 좀 파악이 않되서요?

좀 더 구체적인 설명을 부탁드립니다. 감사합니다.

 

 

나오

2010.06.01 23:14:21
*.209.241.197

1) 직접 구글링을 통해 tslib 소스를 받은 뒤 소스 빌드를 할 수 있습니다. 하지만 s5pc100 xwindows 루트파일 시스템(/usr/lib/libts*)에 이미 있기 때문에 그대로 써도 됩니다. 그대로 쓰는게 더 나을 거 같습니다.

 

2) -static, -shared 는 빌드 성격에 맞게 선택하면 됩니다. dynamic library linking을 하지 않고, 애플리케이션 실행파일에 Qt 라이브러리를 전체 다 넣고자 할 때는 -static을 선택하시면 되고, 일반 개발용으로는 -shared로 사용하시고, configuration시에 prefix로 적어주신 경로에 맞춰 타겟의 동일 경로에 빌드된 파일들을 넣어주시면 됩니다.

 -qt-mouse-tslib 의미는 libQtCore에 해당 플러그인을 추가한다는 의미입니다. -plugin-mouse-tslib 의 경우는 libQtCore에 플러그인을 추가하지 않고, 별도로 tslib 플러그인을 빌드하겠다는 의미입니다. 양쪽 다 넣어도 상관은 없습니다만 plugin으로만 빌드를 하게 되면, static 빌드의 경우는 애플리케이션을 빌드시 별도로 tslib plugin을 연결해 주셔야 할 듯합니다. plugin이 아닌 -qt-mouse-tslib 로 넣게 되면, 애플리케이션 빌드시 별도로 tslib plugin을 연결해 주실 필요가없습니다.

tslib 옵션을 Qt configuration시에 넣으시면, configuration 시에 크로스컴파일러 환경의 tslib 라이브러리 존재유무를 체크하게 되고, 없다면 configuration이 실패했다고 나올 것입니다. 여기서 실패가 없었다면, 크로스컴파일러의 tslib를 detect했다는 의미로 보면 됩니다.

 

3) 개념적으로는 전체 static으로 묶을 때 Qt측 빌드할 때 tslib를 static으로 빌드한 부분을 static linking만 하면 문제가 없을 거 같은데, 문제가 조금 있었던 것으로 기억합니다. 그래서 tslib 소스부분에서 해당 보드에 필요한 부분만 가져와서 Qt측 mouse driver쪽에 직접 삽입하였었습니다.

 

잘 되지 않으시다면, 메일 주시면, aesop s5pc100에서 제공되는 환경에서 빌드 절차 보내드리겠습니다.

detect

2010.06.01 23:57:29
*.75.54.239

정말 감사합니다.

빌드시 -qt-mouse-tslib 를 하면 자체가 디텍트하여 tslib를 포함시키는 것 같습니다.

사소한 문제도 처음 해보는 사람에게는 매우 큰 문제가 되네요. 옆에서 지적해주시는 충고 한마디에 그동안

며칠을 잠 못자게 한 문제가 해결 되었습니다.

문제는 export QWS_MOUSE_PROTO=tslib:$TSLIB_TSDE를 export QWS_MOUSE_PROTO=tslib:$TSLIB_TSDEVICE로 수정했더니 터치가 동작 합니다. 그동안 간단한 문제로 많이 번거롭게 했습니다. 어쨌든 덕분에 많은 공부를 하게 되었습니다. 따라서 빌드의 각 옵션의 의미를 조금이나마 이해하게 되었습니다.

그런데 한가지 터치의 포인트가 맞지를 않는 문제가 남아 있네요.

 터치의 포인트를 맞출수 있는 방법은 없을까요?

 

송의석

2010.06.02 00:01:45
*.123.42.156

터치 포인트를 맞추실려면  gpe x-window가 실행된 상태에서 터미널로  xtscal 명령을 수행하면 포인트 맞추어주는 프로그램이 수행됩니다. 한번 맞추어 주면 qt에서 정상 동작할 겁니다.

요셉

2010.06.02 00:14:19
*.138.118.233

QTDIR과 LD_LIBRARY_PATH를 추가로 설정해 주셔야 하고

ts calibration은 QT용 ts_calibrate라는 프로그램이 있었던 것으로 기억 합니다.

QTDIR은 QT가 install된 directory로 bin, lib, share, conf 등이 그 밑에 있고요.

LD_LIBRARY_PATH는 lib의 path 입니다.

detect

2010.06.02 00:21:17
*.75.54.239

gpe x-window를 다시 실행할려면 어떻게 하여야 하는지요?

gpe x-window가 실행중이어야만 xtscal을 동작시킬수 있다는 것 같은데요. 

좀 리눅스초보라 죄송한 부탁을 드립니다.

 

detect

2010.06.02 00:35:21
*.75.54.239

qt 디렉토리 밑에 mousecalibreation 이라는 프로그램이 있네요. 이걸 실행시키니 터치의 포인트가 잘 맞습니다.

여러 충고를 주시는 분들 모두에게 거듭 감사를 전해 드립니다.

감사합니다.

 

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 교육 홍보 및 광고는 "교육 및 세미나 홍보" 게시판을 이용해 ... 관리자 2010-07-15 108396
1210 [보드수리건]_aesop_c100보드 [2] 류영렬 2010-06-02 3032
1209 시대에 뒤쳐져서인가... 아직도 aesop 2440 3rd 보드를 가지고... [2] 김진 2010-06-02 3258
1208 [참고] 오드로이드-T 분해하지 마세요. [4] 도찬구 2010-06-02 4098
1207 안드로이드 에뮬2.0에서 Market 실행 김준대 2010-06-01 4988
» 이솝s5pc100보드상의 QT4.5.2 GUI 터치동작, [9] detect 2010-06-01 4520
1205 ODROID-T 소스를 공개 저장소에 올리면 안되나요? [4] shkim 2010-06-01 3427
1204 [질문] ODROID-T 잘 받았습니다. ??? [5] 이준우 2010-06-01 3481
1203 Odroid_T 에 관한 몇가지 참고사항 [2] 조용수 2010-06-01 3269
1202 ODROID-T 체험기 (기본 기능 중심) [7] naviro 2010-06-01 3541
1201 [요청] Odroid-T 관련 현재 진행상황 및 계획??? [2] 고도리 2010-06-01 2844
1200 ODROID-T 문의 관련 [1] 김준대 2010-06-01 2777
1199 ODROID-T S/W 업글 계획있는지요? [1] 듀라 2010-06-01 2847
1198 ordroid-t 기대가 크면 실망도 큰 것인가... [13] 한정석 2010-05-31 4012
1197 미쳤나봅니다. 아직 못자고 있습니다. file [3] 도찬구 2010-05-31 3065
1196 ODROID-T 계속 켜놔도 되나요? [1] shkim 2010-05-30 2983
1195 Odroid-T 캘린더 프로그램이 동작을 하지 않습니다. [6] 요셉 2010-05-30 3279
1194 디버그 보드 질문 [3] shkim 2010-05-30 3314
1193 오드로이드의 블루투스 및 무선랜 구성 [8] 이제현 2010-05-29 4880
1192 오드로이드에 소스 컴파일해서 드디어 올렸습니다. [1] 바람돌이0 2010-05-29 3528
1191 오드로이드 무선인터넷 문제 [14] 김종현 2010-05-29 4281

사용자 로그인