170 likes | 498 Views
제 16 장 QT/Embedded. 목 차. QT/Embedded 개요 QT/Embedded 설치 QT/Embedded 어플리케이션 실행. QT/Embedded 의 개요. 개요 Trolltech 사에서 개발 기본적으로 요구되는 메모리 사양은 1Mbytes ~ 5Mbytes 지원 되는 플랫폼 : i386, ARM, MIPS, PowerPC, MC68000 Framebuffer 를 지원하여 X11 이 없어도 된다. QT/Embedded 설치.
E N D
목 차 • QT/Embedded 개요 • QT/Embedded 설치 • QT/Embedded 어플리케이션 실행
QT/Embedded 의 개요 • 개요 • Trolltech사에서 개발 • 기본적으로 요구되는 메모리 사양은 1Mbytes ~ 5Mbytes지원 되는 플랫폼 : i386, ARM, MIPS, PowerPC, MC68000 • Framebuffer를 지원하여 X11이 없어도 된다.
QT/Embedded 설치 • QT/Embedded 설치 및 환경설정 - 다운로드 ftp://ftp.trolltech.com/qt/source - 압축을 푼다. $ tar xvfz qt-embedded-3.3.3.tar.bz2
QT/Embedded 설치 • 환경설정 • host QTDIR : Qt가 설치되어 있는 디렉토리 LD_LIBRARY_PATH : Qt에서 사용하는 공유 라이브러리가 있는 디렉토리 • ~/.bash_profile 에 추가 후, 적용 $ source ~/.bash_profile 실행
QT/Embedded 설치 • 터치스크린 인식시키기 • 터치스크린 디바이스 노드 /dev/ts를 불러오도록 수정
QT/Embedded 설치 • Configuration • Makefile 편집: all:symlinks src-qmake src-moc sub-src만 남기고 tools, exampes 등을 제거한다.
QT/Embedded설치 • Qt/Embedded Configuration $ ./configure –embedded ipaq –shared –depths 16 –thread -no-cups –qt-mouth-linuxtp • configure 옵션 - shared : 공유라이브러리를 생성하고 사용할 때 - static : 정적라이브러리를 생성하고 사용할 때 - release : 배포시 - debug : 디버깅 정보 추가시 • Configure 실행 - 라이센스에 동의? yes
QT/Embedded설치 • 환경설정이 끝나면 Embedded ipaq용으로 설정했으니 맨 윗줄의build type에서 다음과 같이 나온다. Build on : qws/linux-x86-g++ Build for : qws/linux-ipaq-q++
QT/Embedded설치 • 컴파일 라이브러리 설치 - 다운로드 파일:qt_libstdc++-3libc6.1.2.2.10.0.so - 다운받은 파일을 심볼릭 링크
QT/Embedded설치 • UIB, QVFB설치 • 웹사이트:http://www.hybus.ent /자료실/최신자료/에 있는 QT소스를 /root/qt에 다운 받는다. • 파일의 실행 권한을 확인하고 실행권한 주기
QT/Embedded 설치 • 컴파일 실행 $ make 컴파일이 끝났으면 Qt/Embedded 라이브러리를 확인 $ cd $QTDIR/lib /lib] $ll /lib] $file libqte-mt.so.3.3.3 • 아래 4개 파일이 나오는지 확인
QT/Embedded 어플리케이션 실행 • QT/Embedded 어플리케이션 컴파일 이제 응용 프로그램을 컴파일해서 실행시켜보자. 우선 qte-3.3.3 디렉토리 내에 /root/qt-3.3.3/examples/hello/에 가서 hello 프로그램을 컴파일하여 타깃보드에 올린다. # make //컴파일 # file hello //file 명령으로 ARM 용으로 컴파일된 실행 파일을 확인한다. 'libqte-mt.so.3.3.3: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not
QT/Embedded 어플리케이션 실행 • nfs 셋팅 컴파일한 qt-3.3.3 디렉토리와 /qt_libstdc++-3-libc6.1-2-10.0.so 를 타겟보드에서 마운트할 nfs 디렉토리로 복사한다. 이제 타겟보드에서마운트한다. • 타겟보드의 QT/Embedded 환경 설정 export QTDIR=/mnt/nfs/qte-3.3.3 export LD_LIBRARY_PATH=/mnt/nfs/qte-3.3.3/lib:$LD_LIBRARY_PATH export QWS_MOUSE_PROTO=linuxtp:/dev/ts 위의 3개의 파일을 export 실켜준다.
QT/Embedded 어플리케이션 실행 • ARM 라이브러리 설치 마운트 되어있는 /mnt/nfs/ qt_libstdc++-3-libc6.1-2-10.0.so를 심볼릭 링크한다.
QT/Embedded 어플리케이션 실행 • 예제 프로그램 실행 • X-server 관련된 데몬을 전부 정지 시킨다. # kill -9 {x-server daemon} • 이미 마운트 되어 있는 디렉토리로 이동하여 예제 프로그램을 실행한다. /root]$ cd /mnt/nfs/qte-3.3.3/examples/hello /hello]$ ./hello -qws 프로그램을 실행시키면 프레임버퍼 디바이스를 통해 LCD로 "Hello World"라고 출력 되면 성공이다.