基于arm的網(wǎng)絡數(shù)據(jù)庫設計_第1頁
已閱讀1頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  大連海事大學</b></p><p><b>  畢 業(yè) 論 文</b></p><p><b>  二○一四年六月</b></p><p>  基于ARM的網(wǎng)絡數(shù)據(jù)庫設計</p><p>  專業(yè)班級:電子信息工程3班</p>&l

2、t;p>  姓 名: 張全明 </p><p>  指導教師: 李作洲 </p><p><b>  信息科學技術學院</b></p><p><b>  摘 要</b></p><p>  隨著信息技術的不斷發(fā)展,數(shù)據(jù)庫應用的領域越來越多,數(shù)據(jù)庫技

3、術目前是計算機處理與存儲數(shù)據(jù)的最有效,最成功的技術。數(shù)據(jù)和資源共享這兩種技術結合在一起即成為在今天廣泛應用的網(wǎng)絡數(shù)據(jù)庫(也叫WEB數(shù)據(jù)庫)。它是以后臺數(shù)據(jù)庫為基礎,加上一定的前臺程序,通過瀏覽器或客戶端完成數(shù)據(jù)存儲、查詢等操作的系統(tǒng)。</p><p>  本課題的目的是設計并實現(xiàn)一種基于ARM的網(wǎng)絡數(shù)據(jù)庫,通過軟鍵盤來輸入數(shù)據(jù),通過聯(lián)網(wǎng)與服務器進行連接,并完成數(shù)據(jù)的查詢。PC機作為服務器端;客戶端硬件主要采用友善

4、之臂的Tiny6410開發(fā)板,外接觸摸屏。本系統(tǒng)的軟件部分由服務器和客戶端組成,采用Qt開發(fā)用戶圖形界面。服務器端使用SQLite數(shù)據(jù)庫存放數(shù)據(jù),并在Qt下實現(xiàn)了對數(shù)據(jù)庫的連接和使用??蛻舳瞬捎肔inux操作系統(tǒng),移植了無線網(wǎng)卡的驅(qū)動,完成對無線網(wǎng)卡的控制和使用,實現(xiàn)無線網(wǎng)絡的連接??蛻舳说慕缑嬷饕g迎界面、用戶登錄界面。</p><p>  論文依據(jù)嵌入式系統(tǒng)的開發(fā)流程,著重介紹了Qt編程、SQLite數(shù)據(jù)

5、庫的設計、嵌入式Linux的設置操作等。設計以學生信息查詢系統(tǒng)為例,通過運行本系統(tǒng),實現(xiàn)了在ARM終端上對存放于遠程服務器中的學生信息的查詢,并通過聯(lián)網(wǎng)將查詢結果傳輸?shù)紸RM終端。通過本系統(tǒng)查詢到的信息可進一步應用到其他系統(tǒng)中,為更復雜的嵌入式系統(tǒng)設計打下基礎。</p><p>  關鍵詞:網(wǎng)絡數(shù)據(jù)庫; 嵌入式;SQLite;Linux;Qt</p><p><b>  ABST

6、RACT</b></p><p>  With the continuous development of information technology, more and more areas begin to apply database. Database technology is currently the most effective and the most successful tec

7、hniques in the fields of computer processing and storage of data. The combination of these two technologies of sharing of data and resources becomes widely used in current network database (also called WEB database). It

8、is based on the background database, together with a foreground program, and then users can store</p><p>  This project is to design and implement a WEB database based ARM. Entering data through the soft key

9、board, users can connect with the server and perform query data. PC acts as a server and FriendlyARM Tiny6410 development board with external touch screen as a client. The software part of the system consists of server a

10、nd client components. It uses Qt graphical user interface to develop and SQLite database to store data. Then we can connect to database and operate it in Qt. The client runs the Li</p><p>  According to the

11、embedded systems developing process, this thesis consider Qt programming, SQLite databases designing and Embedded Linux operating settings. Taking the student information system for example, users operate on the ARM ter

12、minal and gain the student information that stored in a remote server. This information is transferred to the ARM terminal via network. The information can be further applied to other systems and lay the foundation for m

13、ore complex embedded system designs.</p><p>  Keywords: Web Database, Embedded, SQLite, Linux, Qt</p><p><b>  目 錄</b></p><p><b>  第1章 緒論1</b></p>

14、<p>  1.1 課題背景及意義1</p><p>  1.2 研究現(xiàn)狀及發(fā)展趨勢2</p><p>  1.3論文研究內(nèi)容及章節(jié)安排2</p><p>  1.4 本章小結3</p><p>  第2章 網(wǎng)絡數(shù)據(jù)庫系統(tǒng)的方案設計4</p><p>  2.1 方案的總體設計4</p&g

15、t;<p>  2.2 網(wǎng)絡環(huán)境的選擇4</p><p>  2.3 用戶圖形界面6</p><p>  2.4 嵌入式數(shù)據(jù)庫8</p><p>  2.5 本章小結9</p><p>  第3章 網(wǎng)絡數(shù)據(jù)庫終端的開發(fā)環(huán)境的搭建10</p><p>  3.1 終端的硬件環(huán)境10</p

16、><p>  3.1.1 ARM處理器10</p><p>  3.1.2 Tiny6410 開發(fā)板11</p><p>  3.2 嵌入式操作系統(tǒng)及其安裝11</p><p>  3.2.1 嵌入式操作系統(tǒng)的選型11</p><p>  3.2.2 Linux 的開發(fā)環(huán)境的建立12</p><

17、;p>  3.3 軟件開發(fā)環(huán)境的搭建13</p><p>  3.3.1 共享文件夾的配置13</p><p>  3.3.2 交叉編譯工具13</p><p>  3.3.3 Qt4.7 的安裝14</p><p>  3.4 本章小結15</p><p>  第4章 開發(fā)板上的系統(tǒng)平臺的實現(xiàn)16

18、</p><p>  4.1 Bootloader16</p><p>  4.1.1 Bootloader 及啟動流程16</p><p>  4.1.2 u-boot 及其編譯16</p><p>  4.2 Linux 內(nèi)核17</p><p>  4.2.1 內(nèi)核的版本17</p>&

19、lt;p>  4.2.2 內(nèi)核模塊結構17</p><p>  4.2.3 內(nèi)核的配置17</p><p>  4.3 文件系統(tǒng)18</p><p>  4.4 開發(fā)板上安裝配置Qt4.718</p><p>  4.5 本章小結19</p><p>  第5章 基于ARM的網(wǎng)絡數(shù)據(jù)庫系統(tǒng)功能的實現(xiàn)

20、20</p><p>  5.1 系統(tǒng)方案的設計20</p><p>  5.1.1 服務器端的設計方案20</p><p>  5.1.2 客戶端的設計方案20</p><p>  5.2 服務器端數(shù)據(jù)庫的實現(xiàn)21</p><p>  5.2.1 數(shù)據(jù)庫的建立21</p><p>

21、  5.2.2 數(shù)據(jù)庫的使用21</p><p>  5.3 數(shù)據(jù)傳輸?shù)膶崿F(xiàn)22</p><p>  5.3.1 網(wǎng)絡環(huán)境的構建22</p><p>  5.3.2 網(wǎng)絡傳輸模式及協(xié)議22</p><p>  5.3.3 應用程序的實現(xiàn)22</p><p>  5.4 客戶端各子界面的實現(xiàn)24</p&

