-
Qt/embedded의 두 가지 테스트 방법
Qt Virtual Frame Buffer(qvfb)의 이용
실제 타겟 보드에서 테스트
-
Qt Virtual Frame Buffer(qvfb)의 이용
데스크탑 환경에서 쉽게 임베디드 시스템에서의 실행을 테스트 하게 해주는 개발툴
Qt embedded는 X11을 쓰지 않고 frame buffer에서 작동. Qvfb는 frame buffer를 에뮬레이션 해주는 툴
Qt/embedded를 X11용으로 빌드 되도록 환경 설정하여 qvfb 상에서 임베디드 어플리케이션을 테스트
-
Qt Virtual Frame Buffer
Qt/Embedded를 데스크탑 환경에서 테스트할 수 있도록 해주는 tool
Qt/X11의 tools/qvfb에서 make 실행하면 ‘qvfb’ 실행 파일이 생성됨
qvfb를 실행시키고, qvfb를 사용하도록 빌드된 qt/embedded를 기반으로 빌드된 hello라는 프로그램이 있다면
hello –qws 와 같이 실행 시킴
-
테스트
-
$cd /work/qte-x86/
$source ./qte_x86_env
$cd /work/qte-x86/examples/widgets/calculator
$rm –rf calculator
$/work/qte-x86/bin/qmake -project
$/work/qte-x86/bin/qmake
$make
$qvfb -depth 16 &
$./calculator -qws
-
실제 타겟 보드에서 테스트
크로스 컴파일 함. 즉, Qt/embedded를 ARM 등의 보드 하드웨어에 적합하게 빌드
타겟 보드로 빌드된 라이브러리를 전송
테스트 응용을 보드로 전송하여 보드에서 직접 실행
-
make install 수행
make시 설정한 디렉토리에 라이브러리, 헤더파일 등이 설치됨
tar, gzip을 이용하여 압축 및 묶기 -
Network file system, ftp, zmodem 등을 이용하여 보드에 라이브러리 파일을 올림
-
보드의 원하는 위치에 묶은 tar.gz 파일을 풀어줌
예를 들어 보드의 /usr/qt3에 풀었다면 다음과 같이 환경 변수 설정
-
export QTDIR=/usr/qt3
export LD_LIBRARY_PATH =$LD_LIBRARY_PATH:$QTDIR/lib
export QWS_MOUSE_PROTO=linuxtp:/dev/ts
-
HOST PC 설정
-
$cd /work/qte-arm/
$source ./qte_arm_env
$cd /work/qte-arm/examples/analogclock/
$rm -rf analogclock
$/work/qte-arm/bin/qmake -project
$/work/qte-arm/bin/qmake
$make
$cp analogclock /nfs
-
TARGET BOARD 설정
-
$mkdir -p /usr/local/Trolltech/QtopiaCore-4.3.3-arm
$ln -s /nfs/lib /usr/local/Trolltech/QtopiaCore-4.3.3-arm/lib
$cd /nfs
$./analogclock -qws
-
/nfs는 host pc의 nfs 디렉터리를 마운트한 상태로 가정한다.
-
주의사항
QT 응용 프로그램 작성 후 컴파일 할 때, 프로그램의 타겟 시스템에 따라 환경 설정이 바뀌어야 함
X11
x11용으로 컴파일한 qt library 패스 설정
X86/QVFB
qvfb 용으로 컴파일한 qt-embedded library 패스 설정
spec은 $QTDIR/mkspecs/qws/linux-x86-g++
ARM/FB
arm 아키텍처용 qt-embedded library 패스 설정
spec은 $QTDIR/mkspecs/qws/linux-ipaq-g++
- linux-arm-g++ 과는 터치패드 설정 차이
-
관련 사이트
http://www.trolltech.com (회사 홈페이지)
http://doc.trolltech.com (문서 홈)
http://www.korone.net (국내 qt 커뮤니티)
이 글은 스프링노트에서 작성되었습니다.