ÀÌ ¸Å´º¾óÀº JKÀüÀÚ(JK Electronics) ¿¡ ÀÇÇؼ­ ¹ø¿ª, ¼öÁ¤, ÀÛ¼º µÇ¾ú°í ¼ÒÀ¯±Ç ¶ÇÇÑ
JKÀüÀÚ(JK Electronics)
ÀÇ °ÍÀÔ´Ï´Ù. ¼ÒÀ¯±ÇÀÚÀÇ Çã°¡¸¦ ¹ÞÁö ¾Ê°í ¹«´ÜÀ¸·Î ¼öÁ¤, »èÁ¦Çϰųª ¹èÆ÷ ÇÒ ¼ö ¾ø½À´Ï´Ù.
 

S3C6410 Start Kit Qt-Extendded-4.4.3 (Qtopia Phone Edition) Porting Guide


 

* Update history

- 2011.4.18 : Ãʱâ Release


  ÀÌ ¸Þ´º¾óÀº Qtopia-2.2.0, Qt-Extendded-4.4.3 (Qtopia Phone Edition), Qt 4.7.0¸¦ S3C6410 Start Kit °³¹ßº¸µå¿¡ Æ÷ÆÃÇÏ´Â ÀϹÝÀûÀÎ ¹æ¹ý¿¡ ´ëÇÑ ³»¿ëÀ» ¼³¸íÇÏ´Â ¸Þ´º¾ó ÀÔ´Ï´Ù.

1. Qt-Extended 4.4.3

Qt-Extended4.4.3 ¸¦ PC¹öÁ¯°ú ARM¹öÁ¯À¸·Î ÄÄÆÄÀÏ ÇÏ´Â ¹æ¹ý°ú ARM°³¹ßº¸µå¿¡¼­ ½ÇÇàÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ ¼³¸í ÇÕ´Ï´Ù. Âü°í·Î Qt-Etended´Â 4.4.3¿¡¼­ ´õÀÌ»ó ³ëÅ°¾Æ¿¡¼­ Áö¿øÀ» ÇÏÁö ¾ÊÀ» ¿¹Á¤ÀÌ°í Qt SDK ¶óÀ̺귯¸®¿¡ ÅëÇÕ µÈ´Ù°í ÇÕ´Ï´Ù.

qt-extended-opensource-src-4.4.3.tar.gz : Qt-Extended4.4.3 source code


1.1 Installs Qt-Extended4.4.3 source code

qt-extended-opensource-src-4.4.3.tar.gz ÆÄÀÏÀ» "/opt" µð·ºÅ丮¿¡ º¹»ç ÇÕ´Ï´Ù. "/opt/mini6410/qt-extended4.4.3" µð·ºÅ丮¸¦ »ý¼ºÇÏ°í À̵¿ÇÑ ÈÄ¿¡ ¾ÐÃàÀ» ÇØÁ¦ ÇÕ´Ï´Ù.

# mkdir -p /opt/mini6410/qt-extended4.4.3
# cd /opt/mini6410/qt-extended4.4.3
# tar xvzf /opt/qt-extended-opensource-src-4.4.3.tar.gz

1.2 Compile Qt-Extended4.4.3 for X86

X86¿¡µð¼ÇÀ» À§ÇÑ ºôµåµð·ºÅ丮¸¦ »ý¼º ÇÕ´Ï´Ù.

# mkdir -p /opt/mini6410/qt-extended4.4.3/buildx86


ÄÄÆÄÀÏÀ» ¼öÇàÇϱâ Àü¿¡ ¸ÕÀú ¾Æ·¡¿Í °°ÀÌ ÄÁÇDZԷ¹À̼ÇÀ» ¼öÇà ÇÕ´Ï´Ù.

# export LC_CTYPE="en_US"
# export LANG="en_US"
# export LANGUAGE="en_US"

# cd /opt/mini6410/qt-extended4.4.3/buildx86
# echo yes | ../qt-extended-4.4.3/configure \
-ui-type mobile \
-release \
-clean \
-sound-system alsa \
-build-qt \
-no-sxe \
-no-ssl \
-no-v4l2 \
-no-vpn \
-no-phonon \
-no-libamr \
-dynamic-rotation \
-mediaengines cruxus \
-remove-mediaengine gstreamer,helix \
-pictureflow \
-remove-module bluetooth,drm \
-no-dbus \
-no-dbusipc \
-add-displaysize 240x320 \
-extra-qt-embedded-config "-qt-freetype -no-webkit -no-dbus -qt-gfx-transformed -qt-gfx-linuxfb" \
-extra-qt-config "-no-webkit" \
2>&1 | tee ../qtopiaconfig.log