22、gt;<p>  5.4.1 歡迎界面的實現(xiàn)24</p><p>  5.4.2 用戶登錄界面的實現(xiàn)25</p><p>  5.5 測試與結果26</p><p>  5.6 本章小結27</p><p><b>  結 論28</b></p><p><b&

23、gt;  參考文獻29</b></p><p><b>  致 謝30</b></p><p>  基于ARM的網(wǎng)絡數(shù)據(jù)庫設計</p><p><b>  第1章 緒論</b></p><p>  1.1 課題背景及意義</p><p>  隨著科技的

24、進步,數(shù)據(jù)庫應用的領域越來越多,它開始在社會的各個方面幫人們存貯和管理數(shù)據(jù),發(fā)揮著不可替代的作用。在這個信息交流和數(shù)據(jù)共享需求如此強大的社會,數(shù)據(jù)庫自然也是離不開網(wǎng)絡二字,網(wǎng)絡數(shù)據(jù)庫是指把數(shù)據(jù)庫技術引入到計算機網(wǎng)絡系統(tǒng)中,借助于網(wǎng)絡技術將存儲于數(shù)據(jù)庫中的大量信息及時發(fā)布出去;而計算機網(wǎng)絡借助于成熟的數(shù)據(jù)庫技術對網(wǎng)絡中的各種數(shù)據(jù)進行有效管理,并實現(xiàn)用戶與網(wǎng)絡中的數(shù)據(jù)庫進行實時動態(tài)數(shù)據(jù)交互。</p><p>  網(wǎng)絡

25、數(shù)據(jù)庫目前在Intemet中有大量的應用,從最初的網(wǎng)站留言簿、自由論壇等到今天的遠程教育和復雜的電子商務等,這些系統(tǒng)幾乎都是采用網(wǎng)絡數(shù)據(jù)庫這種方式來實現(xiàn)的。網(wǎng)絡數(shù)據(jù)庫系統(tǒng)的組成元素為:客戶端、服務器端、連接客戶端及服務器端的網(wǎng)絡。這些元素是網(wǎng)絡數(shù)據(jù)庫系統(tǒng)的基礎。</p><p>  使用網(wǎng)絡數(shù)據(jù)庫的最大優(yōu)勢是用戶無需在自己的客戶端安裝任何與所需存取或操作數(shù)據(jù)庫系統(tǒng)對應的客戶端軟件,只需要通過Web瀏覽器便可完成對

26、數(shù)據(jù)庫數(shù)據(jù)的常用操作。這種方式的優(yōu)點是用戶不必再去學習復雜的數(shù)據(jù)庫知識和數(shù)據(jù)庫軟件的使用,只需要掌握基本的網(wǎng)絡操作,如填寫、提交表單等就可以從任何一臺連接Internet的計算機上來訪問數(shù)據(jù)庫。</p><p>  隨著WiFi(Wireless Fidelity)網(wǎng)絡環(huán)境的迅速發(fā)展,許多公共場所都布置了WiFi無線局域網(wǎng),使人們可以隨時隨地連接到網(wǎng)絡。這種通過點對點的方式直接連接并進行使用的方式,給人們帶來了便

27、利操作體驗。WiFi在給人們帶來方便的同時,已經(jīng)逐步成為主流網(wǎng)絡渠道。人們在享受無線通道帶來的便利上網(wǎng)方式的同時,對擁有WiFi功能的IT產(chǎn)品的需求越來越多。無線連接作為一種更簡潔的網(wǎng)絡連接方式,其應用必將越來越廣泛。在本設計中我們希望選擇這種更新,更有誘惑力的網(wǎng)絡連接方式來連接網(wǎng)絡。</p><p>  考慮到手機等小型電子產(chǎn)品的普及及日益強大,網(wǎng)絡數(shù)據(jù)庫的應用也必將在此領域一展宏圖,因此想到設計一個基于ARM

28、的網(wǎng)絡數(shù)據(jù)庫,在手持設備日益瘋狂的時代,我想這應該是非常有意義的。</p><p>  本課題的目的是設計并實現(xiàn)一種基于ARM的網(wǎng)絡數(shù)據(jù)庫[1],通過軟鍵盤來輸入數(shù)據(jù),通過WiFi可以接入無線局域網(wǎng),與服務器進行連接,并完成數(shù)據(jù)的查詢。</p><p>  1.2 研究現(xiàn)狀及發(fā)展趨勢</p><p>  由于企業(yè)信息化的目的就是要以現(xiàn)代信息技術為手段,對伴隨著企業(yè)生

29、產(chǎn)和經(jīng)營過程而產(chǎn)生的數(shù)據(jù)進行收集、加工、管理和利用,以改善企業(yè)生產(chǎn)經(jīng)營的整體效率,增強企業(yè)的競爭力。所以,數(shù)據(jù)庫是企業(yè)信息化不可缺少的工具,是絕大部分企業(yè)信息系統(tǒng)的核心。</p><p>  數(shù)據(jù)、計算機硬件和數(shù)據(jù)庫應用,這三者推動著數(shù)據(jù)庫技術與系統(tǒng)的發(fā)展。數(shù)據(jù)庫要管理的數(shù)據(jù)的復雜度和數(shù)據(jù)量都在迅速增長;計算機硬件平臺的發(fā)展仍然實踐著摩爾定律;數(shù)據(jù)庫應用迅速向深度、廣度擴展。尤其是互聯(lián)網(wǎng)的出現(xiàn),極大地改變了數(shù)據(jù)庫

30、的應用環(huán)境,向數(shù)據(jù)庫領域提出了前所未有的技術挑戰(zhàn)。這些因素的變化推動著數(shù)據(jù)庫技術的進步,出現(xiàn)了一批新的數(shù)據(jù)庫技術,如Web數(shù)據(jù)庫技術、并行數(shù)據(jù)庫技術、數(shù)據(jù)倉庫與聯(lián)機分析技術、數(shù)據(jù)挖掘與商務智能技術、內(nèi)容管理技術、海量數(shù)據(jù)管理技術等。</p><p>  在手持設備發(fā)展迅猛的時代,在wifi技術慢慢進入日常生活的時代,在數(shù)據(jù)庫開始成為人們辦公作業(yè)必不可少的工具的時代,我們有理由相信著三者的結合必將給我們帶來不同的享

31、受和體驗。</p><p>  1.3論文研究內(nèi)容及章節(jié)安排</p><p>  本設計的主要研究內(nèi)容有:</p><p>  搜集相應背景,基于ARM的網(wǎng)絡數(shù)據(jù)庫系統(tǒng)的實現(xiàn)方案的設計及選型。</p><p>  嵌入式無線連接終端硬件的構成及軟件開發(fā)環(huán)境的搭建。</p><p>  外圍設備的驅(qū)動加載及其使用。<

