QT下載:http://download.qt-project.org/
qt-everywhere-opensource-src-4.8.4.tar.gz:http://download.qt-project.org/archive/qt/
tslib下載:https://github.com/libts/tslib/releases
編譯安裝QT-X11-4.5.3
QT-X11-4.5.3是運行于linux平臺下用于仿真QT應用程序的軟件,這樣你便可以在linux平臺下把你應用程序都調試好,然后再利用QT4.5.3把應用程序編譯成ARM版本下載至開發板,這樣你就可以在開發板上運行你的QT應用程序了。
下面是安裝步驟:
1、先安裝以下包(否則會報錯 Basic XLib functionality test failed!):
sudo apt-get install libx11-dev libxext-dev libxtst-dev
2、把qt-x11-opensource-src-4.5.3.tar.gz 拷貝到指定目錄下,然后執行以下命令:
#tar zxvf qt-x11-opensource-src-4.5.3.tar.gz
#cd qt-x11-opensource-src-4.5.3
#./configure
#make //一般用時2-3小時,如果你的機子配置不太低的情況下
#make install
一、編譯安裝tslib-1.0
參考這篇文章:tslib移植實踐
二、QT庫移植
準備:qt-everywhere-opensource-src-4.8.4.tar.gz
1、解壓并進入qt-everywhere-opensource-src-4.8.4。
#tar xzf qt-everywhere-opensource-src-4.8.4.tar.gz
#cd qt-everywhere-opensource-src-4.8.4
2、修改 QT目錄下的mkspecs/qws/linux-arm-g++/qmake.conf,添加如下內容(讓交叉編譯工具鏈能找到tslib的庫和頭文件):
# tslib
QMAKE_INCDIR =/usr/tslib4arm/include
QMAKE_LIBDIR =/usr/tslib4arm/lib
QMAKE_LFLAGS =-WI,-rpath,/usr/tslib4arm/lib
3、配置、編譯和安裝Qt,可以編寫以下腳本并運行。Qt安裝成功可在/opt/framework/qt/arm路徑下看到bin、lib、include等目錄。
#!/bin/sh
#mkdir -vp /opt/framework/qt/arm
#echo yes | ./configure -prefix /opt/framework/qt/arm
#-opensource -enbedded arm
#-xplatform qws/linux-arm-g++
#-no-webkit -qt-libtiff -qt-libmng
#-qt-mouse-tslib -qt-mouse-pc
#-no-mouse-linuxtp -no-neon
#-nomake examples
#-nomake docs
#-nomake demos
#-nomake tools
echo yes | ./configure -prefix /opt/framework/qt/arm -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon -nomake examples -nomake docs -nomake demos -nomake tools
echo "config finished!"
make && make install
4、在開發板根文件系統opt下創建/opt/framework/qt/arm目錄,將/opt/framework/qt/arm目錄下的lib目錄復制到開發板根文件系統的該目錄下。
cd /nf s/rootf
mkdir -p opt/framework/qt/arm
cp /opt/framework/qt/arm/lib ./ -dr
5、編寫以下腳本,命名為setenvqt,此腳本用來為開發板設置Qt運行環境。
注意“等號左右邊不能有空格,否則Linux會提示錯誤 bad variable name”
#!/bin/sh
export QWS_DISPLAY=:1
export QT_QWS_FONTDIR=/opt/framework/qt/arm/lib/fonts
export QWS_MOUSE_PROTO="Tslib MouseMan:/dev/event0"
export QWS_KEYBOARD=TTY:/dev/tty1
export HOME=/root
echo "qt init finished!"
將腳本移到開發板根文件系統usr/sbin目錄下,在etc/profile中加入
. setenv4qt
這樣開發板開機就能加載setenv4qt中的環境變量了。
根文件系統編譯鏡像指令:mkyaffs2image-128M rootfs rootfs_qt.img
三、嵌入式Qt程序測試
創建一個Helloworld測試程序。
#include #include #include int main(int argc, char* argv[]) { QApplication a(argc, argv); // Qapplication表示一個應用程序,而它的成員函數exec()則用來執行程序以及消息處理 QMainWindow w; //定義一個QmainWindow主窗口對象w QPushButton b(&w); //通過&w,在主窗口上定義QpushButton按鈕對象b b.setText("Yangfeiwu.Today is 20190927."); //通過b對象的成員函數setText(),設置按鈕名字為Hello QT w.show(); //顯示主窗口 return a.exec(); //通過exec()執行程序以及消息處理 } 編譯測試程序: /opt/framework/qt/arm/bin/qmake -project /opt/framework/qt/arm/bin/qmake -makefile make 下載到開發板根目錄,去開發板執行指令 /HelloQt -qws -fn SIMHEI。 如果報錯libts-0.0找不到,則執行以下指令: #find -name libts-0.0* #ln -s /usr/tslib4arm/lib/libts-0.0.so.0 ./opt/framework/qt/arm/lib/libts-0.0.so.0 再次執行,就啟動qt程序了。 未完待續
上一篇:ARM集成開發環境eclipse的安裝(for Linux)
下一篇:ADS1.2使用jlink調試程序(調試芯片s3c2440 arm9)
推薦閱讀
史海拾趣
Dongguan Jingyue Electronics Co Ltd始終將社會責任和可持續發展作為公司發展的重要組成部分。公司積極參與公益事業,關注環境保護和員工福利。通過捐贈教育基金、支持環保項目、改善員工待遇等方式,公司履行了社會責任,也為公司的可持續發展奠定了基礎。
請注意,以上故事均為虛構內容,僅用于展示電子行業公司可能的發展故事框架。
在數字化轉型的大背景下,CET Technology積極探索數字孿生技術在園區管理中的應用。公司提供的數字孿生與3D可視化服務,通過創建園區的虛擬實體,模擬、驗證、預測和控制園區的運營狀態,幫助園區實現智慧化管理、優化服務和提高生產效率。此外,CET的數字孿生服務還能監控園區內人員和車輛的通行情況,提升園區內部的交通效率,為園區的可持續發展提供了有力支持。
為了進一步擴大市場份額,Catalyst公司積極實施國際化戰略。公司通過與國外知名企業的合作與交流,引進先進的技術和管理經驗,不斷提升自身的競爭力。同時,Catalyst還積極參加國際電子展會和論壇,展示公司的最新產品和技術成果,吸引了眾多國際客戶的關注。通過國際化戰略的拓展,Catalyst成功打開了海外市場的大門,為公司的長遠發展奠定了堅實的基礎。
在公司成立之初,廣東長利光電面臨著巨大的市場壓力和資金困難。然而,公司創始人憑借著對LED技術的深刻理解和市場前景的堅定信念,決定專注于LED產品的研發和生產。他們引進了先進的生產設備和技術,不斷創新,逐漸在市場上站穩了腳跟。這一時期,公司的研發團隊經常加班加點,反復試驗,以確保產品的質量和性能達到最佳狀態。
盡管Eclipse是一個開源項目,但其背后也有著商業化的運作。一些公司看到了Eclipse的潛力,紛紛推出了基于Eclipse的商業產品。這些產品不僅繼承了Eclipse的優秀特性,還加入了一些獨特的功能和服務,以滿足不同客戶的需求。通過商業化運作,Eclipse的影響力得到了進一步擴大。
隨著電子行業的不斷發展,Caltron Devices Ltd公司積極拓展業務領域,實現了多元化發展。公司不僅繼續深耕原有的電子產品領域,還逐漸拓展到智能家居、物聯網等新興領域。通過不斷創新和拓展,Caltron成功抓住了市場機遇,實現了業務的快速增長。
本帖最后由 paulhyde 于 2014-9-15 09:02 編輯 有許多認識我的同學經常會問我一些關于怎樣參加電子競賽怎樣準備,他們打算參加全國電子競賽,但又感到很迷茫,不知道該從何做起 ,該怎么準備,今天我以個人的看法和我的經驗所知,也收集補充了這些 ...… 查看全部問答∨ |
|
探測故障的最佳時機是在開發過程的早期。如果使用統一建模語言(UML),甚至在分析和設計期間就可以發現故障。 然而,軟件的集成和測試十分困難,嵌入式系統更困難,由于輸入和輸出少,系統的可操作性和可見性都很有限。反常的系統狀態尤其難以測 ...… 查看全部問答∨ |
我編寫了個小的驅動,2.4內核的。 加載上去之后發現,init初始化過程沒有執行,請教原因 static void spi_drv_interrupt(int irq, void *dev_id, struct pt_regs *regs) { } static int spi_drv_open(struct in ...… 查看全部問答∨ |
我寫了關于STM8S207的互補輸出代碼,是按照例程寫的,選項字在STVD中已經設置,可就是互補輸出還是出不來,但主輸出是有的,下面附上代碼,大家幫忙看看什么問題, TIM1_DeInit();TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 800, 0);TIM1_OC1Init ...… 查看全部問答∨ |
|
有用過MSP-EXP430G2 Launchpad的朋友嗎 請教幾個問題 主要由以下幾個問題:1. 板子默認的ACLK是多少HZ? 是使用的內部晶振嗎2. TI官方給的溫度測量的例子是使用TimerA的CCR0模擬串口,這樣的話CCR1還可以用于捕獲嗎?(個人感覺可以)3.用TimerA的捕獲測頻并通過串口調試助手實時顯示在PC上,當被測頻 ...… 查看全部問答∨ |
就是最近論壇上拍賣的那一款,我的發帖數不夠,買不了。 Ti官網現在不對大陸銷售。 淘寶要550+。 求好心人賣給我一款,挑戰杯急需,不要太貴就好。 … 查看全部問答∨ |