ÄÁÇDZԷ¹À̼ÇÀ» ¼öÇàÇÒ¶§ óÀ½¿¡´Â ¾ð¾î ¼³Á¤À» "en_US" ·Î ÇÕ´Ï´Ù. ¿Ö³ÄÇϸé Fedora9 ÀÇ ±âº» ÀÎÄÚµù ¼³Á¤ÀÌ "en_US.UTF-8" ·Î µÇ¾î Àֱ⠶§¹® ÀÔ´Ï´Ù. ¾ð¾î ¼³Á¤Àº ³ªÁß¿¡ Qt-Extended4.4.3 compile script ¿¡¼­ ´Ù½Ã ¼³Á¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸í·ÉÇà ÀÎÀÚÀÇ ´õ ÀÚ¼¼ÇÑ ¼³¸íÀº "../qt-extended-4.4.3/configure -help" ·Î È®ÀÎ ÇϽñ⠹ٶø´Ï´Ù. ¾Æ·¡ ¸í·ÉÀ¸·Î ½ÇÁ¦·Î ÄÄÆÄÀÏÀ» ÇÏ°í ¼³Ä¡ ÇÕ´Ï´Ù.

# bin/qbuild 2>&1 | tee ../qtopiamake.log
# bin/qbuild image


"2>&1 | tee ../XXX.log" ÀÇ Àǹ̴ ÄÄÆÄÀÏ °á°ú’Þ ¸ðµç ³»¿ëÀ» ÆÄÀÏ·Î ÀúÀå ÇÑ´Ù´Â ÀÇ¹Ì ÀÔ´Ï´Ù.

1.3 Run Qt-Extended4.4.3 for X86

ÄÄÆÄÀÏÀÌ ¿Ï·áµÈ Qt-Extended4.4.3´Â "runqtopia" ½ºÅ©¸³Æ®·Î ½ÇÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù.


# cd /opt/mini6410/qt-extended4.4.3/buildx86
# bin/runqtopia


Qt-Extended4.4.3°¡ PC¿¡¼­ ½ÇÇàµÈ È­¸é ÀÔ´Ï´Ù.

qtopiaqtopia

1.4 Compile Qt-Extended4.4.3 for ARM

ARM °³¹ßº¸µå¿ë ÄÄÆÄÀÏÀ» À§ÇÑ ºôµåµð·ºÅ丮¸¦ »ý¼º ÇÕ´Ï´Ù.

# mkdir -p /opt/mini6410/qt-extended4.4.3/buildarm


ÄÄÆÄÀÏÀ» ¼öÇàÇϱâ Àü¿¡ ¸ÕÀú ¾Æ·¡¿Í °°ÀÌ ÄÁÇDZԷ¹À̼ÇÀ» ¼öÇà ÇÕ´Ï´Ù.

# export LC_CTYPE="en_US"
# export LANG="en_US"
# export LANGUAGE="en_US"

# cd /opt/mini6410/qt-extended4.4.3/buildarm
# echo yes | ../qt-extended-4.4.3/configure \
-ui-type mobile \
-xplatform linux-arm-g++ \
-arch arm \
-release \
-clean \
-prefix /opt/Qtopia4.4.3 \
-sound-system oss \
-build-qt \
-no-sxe \
-no-ssl \
-no-v4l2 \
-no-vpn \
-no-phonon \
-no-libamr \
-dynamic-rotation \
-mediaengines cruxus \
-remove-mediaengine gstreamer,helix \
-pictureflow \
-remove-module bluetooth,drm \
-no-dbus \
-no-dbusipc \
-add-displaysize 240x320 \
-extra-qt-embedded-config "-embedded arm -xplatform qws/linux-arm-g++ -no-cups -nomake examples -nomake demos -qt-libjpeg -qt-libmng -qt-libpng -no-dbus -depths 16,32 -qt-gfx-linuxfb -qt-gfx-transformed -no-gfx-qvfb -no-gfx-vnc -no-gfx-multiscreen -qt-kbd-tty -no-kbd-usb -no-kbd-sl5000 -no-kbd-yopy -no-kbd-vr41xx -no-kbd-qvfb -qt-mouse-tslib -no-webkit -no-openssl -no-phonon -no-phonon-backend -no-nas-sound -no-exceptions -svg" \
-extra-qt-config "-no-webkit" \
2>&1 | tee ../qtopiaconfig.log

