嵌入式linux_qtopia平台開發說明

來源:互聯網
上載者:User

    LINUX系統中QT(qtopia)平台開發說明
    =================================
        黃德智(compiler_hdz@hotmail.com)
            V:1.0
        日期:20060305

        QT 版本 :20060106V2

一、開發包的擷取
================

    最新的qtopia開發包名稱為:qtopia_dev20060106V2.tar.gz;
目前的版本為20060106V2,大小大約為 246M。

    當前和後續版本也可在 東信 的FTP網站上下載得到.

二、開發環境的搭建
==================

    qtopia開發包運行於LINUX作業系統上,LINUX要求核心版本為2.4.18或以上。安裝LINUX作業系統,
如果只是在PC機上進行模擬器上的開發和交叉編譯,可將LINUX安裝到虛擬機器上。將LINUX安裝到虛擬機器上,
建議硬碟空間最少分配6G,因為開發環境的搭建需要很大空間。

1、qtopia開發包的安裝步驟:
    (1)、將qtopia_dev.tar.gz放到/opt/目錄下
        建議放在/opt/目錄下,如果需要將開發包放到其他的目錄,則解壓後需要修改
qtopia-phone-2.1.1/src/下的config.pri檔案。
    (2)、用命令tar解壓
        在LINUX終端中CD到/opt/目錄下,輸入命令 tar -zxf qtopia_dev.tar.gz (斷行符號),
幾分鐘後解壓結束,出現命令提示字元,如果報找不到什麼目錄或找不到什麼檔案,輸入命令“df -m”
查看硬碟使用方式,一般原因是硬碟空間不足,解壓失敗,刪除硬碟上不需要的檔案或重新安裝LINUX操作
系統,把分配硬碟空間更大。
    (3)、解壓後產生的目錄為qtopia_dev

2、交叉編譯工具的安裝步驟:

    (1)、將cross2compiler.tar.gz放到/opt/目錄下
    (2)、用命令tar -zxf cross2compiler.tar.gz 解壓
    (3)、解壓後產生的目錄為debugdir
    交叉編譯工具的安裝是為了編譯出在真機上啟動並執行可執行檔,如果只是在模擬器上開發,可不
進行交叉工具的安裝。

三、模擬器上開發
================

1、設定檔和全域變數的設定:
    (1)、將.../qtopia_dev/.../x86/Settings目錄放到/root/目錄下,如果已經有/root/Settings目錄,
則進行覆蓋。
    (2)、進入qtopia_dev/.../.../x86/目錄。(中間目錄省略)
    (3)、運行 ./setenv 設定環境變數,或source setenv命令。

2、編譯例子工程:
     在目錄.../qtopia_dev/20060106V1102/x86/qtopia-phone-2.1.1/examples/application/下有一個名為
application的樣本工程,對該工程進行編譯和安裝,可在模擬器中看到運行效果。
    編譯步驟:
    (1)、進入qtopia_dev/.../.../x86/qtopia-phone-2.1.1/examples/application目錄;
    (2)、運行qmake產生Makefile 檔案;
    (3)、運行make install 進行編譯和安裝。

3、模擬器上查看運行效果:
    (1)、進入.../qtopia_dev/20060106V1102/x86/目錄
    (2)、運行./rn.dat 啟動模擬器

4、各個檔案安裝路徑:
    (1)、所有編譯後的程式放在
qtopia_dev/.../.../x86/qtopia-phone-2.1.1/image/opt/Qtopia/bin/目錄下;
    (2)、程式相應的desktop檔案放在
qtopia_dev/.../.../x86/qtopia-phone-2.1.1/image/opt/Qtopia/apps/Application/目錄下
    (3)、所有的程式表徵圖放在qtopia_dev/.../.../x86/pia-phone-2.1.1/image/opt/Qtopia/pics/程式名/目錄下

5、樣本工程中的各個檔案

    (1)、application.pro檔案
    該檔案中指定工程中用到的各個檔案,檔案包括:原始碼檔案(.c .cpp .h)、資源檔名、目標檔案名、
desktop檔案及路徑、表徵圖檔案及路徑、協助檔案及路徑。
    qmake命令在執行過程中訪問application.pro檔案將產生Makefile檔案。
   
    (2)、example.desktop檔案
    該檔案將安裝到模擬器和真機上,為了在運行時找到工程的各個檔案。

    (3)、example.control檔案
    檔案中指定了工程的可執行檔路徑、desktop檔案路徑、協助檔案路徑和表徵圖檔案路徑。
    這個檔案我現在還沒有搞清楚:)

    (4)、examplebase.ui檔案
    該檔案中以XML的格式定義了可視視窗上的各個組件。

    (5)、其它檔案
    example.html和Example.png分別是工程的協助檔案和表徵圖檔案。

