基於6410的qt廣告機移植小記

來源:互聯網
上載者:User

請按以下具體步驟操作:

1、確定需要有的幾個檔案:

   a)、 qtopia-core-opensource-src-2.1.1.tar.gz   Qtopia庫源碼包

   b)、交叉編譯器是arm-2009q1,可執行檔是arm-none-linux-gnueabi-gcc(網上能找到,注意要設定好交叉編譯器才可以進行後面的步驟)

   c)、 qt的介面來源程式 project_stu(這個是專門在開發板上用的,增加了只能在開發板上啟動並執行代碼)

   d)、交叉編譯好的視頻播放器可執行程式mplayer (這個是用網上開源的mplayer播放器源碼包經過交叉編譯得到的)

   e)、 qmake.conf檔案(交叉編譯qtopia時使用)

 

2、交叉編譯Qtopia:

   a)、解壓縮qtopia-core-opensource-src-2.1.1.tar.gz,進到解壓縮後得到的那個目錄下,用qmake.conf替換此qtopia源碼包目錄下mkspecs/qws/linux-arm-g++目錄中的qmake.conf

   b)、在源碼包根目錄下,執行下面的命令(可以粘貼進去)

./configure -embedded arm -DQT_QLOCALE_USES_FCVT \

-qt-mouse-pc -qt-freetype -no-cups -no-nis -no-iconv \

-no-qdbus -qt-libjpeg -qt-libpng -qt-gif -qt-zlib \

-no-rpath -no-qt3support -no-largefile -no-accessibility \

-no-stl -no-libmng -little-endian -prefix /opt/QtPalmtop

 

   c)、中間會有兩次輸入提示:

         第一次提示你輸入時,輸入yes,斷行符號

         第二次提示輸入時直接斷行符號

       configure完成

  

   d)、輸入sudo -s,輸入root使用者口令,然後輸入make開始編譯

  

   e)、輸入make install,qtopia庫會自動安裝到PC機的/opt/QtPalmtop下。

       這個是PC機上交叉編譯Qt程式時用到的庫,同樣這個庫需要拷貝一份到開發板上的同名目錄下,不過開發板上的/opt下沒位置可以拷貝,需要先插上一片sd卡到開發板上,把卡格式化成EXT3檔案系統格式,掛載sd卡到開發板/sdcard目錄下(掛載是自動完成的,重啟開發板就能識別sd卡並掛載成功),然後拷貝這個編譯好的庫到/sdcard目錄下:

             
以NFS掛載開發板,假設nfs目錄是pc機上的/home/akaedu/rootfs目錄。

          pc機上把庫目錄拷貝到nfs目錄,執行 cp -a /opt/QtPalmtop
/home/akaedu/rootfs

            
開發板上拷貝庫到sd卡上,假設nfs掛載到了開發板的/mnt下,執行
mkdir -p /sdcard/opt;cp -a /mnt/QtPalmtop /sdcard/opt/

         在開發板上執行mv /opt /opt_bak;ln -s /sdcard/opt /opt

 

 

   f)、在開發板的/etc目錄下,修改profile檔案,在最後增加三行

       export LD_LIBRARY_PATH=/opt/QtPalmtop/lib

       export QWS_DISPLAY="LinuxFb:/dev/fb1"

       export QWS_SIZE="800x480"

 

   此時開發板上就有庫可以執行Qt程式了。

 

3、交叉編譯project_stu:

      PC機上解壓縮project_stu.tar.bz2,進到解壓縮之後的project_stu目錄下

        執行/opt/QtPalmtop/bin/qmake -project

      (如果Qt程式中使用了QTcpSocket類,有網路相關代碼,需在此時增加一步,修改project_stu目錄下的project_stu.pro檔案,在最後增加一行
QT += network,這個可以不用加)

        再執行/opt/QtPalmtop/bin/qmake

        再執行make,最後在此目錄中得到一個交叉編譯後的可執行檔,與目錄名相同,叫project_stu,此檔案顯示project_stu/pic目錄下的jpg檔案和project_stu目錄下的theme1.png檔案,所以不能單獨拷貝此檔案到開發板,而應該拷貝整個project_stu目錄到開發板上,任意路徑下均可,推薦拷貝到sd卡目錄下。

 

4、重啟開發板,在開發板上執行:

    進到project_stu目錄,執行./project_stu -qws -nomouse,正常的話,此時應該能在fb1這一層上顯示Qt介面了。

 

5、下面要在fb0這一層上顯示視頻,fb0在下,fb1層在上,fb1中Qt介面的黑色部分是透明的,會顯示fb0中的視頻:

   a)、把mplayer可執行程式拷貝到開發板上的/sdcard目錄下

   b)、在開發板/etc/init.d目錄下修改rcS檔案,在最後增加兩行:

       cd /sdcard/project_stu && ./project_stu -qws -nomouse &

       cd /sdcard && ./mplayer -x 540 -y 350 (某一個開發板上的視頻檔案名稱)

   c)、上面的視頻檔案需用視頻處理工具把視頻原始大小正好調整為540x350,否則交由mplayer來縮放的話,視頻播放速度明顯很卡,因為mplayer是軟體解碼的,縮放映像到播放器大小需要大量的CPU運算。視頻檔案尺寸大小調整工具windows下有很多,請在網上找找看。在windows上下載一個轉換工具,安裝並轉換視頻檔案。

6、重啟開發板,應該就可以看到期待的效果了:Qt和mplayer視窗重疊在一起執行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.