32、;/p><p>  (4) 用戶圖形界面的實現(xiàn),包括PC機上運行的服務器端的界面和ARM開發(fā)板上運行的客戶端界面。</p><p>  (5) 數(shù)據(jù)庫的搭建。</p><p>  本文的章節(jié)安排內(nèi)容如下:</p><p>  第1章 緒論。主要介紹了網(wǎng)絡數(shù)據(jù)庫的研究背景和意義,研究現(xiàn)狀及發(fā)展趨勢。</p><p>  第2

33、章 網(wǎng)絡數(shù)據(jù)庫系統(tǒng)及其選型。根據(jù)本系統(tǒng)的總體架構的設計,從無線網(wǎng)絡,用戶界面及嵌入式數(shù)據(jù)庫三個方面,完成了設計總體方案的選型。</p><p>  第3章 嵌入式終端開發(fā)環(huán)境的搭建,硬件方面介紹了ARM處理器的特性及Tiny6410開發(fā)板的接口和主要功能。系統(tǒng)方面介紹了Linux系統(tǒng)的特性及其安裝,并建立了軟件開發(fā)環(huán)境。軟件開發(fā)環(huán)境包括:共享文件夾的安裝與設置,交叉編譯工具的安裝,Qt4.7 的安裝[2]。<

34、;/p><p>  第4章 終端上系統(tǒng)平臺的設計。從u-boot、內(nèi)核、文件系統(tǒng)及Qt4.7 的安裝及配置這四個方面完成終端的嵌入式平臺的搭建,為應用程序的運行提供基礎[2]。</p><p>  第5章 基于ARM的網(wǎng)絡數(shù)據(jù)庫系統(tǒng)功能的實現(xiàn)。整體上介紹了本系統(tǒng)的服務器和客戶端的具體實現(xiàn)方案,并給出系統(tǒng)調(diào)試結果。按照應用程序的功能,分四個部分介紹具體的實現(xiàn)方法。四個部分為:服務器端數(shù)據(jù)庫的建立

35、、連接及使用,服務器與客戶端間數(shù)據(jù)的雙向傳輸,客戶端的打印功能及客戶端各子界面的實現(xiàn)??蛻舳说淖咏缑姘ǎ簹g迎界面,登錄界面,修改密碼界面。</p><p><b>  1.4 本章小結</b></p><p>  本章主要介紹了本課題研究的背景和意義以及他的研究現(xiàn)狀和發(fā)展趨勢,然后對本文的研究內(nèi)容和章節(jié)安排做了簡要的闡述。</p><p> 

36、 第2章 網(wǎng)絡數(shù)據(jù)庫系統(tǒng)的方案設計</p><p>  2.1 方案的總體設計</p><p>  基于ARM的網(wǎng)絡數(shù)據(jù)庫是指通過網(wǎng)絡連接的方式與網(wǎng)絡中的計算機進行數(shù)據(jù)交換,實現(xiàn)信息的查詢機更新。</p><p><b>  網(wǎng)絡</b></p><p>  圖2.1 基于ARM的網(wǎng)絡數(shù)據(jù)庫的總體結構設計圖</p&

37、gt;<p>  總體設計方案的架構如上圖2.1所示,網(wǎng)絡數(shù)據(jù)庫系統(tǒng)圖采用的是服務器/客戶端的結構,在無線網(wǎng)絡中實現(xiàn)服務器端與客戶端的數(shù)據(jù)交互。服務器采用PC機,存放數(shù)據(jù),方便數(shù)據(jù)的查詢與更新。客戶端采用S3C6410處理器并使用操作系統(tǒng),通過無線網(wǎng)卡接入網(wǎng)絡并與網(wǎng)絡中的其它計算機(服務器)進行數(shù)據(jù)的交換。</p><p>  為了方便使用,在客戶端和服務器端,開發(fā)了用戶界面,也便于查看客戶端和服務

38、器端之間的數(shù)據(jù)交互。通過觸摸屏上的軟鍵盤輸入用戶登錄信息,客戶端把信息發(fā)送到服務器端,服務器根據(jù)接收到的信息在數(shù)據(jù)庫中進行操作。服務器端把操作結果的信息發(fā)送給客戶端??蛻舳烁鶕?jù)接受到的信息,顯示相應的內(nèi)容,并從打印機輸出所需的內(nèi)容。</p><p>  為了方便數(shù)據(jù)的管理,本系統(tǒng)的數(shù)據(jù)存儲在服務器端。PC機采用數(shù)據(jù)庫對數(shù)據(jù)進行存儲,這樣就可以實現(xiàn)數(shù)據(jù)的共享及對其的集中控制、確保數(shù)據(jù)的一致性、增強數(shù)據(jù)的可維護性[3

39、]。</p><p>  2.2 網(wǎng)絡環(huán)境的選擇</p><p>  由于在本設計中需要用到網(wǎng)絡連接,網(wǎng)絡連接可以選擇有線網(wǎng)絡和無線網(wǎng)絡,那么有線網(wǎng)絡和無線網(wǎng)絡都有哪些優(yōu)點和缺點呢。下面我們先比較一下這兩種網(wǎng)絡的優(yōu)點和缺點,以便能夠更好地選擇,做到事半功倍。</p><p>  (1)穩(wěn)定性:有線網(wǎng)絡有一個最大的優(yōu)點是目前的無線網(wǎng)絡所無法比擬的,這就是快且穩(wěn)定。就我

40、國的網(wǎng)絡環(huán)境來說,由于房屋基本都是鋼筋混凝土結構,并且格局復雜多樣,環(huán)境對無線信號的衰減嚴重,因而無線網(wǎng)絡的不穩(wěn)定性是不可避免的。對于一個網(wǎng)絡來說,無論是企業(yè)網(wǎng)絡還是家庭網(wǎng)絡,穩(wěn)定性是最重要的,因為時斷時續(xù)的網(wǎng)絡,是沒有人可以忍受的。當然,也并不是說,無線網(wǎng)絡的穩(wěn)定性一點保障都沒有,只是有線網(wǎng)絡勝它一籌而已。</p><p> ?。?)速度:根據(jù)相關資料顯示,有線網(wǎng)絡的傳輸速率較快,而且也比較穩(wěn)定,一般為100M

41、、1000M,而無線的速率相對來說就稍微慢一些,衰減現(xiàn)象還比較嚴重,一般為11M、54M、108M。由此可見,有線技術在速度上提供了目前無線技術所不能支持的專用的網(wǎng)絡帶寬,尤其是對于那些數(shù)據(jù)密集型的應用或者是大量數(shù)據(jù)的同時傳輸來說,無線網(wǎng)絡的表現(xiàn)與有線網(wǎng)絡相比起來確實是有點遜色。雖然說一般的家庭用戶對網(wǎng)絡速度的要求不會太苛刻,然而,更快更爽的網(wǎng)上沖浪是每一位網(wǎng)絡用戶的想要的,從這個角度上來看,孰優(yōu)孰次就有自有分曉了。</p>

42、<p> ?。?)安全性:家庭網(wǎng)絡組網(wǎng)的一個重要問題就是網(wǎng)絡安全的保障,特別是當你使用寬帶連接時這點尤為重要。雖然無線技術有很多的優(yōu)點,但是無線網(wǎng)絡的安全性永遠也沒有辦法和有線網(wǎng)絡的安全性相提并論,除非你部署了端到端的加密技術,否則都無法保障無線網(wǎng)絡所謂的真正的安全通信。有線網(wǎng)絡可以處理非常高速的帶寬,并且可以提供較好的安全性,因為有線網(wǎng)絡不需要在網(wǎng)絡中廣播信息的,只要硬件在控制中就可以保障網(wǎng)絡的安全。而無線網(wǎng)絡是通過特定