ÄÁÇDZԷ¹À̼ÇÀ» ¼öÇàÇÒ¶§ óÀ½¿¡´Â ¾ð¾î ¼³Á¤À» "en_US" ·Î ÇÕ´Ï´Ù. ¿Ö³ÄÇϸé Fedora9 ÀÇ ±âº» ÀÎÄÚµù ¼³Á¤ÀÌ "en_US.UTF-8" ·Î µÇ¾î Àֱ⠶§¹® ÀÔ´Ï´Ù. ¾ð¾î ¼³Á¤Àº ³ªÁß¿¡ Qt-Extended4.4.3 compile script ¿¡¼­ ´Ù½Ã ¼³Á¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸í·ÉÇà ÀÎÀÚÀÇ ´õ ÀÚ¼¼ÇÑ ¼³¸íÀº "../qt-extended-3.4.3/configure -help" ·Î È®ÀÎ ÇϽñ⠹ٶø´Ï´Ù. ¾Æ·¡ ¸í·ÉÀ¸·Î ½ÇÁ¦·Î ÄÄÆÄÀÏÀ» ÇÏ°í ¼³Ä¡ ÇÕ´Ï´Ù.

ÄÄÆÄÀÏÀ» ¼öÇàÇϱâ Àü¿¡ ÃÖ½ÅÀÌ ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇϱâ À§Çؼ­ ¸î°¡Áö ¼Ò½º Äڵ带 ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾Ê°í ±×³É ÄÄÆÄÀÏÀ» ÇÏ¸é ¾Æ·¡¿Í °°ÀÌ Syntax ¿¡·¯°¡ ¹ßÇà ÇÕ´Ï´Ù.

/opt/mini6410/qt-extended4.4.3/qt-extended-4.4.3/src/libraries/qtopia/qphoneprofile.cpp:1026:1: error: 'QPhoneProfile::Schedule::Schedule' names the constructor, not the type

ÄÄÆÄÀÏ ¿¡·¯¸¦ ÇØ°áÇϱâ À§Çؼ­ qphoneprofile.cpp ÆÄÀÏÀÇ 1026 ¶óÀÎÀ»

QPhoneProfile::Schedule::Schedule &QPhoneProfile::Schedule::operator=(const Schedule &other)

¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ ÇÕ´Ï´Ù.

QPhoneProfile:: Schedule &QPhoneProfile::Schedule::operator=(const Schedule &other)

±×¸®°í ³ª¼­ ÄÄÆÄÀÏÀ» ÇÕ´Ï´Ù.

# bin/qbuild 2>&1 | tee ../qtopiamake.log
# bin/qbuild image

ÄÄÆÄÀÏÀÌ ¼º°øÀû¤··Î ¿Ï·áµÇ¸é "/opt/mini6410/qt-extended4.4.3/buildarm/image" µð·ºÅ丮¿¡ ¹ÙÀ̳ʸ® ÆÄÀÏÀÌ »ý¼º µË´Ï´Ù.

1.5 Run Qt-Extended4.4.3 for ARM

À§¿¡Çê ÄÄÆÄÀÏÇÑ À̹ÌÁö ÆÄÀÏÀ» ¾ÐÃà ÇÏ°í SD ¸Þ¸ð¸® Ä«µå¿¡ º¹»ç ÇÕ´Ï´Ù.


# cd /opt/mini6410/qt-extended4.4.3/buildarm/
# tar cvzf image.tgz image


SD¸Þ¸ð¸® Ä«µå¸¦ °³¹ßº¸µå¿¡ »ðÀÔÇÏ°í °³¹ßº¸µå¿¡ ¾ÐÃàÀ» ÇØÁ¦Çؼ­ ¼³Ä¡ ÇÕ´Ï´Ù.

# rm /opt/Qtopia4.4.3 -rf
# cd /opt
# tar xvzf /sdcard/image.tgz
# mv /opt/image /opt/Qtopia4.4.3


