實踐之Qt在Blackfin平臺的移植應(yīng)用
最近有朋友跟我交流在ADI 的Blackfin平臺上進行的實踐,很多細節(jié)我不清楚了,今天我把整個過程重新進行了一遍,寫出來,跟朋友們共勉。
先介紹一下QT,做個掃盲,這里使用的是 Qte-4.5.2。Qt 的開發(fā)公司奇趣科技在被諾基亞收購后,Qt 代碼中就融入了很多諾基亞的風格,相比之前的風格顯得更為時尚和人性化,而且更加適合用于手機等移動設(shè)備,因此在進行 GUI 的選擇的時候不妨考慮一下。
為了讓你的Blackfin系統(tǒng)能順利運行qt,你必須保證你的系統(tǒng)已經(jīng)存在一個可以運行 ulinux 系統(tǒng)(內(nèi)核需要支持 unix socket 選項 )且支持 frambuffer 的 Blackfin平臺環(huán)境 , 并且有了 blackfin 平臺編譯工具鏈。
1 配置:解壓光盤中的 linuxlinux-source qt-embedded-linux-opensource-src-4.5.2.tar.gz 到Ubuntu 下,在終端中進入該目錄。若默認交叉編譯工具鏈(Blackfin-linux-)沒有加入到系統(tǒng)的環(huán)境變量或所用的交叉編譯工具鏈不是 Blackfin-linux-,所需要修改 qt-embedded-linux-opensource-src-4.5.2 目錄下的mkspecs/qws/linux-arm-g++/qmake.confroott@UbuntuTian:/home/chinasoft/qt-embedded-linux-opensource-src-4.5.2/mkspecs/qws/linux-arm-g++# vim qmake.conf 修改,并輸入以下命令進行 qt4 的配置:./configure -prefix /usr/local/QtEmbedded-4.5.2 -embedded arm -no-webkit-no-qt3support -nomake examples -nomake demos -nomake docs -xplatformqws/linux-arm-g++ -little-endian這時候會要求選擇版本和是否接受 license,這里輸入 o 和 yes 即可:
2、編譯、安裝:這里默認使用 arm-linux-編譯器,光盤中提供的 eabi-4.3.1中已經(jīng)做了 arm-linux-的軟連接,把該編譯器的路徑添加到 PATH 環(huán)境變量即可得到 arm-linux 前綴的 EABI-4.3.2編譯器。在設(shè)置好編譯器后進行編譯:
漫長的編譯結(jié)束后將在主機(Ubuntu)下的/usr/local/QtEmbedded-4.5.2 得到編譯后的結(jié)果。不過這個編譯后的目錄內(nèi)保護了很多不需要放到板子上的內(nèi)容,可以這個目錄下的部分目錄內(nèi)容進行刪減后,如下面的 2 個圖所展示的那樣。另外即使按照下圖進行刪減后仍然有相當部分文件可以刪除的,不過這里就留給讀者去完成了。
3 設(shè)置運行時的環(huán)境變量上面步驟之后已經(jīng)得到了可用的 Qte,把整個 QtEmbedded-4.5.2目錄復(fù)制到板子根目錄的/usr/local/路徑下。接著在板子的/usr/local/QtEmbedded-4.5.2 中添加腳本文件setenv-arm.sh,添加如下內(nèi)容:
注意紅色部分字體的設(shè)置是非常重要的,主要是指定觸摸屏的工作參數(shù)。最后一句是自動運行特定的程序,保存退出,并進入板子 shell 界面執(zhí)行這個腳本。接著便可以運行一下自帶的那些測試程序了:
便能在 LCD 上看到一個漂亮的動畫了:
OK,一切正常了,做圖形界面開發(fā)就沒問題了。