도와주세요!!
보드 커널 2.4로 다시 돌아온 후 hello 예제(2.6커널에서는 문제없이실행됫습니다.)를 실행해보니
./hello: error while loading shared libraries: librt.so.1: cannot open shared oy...
이런 에러가 뜨길래 알아보니 정확한지 모르겟지만 설치때 환경설치값으로 터치를 잡아줬는데
tslib 라이브러리가 안깔려 잇어서 그런것 같다고 생각으로 초심으로 돌아가자 생각했습니다.
그래서 QT도 QT4-x11 빼고 싹 다 지우고 잘못 설치된 tslib도 싹다 지우고 새로 설치를 하기 시작했습니다.
우선 tslib 부터 설치를 했습니다. http://forum.falinux.com/zbxe/?mid=ezboard&page=3&document_srl=448893 강좌를
보면서 설치를 했습니다. 강좌는 다른 보드이며 mips용이고 저는 EZ-X5 보드 arm용인데 조금 바꿔주고 설치
하면 되지않을까? 생각에.. ( 강좌에는 tslib-mips에 설치하지만 저는 tslib-arm이라는 폴더를 생성하여 설치)
---------------------------------------------------------------------------------------------------------------------------------------
]$ vi /qt4/tslib-mips/tslib.sh <-- tslib-mips 디렉토리에 환경파일을 생성합니다.
#!/bin/bash
export TSLIB_TSDEVICE=/dev/input/event3 <-- 터치의 이벤트 핸들러 이름을 지정했습니다.
export TSLIB_CONFFILE=/qt4/tslib-arm/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal <-- 이 파일이 없습니다..ㅡㅡ;;
export QWS_MOUSE_PROTO=tslib:$TSLIB_TSDEVICE
----------------------------------------------------------------------------------------------------------------------------------------
이 부분에서 파란색 부분 설정을 어떻게 해야할지 몰라(cat /proc/bus/input/devices명령이 있는데 보드에 저 경로자체가없엇습니다)
경로를 /dev/mk712 (제 혼자만의 생각으로...)라고 하고 설치를 완료했습니다.
그리고 테스트 해본다고 ./ts_calibrate 를 실행하니 ts_open: No such file or directory 라는 오류가 뜨며 실행이 안됫어요..
(제 생각엔 저 파란부분 설정이 제대로 안되서 그런게 아닐까 라고 추측합니다.) vi ts_calibrate 해서 안에 보니 이상해서
이게 맞는지 봐주세요...ts_calibrate.txt
우선 윗부분에서 tslib 설치를 제가 EZ-X5 arm용인데 저 강의보고 해도 되는건지가 궁금하며
저 파란 부분의 설정을 어떻게 해야할지도 너무 궁금합니다.
tslib 라이브러리 설치 후 QT4 embedd를 설치를 하였습니다(앞 문제 해결안된상태로..)
Qtopia 4.3.3 을 압축 풀고 설치를 하면서 ./configure 에 설정을 http://forum.falinux.com/zbxe/?mid=graphic&page=2&document_srl=451945 강좌의 설정을 참고하여
http://forum.falinux.com/zbxe/?mid=graphic&page=2&document_srl=413937 강좌보며 설치를 완료했습니다.
(./configure -prefix /qt4/qt-arm -embedded arm -little-endian -release -no-largefile
-no-accessibility -no-qt3support -qt-zlib -qt-gif -qt-libpng -no-libmng -qt-libjpeg
-qt-mouse-tslib -I/qt4/tslib-arm/include -L/qt4/tslib-arm/lib -no-nis -no-cups
-qt-freetype -depths 16,24,32)
설치를 다 하고 라이브러리를 보드에 다 올린 후 다시 hello 예제를 실행하니 똑같은
./hello: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory
가 납니다. 그래서 검색해보니 복사 하면된다는 내용을 보고 복사를 하고 실행하니 이번에는
./hello: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directoy
에러가 납니다..이것도 복사해야하나요? 왠지 복사하고 나면 또 다른것이 없다 할것같고..
다른문제일거같단 생각에 질문합니다.(혹시 arm-linux-gcc 3.3.4 로 컴파일해서 설치해서문제되는건가여?)
아 그리고 LCD가 터치가 작동이 안되나 싶어서 보드에서 /dev에서 cat mk712 를 실행하고 보드에 터치하니 실행이 되는지 반응이 있었습니다. 그리고
[root@ez-x5 /root]$ echo "1"> /dev/mk712
[START]MK712 USERS [0]
[ING]MK712 CONTORL VALUE [0000005B]
[root@ez-x5 /root]$
질문들 보다 저도 해보니 똑같이 저렇게 나오는데요. 저건 인식이 안된다는건가여?
터치를 사용하기 위해 커널 2.4로 다시 돌아왔으며(디바이스가 다 잡혀있다는 linux-2.4.19-x5-v07 버젼입니다.)
tslib 설치도 하였는데 터치가 안되서 이렇게 또 글을 적습니다.
정말 초보적인 질문을 많이 해서 죄송합니다. 꼭 좀 갈켜주세요..
어떤부분이 잘못된것인지.. 뭐가 빠졌는지 어떻게 해야하는지 정말 궁금합니다.
리눅스 커널 2.6부터 플랫폼 디바이스 기반으로 바뀌면서,
mk712등 터치는 input 디바이스에 포함되어져 /dev/input/ 핸들러등에 등록되어져 있으나,
기존 커널 2.4에서 터치는 기타 장치로 등록이 되어 있습니다.
커널 2.4에서 터치 디바이스(mk712, EZ-X5)는 /dev/mk712 로 등록되어 있을꺼여요.
따라서,
export TSLIB_TSDEVICE=/dev/mk712
로 하시면 잘 될껍니다 ^^
라이브러리 등은, 크로스 컴파일러 폴더(아마 /usr/arm-linux) 안에서 필요한 파일 찾아서 보드에 카피해 주시면 됩니다.
메모리 부족하시다 싶으시면 strip 명령으로 적당히 줄이시면 될꺼구요 ^^;
/etc/pointercal 은 tslib 등의 프로그램을 이용하여 touch calibration 을 하고 나면 생기는 터치 좌표 보정 파일입니다,
qt 입문하실거면 혹 http://www.korone.net 이 사이트 가보시길 추천드립니다. ^^