43、的無線電波傳送的,所以在這個發(fā)射頻率的有效范圍內(nèi),任何具有合適的接收設備的人都可以捕獲該頻率的信號,這必然會影響到一個局域網(wǎng)絡中的安全,因而,無線網(wǎng)絡用戶對于重要數(shù)據(jù)需要特別加密以增加安全性。 </p><p> ?。?)靈活性:傳統(tǒng)的有線網(wǎng)絡布局要受到布線格局的限制,如果建筑物中沒有預留的線路,布線以及調(diào)試的工程量比較大。如果使用無線網(wǎng)絡的話可以解決了上述的麻煩,因為無線網(wǎng)卡體積小、重量輕、攜帶方便,帶上它就可

44、以隨時隨地組建網(wǎng)絡而不用再拉著一根長長的網(wǎng)線,不必受空間的限制和網(wǎng)絡安裝時間的困擾。組建了無線網(wǎng)絡,家里的每一個人在家里的每一個角落,都可以使用PC、筆記本電腦甚至PDA(手持電腦)接入互聯(lián)網(wǎng),實現(xiàn)隨時隨地同時上網(wǎng)。還有的就是,在搬家或更換上網(wǎng)地點時也不會損失布線費用,只需要把無線接入器拆走,就帶走了所有網(wǎng)絡部件,相當簡單方便。</p><p> ?。?)擴展性:有線網(wǎng)絡的擴展性比較弱,如果要增加新用戶,而原有布

45、線所預留的端口又不夠用的話,那就要進行重新布置線纜等工作,雖然電纜本身并不貴,比較麻煩;而且,一旦網(wǎng)絡建成,其功能上也比較固定。而無線網(wǎng)絡的擴展性就比較強,一臺AP可以支持2048個用戶(為保證高性能,建議接入30臺計算機,但這足以滿足家庭用戶的需要了);如果需要新增加用戶,網(wǎng)絡不需作任何更改,只要在計算機上安裝一張無線網(wǎng)卡就可以了。</p><p>  (6)簡便性:有線網(wǎng)絡安裝過程和維護過程懂簡潔明了,但是安

46、裝工序比較繁瑣,而且需要一定的技術。無線網(wǎng)絡的安裝過程簡單,一般只需5分鐘就可以安裝完成了。只要給無線路由器接上電源,然后進行簡單設置。有的需要進行手工配置,對于特殊的配置,需要在計算機和網(wǎng)卡上分別進行設置,才可以實現(xiàn)互聯(lián)網(wǎng)的連接了。</p><p>  總評:無線網(wǎng)絡技術在不斷的發(fā)展與改善,其發(fā)展前景是良好的,但是在很多場合下,有線接入技術并真的比無線網(wǎng)絡有更多的優(yōu)勢。無線網(wǎng)絡是對有線網(wǎng)絡的一種補充,而不是一種

47、替代。兩種網(wǎng)絡各有各的好處,具體選擇哪種網(wǎng)絡還是要看具體的需求,就本次設計來說,我們以靈活性與簡便性為主,因此選擇使用無線網(wǎng)絡。</p><p>  對于無線網(wǎng)絡連接,常見的解決方案有GPRS、GPS、藍牙、WiFi及ZigBee 等。雖然GPRS和GPS具有較廣的傳輸范圍,但傳輸速率低,性價比不高。短距離無線通信技術的實現(xiàn)價位比較低,本文主要考慮的藍牙、WiFi及ZigBee等幾種短距離。下面是幾種常見的短距離

48、無線通信技術。</p><p><b> ?、?WiFi技術</b></p><p>  WiFi使用的頻段在2.4GHz附近。WiFi的傳輸速度較高,最高速度由使用的標準決定,IEEE802.11b最高為11Mbps,IEEE802.11a和IEEE802.11g最高都為54Mbps[6]。WiFi技術的第二層上與以太網(wǎng)是一致的,可以很方便的嵌入到已有的有線以太網(wǎng)中

49、,降低了組網(wǎng)成本。</p><p><b>  ② 藍牙</b></p><p>  藍牙采用低功率時分復用方式發(fā)射1 MHz的帶寬時,藍牙的有效傳輸速率是721 Kbit/s,通信距離為10cm至10m。藍牙是一種低成本的短距離通信技術,頻帶為2.45GHz ISM,采用跳頻擴譜技術。</p><p>  ③ ZigBee技術</p&g

50、t;<p>  ZigBee是一種新興的近距離無線網(wǎng)絡技術,其特點為復雜度低、功耗低、成本低、速率低[4]。該技術能夠很好地應用于工業(yè)儀器監(jiān)測、消費類電子及家庭監(jiān)控等無線傳感器網(wǎng)絡的控制領域中[5]。</p><p><b> ?、?UWB 技術</b></p><p>  UWB(Ultra Wideband),是另一個新興的無線通信技術[6],翻譯過

51、來即超寬帶技術。UWB的調(diào)制方式采用脈沖調(diào)制及二進制相移鍵控,工作波段為3.1GHz 至10. 6GHz。UWB能夠穿透墻壁和身體并且具有較高的分辨率,可應用于救援、消防、醫(yī)療、雷達系統(tǒng)和圖像處理。</p><p>  從以上幾種方案的比較中可以看出,WiFi在傳輸速率和網(wǎng)絡覆蓋率方面都具有更突出的優(yōu)勢。雖然WiFi技術的無線通信質(zhì)量有待改進,但現(xiàn)有的水平已經(jīng)可以滿足本設計的需求。綜上所述本設計選擇WiFi 作為

52、終端連接到網(wǎng)絡的方式。本設計的無線網(wǎng)絡環(huán)境由路由器和無線網(wǎng)卡組成的無線局域網(wǎng),這種AP和無線網(wǎng)卡的組網(wǎng)方式也是WiFi常用的組網(wǎng)方式之(AccessPoint),常譯為“無線訪問節(jié)點”或“橋接器”,用途是無線工作站及有線局域網(wǎng)絡的橋梁。本設計采用型號為TL-WR740N的無線寬帶路由器作為AP,無線網(wǎng)卡選用以Ralink RT3070L為核心控制器的WiFi8000 模塊。</p><p>  2.3 用戶圖形界

53、面</p><p>  在圖形界面的選擇上主要考慮客戶端,因為客戶端采用的嵌入式操作系統(tǒng)的硬件資源是有限的,這就要求所使用的用戶圖形界面必須具有輕型、高性能、高可靠、可配置、可移植的特點。選用嵌入式圖形界面作為圖形用戶接口GUI(Graphics User Interface)的開發(fā),下面對比幾種常見的嵌入式GUI:</p><p> ?。?)Qt/Embedded</p>

