<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          Mini2440移植qt-extended4.4.3

          作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò) 收藏
          因?yàn)轫?xiàng)目需求,前段時(shí)間在Mini2440移植qt-extended4.4.3,現(xiàn)將移植過(guò)程簡(jiǎn)單的說(shuō)下,希望對(duì)做相關(guān)的工作的朋友有幫助。

          一、開發(fā)環(huán)境

          本文引用地址:http://www.ex-cimer.com/article/201611/316972.htm

          上位機(jī):Fedora9.0

          交叉編譯器版本:arm-linux-gcc4.4.3(友善之臂提供,在此說(shuō)明下:arm-linux-gcc4.4.3或arm-linux-gcc4.4.2是支持arm9的,建議在arm9上移植不要使用友善之臂提供的arm-linux-gcc4.5(支持的是arm11的));

          網(wǎng)絡(luò)文件系統(tǒng)目錄:/opt/root_nfs/root_qtopia(大家根據(jù)自己的情況而定)

          開發(fā)板LCD版本:w35

          開發(fā)板bootloader:u-boot(嵌入式家園提供)

          開發(fā)板內(nèi)核:uImage(嵌入式家園提供)

          根文件系統(tǒng):root_qtopia(嵌入式家園提供)

          聲明:bootloader、內(nèi)核和根文件系統(tǒng)大家也可以直接使用友善之臂提供的。

          二、交叉編譯tslib1.4

          編譯和運(yùn)行qt-extended-4.4.3(Qtopia4),需要tslib庫(kù),該庫(kù)是觸摸屏校準(zhǔn)時(shí)需要的庫(kù)文件,如對(duì)觸摸屏的數(shù)據(jù)進(jìn)行過(guò)濾、去抖動(dòng)等,QT的庫(kù)會(huì)調(diào)用tslib的庫(kù)文件。

          在此提示大家,安裝Fedora時(shí),最好是完全安裝,不要缺省安裝,因?yàn)榫幾gtslib等時(shí)需要第三方庫(kù)的支持。

          1、解壓tslib1.4.tar.gz

          2、進(jìn)入tslib目錄:

          [root@localhost /]# cd tslib/

          3、設(shè)置環(huán)境變量、制定交叉編譯器

          #export PATH=/opt/toolchain/4.4.3/bin:$PATH
          #export TOOLCHAIN=/opt/toolchain/4.4.3
          #export TB_CC_PREFIX=arm-linux-
          #export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux

          4、運(yùn)行tslib目錄下的腳本

          #./autogen.sh

          #echo "ac_cv_func_malloc_0_nonnull=yes">arm-linux.cache

          5、配置

          #./configure--host=arm-linux
          --cache-file=arm-linux.cache
          --enable-inputapi=no
          PLUGIN_DIR=/usr/local/arm/tslib/plugins
          -prefix=/usr/local/arm/tslib/build
          -host=arm-linux
          --cache-file=arm-linux.cache2>&1 | tee conf_log

          這一行:-prefix=/usr/local/arm/tslib/build表示tslib安裝的目錄

          最后一行將配置信息寫入conf_log文件,方便大家檢查錯(cuò)誤

          6、編譯

          #make2>&1|teemake_log
          #makeinstall

          7、成功后在/usr/local/arm/tslib出現(xiàn)build目錄,進(jìn)入相關(guān)的etc目錄找到ts.conf濱修改,刪除module_rawinput’前面的#號(hào)和空格,

          并將build目錄改為tslib(命令:[root@localhost tslib]# mv build tslib),所以現(xiàn)在tslib在pc機(jī)下目錄為:/usr/local/arm/tslib/tslib,然后把tslib目錄拷貝至網(wǎng)絡(luò)文件系統(tǒng)中:/opt/root_nfs/root_qtopia/usr/local中

          三、交叉編譯qt-extended4.4.3

          1、新建目錄arm

          [root@localhost /]# mkdir arm

          2、拷貝qt-extended-opensource-src-4.4.3.tar.gz至arm目錄

          3、進(jìn)入arm目錄

          [root@localhost /]# cd arm

          為了實(shí)現(xiàn)一鍵編譯,在此我編寫一個(gè)腳本:build,內(nèi)容如下:

          #!/bin/bash

          rm qt-extended-4.4.3 -fr
          tar xvzf qt-extended-opensource-src-4.4.3.tar.gz

          rm -fr builddir
          mkdir builddir

          #linux-arm-g++
          export PATH=/opt/toolchain/4.4.3/bin:$PATH
          export TOOLCHAIN=/opt/toolchain/4.4.3
          export TB_CC_PREFIX=arm-linux-
          #export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux
          export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi


          QTOPIA_PREFIX_DIR=/opt/Qtopia4.4.3
          export QTOPIA_DEPOT_PATH=$PWD/qt-extended-4.4.3
          export QPEDIR=$PWD/builddir
          export LC_CTYPE="en_US"
          export LANG="en_US"
          export LANGUAGE="en_US"

          cd $QPEDIR
          echo 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 240x320
          -extra-qt-embedded-config "-embedded arm -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-multis
          creen -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/tslib/i
          nclude -L/usr/local/arm/tslib/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.3makelog
          bin/qbuild image

          4、修改build腳本的權(quán)限并執(zhí)行

          [root@localhost arm]# chmod +x build

          [root@localhost arm]# ./build

          由于文件比較大,編譯時(shí)間大概需要2.5個(gè)小時(shí),大家先休息下吧,喝杯咖啡吧,祈禱不要出錯(cuò),哈哈

          5、編譯完成后,這時(shí),在‘builddir’目錄下會(huì)生成‘SDK’和‘Image’,‘SDK’是在開發(fā)板上開發(fā)Qt圖形界面軟件的API庫(kù),另外還有國(guó)際化工具等工具軟件。而‘Image’目錄下的文件,就是我
          們期盼已久的Qtopia4.4.3可執(zhí)行文件。如下:

          四、在Mini2440運(yùn)行qt-extended4.43

          步驟1.本章的演示實(shí)驗(yàn)NFS掛載的目錄是‘/opt/root_nfs’。將嵌入式家園提供的root_qtopia.ta.gz在PC的‘/opt/root_nfs’目錄下解壓。最后將前面編譯出來(lái)的‘image’目錄整體拷貝到‘/opt/root_nfs/root_qtopia/opt’中:

          [root@localhost builddir]# cp -r image /opt/root_nfs/root_qtopia/opt

          步驟2.進(jìn)入/opt/root_nfs/root_qtopia/opt目錄,然后將image目錄改名為Qtopia4.4.3
          [root@localhost opt]#mv image Qtopia4.4.3

          步驟3.接下來(lái),在網(wǎng)絡(luò)根文件系統(tǒng)的bin目錄下建立qtopia4.4.3文件,內(nèi)容如下:

          步驟4.接下來(lái),修改rcS啟動(dòng)文件,讓Linux啟動(dòng)后直接運(yùn)行Qtopia4.4.3:打開文件
          ‘/forlinx/root/etc/init.d/rcS’,最后幾行修改的內(nèi)容如下:


          #/bin/qtopia &
          #/bin/qtopia4 &
          echo " " > /dev/tty1
          echo "Starting Qtopia, please waiting..." > /dev/tty1
          source /bin/qtopia4.4.3
          if [ -f /etc/pointercal ]; then
          $QPEDIR/bin/qpe -qws &
          else
          usr/local/tslib/bin/ts_calibrate $QPEDIR/bin/qpe -qws &
          fi

          六、重啟開發(fā)板,可以看到效果了

          移植過(guò)程中參考了Mini6410 Qt4和Qtopia編程開發(fā)指南-20101228.pdf和OK6410 QT移植百科全書.pdf,大家都可以到友善之臂和飛凌的官網(wǎng)去下載這兩份資料。時(shí)間倉(cāng)促,難免疏漏。



          關(guān)鍵詞: Mini2440移植qt-extended4.4.

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();