6、建立自己的工程

(1)、在樣本工程的基礎上建立自己的工程:
    建立一個自己工程的目錄,將樣本工程中的相關檔案複製到該目錄,在樣本工程的基礎上進行修改。
需要複製的檔案有:main.cpp、application.pro、example.control、example.cpp、example.h、example.desktop、
examplebase.ui、Example.png、example.html。

(2)、修改事項:
    application.pro檔案:
    A、“application.pro”檔案以.pro為副檔名,檔案名稱要和它所在的目錄名相同;
    B、11行,寫上所有工程中用到標頭檔,檔案名稱之間用空格隔開;
    C、12行,寫上所有工程中用到.c或.cpp檔案,檔案名稱之間用空格隔開;
    D、13行,可視視窗檔案名稱;
    E、14行,產生可執行檔名(目標檔案名);
    F、18行,.desktop檔案名稱;
    G、22行,表徵圖檔案名稱;
    H、23行,表徵圖路徑名,以目標檔案名為目錄名;
    I、26行,說明檔案名稱;

    .desktop檔案
    A、7行,可執行檔名;
    B、8行,表徵圖檔案名稱;

    .ui檔案,該檔案可用QT開發環境修改,也可用文字編輯器修改,
    A、第2行,<class>ExampleBase</class>,“ExampleBase”可修改,但一定要與example.h檔案的25行父類名稱一致;

    main.cpp檔案
    A、該檔案名稱不修改;
    B、21行,修改包含的標頭檔名;
    C、24行,修改類名;

(3)、編譯自己的工程
    A、產生Makefile檔案,在工程的目錄下,運行qmake命令;
    B、編譯,在工程的目錄下,運行make命令;
    C、安裝,在工程的目錄下,運行make install命令;

四、為真機上運行進行編譯
========================
    將代碼用arm編譯器進行編譯,目標檔案就可在真機上運行。
    1、必須進行交叉編譯工具的安裝;
    2、將工程目錄複寫到.../qtopia_dev/20060106V1102/arm/qtopia-phone-2.1.1/目錄下;
    3、編譯;

五、將檔案安裝到真機上
======================
1、裝置間的軟體串連:
串連步驟:
    (1)、串連好個連線
    (2)、啟動PC到LINUX系統中
    (3)、關閉防火牆(service iptables stop)
    (4)、掛載進QT的開發包(mount /dev/hda4 /mnt/win)
    (5)、手動載入usbdnet.o(進入/mnt/win目錄下,執行install),並在終端確認模組已經載入
    (6)、啟動(重起)nfs(service nfs restart)
    (7)、啟動minicom(#minicom)
    (8)、到/home/目錄下,執行指令碼pc_linux
    (9)、在終端啟動USB裝置(ifconfig usb0 192.168.254.1 up)
    (10)、在minicom視窗中執行/home/目錄下的linuxrc_run指令碼
    (11)、在minicom視窗中執行/home/目錄下的指令碼pc_linux
    (12)、檢查目錄/mnt/,是否和目錄/opt/p2fs下的內容一致,若一致,則成功

這裡提供幾個診斷串連成功的方法:

pc啟動候,通過lsmod|grep usbdnet看看模組是否存在,如果不存在,請手動通過./install載入

如果以上都正確,串連手機,如果ifconfig -a 能看到裝置而ifconfig 看不到,請按照文檔設定ip並啟用。

2、檔案安裝目錄:
    將編譯好的程式、desktop檔案和表徵圖放在手機上/opt/Qtopia/各自對應的目錄下。

    (1)、所有編譯後的程式放在
qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/Qtopia/bin/目錄下

    (2)、程式相應的desktop檔案放在
qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/Qtopia/apps/Application/目錄下

    (3)、所有的程式表徵圖放在
qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/Qtopia/pics/程式名/ 目錄下

3、重起手機。

六、手機目錄:
    /            (根目錄)
    |----bin
    |----lib
    |----home
    |----mnt        (對應於PC機的/opt/p2fs目錄,該目錄結構可隨意)
    |
    |----opt
    |    |----Qtopia
    |        |----bin    (放編譯後的程式)
    |        |----etc   
    |        |----pics    (放表徵圖檔案)
    |        |----apps   
    |                |--Applications    (放desktop檔案)
    |               
    |----Applications    (該目錄結構任意,可存放工程自己的檔案)

結束
====

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.