54、<p>  Qt是一個跨平臺的C++圖形界面庫,完全面向?qū)ο螅浅R子跀U展,并且允許組件編程。Qt開發(fā)庫是最重要的Qt構成部分,擁有的C++類約400多個,主要的構成部分有DATABASE、圖形用戶接口以及國際化語言等;Qt Linguist使不同國家的開發(fā)者免受語言不同帶來的影響,促使了更多的開發(fā)者選用Qt;Qt Designer是一個可運行于多種平臺的集成開發(fā)環(huán)境,主要用途是對窗口部件的布局和對話框的構建;Qt Assis

55、tant是Qt中的幫助軟件,開發(fā)者可以把它作為幫助文檔的瀏覽器;Qt嵌入式版指的是面向嵌入式操作系統(tǒng)而推出的Qt版本,常用的有Qt /Embedded 和Qt/X11。</p><p> ?。?)MicroWindows</p><p>  MicroWindows[7]是一個出現(xiàn)較早的源碼開放的項目,由C語言編寫的,具有較強的移植性,支持許多硬件平臺。它就有相對完善圖形功能,但窗口處理功

56、能遠不夠完善,在圖形引擎中有很多未經(jīng)任何優(yōu)化的低效算法,這些缺陷使MicroWindows距離一個優(yōu)秀的窗口系統(tǒng)還有一定的差距。</p><p>  (3)OpenGUI</p><p>  OpenGUI是一個采用LGPL條款的源碼開放的項目。OpenGUI的內(nèi)核是由匯編語言進行編寫的,這使得它具有非??斓倪\行速度,但也正是這個原因使得它的不具有較好的可移植性,它對多線程也不支持。<

57、;/p><p>  (4)MiniGUI</p><p>  MiniGUI是一個基于Linux的輕量級GUI,遵循LGPL條款。MiniGUI是一款國產(chǎn)的自由軟件,技術創(chuàng)新,優(yōu)勢諸多。具有的特點包括:輕量小巧、可配置、較好的可移植性。但它的圖形引擎有局限性并且其功能較弱,體系結構也遠不夠完善,在圖像開發(fā)環(huán)境中不具備IDE。此外MiniGUI缺乏支持度。</p><p>

58、;  同樣作為基于Qt開發(fā)出軟件平臺,Qt/Embedded比Qt/X11有許多優(yōu)勢,比如Qt/Embedded更節(jié)省內(nèi)存。而且,使用Qt/Embedded設計的軟件,無需再進行一次編譯,就能夠直接運行在Qt/X11上,反之卻不可以。鑒于Qt/Embedded比較有優(yōu)勢,下面結合Qt所帶有的優(yōu)勢,來分析一下Qt/Embedded作為一款嵌入式GUI具有的特點。</p><p> ?、儇S富的API函數(shù),而且類庫支持

59、跨平臺,封裝了適合不同操作系統(tǒng)的訪問細節(jié),這也正是Qt的魅力所在。</p><p> ?、谪S富的工具,以開發(fā)包形式提供,包括了圖形設計器、Makefile制作工具、字體國際化工具、Qt的C++類庫等。</p><p>  ③優(yōu)秀的快平臺特性,支持Windows系列、Unix/ Linux/Solaris、Mac OSX。</p><p> ?、芰己玫姆庋b機制,非常高

60、的模塊化程度,這使得它具有很好的可裁剪性和可移植性[8]。</p><p> ?、葚S富的資源,使用者眾多。</p><p>  ⑥運行需要資源少、速度快。</p><p>  分析了四種常見的嵌入式GUI 的優(yōu)缺點之后,結合客戶端的需要,選擇Qt/Embedded來開發(fā)客戶端的用戶界面,本設計使用的Qt4.7就是Qt/Embedded 的一個版本。</p>

61、;<p>  2.4 嵌入式數(shù)據(jù)庫</p><p>  在數(shù)據(jù)庫領域,嵌入式數(shù)據(jù)庫的“嵌入”一次的語義是指能夠比較方便簡單的應用于其他應用程序中。本設計選擇使用嵌入式數(shù)據(jù)庫的依據(jù)也源于這種語境下的概念。本設計中的數(shù)據(jù)量不是特別大,在數(shù)據(jù)庫的具體選擇上,主要考慮中小型的數(shù)據(jù)庫,常見的主要有MySQL、SQLite、Berkeley DB、Firebird、PostgreSQL等[9]。</p&g

62、t;<p>  MySQL是一種多進程、多用戶的SQL數(shù)據(jù)庫服務器。MySQL包括mysgld(服務器守護進程)、client programs(客戶端程序)及不同的libraries(類庫)的C/S(客戶端/服務器)實現(xiàn)工具。它無法較好的支持復雜的操作,但可以很好應用于小而簡單的數(shù)據(jù)庫中。MySQL不是完全的免費軟件,只有作為普通的最終用戶使用MySQL時,才不需要付錢。此外,無論是直接還是間接的出售了MySQL相關產(chǎn)品

63、或服務程序,又或者在客戶端對MySQL服務器進行了維護,這些都需要收取相關的費用。若是在發(fā)行版中出現(xiàn)含有MySQL的內(nèi)容,也是需要獲得許可的。</p><p>  SQLite的設計目標是“簡單管理,簡單操作,簡單使用,簡單維護,簡單定制” [10]。SQLite是一種輕型、零配置的數(shù)據(jù)庫,對數(shù)據(jù)庫的存放采用了單文件。在處理速度方面,SQLite優(yōu)于其它大多數(shù)數(shù)據(jù)庫管理系統(tǒng)(如MySQL和PostgreSQL)。

64、在版權方面,SQLite沒有任何的應用限制,即使商業(yè)性產(chǎn)品也不例外。在使用方面,SQLite的操作語句同關系型數(shù)據(jù)庫產(chǎn)品相類似,使用起來非常方便。</p><p>  Berkeley DB的源代碼是開放的,可以高效的管理應用程序中的數(shù)據(jù)。只需要進行一些簡單的API的調(diào)用,就能夠?qū)?shù)據(jù)進行訪問及管理。Berkeley DB不同于其它常用的數(shù)據(jù)庫管理系統(tǒng)(如MySQL)的是它不包含有數(shù)據(jù)庫服務器的概念。直接使用應用

65、程序中內(nèi)嵌的Berkeley DB函數(shù)庫,就可以實現(xiàn)數(shù)據(jù)的保存、查詢修改或刪除[11]。而不需要事先在應用程序中連接數(shù)據(jù)庫服務器,才能完成對數(shù)據(jù)的操作。</p><p>  Firebird就是從Interbase的源代碼中派生出來的一種小型數(shù)據(jù)庫,兼容SQL并支持存儲過程,能夠與其它應用程序或應用程序服務器進行捆綁。它功能包括絕大多數(shù)的成熟數(shù)據(jù)庫的功能,其設計思想為:小型、快速和最小化的管理。設計者使用Fire

66、bird對數(shù)據(jù)進行存儲與管理時,不需要花太多精力來調(diào)整數(shù)據(jù)性能,非常方便。</p><p>  PostgreSQL是一款完全免費的數(shù)據(jù)庫,使用時不再需要支付版權費或購買費。此外PostgreSQL的兼容性也很強。作為世界上優(yōu)秀的開源的數(shù)據(jù)庫,它被許多版本的Linux定為發(fā)行首選,在Red Hat Linux、TurboLinux中都預裝了PostgreSQL 。</p><p>  表2

