안녕하세요~ 아래 qt 에 대해서 몇자 여쭈어본 사람인데요

체험수기에 올려할 내용같은데 많은 분들이 여기를 가장 많이 보실 것 같아서
여기에 올립니다.

qt터치패널에 어느정도 성공을 해서

변 찮지만 제가 한 내용을 올려볼게요

www.korone.net이라는 사이트에 가입하시고
강좌란을 보시면
QT/E 컴파일 이란 것이 있습니다.

그것과 사용자 강좌에 QT/E 3.3.3 터치패널 구동이라고

있구요 강좌에 보시면 qt-2.3.7 도 깔수 있는 방법이 있습니다

이 세가지 내용을 전부 조합해서 이해하신후

컴파일을 그대로 하시면 되는데요~

그대로 따라하셔도 무방합니다.

대신 세가지 내용을 전부 이해하셔야 할겁니다.

^^

순서가 있는데요

그 것은 말씀드리지 않고 korone 사이트와 강좌란에 다 있으니까 그대로 해보시구요

주의할 점만 말씀드릴게요


주의하실 점은 QT/E-3.3.3/mkspecs/qws/linux-arm-g++

에 있는 qmake.conf에서 QMAKE_CC QMAKE_CXX 등등을

꼭 armv5l-linux-gcc 모양처럼 바꿔주시고

저장을 시켜주세요

그렇지 않으면

확실친 않지만 제가 생각하기로는 나중에 calibration부분을 이지보드용으로 컴파일을
해줄때 안될수도 있을것 같아요

FALINUX사이트에서도 자료를 받아볼수 있는데 (위에서 제가 말한 qt-3.3.3터치패널)
사용방법도 있습니다.


자료중에는
마우스관련, 터치패드 관련 파일 4개를받아볼수 있고
mk712.c 수정본을 제공받을수 있습니다.

파일 네개는 qt/e-3.3.3 폴더 중 src/embedded 폴더에 넣어주시고
mk712.c 파일은 보드 커널에 drivers/char 밑에 넣어줍니다.

기존에 있는 파일을 교체 하셔도 무방합니다.

그런데 mk712.c 는 보드의 터치패널과 관련된 칩이름으로서 (mk712)
그냥 보통 만들어주는 zImage 를 올리신 후에
좌표를 찍어보시면
x축과 y축이 서로 반대일 겁니다.

이 x축과 y축을 바꿔줘야 하는데요


--------------------------------------------------------------------------------


여기서부터는 잘보세요!!!!!!

보통 2.3.7 에는 qwsmouse_qws.cpp 인가요?
xy축을 바꿔주는 방법이 소개가 되는데

3.3.3 에는 도저히 그 소스가 없어요
그래서 찾아낸 방법이


사용자강좌에서 받은 소스(mk712.c) 중에
static void mk712_output_point(unsigned short x, unsigned short y)
란함수가 있습니다.

이 곳에서 tx = x 를 tx=y 로 바꾸고
ty = y 를 ty=x 로 바꿔주고 보드 커널 이미지를 만들어 줍니다.

그렇게 만들어진 zImage 를 올리시면 될겁니다.

보드쪽에서는

1. 호스트 pc 에서 만들어진 qt/e-3.3.3 밑에 있는 lib 폴더에 만들어진

라이브러리 파일들을 보드 /lib 에 링크시켜주시고

2. qt 가 마운트 되어 있는 폴더에 가서
export 를 통하여 경로를 정해주시고

저같은 경우
export QTDIR=/mnt/nfs/qte-3.3.3
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib

첫줄에서 /mnt/nfs부분은 제각기 다르시겠죠? 경로만 설정 해주시면 되고
두 번째 줄, 세번째 줄은 똑같이 써주세요

3. export QWS_MOUSE_PROTO=linuxtp
이것은 마우스와 터치패드에 관한 것입니다.
제가 이것을 빼먹고 했을때는 qt 예제를 실행시킨후 기아상태가 발생했지요
즉, 키보드 입력이 안먹고 아무것도 안 먹습니다.
혹, 터치패드가 잡혀서 예제가 실행이 된다해도 그 예제를 종료시키면
주도권이 다시 콘솔창으로 돌아오지 않을겁니다.
꼭 해주세요.....

4. 그리고 calibration 인데요
사용자강좌란에서 받은 calibration 폴더에 있는 것을 경로 설정을 잘해주시고
컴파일을 하시면 calibrate 라는실행 화일이 생길겁니다.
(혹, 컴파일이 제대로 안 되시는 분들 에러가 백개가 넘게 주루룩~~ 나오시는 분들은
위에서 말씀드린 qws/linux-arm-g++ 부분에서 CC , CXX 부분등을 armv5l-linux-gcc 등등
으로 안해주셨을 확률이 있습니다. 확인해 보세요)

그렇게 생긴 calibrate 라는 파일을 보드에서 실행을 시켜보시면
화면이 뜰겁니다. 실행을 할때 -qws 옵션 붙여주세요
총 5개 x 표가 나오고 그것을 찍으면 calibration 이 잘 되면 자기가 알아서 종료가 됩니다.
만약 false 가 나오시는 분들은
위에서 제가 말한 mk712.c 을 보드커널에 있는 mk712.c 와 교체하시는데 x, y를 바꿔주지
않아서 그럴겁니다. 꼭 해주시고 그렇게 만들어진 커널이미지를 올려주세요.

5. calibration을 다 해주시면 보드에 /etc/pointercal 이라는 것이 생기구요
이제 examples 폴더에 있는 예제를 실행해보시면 그 pointercal이라는 파일에서 정보를 읽어가
서 터치가 제대로 동작을 할겁니다


이정도가 제가 아는 내용입니다
두서없이 작성한 내용이라 좀 허접한데 아무쪼록 도움이 되셨으면 좋겠네요

혹 질문을 하시면 대답을 해드릴지는 모릅니다. 이렇게만 할줄 알아서요 ㅋ ㅋ ㅋ

그럼 수고하세요


^^