版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本 科 畢 業(yè) 設(shè) 計(jì)</p><p> 基于ARM的壓力監(jiān)測(cè)系統(tǒng)設(shè)計(jì)</p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí) 電子與信息工程 </p><p> 學(xué)生姓名 學(xué)號(hào) &l
2、t;/p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘要</b></p><p> 在石油化工、熱電生產(chǎn)、能源開(kāi)發(fā)等行業(yè)中,壓力是生產(chǎn)過(guò)程中的非常的重要參數(shù),它的應(yīng)用極其廣泛。實(shí)
3、時(shí)監(jiān)測(cè)壓力的變化是實(shí)施現(xiàn)代化生產(chǎn)管理的重要環(huán)節(jié),因而壓力監(jiān)測(cè)技術(shù)和儀表的發(fā)展歷來(lái)受到人的重視。ARM處理器是目前公認(rèn)的領(lǐng)先的32位嵌入式RISC微處理器,它具有體系結(jié)構(gòu)可擴(kuò)展、功耗低、成本低和支持處理實(shí)時(shí)多任務(wù)等特點(diǎn),成為設(shè)計(jì)嵌入式系統(tǒng)時(shí)的首選。本系統(tǒng)是結(jié)合了ARM和壓力監(jiān)測(cè)模塊實(shí)現(xiàn)對(duì)壓力的實(shí)時(shí)采集,通過(guò)Minigui的交互界面顯示的壓力監(jiān)測(cè)系統(tǒng)。</p><p> 論文先是介紹了國(guó)內(nèi)外的研究動(dòng)態(tài)及發(fā)展趨勢(shì),主
4、要從硬件和軟件兩大塊介紹了該壓力監(jiān)測(cè)系統(tǒng)的組成。硬件介紹主要有S3C2410芯片包括內(nèi)置的A/D轉(zhuǎn)換模塊,MPX53型硅壓力傳感器,壓力傳感器模塊,傳感器的選擇。軟件介紹主要有Linux系統(tǒng)的特點(diǎn),Minigui的介紹,系統(tǒng)設(shè)計(jì)的環(huán)境搭建以及壓力監(jiān)測(cè)系統(tǒng)的程序說(shuō)明。最后是關(guān)于壓力監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)成果,論文所提出的設(shè)計(jì)主要用來(lái)監(jiān)測(cè)壓力,對(duì)于實(shí)時(shí)的要求能夠很好的完成,對(duì)于某些環(huán)境的監(jiān)測(cè)已經(jīng)可以滿足需求了。但是在大多數(shù)生產(chǎn)過(guò)程中,不僅要監(jiān)測(cè)壓力
5、,還要通過(guò)控制模塊來(lái)控制改變壓力,使能自動(dòng)調(diào)節(jié)到需要的壓力范圍內(nèi)。論文設(shè)計(jì)的壓力監(jiān)測(cè)系統(tǒng)還不能達(dá)到這個(gè)要求,需要進(jìn)一步研究,擴(kuò)展硬件,加入控制模塊,達(dá)到監(jiān)測(cè)控制的目的。</p><p> 關(guān)鍵詞:壓力監(jiān)測(cè);ARM;Minigui</p><p><b> Abstract</b></p><p> In the petroleum che
6、mical, thermal production, energy development and other industries, the pressure in the production process is very important parameter, its application is extremely broad. Real-time monitoring of the implementation of th
7、e pressure change is an important part of modern production management, and thus pressure monitoring technology and instrument development has always been one of great importance. ARM processor is the recognized leader i
8、n the embedded RISC 32-bit microprocesso</p><p> Paper first describes the dynamic domestic and foreign research and development trend of the two major pieces of hardware and software introduced the composi
9、tion of the pressure monitoring system. Hardware description are S3C2410 chip includes built-in A / D converter module, MPX53 silicon pressure sensor, pressure sensor module, sensor selection. Software main features of L
10、inux systems, Minigui introduction, system design environment to build, and pressure monitoring system description of the p</p><p> keywords: Pressure Monitoring;ARM;Minigui</p><p><b> 目
11、錄</b></p><p><b> 前言1</b></p><p> 第1章 國(guó)內(nèi)外形勢(shì)與前景2</p><p> 第2章 壓力監(jiān)測(cè)系統(tǒng)的硬件基礎(chǔ)3</p><p> 2.1 s3c2410芯片介紹3</p><p> 2.2 A/D 轉(zhuǎn)換單元3</p&
12、gt;<p> 2.3 壓力傳感器介紹3</p><p> 第3章 軟件資源介紹5</p><p> 3.1 虛擬機(jī)介紹5</p><p> 3.2 Linux系統(tǒng)介紹5</p><p> 3.3 Minigui的介紹6</p><p> 第4章 開(kāi)發(fā)環(huán)境搭建7</
13、p><p> 4.1 PC環(huán)境的搭建7</p><p> 4.2 交叉編譯環(huán)境的搭建8</p><p> 4.3 Minigui的移植9</p><p> 第5章 人機(jī)交互界面的實(shí)現(xiàn)15</p><p> 5.1 圖形化界面15</p><p> 5.2 觸摸屏的實(shí)
14、現(xiàn)18</p><p> 第6章 設(shè)計(jì)成果20</p><p> 6.1 設(shè)計(jì)的實(shí)現(xiàn)20</p><p> 6.2 調(diào)試過(guò)程中問(wèn)題與解決21</p><p><b> 結(jié)論22</b></p><p><b> 致謝23</b></p>
15、<p><b> 參考文獻(xiàn)24</b></p><p> 附錄:觸摸屏測(cè)試程序和觸摸屏IAL:2410.C25</p><p><b> 前言</b></p><p> 壓力監(jiān)測(cè)是現(xiàn)代監(jiān)測(cè)系統(tǒng)中一個(gè)非常重要的參數(shù),在石油化工、熱電生產(chǎn)、能源開(kāi)發(fā)及科研領(lǐng)域都離不開(kāi)它。以壓力傳感器為主的監(jiān)測(cè)系統(tǒng)現(xiàn)在應(yīng)
16、用越來(lái)越廣泛,應(yīng)用在各個(gè)領(lǐng)域當(dāng)中,在結(jié)合先進(jìn)的微處理器,可以達(dá)到很好的實(shí)時(shí)監(jiān)測(cè)目的。</p><p> ARM作為嵌入式系統(tǒng)的代表,具備很多優(yōu)點(diǎn),如體積小、接口豐富、高度集成、擴(kuò)展豐富等,加上Linux的強(qiáng)大的移植性能,良好的網(wǎng)絡(luò)功能,支持各種文件系統(tǒng),軟件代碼小,自動(dòng)化程度高,響應(yīng)速度快等優(yōu)點(diǎn),非常適合作為中中小型監(jiān)測(cè)系統(tǒng)的平臺(tái)[1-2]。ARM在嵌入式系統(tǒng)的應(yīng)用越來(lái)越廣泛,因?yàn)榛贏RM的嵌入式監(jiān)測(cè)系統(tǒng)具有
17、成本低、功耗低、實(shí)時(shí)性能好以及智能程度高等優(yōu)點(diǎn),在工業(yè)監(jiān)測(cè)與控制領(lǐng)域具有較為廣闊的應(yīng)用前景。本文設(shè)計(jì)了基于ARM的壓力監(jiān)測(cè)系統(tǒng)。</p><p> 第1章 國(guó)內(nèi)外形勢(shì)與前景</p><p> 最早的壓力測(cè)量是意大利人托里拆利與1643年測(cè)定了標(biāo)準(zhǔn)大氣壓,壓力值為760毫米汞柱,從此以后把760毫米柱作為標(biāo)準(zhǔn)大氣壓的值。它用的方法是用已知的力平衡未知力測(cè)量壓力,u型管壓力計(jì)是這種方法的經(jīng)
18、典之作。后來(lái)發(fā)展出壓力電氣測(cè)量技術(shù),壓力測(cè)量開(kāi)始應(yīng)用電子傳感器、計(jì)算機(jī)技術(shù)、通信技術(shù)等,自動(dòng)化越來(lái)高,出現(xiàn)了數(shù)字壓力測(cè)量?jī)x器,宣布?jí)毫y(cè)量技術(shù)進(jìn)入了數(shù)字時(shí)代。70年代,開(kāi)始出現(xiàn)智能儀表,主要特點(diǎn)是體積小、功能強(qiáng)。能夠自主完成壓力測(cè)量任務(wù),對(duì)于數(shù)據(jù)處理和復(fù)雜計(jì)算的能力進(jìn)行了提升,有效的提高了測(cè)量的準(zhǔn)確度。到80年代中后期,集成電路的產(chǎn)生,微型計(jì)算機(jī)和軟件技術(shù)的迅猛發(fā)展,新一代壓力測(cè)量系統(tǒng)產(chǎn)生了,結(jié)合了計(jì)算機(jī),使得其性能有了新的飛躍。隨著傳
19、感器技術(shù)的進(jìn)步,是的傳感器的體積和測(cè)量精度不斷提高,從模擬技術(shù)到數(shù)字技術(shù),在加上網(wǎng)絡(luò)技術(shù)的發(fā)展,把異地實(shí)時(shí)測(cè)量變成現(xiàn)實(shí)。</p><p> 世界各個(gè)發(fā)達(dá)國(guó)家都是高度重視對(duì)于儀表儀器的發(fā)展,美國(guó)與國(guó)家長(zhǎng)期安全和經(jīng)濟(jì)繁榮極其相關(guān)的22項(xiàng)技術(shù)中,傳感器處理技術(shù)相關(guān)的項(xiàng)目就占了6項(xiàng),測(cè)量傳感器技術(shù)也已經(jīng)被日本列為二十一世紀(jì)的首位發(fā)展技術(shù),在德國(guó),大面積推廣了自動(dòng)化測(cè)量?jī)x器系統(tǒng),歐共制定的第三個(gè)發(fā)展總規(guī)劃,將測(cè)量技術(shù)作為
20、15個(gè)專項(xiàng)之一。</p><p> 國(guó)內(nèi)的自動(dòng)壓力測(cè)量系統(tǒng)的技術(shù)開(kāi)始較晚,但是發(fā)展迅速,從60年代的多點(diǎn)巡回檢測(cè)階段到70年代以小型計(jì)算機(jī)為中心的測(cè)量系統(tǒng),到了80年代,已經(jīng)結(jié)合微型計(jì)算機(jī)建立自動(dòng)檢測(cè)系統(tǒng),自動(dòng)檢測(cè)技術(shù)得到了逐步提高。不過(guò)目前我國(guó)主要引進(jìn)國(guó)外設(shè)備,而軟件進(jìn)行二次開(kāi)發(fā)。在壓力監(jiān)測(cè)技術(shù)的領(lǐng)域,壓力傳感器,信號(hào)調(diào)理技術(shù),數(shù)據(jù)采集技術(shù)以及數(shù)據(jù)處理技術(shù)得到了飛速的發(fā)展。</p><p&
21、gt; 總的來(lái)說(shuō),由于中國(guó)壓力測(cè)量系統(tǒng)起步晚,相對(duì)發(fā)達(dá)國(guó)家還是落后的。但微壓傳感器的性能有了很大提高,壓敏器件的可靠性也達(dá)到了比較好的水平。相信隨著科學(xué)的發(fā)展,壓力傳感器技術(shù)的進(jìn)步,國(guó)內(nèi)的壓力測(cè)量技術(shù)的水平將會(huì)得到長(zhǎng)足的進(jìn)步。</p><p> 第2章 壓力監(jiān)測(cè)系統(tǒng)的硬件基礎(chǔ)</p><p> 2.1 s3c2410芯片介紹 </p><p> S3c2
22、410是三星公司開(kāi)發(fā)16/32位RISC處理器,主要用于高性價(jià)比、低功耗的手持式設(shè)備的應(yīng)用領(lǐng)域。S3c2410在片上集成了豐富的組件:分開(kāi)的指令Cache和和數(shù)據(jù)Cache(都是16KB)、虛擬存儲(chǔ)管理單元MMU、LCD控制器、NAND Flash 啟動(dòng)裝載器3通道UART、4通道PWM定時(shí)器、SD主卡和MMC卡接口、2個(gè)通道的SPI及PLL時(shí)鐘發(fā)生器。同時(shí)還采用了AMBA新型總線結(jié)構(gòu)[4]。</p><p>
23、 S3c2410最重要的組成是他的ARM920T RISC處理器。ARM9220T實(shí)現(xiàn)了MMU、AMBA總線和Harvard高速緩存體系結(jié)構(gòu),具有獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache,每個(gè)Cache都是由8字長(zhǎng)的行組成[3,5]。</p><p> 2.2 A/D 轉(zhuǎn)換單元 </p><p> A/D 轉(zhuǎn)換單元,采用 S3C2410 內(nèi)置的 A/D 轉(zhuǎn)換器,它包含一
24、個(gè) 8 路模擬輸入混合器,12 位模數(shù)轉(zhuǎn)換。最大轉(zhuǎn)換速率:100KSPS,輸入電壓范圍:0-2.5V 輸入帶寬: 0-100Hz(無(wú)采樣和保持電路),低的電源消耗。在本實(shí)驗(yàn)系統(tǒng)中,模擬輸入信號(hào)經(jīng)過(guò)降壓\偏置處理后輸入 A/D 轉(zhuǎn)換器,然后轉(zhuǎn)換的數(shù)字量給 S3C2410 處理[5]。如圖2.1 信號(hào)轉(zhuǎn)換流程所示:</p><p> 圖 2.1 信號(hào)轉(zhuǎn)換流程</p><p> 2.3 壓
25、力傳感器介紹</p><p> 在本設(shè)計(jì)中采用了MPX53型硅壓力傳感器主要用于測(cè)量氣體壓力。其外形及管腳定義如下圖所示:</p><p> 圖 2.2 MPX53實(shí)物圖</p><p> 表 2.1 MPX53引腳定義</p><p> 該傳感器測(cè)量的是腔體內(nèi)外氣體的壓力差,其輸出電壓與壓力的關(guān)系為近似線性MPX53的工作特性參數(shù)如
26、表2.2 MPX53參數(shù)表所示:</p><p> 表 2.2 MPX53參數(shù)表</p><p> 注:①、零位電壓偏差是指壓力為零時(shí)的輸出電壓;</p><p> ?、?、滿量程輸出為最大輸出與最小輸出電壓之差。</p><p> MPX53的電源部分做成可調(diào),用于溫度補(bǔ)償。輸出采用差動(dòng)放大,以去除共模干擾,1K電位器用于增益調(diào)節(jié)。通常
27、將增益調(diào)至100倍,根據(jù)上面參數(shù),壓力變化1Kpa,輸出電壓變化為120mV。根據(jù)采樣的輸出電壓,采用線性插值法可計(jì)算出實(shí)際壓力值。</p><p> 模塊上的VIN+、VIN-分別對(duì)應(yīng)于MPX53的3腳和1腳,VO+、VO-分別對(duì)應(yīng)于MPX53的2腳和4腳,VOUT對(duì)應(yīng)于J5。</p><p> 注:應(yīng)在零壓力時(shí)采樣一次輸出電壓。以后每次采樣值應(yīng)減去零位值,然后換算為壓力。</
28、p><p> 第3章 軟件資源介紹</p><p> 3.1 虛擬機(jī)介紹</p><p> 虛擬機(jī),其實(shí)是一個(gè)windows下的軟件,它模擬出一個(gè)pc機(jī)的平臺(tái),可以讓各種系統(tǒng)在上面運(yùn)行,達(dá)到和真實(shí)pc機(jī)一樣的效果,這就是虛擬的功能。虛擬機(jī)是一個(gè)很好的軟件開(kāi)發(fā)平臺(tái),它幾乎可以安裝任何真實(shí)pc機(jī)能安裝的系統(tǒng),可以獨(dú)立運(yùn)行任何程序,及時(shí)是非法的,也不會(huì)使的真實(shí)的pc機(jī)
29、崩潰。這使的在軟件開(kāi)發(fā)的時(shí)候,資料的安全性有了一個(gè)很好的保障。</p><p> 對(duì)于虛擬機(jī)完全可以當(dāng)成真實(shí)的pc使用,甚至上面還模擬出了電源開(kāi)關(guān),重啟鍵,還有個(gè)特殊的功能鍵“暫?!保皶和!钡墓δ芊浅?shí)用,在虛擬機(jī)的任何狀態(tài)都可以暫停,然后開(kāi)始之后,可以恢復(fù)到暫停時(shí)的狀態(tài),不用關(guān)機(jī)重啟。</p><p> 虛擬機(jī)還可以連接硬件,如本系統(tǒng)開(kāi)發(fā)過(guò)程用到的網(wǎng)卡橋接功能,虛擬機(jī)可以連接到真實(shí)
30、的網(wǎng)卡上,使用網(wǎng)卡的功能,甚至可以直接使用網(wǎng)卡。還有串口、USB等硬件的支持,可以切換接入虛擬機(jī)還是接入win7。</p><p> 本系統(tǒng)的開(kāi)發(fā)需要Linux系統(tǒng),但是pc機(jī)是win7的,所以要安裝虛擬機(jī),在虛擬機(jī)中安裝Linux系統(tǒng),這樣,無(wú)論是直接在Linux中編寫程序還是在win7下編寫后放到Linux中編譯都是可以的,這就方便了軟件的開(kāi)發(fā),大大提高了效率而且不用擔(dān)心Linux系統(tǒng)的崩潰引起程序的丟失。
31、</p><p> 3.2 Linux系統(tǒng)介紹</p><p> Linux系統(tǒng),之所以在嵌入式系統(tǒng)中作為最受歡迎的移植系統(tǒng),最大的原因是Linux的源碼是開(kāi)放的,這使得軟件開(kāi)發(fā)有了非常大的自由度。開(kāi)發(fā)者完全可以根據(jù)自己的喜好,編程習(xí)慣來(lái)開(kāi)發(fā)自己的程序,甚至直接修改Linux的源碼。這使得Linux在嵌入式系統(tǒng)中發(fā)展非常迅速[7-8]。</p><p> L
32、inux無(wú)論在pc機(jī)還是在嵌入式開(kāi)發(fā)平臺(tái)上都能非常好的運(yùn)行,最主要的原因是它的內(nèi)核非常穩(wěn)定,功能非常強(qiáng)大,提供了幾乎包括所有的硬件的支持。而且內(nèi)核本身占用空間小,易于裁減,這使它在嵌入式系統(tǒng)開(kāi)發(fā)中有非常廣泛的應(yīng)用。</p><p> Linux作為一個(gè)開(kāi)發(fā)環(huán)境,另一個(gè)重要的原因是有著非常優(yōu)秀的完整的開(kāi)發(fā)工具集。這也是因?yàn)樗_(kāi)放源碼的達(dá)到的效果。正因?yàn)樗拈_(kāi)放吸引了成千上萬(wàn)的開(kāi)發(fā)者投入到Linux的開(kāi)發(fā)中,使得L
33、inux在短時(shí)間就變成了一個(gè)強(qiáng)大的操作系統(tǒng),集合了各種技術(shù),支持各種主流硬件設(shè)備等[6]。</p><p> 當(dāng)然,商家最關(guān)心的是價(jià)格問(wèn)題。Linux價(jià)格低廉,有效降低了產(chǎn)品成本,對(duì)于嵌入式系統(tǒng)是實(shí)用化來(lái)說(shuō)是至關(guān)重要的。這也是多數(shù)嵌入式系統(tǒng)選擇Linux系統(tǒng)作為運(yùn)行平臺(tái)的重要原因。</p><p> 3.3 Minigui的介紹</p><p> 首先是Mi
34、nigui的定義,Minigui是針對(duì)嵌入式設(shè)備的、跨操作系統(tǒng)的圖形界面支持系統(tǒng),是一種嵌入式圖形中間件。Minigui最典型的應(yīng)用就是工業(yè)儀表的控制系統(tǒng)界面,是建立人機(jī)交互界面時(shí)非常不錯(cuò)的選擇[9]。</p><p> Minigui的界面與windows 98系統(tǒng)的窗口圖形風(fēng)格非常相似,主要元素也是窗口,可以分成四類,分別為主窗口、對(duì)話框、控件和主窗口窗片。窗口中還包括了其他的多種元素:邊框、標(biāo)題欄、標(biāo)題欄
35、按鈕、滾動(dòng)條、選定項(xiàng)目、無(wú)效項(xiàng)目、高亮項(xiàng)目、突出項(xiàng)目、三維對(duì)象等。開(kāi)發(fā)者可以隨意建立、設(shè)置這些元素,窗口的隨意話、個(gè)性化非常強(qiáng)大,可以根據(jù)不同的實(shí)際需求來(lái)修改窗口界面[10]。</p><p> Minigui相比其他嵌入式圖形系統(tǒng)具有以下幾大優(yōu)勢(shì):</p><p><b> 1 可伸縮性強(qiáng)</b></p><p> Minigui的豐富
36、功能以及可修改配置的特點(diǎn),使它無(wú)論在低端產(chǎn)品還是在高端嵌入式設(shè)備都能很好的運(yùn)行,結(jié)合高級(jí)控件和皮膚界面技術(shù)可以設(shè)計(jì)出華麗的界面。Minigui支持多種操作系統(tǒng),簡(jiǎn)單的如uC/OS-II,復(fù)雜的如Linux。</p><p><b> 2 占資源少</b></p><p> Minigui作為嵌入式圖形庫(kù)是屬于輕量級(jí)的,對(duì)系統(tǒng)資源的要求非常低,這就對(duì)于嵌入式系統(tǒng)來(lái)說(shuō)
37、非常重要了。嵌入式系統(tǒng)一般都是體積最小化,硬件配置最低化,這使得對(duì)軟件的要求反而嚴(yán)格了,Minigui完全可以在這樣的嵌入式系統(tǒng)中運(yùn)行,這是其他嵌入式圖形系統(tǒng)無(wú)法達(dá)到的。</p><p><b> 3 高性能</b></p><p> Minigui的內(nèi)部體系結(jié)構(gòu)完善,有比較良好的圖形接口,對(duì)于圖形繪制速度有了保障。</p><p><
38、;b> 4 可配置性</b></p><p> Minigui可以針對(duì)不同的硬件平臺(tái)和軟件平臺(tái)進(jìn)行各種不同的多樣化的配置,使得Minigui在系統(tǒng)中的運(yùn)行達(dá)到最優(yōu)化。Minigui的結(jié)合了大量配置選項(xiàng),在針對(duì)實(shí)際要實(shí)現(xiàn)的功能和運(yùn)行平臺(tái)可以制定不通的Minigui配置。比如Minigui運(yùn)行模式的選擇,Minigui運(yùn)行的硬件平臺(tái)選擇,Minigui運(yùn)行的軟件平臺(tái)選擇,支持庫(kù)的選擇等等,使得M
39、inigui在配置時(shí)有很高的靈活性。</p><p> 總之,Minigui是一個(gè)高效、靈活、多樣化的嵌入式圖形系統(tǒng)。</p><p> 第4章 開(kāi)發(fā)環(huán)境搭建</p><p> 4.1 PC環(huán)境的搭建 </p><p> 虛擬機(jī)以及red hat 9的安裝。</p><p> <1>打開(kāi)虛擬機(jī)
40、,選擇“new virtual machine”。</p><p> <2>接著,直接點(diǎn)“下一步”, 選擇“Custom”,點(diǎn)擊“下一步”。</p><p> <3>選擇“New-Worstation 5”,點(diǎn)擊“下一步”。</p><p> <4>選擇“Linux”,在下拉菜單中選擇“Red Hat Linux”,點(diǎn)擊“下
41、一步”。</p><p> <5>在出現(xiàn)的界面中,點(diǎn)“browse”選擇安裝路徑,修改名字,然后點(diǎn)擊“下一步”,按照系統(tǒng)默認(rèn)的設(shè)置,一直到配置完成,出現(xiàn)虛擬機(jī)。</p><p> <6>在設(shè)置界面雙擊進(jìn)入CD-ROM設(shè)置選項(xiàng)窗口,選擇用“ISO”安裝,在下拉菜單中找到系統(tǒng)鏡像的路徑,點(diǎn)擊確定。</p><p> <7>點(diǎn)擊“
42、Start this virthual machine”,啟動(dòng)虛擬機(jī),并且開(kāi)始安裝Linux系統(tǒng)。</p><p> <8>鼠標(biāo)單擊虛擬機(jī)內(nèi)部界面,按回車進(jìn)入安裝向?qū)В崾臼欠褚?yàn)證系統(tǒng)CD ,因?yàn)檫@是系統(tǒng)鏡像,所以選擇跳過(guò)“skip”。</p><p> <9>出現(xiàn)一個(gè)安裝是的幫助界面,選擇“下一步”,出現(xiàn)語(yǔ)言選擇,這里的選擇是安裝過(guò)程所用的語(yǔ)言,不是系統(tǒng)語(yǔ)言
43、,選擇了簡(jiǎn)體中文,當(dāng)然也可以選擇英語(yǔ)等,選擇“下一步”。</p><p> <10>選擇鍵盤類型,一般的鍵盤都是美式鍵盤,“U.S English”,選擇后點(diǎn)擊“下一步”。</p><p> <11>鼠標(biāo)類型一定要選擇默認(rèn)的那個(gè),不然會(huì)發(fā)現(xiàn)鼠標(biāo)沒(méi)用,然后點(diǎn)擊“下一步”。</p><p> <12>接下來(lái)是選擇安裝類型,選擇定
44、制,點(diǎn)擊“下一步”。</p><p> <13>然后會(huì)出現(xiàn)系統(tǒng)分區(qū),選擇“自動(dòng)分區(qū)”,然后選擇“刪除系統(tǒng)內(nèi)所有Linux分區(qū)”,點(diǎn)擊“下一步”。</p><p> <14>引導(dǎo)裝置程序配置,選擇默認(rèn)就可以了,點(diǎn)擊“下一步”。</p><p> <15>設(shè)置網(wǎng)絡(luò),依舊選擇默認(rèn)配置,點(diǎn)擊“下一步”。</p><
45、;p> <16>防火墻設(shè)置,選擇“無(wú)防火墻”,不通過(guò)Linux上網(wǎng),用不到,反而會(huì)影響到開(kāi)發(fā)是要用到的NFS和SMB服務(wù)。</p><p> <17>附加語(yǔ)言的支持,選擇“Chinese(P.R.of China)”,這里選擇的就是系統(tǒng)的語(yǔ)言,當(dāng)然也可選擇多種語(yǔ)言的支持,點(diǎn)擊“下一步”。</p><p> <18>時(shí)區(qū)選“亞洲/上海”,點(diǎn)擊“
46、下一步”。</p><p> <19>設(shè)置ROOT用戶的口令,也就是用戶密碼,默認(rèn)的用戶名是ROOT。</p><p> <20>選擇安裝軟件包,選擇全部,這樣比較方便不會(huì)缺少某些庫(kù),但是相對(duì)的安裝時(shí)時(shí)間會(huì)比較長(zhǎng)。</p><p> <21>安裝過(guò)程中會(huì)出現(xiàn)“更換光盤”的提示框,按“Ctrl”+“Alt”把鼠標(biāo)切出Linux
47、窗口,在右下角光盤那雙擊,按要求修改鏡像。然后點(diǎn)擊確定,繼續(xù)Linux的安裝。</p><p> <22>安裝完成后會(huì)提示是否創(chuàng)建引導(dǎo)盤,因?yàn)樵谔摂M機(jī)中,沒(méi)必要?jiǎng)?chuàng)建引導(dǎo)盤,所以選擇“否,不想創(chuàng)建引導(dǎo)盤”,點(diǎn)擊“下一步”。</p><p> <23>定制圖形化配置,選擇“真色(24)位”,分辨率“800X600”,單擊“下一步”。</p><p
48、> <24>一個(gè)安裝完成的窗口,單擊“后退”,系統(tǒng)會(huì)重新系統(tǒng),這樣,虛擬機(jī)和Red Hat 9就安裝完成了。系統(tǒng)重新啟動(dòng)后會(huì)自己進(jìn)入Linux界面,就可以開(kāi)始進(jìn)行下一步工作了。</p><p> 4.2 交叉編譯環(huán)境的搭建</p><p> 首先要知道什么是交叉編譯環(huán)境,個(gè)人的理解通俗的說(shuō)就是在電腦上編譯程序,然后把程序送到開(kāi)發(fā)板上運(yùn)行調(diào)試,能方便的完成這一過(guò)程的
49、環(huán)境叫做交叉編譯環(huán)境。那為什么要建立交叉編譯環(huán)境呢?設(shè)計(jì)程序都是在電腦上,但是所設(shè)計(jì)的程序是為了滿足開(kāi)發(fā)板實(shí)現(xiàn)某些功能,所以最終的程序要在開(kāi)發(fā)板上運(yùn)行的。程序不大可能一次性就能滿足要求的,所以測(cè)試后要修改,又無(wú)法在開(kāi)發(fā)板上完成,這就是要建立交叉編譯環(huán)境的原因了。</p><p> 下面是交叉編譯環(huán)境搭建的步驟:</p><p> <1>最關(guān)鍵的就是要有一套交叉編譯工具,在網(wǎng)
50、上下載了cross-2.95.3,版本有很多,但要找到比較適合的,不是最新就是最好的。要編譯的是Minigui-1.3.3,所以這個(gè)交叉編譯器的版本比較適合。</p><p> <2>下載了交叉編譯工具,但是在Win7 環(huán)境下是不能用的,所以要放到虛擬機(jī)的Linux系統(tǒng)里面,這是就要用到windows和Linux通信用的SMB服務(wù)了。下面就是要快速建立SMB服務(wù)。</p><p&
51、gt; <3>進(jìn)入Linux系統(tǒng),點(diǎn)擊左下角小紅帽圖標(biāo),打開(kāi)菜單一道系統(tǒng)設(shè)置,到下一菜單選擇服務(wù)器設(shè)置,選擇Samba服務(wù)器設(shè)置。</p><p> <4>在出現(xiàn)的Samba服務(wù)器設(shè)置窗口,點(diǎn)擊“增加”,然后在目錄欄鍵入“/”,基本權(quán)限選擇“讀/寫”,點(diǎn)擊“確定”。設(shè)置訪問(wèn)目錄為根目錄,可讀可寫。</p><p> <5>重要的還要添加一個(gè)SMB服
52、務(wù)的用戶,不然是無(wú)法訪問(wèn)的。單擊首選項(xiàng),選擇“Samba”用戶。</p><p> <6>點(diǎn)擊添加用戶,的設(shè)置為,用戶名:smb 口令:123456 然后可以點(diǎn)擊確定,這樣SMB服務(wù)就設(shè)置好了。</p><p> <7>設(shè)置完服務(wù)器后要開(kāi)啟它,在終端輸入命令/etc/init.d/smb start。</p><p> 圖4.1
53、啟動(dòng)SMB服務(wù)</p><p> <8>用ifconfig命令設(shè)置虛擬機(jī)的IP,在外部系統(tǒng)也要設(shè)置IP,兩個(gè)IP要在同一網(wǎng)段內(nèi),這樣才能讓兩個(gè)系統(tǒng)實(shí)現(xiàn)通信,共享文件。</p><p> <9>外部系統(tǒng)(這是win7)的開(kāi)始菜單,運(yùn)行命令欄輸入“\\虛擬機(jī)IP”,然后就會(huì)出現(xiàn)一個(gè)共享窗口,可以把cross-2.95.3這個(gè)交叉編譯工具復(fù)制到Linux中。</
54、p><p> <10>進(jìn)入虛擬機(jī),通過(guò)終端找到cross-2.95.3,用tar jxf cross-2.95.3.tar.bz2命令解壓,解壓縮后生成一個(gè) 2.95.3 目錄,里面就是交叉編譯工具。要注意的是它的 include 為 2.95.3/ARM-Linux/include ,對(duì)應(yīng)的 lib 為 2.95.3/ARM-Linux/lib。</p><p> <
55、11>修改環(huán)境變量,讓系統(tǒng)可以使用交叉編譯工具在 .bashrc 最后面加上一句 。</p><p> [user]# cd $HOME </p><p> [user]# vi .bashrc </p><p> export PATH="$PATH:/sbin:/usr/local/ARM/2.95.3/bin:/usr/local/bin
56、:/usr/local" </p><p> [user]# source .bashrc </p><p> <12>然后就是連接開(kāi)發(fā)板了,開(kāi)發(fā)板的系統(tǒng)燒寫就不多做說(shuō)明了,現(xiàn)在默認(rèn)它有一個(gè)可用的系統(tǒng),然后通過(guò)串口線和交叉網(wǎng)線和電腦進(jìn)行連接,串口線主要開(kāi)發(fā)板和電腦之間的通信,交叉網(wǎng)線是兩者間傳輸數(shù)據(jù)的作用,這也是傳輸速率所決定的。</p><
57、;p> <13>兩者間的通信要通過(guò)超級(jí)終端來(lái)實(shí)現(xiàn),可以用Linux中的minicom,也可以用win7下的SecureCRT這個(gè)軟件。論文用的后者。</p><p> <14>快速連接設(shè)置,主要用波特率115200,數(shù)據(jù)位8,奇偶校驗(yàn)無(wú),停止位1.流控制無(wú)。點(diǎn)擊連接,然后打開(kāi)開(kāi)發(fā)板電源,在SecureCRT中就可以看到開(kāi)發(fā)板啟動(dòng)時(shí)的信息了。</p><p>
58、; <15>然后要開(kāi)啟Linux的NFS服務(wù),點(diǎn)擊小紅帽圖標(biāo),依次選擇系統(tǒng)設(shè)置->服務(wù)器設(shè)置->NFS服務(wù)器 在NFS共享目錄鍵入/home/nfs 主機(jī):192.168.0.*,基本權(quán)限為“讀/寫”。單擊確定就設(shè)置完成了。</p><p> <16>然后要開(kāi)啟NFS服務(wù),在終端中鍵入/etc/init.d/nfs start。</p><p>
59、 圖 4.2 啟動(dòng) nfs服務(wù)</p><p> <17>切換到SecureCRT,進(jìn)入開(kāi)發(fā)板的根目錄下,修改開(kāi)發(fā)板的IP,使用ping命令檢查網(wǎng)絡(luò)連接情況。</p><p> <18>用mount命令把Linux的/hone/nfs 掛載到/mnt/,命令為mount –t nfs 192.168.0.100:/home/nfs /mnt,這樣直接可以在開(kāi)發(fā)
60、板上運(yùn)行/home/nfs目錄下的程序了。</p><p> <19>用arm-Linux-gcc編譯一個(gè)簡(jiǎn)單的hello.c的程序,放入nfs目錄下,在開(kāi)發(fā)板上運(yùn)行,能顯示“hello world”字樣,至此,交叉編譯環(huán)境就搭建好了。</p><p> 4.3 Minigui的移植</p><p> <1>通過(guò)SMB服務(wù),把libM
61、inigui-1.3.3.tar.gz,Minigui-res-1.3.3.tar.gz,mde-1.3.0.tar.gz,mg-samples-1.3.0.tar.gz,qvfb-1.0.tar.gz這幾個(gè)壓縮包放到虛擬機(jī)的某個(gè)目錄下,用tar zxf *.tar.gz 命令分別解壓。</p><p> <2>編譯 libMinigui ,這個(gè)是 Minigui 運(yùn)行所必需的庫(kù)文件,必須編譯成功
62、 。</p><p> [user]# cd libMinigui-1.3.3 </p><p> [user]# ./configure</p><p> 必須注意編譯過(guò)程中顯示對(duì)庫(kù)的支持,其中 –lttf –lpng 這兩個(gè)庫(kù)必須是 yes ,不然程序是無(wú)法編譯成功的。 ttf 庫(kù)是 TrueType 字體庫(kù),png 庫(kù)是 png 圖形庫(kù),Minigui
63、 程序基本都要這兩個(gè)庫(kù),后面為板子交叉編譯時(shí)也必須有這兩個(gè)庫(kù),不然程序是無(wú)法執(zhí)行的。 </p><p> <3>然后是安裝命令:</p><p> [user]# make</p><p> [Root]# make install</p><p> <4>庫(kù)安裝完了,接著是安裝資源文件命令:</p&g
64、t;<p> [Root]# cd Minigui-res-1.3.3 </p><p> [Root]# make install</p><p> <5>基本的安裝完成了,現(xiàn)在檢查一下目錄 /usr/local/lib 下是不是有一些與Minigui有關(guān)的庫(kù)文件,如libMinigui-1.3.so.3.0.0 ,libmgext-1.3.so.3.0
65、.0,還有一些.a和.la的文件以及一些鏈接文件。里面還應(yīng)該有名為Minigui的目錄 , Minigui/res是Minigui的資源文件。/usr/local/include 里面也應(yīng)該多了一個(gè) Minigui 目錄,里面有一些 .h 文件,在Minigui程序中要用到這些頭文件。 </p><p> <6>由于新安裝了庫(kù)文件,要讓系統(tǒng)知道調(diào)用庫(kù)的路徑,所以要修改/etc/ld.so.conf
66、 文件,在里面最后新加入一行 /usr/local/lib, 然后執(zhí)行:</p><p> [Root]# ldconfig</p><p> <7>修改Minigui的配置文件Minigui.cfg:</p><p> [Root]# vi /usr/local/etc/Minigui.cfg</p><p> gal
67、_engine=fbcon改成gal_engine=qvfb,</p><p> ial_engine=console改成ial_engine=qvfb</p><p> defaultmode=640x480-16bpp改成defaultmode=320X240-8bpp(這里又多種設(shè)置,哪中都可以,只要設(shè)置qvfb的時(shí)候和這的設(shè)置保持一致就可以了)。</p><
68、p> <8>通過(guò)下面的命令安裝qvfb這個(gè)仿真軟件:</p><p> [user]# tar zxf qvfb-1.0.tar.gz </p><p> [user]# cd qvfb-1.0 </p><p> [user]# ./configure </p><p> [user]# make </p&
69、gt;<p> [user]# make install</p><p> <9>上面的步驟就是搭建Minigui的仿真環(huán)境,通過(guò)qvfb可以仿真出編譯好的Minigui程序。</p><p> <10>Minigui提供了標(biāo)準(zhǔn)的實(shí)例程序,在mg-samples中,所以要解壓:</p><p> [user]# tar
70、zxf mg-samples-1.3.0.tar.gz </p><p> [user]# ./configure </p><p> [user]# make </p><p> [user]# cd src</p><p> <11>在src目錄下,仿真是不能直接運(yùn)行程序的,要先開(kāi)啟qvfb:</p>&
71、lt;p> [user]# qvfb &</p><p> 在 qvfb 中選 File –> Configure,修改其設(shè)置,要和Minigui.cfg這個(gè)配置文件相一致。</p><p> <12>這是會(huì)出現(xiàn)一個(gè)黑黑的窗口,然后就可以執(zhí)行實(shí)例程序了。</p><p> [user]# ./helloword</p&g
72、t;<p> 在qvfb上可以看到效果,這時(shí)Minigui的仿真環(huán)境才算搭建完成。下面就要搭建Minigui的交叉編譯環(huán)境了。</p><p> <13> Minigui 的交叉編譯需要的庫(kù)文件是要自己交叉編譯出來(lái),交叉編譯工具中是沒(méi)有的,交叉編譯出庫(kù)文件放到交叉編譯工具的路徑中,在交叉編譯程序時(shí)才能找到相應(yīng)的庫(kù)。通過(guò)SMB服務(wù)把zlib-1.2.3.tar.gz,libpng-1.
73、0.10rc1.tar.gz,jpegsrc.v6 b .tar.gz,freetype-1.3.1.tar.gz,popt-1.7.tar.gz這幾個(gè)庫(kù)的壓縮文件放到Linux相應(yīng)的目錄中。</p><p> <14>通過(guò)tar zxf *.tar.gz分別解壓幾個(gè)壓縮包,首先安裝 zlib 庫(kù),這個(gè)是后面的庫(kù)的編譯基礎(chǔ)。由于 zlib 庫(kù)的沒(méi)有交叉編譯的configure腳本,只能手動(dòng)編譯,臨時(shí)
74、把 gcc 修改成指向交叉編譯器 arm-Linux-gcc。</p><p> [Root]# cd /usr/bin </p><p> [Root]# mv gcc gcc_back </p><p> [Root]# ln -s /usr/local/ARM/2.95.3/bin/arm-Linux-gcc ./gcc </p><
75、p> [Root]# mv ld ld_back </p><p> [Root]# ln -s /usr/local/ARM/2.95.3/bin/ARM-Linux-ld ./ld</p><p> <15>修改完后回到zlib-1.2.3的目錄下:</p><p> [user]# ./configure --prefix=/usr
76、/local/ARM/2.95.3/ARM-Linux/ --shared</p><p> [user]# make </p><p> [Root]# make install</p><p> 安裝完后目錄 /usr/local/ARM/2.95.3/ARM-Linux/ [include,lib] , include 中有 zlib.h 之類的頭文件
77、,lib 中有 libz.so.1.2.3 ,然后gcc改回去。</p><p> <16>安裝 png 庫(kù), Minigui 里很多圖都是 png 的,如果沒(méi)有這個(gè)庫(kù), Minigui 將無(wú)法正常工作。libpng 沒(méi)有有效的 configure 腳本,手動(dòng)修改 Makefile 文件,把 Scripts 下的 makefile 拷出來(lái) 。</p><p> [user
78、]# cd libpng-1.0.10rc1 </p><p> [user]# cp scripts/makefile.Linux Makefile </p><p> [user]# vi Makefile</p><p><b> 主要修改的地方:</b></p><p> CC=arm-Linux-g
79、cc</p><p> prefix=/usr/local/ARM/2.95.3/ARM-Linux</p><p> ZLIBLIB=/usr/local/ARM/2.95.3/ARM-Linux/lib </p><p> ZLIBINC=/usr/local/ARM/2.95.3/ARM-Linux/include </p><p
80、> <17>安裝這個(gè)庫(kù):</p><p> [user]# make </p><p> [user]# make install</p><p> <18>接下來(lái)安裝jpeg庫(kù):</p><p> [user]# cd jpeg-6b</p><p> [user]# m
81、ake</p><p> [Root]# mkdir –p /usr/local/ARM/2.95.3/ARM-Linux/man/man1 </p><p> [Root]# make install</p><p> <19>安裝libttf 庫(kù),這個(gè)是 TrueType 字體的支持庫(kù),用來(lái)顯示文字的:</p><p>
82、 [user]# cd freetype-1.3.1 </p><p> [user]# mkdir –p /opt/st2410/libttf/extend </p><p> [user]# cp freetype-1.3.1/lib/* freetype-1.3.1/lib/arch/ansi/* libttf/ / [user]#cp freetype-1.
83、3.1/lib/extend/* libttf/extend/ </p><p> <20>上面是準(zhǔn)備,下面要編譯安裝了:</p><p> [user]# cd libttf </p><p> [user]# arm-Linux-gcc -c -fPIC -O2 freetype.c </p><
84、p> [user]# arm-Linux-gcc -c -fPIC -O2 -I./ extend/*.c //把 extend 下所有的 .c 文件全部編譯 </p><p> [user]# arm-Linux-gcc --shared -o libttf.so *.o //生成最后的動(dòng)態(tài)鏈接庫(kù) </p><p> [Root] mkdir –p /usr/lo
85、cal/ARM/2.95.3/ARM-Linux/include/freetype1/freetype</p><p> cp *.h extend/*.h /usr/local/ARM/2.95.3/ARM-Linux/include/freetype1/freetype</p><p> [Root] cp libttf.so /usr/local/ARM/2.95.3/A
86、RM-Linux/lib</p><p> <21>這樣,最重要的幾個(gè)庫(kù)基本安裝完成了,但是在編譯程序時(shí)會(huì)發(fā)現(xiàn)提示找不到共享庫(kù),用-L指定路徑也沒(méi)用,所以還要修改下ljpeg lpng lttf的連接:</p><p> [Root]# cd /usr/lib </p><p> [Root]# mv libjpeg.so libjpeg.so
87、_back </p><p> [Root]# ln –s /usr/local/ARM/2.95.3/ARM-Linux/lib/libjpeg.so ./libjpeg.so </p><p> [Root]# mv libpng.so libpng.so_back </p><p> [Root]# ln –s /usr/local/ARM/
88、2.95.3/ARM-Linux/lib/libpng.so ./libpng.so </p><p> [Root]# mv libttf.so libttf.so_back </p><p> [Root]# ln –s /usr/local/ARM/2.95.3/ARM-Linux/lib/libttf.so ./libttf.so</p><p>
89、; <22>完成之后就可以編譯libMinigui了:</p><p> [user]# cd libMinigui-1.3.3 </p><p> [user]# make menuconfig</p><p> 詳細(xì)的libMinigui配置單就不列出來(lái)了,主要要注意的就是對(duì)觸摸屏支持上選擇SMDK2410。</p><
90、p> <23>保存退出之后,它就開(kāi)始檢測(cè)的系統(tǒng)了,注意下面的輸出:</p><p> checking for FrameBuffer console support... yes </p><p> checking for TT_FreeType_Version in -lttf... yes //True Type字體 </p><
91、;p> checking for jpeg_std_error in -ljpeg... yes // jpeg 支持 </p><p> checking for png_check_sig in -lpng... yes //png 圖形支持,重要?。?! </p><p> checking for pow in -lm... yes
92、</p><p> 如果有 no 的話,缺少哪個(gè)庫(kù)就重新安裝哪個(gè)庫(kù),一定都要yes。接著是安裝:</p><p> [user]# make</p><p> [Root]# make install</p><p> <24>最后,安裝 popt 庫(kù),這個(gè)庫(kù)在編譯 mde 程序時(shí)需要使用,不然編譯沒(méi)法通過(guò) :<
93、/p><p> [user]# cd popt-1.7 </p><p> [user]# ./configure --prefix=/usr/local/ARM/2.95.3/ARM-Linux/ --host=ARM-Linux --enable-shared --enable-static </p><p> [user]# make </p>
94、<p> [Root]# make install</p><p> 這樣Minigui的交叉編譯環(huán)境設(shè)置好了。</p><p> <25>最終的程序是在開(kāi)發(fā)板上運(yùn)行的,所以要把Minigui移植到開(kāi)發(fā)板上去:</p><p> [Root]# mkdir –p /opt/rootfs/usr/local/[lib,etc] <
95、/p><p> 把 /usr/local/ARM/2.95.3/ARM-Linux/lib 中相應(yīng)的庫(kù)拷到 /opt/rootfs/usr/ local/lib 目錄下去,下面是拷的庫(kù)文件: </p><p> libmgext-1.3.so.3 libpng.so.2 libz.so libjpeg.la libmgext-1.3.so.3
96、.0.0 libMinigui.la libpng.so.2.1.0.10rc1 libttf.so libz.so.1libjpeg.so libMinigui.so libvcongui-1.3.so.3 libz.so.1.2.3 libjpeg.so.62 libmgext.la libm.so libpopt.la libvcongui-1.3.so
97、.3.0.0 Minigui libjpeg.so.62.0.0 libmgext.so libm.so.6 libpopt.so shared libm-2.2.3.so libMinigui-1.3.so.3 libpopt.so.0 libvcongui.la libMinigui-1.3.so.3.0.0 libpng.so lib</p><p> 同時(shí)修改
98、/opt/rootfs/etc/ld.so.conf ,在里面最后新加入一行 /usr/local/lib</p><p> 然后執(zhí)行 [Root] ldconfig –r /opt/rootfs。</p><p> <26>下面把資源文件也拷過(guò)來(lái), 它被裝在了 /usr/local/lib 目錄下,一個(gè)叫 Minigui 的目錄,并修改Minigui.cfg:</
99、p><p> [Root]# cp –r –a /usr/local/lib/Minigui /opt/rootfs/usr/local/</p><p> [Root]# cp /usr/local/etc/Minigui.cfg /opt/rootfs/usr/local/etc/</p><p> gal_engine=fbcon</p>
100、<p> ial_engine=dummy</p><p> defaultmode=640x480-8bpp</p><p><b> 保存退出。</b></p><p> <27>安裝Minigui的圖形界面,一個(gè)叫mginit的程序,在mde包里:</p><p> [user]#
101、 cd mde-1.3.0/mginit</p><p> [user]# vi mginit.c</p><p> 在 297 行處,把下面代碼注釋掉保存,退出即可。因?yàn)橛|屏未知,所以把About 信息去掉。</p><p> /*************** </p><p> AboutMinigui (); </p>
102、;<p> AboutMDE (); </p><p> **************/ </p><p><b> <28>編譯安裝:</b></p><p> [user]# ./configure --prefix=/opt/rootfs/usr/local --host=ARM-Linux </p
103、><p> [user]# make</p><p> [user]# make install</p><p> [Root]# mkdir –p /opt/rootfs/usr/local/lib/shared/Miniguiapps</p><p> [Root]# cp –r –a mde-1.3.0/* /opt/root
104、fs/usr/local/lib/shared/Miniguiapps</p><p> 然后到 /opt/rootfs/usr/local/lib/shared/Miniguiapps 的各個(gè)程序目錄下去,把不用的 .c .h .o Makefile 之類的全刪除掉。</p><p> <29>修改開(kāi)機(jī)啟動(dòng)的配置文件Linuxrc加入啟動(dòng)mginit語(yǔ)句:</p&g
105、t;<p> [Root]# vi /opt/rootfs/Linuxrc </p><p> mknod /dev/ttyp5 c 3 5 </p><p> mknod /dev/ptyp5 c 2 5 </p><p> cd /usr/local/lib/shared/Miniguiapps/mginit </p>&
106、lt;p><b> ./mginit</b></p><p> <30>用mdcramfs工具制作出根文件系統(tǒng),燒寫到開(kāi)發(fā)上去,用交叉編譯的helloworld程序測(cè)試,能成功,至此說(shuō)明Minigui的交叉編譯環(huán)境就搭建成功了[11]。</p><p> 第5章 人機(jī)交互界面的實(shí)現(xiàn)</p><p> 5.1 圖形化
107、界面</p><p> 通過(guò)Minigui的強(qiáng)大功能,以window的窗口風(fēng)格建立友好人機(jī)交互見(jiàn)面,方便用戶查看和操作。Minigui提供了窗口、控件、畫圖等功能,能很好的建立起一個(gè)友好的多樣化的圖形化界面?,F(xiàn)在的大部分人都已習(xí)慣了了windows系統(tǒng)的窗口化界面,所以本系統(tǒng)也建立了一個(gè)窗口化界面,給人熟悉,方便的操作[12-13]。</p><p> 進(jìn)入系統(tǒng),出現(xiàn)的第一個(gè)界面是一個(gè)
108、歡迎界面,主要介紹說(shuō)明了主窗口的幾個(gè)菜單的功能。如圖5.1 歡迎界面:</p><p> 圖 5.1 歡迎界面</p><p> 歡迎界面的程序代碼為:</p><p> case MSG_PAINT: </p><p> hdc = BeginPaint(hWnd); </p><p>
109、int startx=10,starty=40,gap=30;</p><p> TextOut (hdc, 100, 10, "歡迎使用本系統(tǒng)");</p><p> TextOut (hdc,startx,starty, "使用說(shuō)明:");</p><p> TextOut (hdc,startx,starty+ga
110、p*1, " 選擇文件->開(kāi)始,進(jìn)入控制界面");</p><p> TextOut (hdc,startx,starty+gap*2, " 選擇文件->退出,退出本系統(tǒng) ");</p><p> TextOut (hdc,startx,starty+gap*3, " 選擇幫助->關(guān)于,顯示相關(guān)信息")
111、;</p><p> EndPaint(hWnd, hdc);</p><p><b> break;</b></p><p> 和經(jīng)典的windows窗口一樣,在標(biāo)題欄下有菜單欄,點(diǎn)擊相應(yīng)的菜單可以顯示下拉菜單,具體和圖5.1 歡迎界面中的說(shuō)明一樣。在文件下設(shè)立了兩個(gè)子菜單,一個(gè)是“開(kāi)始”,一個(gè)是“退出”,幫助下設(shè)置了一個(gè)“關(guān)于”的子菜
112、單。幫助->關(guān)于是顯示作者、指導(dǎo)老師等信息。如圖5.2 系統(tǒng)信息:</p><p> 圖 5.2 系統(tǒng)信息</p><p> 顯示系統(tǒng)信息的程序代碼為:</p><p> case ID_ABOUT:</p><p> MessageBox(hWnd,"作者: 楊敏強(qiáng) 指導(dǎo)老師:趙秋亮 時(shí)間:2011.5.2
113、0","版本",MB_OK);</p><p><b> break;</b></p><p> 在歡迎界面選擇文件->開(kāi)始,進(jìn)入壓力監(jiān)測(cè)系統(tǒng)的控制主界面,在這里設(shè)置了一些信息,方便用戶讀取,如圖5.3 壓力監(jiān)測(cè)控制面:</p><p> 圖 5.3壓力監(jiān)測(cè)控制面</p><p&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子與信息工程畢業(yè)論文基于arm的濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
- 電子與信息工程畢業(yè)論文arm系統(tǒng)下wsn節(jié)點(diǎn)的通信設(shè)計(jì)
- 電子與信息工程畢業(yè)設(shè)計(jì)基于arm的直流電機(jī)調(diào)壓調(diào)速系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 輪胎壓力監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 輪胎壓力監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 電子信息工程畢業(yè)論文基于arm linux設(shè)備的遠(yuǎn)程控制設(shè)計(jì)
- 電子與信息工程畢業(yè)論文基于gprs的遠(yuǎn)程信息采集系統(tǒng)
- 電子與信息工程畢業(yè)論文基于fpga的數(shù)據(jù)緩存與轉(zhuǎn)發(fā)系統(tǒng)設(shè)計(jì)
- 電子信息工程畢業(yè)論文基于android的輪胎壓力監(jiān)控軟件設(shè)計(jì)
- 機(jī)械電子工程畢業(yè)論文-基于plc的壓力機(jī)液壓系統(tǒng)設(shè)計(jì)
- 遠(yuǎn)程糧倉(cāng)濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)——下位機(jī)系統(tǒng)【電子信息工程畢業(yè)論文】
- 電子與信息工程畢業(yè)論文基于單片機(jī)無(wú)線編程系統(tǒng)的設(shè)計(jì)
- 基于arm的壓力監(jiān)測(cè)系統(tǒng)設(shè)計(jì)【文獻(xiàn)綜述】
- 電子與信息工程畢業(yè)論文無(wú)線“叮咚”電子門鈴的設(shè)計(jì)
- 電子與信息工程畢業(yè)論文基于電力線的電子時(shí)鐘設(shè)計(jì)
- 電子與信息工程畢業(yè)論文超聲波測(cè)距系統(tǒng)的設(shè)計(jì)
- 電子與信息工程畢業(yè)論文醫(yī)院輸液控制系統(tǒng)的設(shè)計(jì)
- 電子與信息工程畢業(yè)論文基于fpga的同步fifo設(shè)計(jì)與仿真
- 電子與信息工程畢業(yè)論文家庭智能安防系統(tǒng)設(shè)計(jì)
- 電子與信息工程畢業(yè)論文基于嵌入式遠(yuǎn)程網(wǎng)箱信息采集系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論