67、.1數(shù)據(jù)庫對比表</p><p>  結合本設計的需求,依次考慮以上介紹的幾種常用數(shù)據(jù)庫,找到最適合本設計的數(shù)據(jù)庫。本設計的數(shù)據(jù)庫存儲數(shù)據(jù)量不算大,對數(shù)據(jù)庫的要求主要是操作簡單,使用方便,速度快。從數(shù)據(jù)庫的體積方面考慮,PostgreSQL體積較大,雖然它是很完善的開源的數(shù)據(jù)庫,但不適合本設計。從數(shù)據(jù)庫的版權收費方面考慮,MySQL在商業(yè)用途中收費,版權使用時也有一些需要獲得許可的情況,為設計的長遠考慮,不選用M

68、ySQL。下面剩下SQLite、Firebird、Berkeley DB,對比一下這三種數(shù)據(jù)庫的性能。</p><p>  從表2.1中可以看出,SQLite的速度最快。SQLite小巧的體積、完善的功能、源碼免費開發(fā)等優(yōu)點,在很多嵌入式系統(tǒng)中得到了應用,如應用于智能手機的媒體查詢功能,應用于交通系統(tǒng)信息采集。至于數(shù)據(jù)庫容量,本設計的數(shù)據(jù)量不是很大,2TB 足夠滿足需求綜合考慮,SQLite是最適合本設計的數(shù)據(jù)庫

69、系統(tǒng)。</p><p><b>  2.5 本章小結</b></p><p>  本章對網(wǎng)絡數(shù)據(jù)庫系統(tǒng)的方案設計做了詳細的闡述,包括系統(tǒng)的總體設計,網(wǎng)絡環(huán)境的選擇,用戶圖形界面設計以及嵌入式數(shù)據(jù)庫,其中對各種網(wǎng)絡的優(yōu)劣,幾種用戶圖形界面和網(wǎng)絡數(shù)據(jù)庫的選擇方面進行了詳細的比對。</p><p>  第3章 網(wǎng)絡數(shù)據(jù)庫終端的開發(fā)環(huán)境的搭建</

70、p><p>  3.1 終端的硬件環(huán)境</p><p>  3.1.1 ARM處理器</p><p>  ARM(Advanced RISC Machines)處理器體系,與MIPS、PowerPC、X86同屬于精簡指令集計算機(RISC)處理器體系。</p><p>  ARM公司成立于英國劍橋,是一家全球領先的嵌入式RISC微處理器解決方案

71、供應商。ARM公司并不生產(chǎn)ARM處理器,主要的產(chǎn)品是ARM技術知識產(chǎn)權核。ARM技術具有非常高的功效和性能,非常容易得到廠家的接受。ARM擁有非常廣泛的全球合作伙伴,包括許多頂級的半導體公司。這種轉讓設計許可的商業(yè)模式,使得不同合作公司可以根據(jù)各自不同的應用領域生產(chǎn)各具特色的芯片。因此,ARM技術獲得了更多的來自第三方的工具、制造及軟件的支持。降低整個系統(tǒng)的成本,加快產(chǎn)品進入市場的時間,從而擁有了更大的競爭優(yōu)勢。</p>

72、<p>  目前,基于ARM技術的微處理器占據(jù)了32位RISC芯片80%的市場份額。ARM處理器具有低功耗、高性價比等特點,它的應用幾乎無處不在,下面介紹幾種重要的應用領域:</p><p><b> ?。?)網(wǎng)絡應用</b></p><p>  針對語音及視頻的處理,ARM進行了優(yōu)化,使其獲得廣泛的支持。隨著寬帶技術接入市場的成長,采用ARM技術的ADSL

73、 芯片向采用DSP芯片發(fā)起了挑戰(zhàn)。ARM正逐步獲得網(wǎng)絡應用領域的競爭優(yōu)勢。</p><p><b>  (2)無線通信領域</b></p><p>  在無線通信設備中,超過85%的設備采用了ARM技術。在無線通信領域,ARM有著近乎無可替代的鞏固地位。</p><p><b> ?。?)消費電子產(chǎn)品</b></p&

74、gt;<p>  在這個增長迅速的市場中,ARM的應用仍然十分廣泛,主要包括MP4等音頻播放器,收音機、數(shù)字機頂盒、游戲機以及智能手機等目前流行的電子產(chǎn)品。</p><p><b> ?。?)工業(yè)控制領域</b></p><p>  作為32位的精簡指令集計算機架構,ARM微處理器在占據(jù)大部分高端微處理器市場份額的同時,也逐步擴大在低端微處理器應用領域中

75、占有率。ARM微處理器所具有的性能高、價位低、功耗低等優(yōu)勢,成功的向傳統(tǒng)8/16位的微處理器發(fā)起了挑戰(zhàn)。</p><p>  3.1.2 Tiny6410 開發(fā)板</p><p>  本設計的終端采用友善之臂的Tiny6410開發(fā)平臺,Tiny6410開發(fā)板由核心板和底板共同構成[12]。Tiny6410核心板采用5V供電,帶有專用復位芯片。處理器為SamsungS3C6410A, FLA

76、SH存儲為2GB MLC NAND Flash。Tiny6410開發(fā)板以三星ARM11 S3C6410芯片作為主處理器,該CPU基于ARM1176JZF-S核設計,內(nèi)部集成了強大的多媒體處理單元,并帶有3D圖形硬件加速器,支持2D圖形圖像的平滑縮放,翻轉等操作。Tiny6410底板是采用Tiny6410核心板的一款參考設計底板。該底板具有的資源包括:調(diào)試口、串口、網(wǎng)絡接口、音頻輸入輸出、4個USB Host、LCD接口等。</p&

77、gt;<p>  3.2 嵌入式操作系統(tǒng)及其安裝</p><p>  3.2.1 嵌入式操作系統(tǒng)的選型</p><p>  嵌入式系統(tǒng)在具有一個操作系統(tǒng)的基本特征之外,還具有執(zhí)行效率高、實時性強、針對特定的應用,對于功耗、體積及成本也都有一定的要求。下面介紹幾種常用的嵌入式操作系統(tǒng)。</p><p>  (1)Windows CE</p>

78、<p>  Windows CE是微軟公司開發(fā)的能夠比較好的兼容Windows系列操作系統(tǒng)的嵌入式操作系統(tǒng)。它支持的CPU架構種類較多,硬件驅(qū)動資源也比較豐富,擁有強大的多媒體功能同時。此外,開發(fā)調(diào)試的過程與PC機上的windows 有眾多類似之處。Windows CE有很多的缺陷,如系統(tǒng)占用比較大、不開源且版權費比較昂貴等。</p><p> ?。?)VxWorks</p><p

