




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于Qt/Embedded的GUI移植及無線網絡功能的開發摘要具有友好用戶界面的嵌入式系統已成為當今嵌入式相關研究的的熱點。本文介紹了系統平臺構建,分別表達了嵌入式Linux內核的配置與編譯,Qt/Ebedded圖形界面系統的移植與開發,以及基于嵌入式Linux的無線網絡功能模塊的開發與實現。運行結果說明,方案合理,運行可靠。關鍵詞嵌入式Linux;Qt/Ebedded;Qtpia;GPRS;無線網絡隨著信息技術的開展和數字化產品的普及,嵌入式設備被廣泛應用。主流的嵌入式操作系統有inE,Linux,Vxrks,pSS,PalS等等。Linux的優勢在于其完全開放的操作系統,可以給開發者一定的
2、獨立性和自由度,允許它們自己掌控自己的產品。另外,是否具有良好的人機圖形界面,方便用戶操作,是衡量嵌入式設備性能的重要標準。Qt/Ebedded是著名的Qt庫開發商Trllteh公司開發的基于嵌入式Linux系統的Qt版本,廣泛應用的KDE等工程即使用Qt作為支持庫,它以良好的代碼構造、強大的可定制功能以及統一的API都給用戶提供了極高的便利性,QT/Ebedded已經逐漸成為GUI的事實標準。2.1硬件開發環境硬件系統采用的是EbestEduKit-III開發平臺,采用了SASUNG公司的以AR9為內核的處理器S32410,該處理器核心頻率可到達200,具有低功耗、低本錢等卓越性能和顯著優點
3、,同時具有JTAG調試等功能;針對掌上智能設備的功能比擬復雜,消耗資源較多,選取了64的SDRA和128的NandFlash,針對此工程的開發,摒棄了一些不必要的模塊,保存了USB接口模塊,標準串行口模塊,顯示屏(觸摸屏)模塊,基于無線通訊功能的實現,選取了Sieens35為核心的GPRS無線模塊,整個硬件環境如圖1所示。2.2嵌入式Linux系統內核的配置與移植首先,嵌入式系統在運行的初期即在操作系統內核運行之前,需要一段程序初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境帶到一個適宜的狀態,以便為最終調用操作系統內核準備好正確的環境,這就是BtLader程序1,這里我們選用了韓
4、國izi公司的Vivi引導程序。然后是Linux內核的移植,出于實際功能的需要,我們采用了普遍應用于嵌入式系統的2.4.18版的內核。這里有一個相當重要的概念穿插編譯2:由于宿主機與目的機的PU一般不一樣,宿主機也就是我們常用的P機是以X86為核心的,而目的板那么是AR體系構造的,因此需要在宿主機機上建立一個用于目的機的穿插編譯環境,也就是將各種二進制工具程序集成為工具鏈,其中包括如GNU的鏈接器ld、GNU的匯編器as、ar產生修改和解開一個存檔文件、編譯器g以及鏈接庫glib等等。這里宿主機采用Redhat9.0,工具鏈選擇了rss-2.95.3穿插編譯工具包。以下是工具和內核源文件列表及
5、說明:-binutils-2.11.2包含有ld、ar、as等一些產生或者處理二進制文件的工具。g-re-2.95.3包含G的主體局部。g-g+2.95.3使G編譯+程序。glib-2.2.4lib是很多用戶層應用都要用到的庫,即鏈接庫。glib-linuxthreads-2.2.4lib用于支持Psix線程單獨發布的壓縮包。linux-2.4.18+rk7Linux的內核及其支持AR的補丁包。-在穿插編譯環境建立好以后,可以對內核進展配置并制作映像文件。這里需要注意的是,針對不同開發商提供的硬件要進展不同的配置,并打上相應的補丁程序。2.3Qtpia圖形用戶界面文件系統的移植在建立好內核的根
6、底上,要完成根文件系統(rtfilesyste)的創立。在Linux系統啟動時,首先完成內核安裝及環境初始化,最后會尋找一個文件系統作為根文件系統被加載,它是Linux系統的核心局部,包含系統使用的軟件和庫,以及所有用來為用戶提供支持架構和用戶使用的應用軟件,并作為存儲數據讀寫結果的區域。這里我們選擇嵌入式系統常用的RAFS文件系統,它是Linux創始人Linus開發的一個適用于嵌入式系統經壓縮以及只讀的小型文件系統3。在完成無圖形界面的RAFS文件系統的建立后,這里重點闡述一下帶Qtpia圖形界面文件系統開發環境的建立和移植。Qt/Ebedded是Trllteh公司開發的面向嵌入式系統的Qt
7、版本,與X11版本的Qt在最大程度上接口兼容,采用幀緩存fraebuffer作為底層圖形接口。Qt/Ebedded類庫完全采用+封裝,并且有著豐富的控件資源以及較好的可移植性,大范圍的Qt/EbeddedAPI可用于多種開發工程。Qt/Ebedded的實現構造如表1所示。表1Qt/Ebedded的實現構造Qtpia是基于QT/Ebedded開發的一個嵌入式的窗口系統和應用程序集,如地址本、圖像閱讀、edia播放器等,還包括娛樂和配置工具,廣泛用于PDA等掌上設備。Qtpia平臺由Qtpia庫和Qtpiaserver/lauher組成。Qtpiaserver/lauher是控制窗口系統、進程間通
8、信、發起所有應用和其他核心任務的主要效勞程序3。整個GUI系統的構建需要對Qt/Ebedded、Qtpia依次分別編譯,然后有機地整合在一起。Qt/Ebedded為Qtpia提供了底層支持,GUI系統的圖形庫窗口組建都由Qt/Ebedded實現。以下構建過程所需工具文件和源碼包列表及說明:-Take1.11生成和管理akefile文件Qt/Ebedded2.3.7QT的庫文件Qt2.3.2frX11為了生成相應的QtDesigner和qvfb以便在宿主機上開發和調試應用程序Qtpia1.7.0圖形用戶界面開發包e2fsprgs-1.35ext2文件系統工具包tslib觸摸屏工具包pegsrv6
9、bjpeg解碼包-將上述開發包依次解壓,然后編譯。這里需要注意的是根據運行環境的不同,需要建立兩個程序開發環境:一種是針對X86在p機上運行使用虛擬緩沖幀qvfb(Qt/EbeddedVirtualFraebuffer)的開發環境,這樣我們就可以先在RedHat9環境下虛擬嵌入式程序的運行,從而節約開發時間。另外一種是針對可以在AR開發板上運行的程序的開發環境。不同的開發對象要使用不同的編譯器,這里就引出了環境變量的設置問題,例如針對AR板開發時需要定義:TAKEPATH=$TAKEDIR/lib/qs/linux-ar-g+而對可以運行在X86體系構造上的程序那么為:TAKEPATH=$TA
10、KEDIR/lib/qs/linux-generi-g+圖2圖形界面文件列表當開發環境建好之后,在無圖形界面的RAFS的根底上,新建qt目錄,拷貝編譯過的Qtpia必需目錄及相關文件到此目錄下;從編譯Qtpia時使用的編譯器還書庫目錄中,拷貝程序運行時所需的函數庫到lib目錄下,并交換原無Qt文件系統的lib目錄。然后拷貝基于Qt/Ebedded的動態函數庫及字庫文件,并建立一個作為Qtpia圖形界面運行時的工作目錄,用于存放運行時產生的中間文件。已參加編譯Qtpia圖形界面文件系統后的目錄如圖2所示。最后,修改RAFS文件系統的運行參數,主要修改兩個文件,即存放于/usr/et/目錄下的運行
11、環境配置文件prfile和運行QPE圖形界面啟動的r.lal,設定系統運行的環境變量。以上為整個嵌入式系統的移植,經過映像打包后就可以燒錄并運行在在開發板上了。3.1模塊說明嵌入式系統一般應用于小型便攜式設備上,傳統的有線上網方式往往無法適應現場的需要,無線網絡接入以其方便、快捷的優點正被廣泛應用遠程監控、數據采集和各種娛樂電子產品中。這里選取了Sieens35無線模塊,支持GRPSlass8/lassB和標準AT指令,并預留了話筒接口,支持GS900和GS1800雙頻網絡。當插入一般GS網絡的SI卡后,嵌入式操作系統即可通過串口發送AT指令控制 的撥打和接通;當開通GPRS網絡效勞后,就可以
12、采用撥號上網的方式實現Internet網絡的接入。3.2協議根底Linux下通過GPRS上網必須使用PPP協議進展撥號,PPPPint-t-PintPrtl點到點協議是為在同等單元之間傳輸數據包這樣的簡單鏈路設計的鏈路層協議。這種鏈路提供全雙工操作,并按照順序傳遞數據包。設計目的主要是用來通過撥號或專線方式建立點對點連接發送數據,使其成為各種主機、網橋和路由器之間簡單連接的一種共通的解決方案4。建立一個PPP連接需要以下過程:在PPP的兩端建立一條物理連接,通常為 連接,但也有直接電纜連接或虛擬的tunnel連接的形式。詳細如何建立連接,例如撥號等,并不屬于PPP協議本身的任務。由PPP的效勞
13、器端對客戶端進展驗證,可以有最簡單登錄的驗證方式、PAP或HAP等驗證方式。由于PAP和HAP并不在線路上傳輸口令本身,因此更為平安,不必擔憂口令會泄露出去。驗證完畢之后,PPP效勞器將按照配置,分配給客戶IP地址,并將網關地址和其他的一些配置信息傳送給客戶。假如是irsft客戶,還可以按照S的擴展協議分配給客戶NetBIS名字效勞器的地址。這樣就建立了一條PPP連接。Linux對PPP提供了兩種不同方式的支持,一種為內核級PPP,它將PPP協議代碼編譯進內核,并運行一個PPP守護進程pppd,提供對PPP的支持,這是一種傳統的方法,但配置起來較困難。另一種為用戶級PPP,它使用一個應用程序p
14、pp,通過通用tunnel設備傳遞PPP數據,配置較為容易。針對此開發工程這里使用用戶級PPP來建立撥號方式的Internet連接。3.3模塊配置與實現首先在編譯Linux內核時需要配置kernel使它支持如下PPP選項:PPP(pint-t-pint)supprtPPPultilinksupprt(EXPERIENTAL)PPPsupprtfrasynserialprtsPPPsupprtfrsynttyprtsPPPDeflatepressinPPPBSD-presspressin然后采用最新的pppd源碼包ppp-2.4.3,經過穿插編譯后拷貝到嵌入式文件系統的/usr/sbin目錄下,
15、同時在嵌入式文件系統/dev下建立一個ppp設備,并經行相關配置。這里最重要的是配置在Linux下撥號采用的腳本文件ppp-n、hat-sript和配置文件ptins,還有其實內容為空的兩個驗證文件pap-serets和hap-serets。最主要的ppp-n腳本如下:#/bin/shpppd-d-detahlk/dev/ttyS057600kdebug4file/et/ppp/ptinsnrtstsnipdefaultnetask255.255.255.0defaultrutennet/et/ppp/hat-sript這里調用了pppd撥號命令,并對撥號端口進展了配置,最后調用了hat-sr
16、ipt腳本文件:#!/bin/shexehat-vTIEUT5ATKAT+GDNT=1,IP,NETKATD*99*1#NNET文件中使用AT指令對串口進展控制,因為目前中國GPRS用戶撥號上網并沒有采用用戶帳號和密碼進展登陸,所以帳號密碼都為空。在完成以上配置后,直接運行ppp-n程序即可實現GPRS撥號上網。以上撥號程序是通過Shell腳本編程完成的,可以修改/usr/et/r.lal配置文件,設置ppp-n程序在開機時自動加載;也可以把腳本程序封裝起來,直接放在桌面應用程序中去,由用戶自由控制。在豐富的第三方軟件的支持下,用戶即可以實現EB頁閱讀、電子郵件的發送和實時的聊天功能。本文介紹了圖形化的嵌入式Linux操作系統的移植和無線網絡功能的實現,通過軟、硬件的優化設計,整個嵌入式系統已經測試并運行正常,具有良好的穩定性;同時在GPRS無線上網的根底下,已成功實現網頁閱讀和收發文件的功能,可以用于智能、遠間隔 監控、車載導航等方面。通過預留的USB接口還可以實現攝像頭的圖像采集功能。如今,嵌入式Li
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 阮郎歸題目及答案
- 日語高考閱讀題目及答案
- 2023年學業水平合格考試三年分類匯編(真題)-專題三地球上的水03海水的運動
- 4 4 解三角形-2026版53高考數學總復習A版精煉
- 2023-2024學年江蘇省南京市江寧區高二下學期期末考試數學試卷(解析版)
- 2023-2024學年廣東省陽江市高二下學期期末測試數學試題(解析版)
- 整改內容回復函
- 2025年湖南省中考英語試卷真題(含答案)
- 合法的員工勞動合同
- 年產30萬平方米生態木護墻板新型環保材料研發生產項目可行性研究報告寫作模板-申批備案
- 北京理工附中小升初分班考試真題
- 膀胱鏡檢查記錄
- 英語社團活動課件
- 第三方檢測市場部管理制度提成方案
- 學前兒童發展心理學-情感
- 二年級下冊數學教案 《生活中的大數》練習課 北師大版
- GB∕T 16762-2020 一般用途鋼絲繩吊索特性和技術條件
- 電網施工作業票模板
- T∕CAEPI 31-2021 旋轉式沸石吸附濃縮裝置技術要求
- 國家級高技能人才培訓基地建設項目實施管理辦法
- 彩盒成品檢驗標準
評論
0/150
提交評論