嵌入式linux qtopia平台開發說明

2021-04-02 22:07:32 字數 3331 閱讀 8594

linux系統中qt(qtopia)平台開發說明

******************************===

黃德智([email protected])

v:1.0

日期:20060305

qt 版本 :20060106v2

一、開發包的獲取

***************=

最新的qtopia開發包名稱為:qtopia_dev20060106v2.tar.gz;

當前版本為20060106v2,大小大約為 246m。

二、開發環境的搭建

***************===

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命令。

3、模擬器上檢視執行效果:

(1)、進入.../qtopia_dev/20060106v1102/x86/目錄

(2)、執行./rn.dat 啟動模擬器

5、示例工程中的各個檔案

(3)、example.control檔案

檔案中指定了工程的可執行檔案路徑、desktop檔案路徑、幫助檔案路徑和圖示檔案路徑。

這個檔案我現在還沒有搞清楚:)

(4)、examplebase.ui檔案

該檔案中以xml的格式定義了可視視窗上的各個部件。

(5)、其它檔案

example.html和example.png分別是工程的幫助檔案和圖示檔案。

6、建立自己的工程

.desktop檔案

a、7行,可執行檔名;

b、8行,圖示檔名;

.ui檔案,該檔案可用qt開發環境修改,也可用文字編輯器修改,

a、第2行,examplebase,「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啟動候,通過l**od|grep usbdnet看看模組是否存在,如果不存在,請手動通過./install載入

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

2、檔案安裝目錄:

將編譯好的程式、desktop檔案和圖示放在手機上/opt/qtopia/各自對應的目錄下。

(1)、所有編譯後的程式放在

qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/qtopia/bin/目錄下

(3)、所有的程式圖示放在

qtopia_dev/.../arm/qtopia-phone-2.1.1/image/opt/qtopia/pics/程式名/ 目錄下

3、重起手機。

結束====

初識嵌入式 嵌入式開發概述

1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...

如何學習嵌入式 嵌入式如何入門?

學習嵌入式,該學習什麼基本的知識呢?嵌入式如何入門?其次,應該對作業系統有所了解,這對你對硬體和軟體的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如程序 執行緒,系統如何來分配資源的,系統如何來管理硬體的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關係,多看看,結合以後的專案經驗...

非嵌入式與嵌入式的區別

非嵌入式是通過軟體控制硬體,軟硬體之間直接聯絡來實現要求。但是一旦硬體發生改變軟體也要改變,為了降低這種偶合度過高的問題,出現了嵌入式。嵌入式在軟體和硬體之間新增了作業系統,軟體通過控制作業系統進而控制硬體,硬體發生改變並不會導致軟體也發生改變,這為軟體開發人員節約了很多時間,並且嵌入式能在已有的硬...