79、>  VxWorks是美國WindRiver公司設計出的具有非常好的可靠性和實時性的操作系統(tǒng)。其特點包括微內(nèi)核結構可裁剪、支持POSIX實時擴展標準、任務管理高效、中斷處理為微秒級,任務之間的通信較靈活等。它廣泛出現(xiàn)在航空、航天、軍事、通信等高精尖技術領域,在實時性和可靠性要求很高的操作系統(tǒng)領域非常受歡迎。VxWorks也有缺點,它支持的硬件少,不開源且授權費高。</p><p><b>  (3

80、)uCOSII</b></p><p>  uCOSII是一種著名的開源的實時操作系統(tǒng)內(nèi)核。uCOSII結構小巧,內(nèi)核采用優(yōu)先級可剝奪的任務調(diào)度機制。uCOSII具有較強的可移植性、可裁剪性、空間占用小、執(zhí)行速度快、實用性和可靠性等。它被廣泛應用在各種8/16/32位單片機上。uCOSII的源代碼全部公開,但它不是完全的免費軟件,用于生產(chǎn)商業(yè)產(chǎn)品時,必須購買授權。uCOSII只是一個內(nèi)核,沒有給用戶提

81、供各種的系統(tǒng)調(diào)用和API接口函數(shù),很多部分用戶要根據(jù)需要自行實現(xiàn)。</p><p><b> ?。?)Linux</b></p><p>  Linux是一種遵循GPL的開源嵌入式操作系統(tǒng)。它的價格低、功能十分強大,移植性好,得到了越來越多的開發(fā)人員的青睞。Linux具有的優(yōu)勢主要集中在以下幾點[13]:</p><p> ?、倌軌蛑С纸^大部分

82、主流的微處理器,例如x86,、Alpha,、ARM,、MIPS 等等。</p><p>  ②源代碼是開放的,操作系統(tǒng)實現(xiàn)了可定制;在GPL協(xié)議的規(guī)范下,不同開發(fā)人員開發(fā)出的軟件具有了很好的兼容性。</p><p> ?、蹆?nèi)核精悍且十分高效穩(wěn)定。在許許多多的來自全球不同地區(qū)的開發(fā)者及團隊的共同能力下,對linux內(nèi)核進行了一次又一次的維護及升級,使得Linux具有了十分精巧、效率高且穩(wěn)定性

83、高的內(nèi)核。</p><p> ?、荛_發(fā)工具十分優(yōu)秀。這些工具不但技術成熟、功能完善、操作方便,而且不斷更新升級以適應技術的不斷進步。</p><p> ?、菥W(wǎng)絡通信十分完善,只要是標準的網(wǎng)絡協(xié)議,幾乎都能夠支持。在文件管理方面,Linux的機制也很完善,能夠支持多種格式的文件系統(tǒng)。此外,在人機交互方面,Linux的用戶圖形界面也在不斷完善中。Linux還特有模塊機制,使得開發(fā)者可以根據(jù)需要

84、,隨時加載或許卸載模塊。</p><p>  從以上比較可以看出,這四種操作系統(tǒng)的穩(wěn)定性和實時性都很好。在開發(fā)費用方面,由于Vxworks和Windows CE的代碼不開源,需要購買版權,其價格比較昂貴,考慮到系統(tǒng)的開發(fā)成本有限,不選用這兩種操作系統(tǒng)。本設計需要有網(wǎng)絡協(xié)議的支持,但uCOSII不支持,所以不能選擇。綜上所述,選擇Linux作為終端的操作系統(tǒng)。</p><p>  3.2.2

85、 Linux 的開發(fā)環(huán)境的建立</p><p>  Linux的安裝有多種方式。本文通過PC機的windows操作系統(tǒng)中安裝虛擬機后,再安裝Linux。Linux有多種發(fā)行版本,不同的發(fā)行版本為不同的目的而制作。</p><p>  常用的十多種,包括Red Hat Linux、Debian、MandrakeUbuntu、SuSE、Fedora、Linux Mint及Gentoo等。本文選

86、用Ubuntu 12.04,其具有主要優(yōu)勢如下:</p><p><b>  (1)更新速度快;</b></p><p> ?。?)刪除了屏幕保護及無用的軟件包;</p><p> ?。?)加入了Gnome classic 風格;</p><p> ?。?) Ubuntu 10.04的網(wǎng)絡沖突問題在Ubuntu 12.0

87、4已解決。</p><p>  本設計在虛擬機下,使用ubuntu-12.04-desktop-i386.iso鏡像文件對其進行安裝。安裝前,還需要進行一些配置。其中對內(nèi)存分配的選擇,本設計選擇1GB。</p><p>  在安裝階段還需要完成語音的選擇、用戶名及密碼等進行設置。</p><p>  3.3 軟件開發(fā)環(huán)境的搭建</p><p>

88、;  3.3.1 共享文件夾的配置</p><p>  由于Linux系統(tǒng)在windows下用虛擬機來安裝的,使得虛擬機跟PC機之間文件傳遞就成為一個難題。解決這個難題的方法有很多,本設計通過共享文件夾實現(xiàn)Linux與windows之間的文件傳遞。</p><p>  共享文件夾的安裝使用的是VMwareTools-8.4.5-324285.tar-gz,在虛擬機中選擇VM—>Upd

89、ate VMware Tools就可以獲得該壓縮包。運行安裝文件vmware-install.pl,進行安裝。bin目錄下的vmware-config-tools.pl是一個配置文件,也需要安裝一下。完成安裝后,開始設置一個共享文件夾。</p><p>  3.3.2 交叉編譯工具</p><p>  絕大多數(shù)開發(fā)板的可利用資源十分有限,無法滿足編譯時對軟硬資源的需求。一般的解決方法是依賴

90、宿主機(通常為PC機)進行編譯,這就需要使用交叉編譯工具。</p><p>  本設計直接使用友善之臂提供的ARM-linux-gcc-4.5.1-v6-vfp-20102203.tgz 作為交叉編譯工具。將壓縮包拷貝到opt目錄下,并解壓。完成解壓后,對環(huán)境變量進行修改,打開文件/etc/profiel,在文件中加入一行代碼,如圖3.1中紅框中的內(nèi)容。</p><p>  圖3.1 修

91、改環(huán)境變量圖</p><p>  在終端下輸入ARM-linux-gcc –v,檢查是否安裝成功。如圖3.2中出現(xiàn)了版本“version 4.5.1”,至此交叉編譯工具安裝成功。</p><p>  圖3.2 查看安裝版本圖</p><p>  3.3.3 Qt4.7 的安裝</p><p>  本設計在宿主機上安裝的是Qt4.7,需要進行

92、的工作包括Qt Creator的安裝、Qt4.7的安裝及一些必要的配置。下面依次介紹各部分的工作。</p><p>  Qt Creator的安裝,本設計使用QtSDK來實現(xiàn)這一步。從互聯(lián)網(wǎng)下載安裝包qt-sdk-linux-x86-opensource-2009.05.bin。修改執(zhí)行權限后,運行安裝包。安裝的過程中需要注意一下安裝位置為/opt/qtsdk-2009.05。安裝完成后,在桌面會生成QtCrea

93、tor圖標。</p><p>  Qt4.7的安裝。從網(wǎng)絡獲取Qt4.7源碼包ARM-qte-4.7.0-20101105.tar.gz,并將Qt4.7源碼包拷貝到/opt/mini6410下。解壓源碼包,進入源碼包目錄 ARM-qte-4.7.0,解壓其中的qt-everywhere-opensource-src-4.7.0.tar.g。</p><p>  為了成功安裝Qt4.7,還需