qt-extended4.4.3À» ½ÇÇàÇϱâ À§Çؼ­´Â Qtopia2.2.0 or Qt4.7ÀÇ ½ÇÇàÀ» Á¾·á ÇÏ°í ½ÇÇà ÇØ¾ß ÇÕ´Ï´Ù. Qt 2.2.0À» Á¾·áÇÏ´Â ¹æ¹ýÀº "3.4.4 Qt4.7.0À» °³¹ßº¸µå¿¡¼­ ½ÇÇà" ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

½ÇÇàÀ» ÆíÇÏ°Ô Çϱâ À§Çؼ­ "run_my_qtopia4" ½ºÅ©¸³Æ®¸¦ ¹Ì¸® ÀÛ¼ºÇØ µÎ¾ú½À´Ï´Ù.

# vi /bin/run_my_qtopia4

#!/bin/sh

if [ -e /etc/friendlyarm-ts-input.conf ] ; then
. /etc/friendlyarm-ts-input.conf
fi

true ${TSLIB_TSDEVICE:=/dev/touchscreen}

TSLIB_CONFFILE=/etc/ts.conf

export TSLIB_TSDEVICE
export TSLIB_CONFFILE
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal

export QTDIR=/opt/Qtopia4.4.3
export QPEDIR=/opt/Qtopia4.4.3
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH

if [ -c /dev/touchscreen ]; then
export QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}"
if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then
rm /etc/pointercal
fi

else

export QWS_MOUSE_PROTO="USB:/dev/input/mice" >/etc/pointercal
fi

export QWS_KEYBOARD="TTY:/dev/tty1"
#export QWS_DISPLAY="Transformed:mmWidth66:mmHeight114:Rot90:0"

FB_SIZE=$(cat /sys/class/graphics/fb0/virtual_size)

case "$FB_SIZE" in 800,480)

export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1" ;; 480,272)
export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1" ;; *)
export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1" ;; esac
export LANG="en_US"
export HOME=/root/Qtopia4Home

if [ ! -e $HOME ]; then
mkdir -p $HOME;
fi
if [ ! -e /usr/share ]; then
mkdir /usr/share;
fi
if [ ! -e /usr/share/zoneinfo ]; then
ln -s /opt/Qtopia/etc/zoneinfo /usr/share/;
fi
if [ ! -e $HOME/Settings/Trolltech/qpe.conf ]; then
mkdir -p $HOME/Settings/Trolltech/
cp $QPEDIR/etc/default/Trolltech/qpe.conf

$HOME/Settings/Trolltech/qpe.conf -f
fi

export QTOPIA_PHONE_DUMMY=1
exec $QPEDIR/bin/qpe



run_my_qtopia4 ½ºÅ©¸³Æ® ¼öÇà ³»¿ª ÀÔ´Ï´Ù.

a) Åͽà ½ºÅ©¸° ¶óÀ̺귯¸® tslib parameters¸¦ ¼³Á¤ ÇÕ´Ï´Ù.
b) Set Qtopia environment variables
- QTDIR, QPEDIR : Qtopia Image path configuration
- QWS_MOUSE_PROTO : touch screen devices
- QWS_KEYBOARD : Hard Key points to the development board for the tty device.
c) set the environment variable configuration
- QWS_DISPLAY LCD display parameters, according to the different screen resolution, set a different DPI, the text size of the display medium.
d) GSM ModemÀ» »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì¿¡ QTOPIA_PHONE_DUMMY = 1 ¼³Á¤Àº ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
e) ¸¶Áö¸·À¸·Î Qtopia¸¦ ½ÇÇà ÇÕ´Ï´Ù.

"run_my_qtopia4" ÆÄÀÏ¿¡ ½ÇÇà ±ÇÇÑÀ» ºÎ¿©ÇÏ°í ½Ã½ºÅÛ ºÎÆýà ÀÚµ¿À¸·Î ½ÃÀÛ µÇµµ·Ï Çϱâ À§Çؼ­´Â "/etc/init.d/rcS" ÆÄÀÏ¿¡ µî·ÏÀ» ÇÕ´Ï´Ù.

# chmod +x /bin/run_my_qtopia4
# vi /etc/init.d/rcS

"/bin/qtopia &" ÀÇ ³»¿ë(Qtopia 2.2.0 ½ÇÇà) ºÎºÐÀ» "/bin/run_my_qtopia4 &" ·Î ¼öÁ¤ ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ½Ã½ºÅÛ ºÎÆýà ÀÚµ¿À¸·Î "Qt-Extended4.4.3" °¡ ½ÇÇà µË´Ï´Ù.