Qtopia4.4.3移植到AtmelAT91SAM9X5-EK开发板
来源:互联网 发布:刷留言软件 编辑:程序博客网 时间:2024/04/26 07:05
主机:Ubuntu12.04
目标板:AtmelAT91SAM9X5-EK开发板
交叉编译器:4.4.1
Qtopia4.4.3的移植包括两个软件包的移植,在移植Qtopia4.4.3时,得先移植tslib,因为在编译和运行Qt时需要用到tslib库。这个库是用做屏幕校准的。
一、tslib编译移植
编译tslib需要autoconf、automake、libtool包支持,在编译之前先在主机上安装这些包。
#apt-get install autoconf
#apt-get install automake
#apt-get install libtool
1、解压源码
#tar xzvf tslib.tar.gz
2、把auto.sh脚本复制到tslib的根目录下
3、进入到tslib目录,运行auto.sh脚本
auto.sh脚本:
#!/bin/sh export PATH=/usr/local/arm/4.4.1/bin:$PATHexport TOOLCHAIN=/usr/local/arm/4.4.1export TB_CC_PREFIX=arm-linux-export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi ./autogen.sh echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.cache ./configure \--host=arm-linux \--cache-file=arm-linux.cache \--enable-inputapi=no \PLUGIN_DIR=/usr/local/arm/tslib/plugins \-prefix=/usr/local/arm/tslib \-host=arm-linux \--cache-file=arm-linux.cache \2>&1 | tee conf_logmake 2>&1 | tee make_logmake install
#./auto.sh
编译、安装完成之后,就可以在/usr/local/arm/的目录下看到tslib目录,修改tslib目录下etc/tslib.conf的配置文件,把第二行:# module_raw input的注释符号“#”和前面的空格去掉。修改完成之后就可以把tslib整个文件复制到目标板上的/usr/local/arm/的目录下了。
二、编译安装Qtopia4.4.3
编译Qtopia4.4.3也需要libx11-dev、libxext-dev、libxtst-dev包的支持。在编译之前先安装这些包。
#apt-get install libx11-dev
#apt-get install libxext-dev
#apt-get install libxtst-dev
如果主机上没有安装g++,也得安装:
#apt-get install g++。
在编译Qt4.4.3时,交叉编译器的版本不要选得太高,之前我4.6.3的编译不通过,说编译器不支持Qt的一些语法,还有编译器的库最好是glib,我用过uClib库的编译器,编译也不通过,说缺少什么头文件。
将qt-extended-opensource-src-4.4.3.tar.gz源代码包和build编译脚本放到/opt/Qtopia4.4.3/文件夹下,运行编译脚本build
#./build
build脚本:
#!/bin/bash rm qt-extended-4.4.3 -frtar xvzfqt-extended-opensource-src-4.4.3.tar.gz rm -fr builddirmkdir builddir export PATH=/usr/local/arm/4.4.1/bin:$PATHexport TOOLCHAIN=/usr/local/arm/4.4.1export TB_CC_PREFIX=arm-linux-export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi QTOPIA_PREFIX_DIR=/opt/Qtopia4.4.3exportQTOPIA_DEPOT_PATH=$PWD/qt-extended-4.4.3export QPEDIR=$PWD/builddirexport LC_CTYPE="en_US"export LANG="en_US"export LANGUAGE="en_US" cd $QPEDIRecho yes | $QTOPIA_DEPOT_PATH/configure \ -ui-type mobile \ -xplatform linux-arm-g++ \ -arch arm \ -release \ -clean \ -prefix ${QTOPIA_PREFIX_DIR} \ -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 480x272 \ -extra-qt-embedded-config "-embeddedarm -xplatform qws/linux-arm-g++ -no-cups -nomake examples -nomake demos-qt-zlib -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 -I/usr/local/arm/tslib/include -L/usr/local/arm/tslib/lib -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 bin/qbuild 2>&1 | tee../qtopia4.4.3makelogbin/qbuild image
这个过程大概需要3到4个小时。编译完成后在/opt/Qtopia4.4.3/文件夹生成builddir目录,该目录下的image就是我们期待已久的Qtopia应用程序。把整个文件夹放到目标上的/opt/目录下并改名为Qtopia4.4.3、sdk目录是在主机上开发Qt的开发工具。
将qtopia4这个运行脚本放到:/usr/bin/目录下。qtopia4脚本代码如下:
#!/bin/shexport TSLIB_TSDEVICE=/dev/input/event0export TSLIB_ROOT=/usr/local/arm/tslibexport TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.confexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/tsexport TSLIB_CALIBFILE=/etc/pointercalexport QTDIR=/opt/Qtopia4.4.3export QPEDIR=/opt/Qtopia4.4.3export PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$TSLIB_ROOT/lib:$LD_LIBRARY_PATHif [ -c ${TSLIB_TSDEVICE} ]; then export QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}" if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then rm /etc/pointercal/usr/local/arm/tslib/bin/ts_calibrate fielse export QWS_MOUSE_PROTO="USB:/dev/input/mice" >/etc/pointercalfiexport 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" in800,480)export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1";;480,272)export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1";;*)export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1";;esacexport LANG="en_US"export HOME=/root/Qtopia4Homeif [ ! -e $HOME ]; then mkdir -p $HOME; fiif [ ! -e /usr/share ]; then mkdir /usr/share; fiif [ ! -e /usr/share/zoneinfo ]; then ln -s /opt/Qtopia4.4.3/etc/zoneinfo /usr/share/; fiif [ ! -e $HOME/Settings/Trolltech/qpe.conf ]; then mkdir -p $HOME/Settings/Trolltech/ cp $QPEDIR/etc/default/Trolltech/qpe.conf $HOME/Settings/Trolltech/qpe.conf -ffiexport QTOPIA_PHONE_DUMMY=1exec $QPEDIR/bin/qpe 1>/dev/null 2>/dev/null
修改/etc/init.d/rcS脚本,加上开机启动Qtopia。
/usr/bin/qtopia4&
- Qtopia4.4.3移植到AtmelAT91SAM9X5-EK开发板
- 移植Qtopia4到S3C2440
- Fedora8上交叉编译qtopia4移植成功到s3c2410开发板
- Fedora8上交叉编译qtopia4移植成功到s3c2410开发板
- Fedora8上交叉编译qtopia4移植成功到s3c2410开发板
- Fedora8上交叉编译qtopia4移植成功到s3c2410开发板
- Fedora8上交叉编译qtopia4移植成功到s3c2410开发板
- 3.4 移植Qt-Extended 4.4.3 (Qtopia4.4.3) 到mini6410
- qtopia4.4.3移植OMAP-L138
- linux-2.6.32在mini2440开发板上移植(22)之qtopia4.4.3手机版移植(english version)
- nux-2.6.32在mini2440开发板上移植(22)之qtopia4.4.3手机版移植(english version)
- 记录Qtopia Core 4.3.5移植到9263EK平台!
- 详解qtopia4.4.3移植到mips处理器以及相关问题总结
- Qtopia4.3.0编译与移植到ok-2440核心板过程与总结(鼠标)
- OK6410 Qtopia4.4.3和tslib的移植
- Fedora8平台下qtopia4在s3c2410开发板上终于移植成功了!
- Qt移植(Qtopia4.2.2)
- Qt移植(Qtopia4.2.2)
- 图解autoscan、aclocal、autoheader、automake、autoconf、configure、make
- android usb mass storage EMMC转化为SD卡(二)
- XsqlFilterResult----动态生成sql语句的类,过滤一些为空的查询条件 .
- js 字符串函数
- 判断是否为平板
- Qtopia4.4.3移植到AtmelAT91SAM9X5-EK开发板
- sql DEFAULT 和 NULL 不允许作为显式标识值
- 读取客户端文件
- xcode workspace 及静态库创建
- 使用lsusb命令查看系统中的USB设备
- json对象和数组对象
- C# String.Format格式说明
- C语言学生管理系统
- GCD ios多线程 runloop