94、安裝編譯工具,在終端中依次運行如下命令:</p><p>  sudo apt-get install g++ make cmake pkg-config</p><p>  sudo apt-get install libglib2.0-dev libSM-dev libxrender-dev libfontconfig1-dev libxext-dev</p><p

95、>  sudo apt-get install libglui-dev</p><p>  在終端下進入qt-everywhere-opensource-src-4.7.0目錄,交叉編譯Qt4.7。終端中所需運行的命令為sudo echo yes| ./configure -prefix /opt/Qt4.7 -opensource-embedded ARM–xplatform qws/linux-ARM-

96、g++ -no-webkit -qt-libtiff -qt-libmng-qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon。</p><p>  使用命令make,開始編譯。在執(zhí)行命令sudo make install。完成后,Qt4.7就被安裝在了/opt/Qt4.7。</p><p>  完成上述安裝后,需要進行一些配置。使

97、用Qt開發(fā)好程序后,要對其進行交叉編譯,配置的主要原因是能夠完成交叉編譯。在Tools 菜單中點Options選項,在出現(xiàn)的對話框左側選擇Qt4.7下的Qt version,QMake Location的地址為/opt/mini6410/ARM-qte-4.7.0/qt-everywhere-opensource-src-4.7.0/bin/qmake ,通過Browse 按鈕找到該路徑下的qmake,版本信息為4.7.0。此外,在左側

98、的菜單欄中點Projects,在彈出的界面中還需要做相應的配置。</p><p>  本小結內(nèi)容實現(xiàn)了對Qt的使用,在PC機上就可以開發(fā)出能夠在ARM開發(fā)板上運行的Qt程序。</p><p><b>  3.4 本章小結</b></p><p>  本章介紹了網(wǎng)絡數(shù)據(jù)庫終端的開發(fā)環(huán)境的搭建,首先介紹了終端的硬件環(huán)境,ARM處理器,對ARM處理器

99、的發(fā)源以及應用進行了概述然后介紹了本設計使用的Tiny6410開發(fā)板。接下來對幾種嵌入式操作系統(tǒng)進行了比較,最終選擇Linux作為終端的操作系統(tǒng)。緊接著介紹了Linux的開發(fā)環(huán)境的建立以及Linux上一些軟件開發(fā)環(huán)境的搭建,包括共享文件夾的配置,交叉編譯工具等,最后詳細級闡述了Qt4.7的安裝過程。</p><p>  第4章 開發(fā)板上的系統(tǒng)平臺的實現(xiàn)</p><p>  4.1 Boo

100、tloader</p><p>  4.1.1 Bootloader 及啟動流程</p><p>  BootLoader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段程序,引導和加載系統(tǒng)內(nèi)核鏡像的工具[14],需要具備的功能如下:</p><p> ?。?) 初始化RAM</p><p>  這一功能是必需能夠?qū)崿F(xiàn)的,因為將來系統(tǒng)要通過它來對一些Vo

101、latile數(shù)據(jù)進行保存。這一功能的具體實現(xiàn)依賴于具體的微處理器及其硬件系統(tǒng)。</p><p><b> ?。?) 初始化串口</b></p><p>  這一功能不是必需的,但一般都會進行。一般地,初始化之后,至少還要保證一個串口被使能了。這樣通過串口就可以與控制臺進行一些工作,或者是與PC機之間的通信等。</p><p>  (3) 啟動內(nèi)

102、核鏡像</p><p>  這一功能也是必需實現(xiàn)的。大多數(shù)BootLoader的啟動流程分為兩個階段:stage1和stage2。階段1一般都是利用匯編語言來實現(xiàn),以便達到短小精悍的目的,其中包含與CPU體系結構相關的代碼。階段2部分一般利用C語言來實現(xiàn),便于復雜功能的實現(xiàn),而且也會調(diào)高代碼的可讀性和可移植性。</p><p>  通過Bootloader實現(xiàn)了硬件設備的初始化,并建立內(nèi)存

103、空間的映射圖,使得嵌入式系統(tǒng)的軟件和硬件達到合適狀態(tài),從而為調(diào)用內(nèi)核、加載文件系統(tǒng)及應用程序做好前期準備。</p><p>  4.1.2 u-boot 及其編譯</p><p>  u-boot是眾多Bootloader中的一種。它是由來自德國的DENX小組在ppcboot 和ARMboot的基礎上開發(fā)出來的,遵循GPL的源碼開放的項目,已被廣泛應用于多種嵌入式系統(tǒng)的開發(fā)中。U-boot

104、的開發(fā)目的就是能夠更穩(wěn)定地支持更多的嵌入式CPU和嵌入式系統(tǒng),更靈活地實現(xiàn)功能的設置,為產(chǎn)品開發(fā)提供便利。很多u-boot源碼是linux內(nèi)核源代碼的簡化,如u-boot的源碼目錄、編譯形式都和Linux 內(nèi)核十分的相似。</p><p>  本設計直接使用友善之臂提供的u-boot,直接對其源碼進行編譯就可以使用了。編譯的過程在ubuntu下實現(xiàn),進入源碼的目錄后,生成配置文件,使用的命令為make mini6

105、410_sd_config-ram256,最終使用make 編譯出u-boot.bin文件。將安裝到ARM上之前,要對Nand Flash進行格式化。使用DNW程序?qū)-boot.bin下載到開發(fā)板。</p><p>  4.2 Linux 內(nèi)核</p><p>  4.2.1 內(nèi)核的版本</p><p>  Linux是在Unix與MS-DOS的夾縫中,在min

106、ix的引導下,在GNU、POSIX的幫助下終于在1991年8月發(fā)布了linux內(nèi)核的第一個版本0.01版,造就了后來幾十年的輝煌。自Linux問世以來,系統(tǒng)的一直在進行著升級和維護。</p><p>  Linux內(nèi)核的版本又分為穩(wěn)定版和開發(fā)板兩種。穩(wěn)定版的內(nèi)核就有工業(yè)級的強度。新的穩(wěn)定內(nèi)核相對于較舊的只是修正啦一些bug 或加入了一些新的驅(qū)動程序。開發(fā)版的內(nèi)核的變化很快,發(fā)布周期也都很短,主要是因為需要地反復實

107、驗,來驗證各種解決方案。內(nèi)核的兩個版本相互關聯(lián)與循環(huán)。</p><p>  4.2.2 內(nèi)核模塊結構</p><p>  Linux 核心源程序通常都安裝在目錄/usr/src/Linux下,一個目錄就是一個模塊。各個目錄的用途如下:</p><p> ?。?)/include:該子目錄包含了編譯內(nèi)核代碼時所需的大部分包含文件。各類驅(qū)動或功能布局的頭文件在/medi

108、a、/mtd、/net等目錄下。</p><p>  (2)/drivers:該子目錄包含當前版本的內(nèi)核中的所有設備驅(qū)動代碼,里面的每個子目錄對應一類驅(qū)動程序,每種驅(qū)動程序各自占有一個子目錄。</p><p>  (3)/init:該子目錄包含了初始化內(nèi)核的代碼。</p><p> ?。?)/ipc:該子目錄包含了進程間通信的代碼。</p><p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論