이 매뉴얼은 JK전자(JK Electronics) 에 의해서 번역, 수정, 작성 되었고 소유권 또한 JK전자(JK Electronics)의 것입니다. 소유권자의 허가를 받지 않고 무단으로 수정, 삭제하거나 배포 할 수 없습니다. 제품 구매 : http://www.toolparts.co.kr | |||||||||||||||||||||||||||
S3C6410 Start Kit QT2.2.0 Application Developer Guide | |||||||||||||||||||||||||||
* Update history - 2011.4.23 : 초기 Release | |||||||||||||||||||||||||||
이 메뉴얼은 Qtopia-2.2.0, Qt-Extendded-4.4.3 (Qtopia Phone Edition), QtE-4.7.0를 S3C6410 Start Kit 어플리케이션 개발에 대한 내용을 설명하는 메뉴얼 입니다. 1. Qtopia 2.2.0 Application Programming |
#include "main_form.h" |
main.cpp 는 단순희 4줄의 매크로 확장 코드로 이루어진 간단한 main 함수 입니다. TMainForm 는 main window object 로 QApplication::exec () 를 실행 시키고 main event loop 로 진입 합니다. main_form.h 파일은 없으므로 새로 생성 해야 합니다.
main.cpp와 마찬가지로 vi 에디터를 이용해서 생성 합니다.
# vi main_form.h
#if !defined (__MAIN_FORM_H__) |
추가로 main_form.h을 포함하는 main_form_base.h 파일이 있는데 이 파일은 개발자가 생성하는 파일이 아니고 UI 디자이너 툴에서 자동으로 생성 시키는 파일 입니다. 이제 실제로 이벤트가 발생 했을 경우 처리하는 이벤트 핸들러 함수를 작성 합니다.
# vi main_form.cpp
#include "main_form.h" |
소스코드에 대해서 자세한 설명은 하지 않아도 어떤 내용인지 알 수 있을것 같습니다.
모든 소스코드들의 수정이 완료 되었으면 컴파일 하기전에 마지막으로 프로젝트 파일을 작성해야 합니다.
# vi mycalc.pro
CONFIG += qtopiaapp |
CONFIG+=qtopiaapp : Qtopia 프로그램의 종류 입니다.
HEADERS and SOURCES : mycalc 프로젝트의 소스코드와 헤더 파일을 나열 합니다.
TARGET : 컴파일 후 생성되는 최종 실행 파일의 이름을 입력 합니다.
(5) x86용 컴파일 및 실행
PC버젼의 컴파일 스크립트인 "buildhost.sh" 를 실행 시킵니다. 참고로 "buildhost.sh" 파일은 PC버젼의 qt application의 컴파일을 편하게 하기 위해서 미리 만들어둔 스크립트 파일 입니다. 스크립트의 내용은 아래와 같습니다.
#!/bin/sh |
스크립트 파일에 실행 권한을 부여 합니다.
# chmod +x buildhost.sh
빌드 스크립트를 실행 합니다. 스크립트가 성공적으로 실행되기 위해서는 "/opt/ qtopia-free-2.2.0/" 에 qtopia 2.2.0 이 설치 되어 있어야 합니다. 만약 qtopia가 다른 경로에 설치되어 있다면 위의 스크립트 파일 내용중에서 "source /opt/qtopia-free-2.2.0/setQpeEnv" 부분을 적절하게 수정해 주면 됩니다.
# ./buildhost.sh
컴파일이 성공적으로 완료되면 mycalc 디렉토리에 mycalc 실행 파일이 생성 됩니다. 생성된 실행파일을 PC에서 실행시켜 봅니다. 아래 명령은 mycalc를 실행 시키기 전에 먼저 qtopia를 실행시키는 명령 입니다.
# cd /opt/qtopia-free-2.2.0/
# ./run&
qtopia를 실행시키고 난후에 몇가지 환경 변수를 등록하고 mycalc 어플리케이션을 실행 합니다. 환경 변수들은 리눅스 사용자 프로파일에 등록 시켜놓으면 편리 합니다.
# cd /opt/mini6410/qtopia2_apps/mycalc
# export QTDIR=/opt/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/
# export QPEDIR=/opt/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/
# export HOME=$QPEDIR/root/
# export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBARAY_PATH
# ./mycalc
(6) ARM용 컴파일 및 실행
x86용 컴파일할때와 마찬가지로 컴파일을 편리하게 하기 위해서 우리는 "buildarm.sh" 스크립트를 미리 만들어 두었습니다. 이 스크립트를 실행하여 ARM버젼으로 어플리케이션을 컴파일 합니다. 스크립트 파일의 내용은 아래와 같습니다.
# vi buildarm.sh
#!/bin/sh source |
스크립트 파일에 실행권한을 부여하고 스크립트를 실행하여 컴파일을 합니다.
# chmod +x buildarm.sh
빌드 스크립트를 실행 합니다. 스크립트가 성공적으로 실행되기 위해서는 "/opt/ qtopia-free-2.2.0/" 에 qtopia 2.2.0 이 설치 되어 있어야 합니다. 만약 qtopia가 다른 경로에 설치되어 있다면 위의 스크립트 파일 내용중에서 "source /opt/qtopia-free-2.2.0/setQpeEnv" 부분을 적절하게 수정해 주면 됩니다.
# ./buildarm.sh
개발용 PC에서 컴파일한 결과물을 SD메모리에 복사한다음 개발보드에 SD메모리를 삽입하고 실행파일을 Qtopia/bin 디렉토리에 복사한다음 실행 권한을 부여 합니다.
# cp /sdcard/mycalc /opt/Qtopia/bin/
# chmod +x /opt/Qtopia/bin/mycalc
아직은 Qtopia환경에 실행 아이콘이 등록되지 않는 상태이므로 명령행에서 실행해 보도록 하겠습니다.
# cp /bin/run_my_qtopia /bin/run_mycalc
# vi /bin/run_mycalc
run_mycalc 파일의 마지막 줄의
exec $QPEDIR/bin/qpe 를 exec $QPEDIR/bin/mycalc 로 수정하고 아래 명령을 수행 합니다.
# chmod +x /bin/run_mycalc
# run_mycalc&
(7) mycalc 프로그램을 Qtopia 환경에 아이콘으로 등록해서 실행
앞절에서는 명령행에서 프로그램을 실행시키는 방법에 대해서 알아 보았고 이번에는 Qtopia실행 환경에서 아이콘으로 등록해서 실행하는 방법에 대해서 알아보도록 합니다. Fedora9의 "/usr/share/icons/hicolor/48x48/apps" 디렉토리에 몇가지 재미있는 아이콘들이 있습니다. 그 중에서 우리는 "gnome-sudoku.png" 파일을 mycalc 프로그램의 실행 아이콘으로 사용해 보도록 합시다. 개발용 PC에서 아래 명령을 입력 합니다.
# cd /usr/share/icons/hicolor/48x48/apps/
# cp gnome-sudoku.png /opt/mini6410/qtopia2_apps/mycalc/mycalc.png
먼저 mycalc에 대한 desktop 파일을 작성 합니다.
# cd /opt/mini6410/qtopia2_apps/mycalc/
# vi mycalc.desktop
[Translation] |
개발용 PC에서 작성된 mycalc.png, mycalc.desktop 파일을 SD메모리에 복사한후 SD메모리를 개발보드에 삽입한후 다음 명령을 실행 합니다.
# cp /sdcard/mycalc.desktop /opt/Qtopia/apps/Applications/
# cp /sdcard/mycalc.png /opt/Qtopia/pics/
파일 복사가 완료되면 개발보드를 재부팅 합니다.
얼 입니다.
2. Qtopia2.2.0 에서 프로그램 그룹 등록 방법
이번 절에서는 Qtopia 2.2.0에 "MyApps" 라는 프로그램 그룹을 생성시키고 우리가 작성한 어플리케이션들을 새로 생성한 그룹에 포함시키도록 해 봅시다.
먼저 "/opt/mini6410/qtopia2_apps/MyApps" 디렉토리를 생성하고 생성된 디렉토리안에 ".directory" 파일을 작성 합니다.
# mkdir -p /opt/mini6410/qtopia2_apps/MyApps/
# cd /opt/mini6410/qtopia2_apps/MyApps/
# vi .directory
[Translation] |
프로그램 아이콘인 "MyApps.png" 파일이 있어야 합니다. 그리고 "MyApps" 프로그램 그룹에 포함시킬 어플리케이션 파일들을 추가 합니다.
# cd /opt/mini6410/qtopia2_apps/
# cp ./serialport/serialport.desktop ./MyApps
# cp ./led-testing/led-testing.desktop ./MyApps
# cp ./button-testing/button-testing.desktop ./MyApps
# cp ./adc-testing/adc-testing.desktop ./MyApps
# cp ./mycalc/mycalc.desktop ./MyApps
# cp ./pwm-testing/pwm-testing.desktop ./MyApps
"MyApps' 디렉토리를 압축 합니다.
# cd /opt/mini6410/qtopia2_apps/
# tar cvzf MyApps.tgz MyApps
압축한 파일을 SD 메모리에 복사한 후 아래 명령으로 개발보드에 다시 복사 합니다.
# cd /opt/Qtopia/apps/
# tar xvzf /sdcard/MyApps.tgz
마지막으로 프로그램 그룹 아이콘 파일인 MyApps.png 파일을 개발보드의 "/opt/Qtopia/pics/" 디렉토리에 복사한 후에 개발보드를 다시 시작하면 프로그램 그룹에 "MyApps" 그룹치 추가되어 있는 것을 확인 할 수 있습니다.
댓글 없음:
댓글 쓰기