![交叉開(kāi)發(fā)環(huán)境ppt課件_第1頁(yè)](http://file4.renrendoc.com/view/b408d7825ae6d8591974ecf66c697c5c/b408d7825ae6d8591974ecf66c697c5c1.gif)
![交叉開(kāi)發(fā)環(huán)境ppt課件_第2頁(yè)](http://file4.renrendoc.com/view/b408d7825ae6d8591974ecf66c697c5c/b408d7825ae6d8591974ecf66c697c5c2.gif)
![交叉開(kāi)發(fā)環(huán)境ppt課件_第3頁(yè)](http://file4.renrendoc.com/view/b408d7825ae6d8591974ecf66c697c5c/b408d7825ae6d8591974ecf66c697c5c3.gif)
![交叉開(kāi)發(fā)環(huán)境ppt課件_第4頁(yè)](http://file4.renrendoc.com/view/b408d7825ae6d8591974ecf66c697c5c/b408d7825ae6d8591974ecf66c697c5c4.gif)
![交叉開(kāi)發(fā)環(huán)境ppt課件_第5頁(yè)](http://file4.renrendoc.com/view/b408d7825ae6d8591974ecf66c697c5c/b408d7825ae6d8591974ecf66c697c5c5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 交叉開(kāi)發(fā)環(huán)境 4.1交叉編譯 4.2交叉開(kāi)發(fā)環(huán)境 4.3交叉開(kāi)發(fā)工具組成 4.4宿主機(jī)與目的機(jī)之間的通訊方式 4.5交叉開(kāi)發(fā)環(huán)境建立 4.6基于UP-NETARM2410-S開(kāi)發(fā)平臺(tái)交叉開(kāi)發(fā)環(huán)境建立 4.7交叉編譯和交叉調(diào)試實(shí)例 本章小結(jié) 4.1交 叉 編 譯交叉編譯這個(gè)概念的出現(xiàn)和流行是和嵌入式系統(tǒng)的廣泛開(kāi)展同步的。常用的計(jì)算機(jī)軟件都需求經(jīng)過(guò)編譯的方式,把運(yùn)用高級(jí)計(jì)算機(jī)言語(yǔ)編寫(xiě)的代碼(比如C代碼)編譯成計(jì)算機(jī)可以識(shí)別和執(zhí)行的二進(jìn)制代碼。比如在 Windows平臺(tái)上,可運(yùn)用Visual C+開(kāi)發(fā)環(huán)境編寫(xiě)程序并編譯成可執(zhí)行程序。這種方式下,我們運(yùn)用PC平臺(tái)上的Windows工具開(kāi)發(fā)針對(duì)W
2、indows本身的可執(zhí)行程序,這種編譯過(guò)程稱為本機(jī)編譯。然而,在進(jìn)展嵌入式系統(tǒng)的開(kāi)發(fā)時(shí),運(yùn)轉(zhuǎn)程序的目的平臺(tái)通常具有有限的存儲(chǔ)空間和運(yùn)算才干等,例如常見(jiàn)的ARM平臺(tái),其普通的靜態(tài)存儲(chǔ)空間大約是1632MB,而CPU的主頻大約在100500MHz之間。這種情況下,在ARM平臺(tái)上進(jìn)展本機(jī)編譯就不太能夠了。這是由于普通的編譯工具鏈(compilation tool chain)需求很大的存儲(chǔ)空間,并需求很強(qiáng)的CPU運(yùn)算才干。為理處理這個(gè)問(wèn)題,交叉編譯工具就應(yīng)運(yùn)而生了。經(jīng)過(guò)交叉編譯工具,我們就可以在CPU才干很強(qiáng)、存儲(chǔ)空間足夠的主機(jī)平臺(tái)上(比如PC上)編譯出針對(duì)其他目的平臺(tái)的可執(zhí)行程序,再下載到目的平臺(tái)
3、上的特定位置上運(yùn)轉(zhuǎn)??梢?jiàn),以這種方式開(kāi)發(fā)嵌入式系統(tǒng)軟件的過(guò)程需求相應(yīng)的開(kāi)發(fā)環(huán)境。于是就有了交叉開(kāi)發(fā)環(huán)境的方式,即宿主機(jī)/目的機(jī)方式。4.2交叉開(kāi)發(fā)環(huán)境在開(kāi)發(fā)單片機(jī)系統(tǒng)時(shí),需求運(yùn)用一臺(tái)主機(jī)外加操作系統(tǒng),如Windows 2000,再裝上單片機(jī)廠商提供的開(kāi)發(fā)軟件,即開(kāi)發(fā)環(huán)境,在開(kāi)發(fā)環(huán)境里面編譯程序,用鼠標(biāo)單擊“build快捷鍵,即生成的可執(zhí)行程序配合仿真器還可以進(jìn)展單步伐試、察看存放器等。開(kāi)發(fā)工具普通是IDE(集成開(kāi)發(fā)環(huán)境),它集成了編譯器(用于編譯目的CPU識(shí)別的機(jī)器代碼)、編輯器、仿真調(diào)試器等諸多工具,假設(shè)用C言語(yǔ)編寫(xiě)程序,能夠還包括相應(yīng)的規(guī)范C庫(kù)。宿主機(jī)/目的機(jī)開(kāi)發(fā)方式就是在一個(gè)CPU上運(yùn)轉(zhuǎn)
4、一個(gè)程序,另一個(gè)CPU編譯和調(diào)試程序。和它對(duì)應(yīng)的是宿主機(jī)開(kāi)發(fā)方式,就是在本人的CPU上編譯和運(yùn)轉(zhuǎn)本人的程序,比如在PC機(jī)上用VC編譯程序直接運(yùn)轉(zhuǎn)。因此,宿主機(jī)/目的機(jī)開(kāi)發(fā)方式并不是一個(gè)新名詞。交叉編譯環(huán)境闡明的問(wèn)題和上面的一樣,只是針對(duì)編譯環(huán)境而言,這里的環(huán)境包括目的CPU的編譯器和庫(kù)文件等,至于為什么叫交叉編譯,同樣是由于運(yùn)轉(zhuǎn)編譯程序的CPU不是在為本人任務(wù),而是在編譯另一個(gè)CPU的程序。這樣說(shuō)來(lái),以上例子中的編譯環(huán)境同樣屬于一個(gè)交叉編譯環(huán)境(在PC機(jī)上編譯單片機(jī)程序),只不過(guò)都被IDE集成好了。綜上所述,編譯、鏈接和調(diào)試嵌入式運(yùn)用軟件的環(huán)境,它與運(yùn)轉(zhuǎn)嵌入式運(yùn)用軟件的環(huán)境有所不同,這樣的環(huán)境
5、稱為交叉開(kāi)發(fā)環(huán)境(Cross Development Environment)。需求交叉開(kāi)發(fā)環(huán)境的支持是嵌入式軟件開(kāi)發(fā)時(shí)的一個(gè)顯著特點(diǎn)。交叉開(kāi)發(fā)環(huán)境方式普通如圖4-1所示。圖4-1 交叉開(kāi)發(fā)環(huán)境方式宿主機(jī)(Host)是一臺(tái)通用計(jì)算機(jī)(如PC機(jī)或者任務(wù)站),功能較強(qiáng),各種Linux 發(fā)行版本可以直接在PC機(jī)上安裝,功能非常強(qiáng)大。它不僅可以支持各種處置器和外圍設(shè)備接口,而且提供了圖形化的用戶交互界面和豐富的開(kāi)發(fā)環(huán)境,更重要的是Linux 系統(tǒng)性能穩(wěn)定。它為開(kāi)發(fā)者提供了以下功能: 非常穩(wěn)定的多義務(wù)操作系統(tǒng); 豐富的設(shè)備驅(qū)動(dòng)程序支持和網(wǎng)絡(luò)工具; 強(qiáng)大的Shell; 本地編譯器; 編輯器; 圖形化的用戶
6、界面。4.3交叉開(kāi)發(fā)工具組成1. 交叉編譯器和交叉鏈接器在完成嵌入式軟件的編碼之后,需求進(jìn)展編譯和鏈接,以生成可執(zhí)行代碼。由于開(kāi)發(fā)過(guò)程大多是在運(yùn)用Intel公司x86系列CPU的通用計(jì)算機(jī)上進(jìn)展的,而目的環(huán)境的處置器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處置器,這就要求在建立好的交叉開(kāi)發(fā)環(huán)境中進(jìn)展交叉編譯和鏈接。交叉編譯器和交叉鏈接器是可以在宿主機(jī)上運(yùn)轉(zhuǎn),并且可以生成在目的機(jī)上直接運(yùn)轉(zhuǎn)的二進(jìn)制代碼的編譯器和鏈接器。例如在基于ARM體系構(gòu)造的交叉開(kāi)發(fā)環(huán)境中,arm-linux-gcc是交叉編譯器,arm-linux-ld是交叉鏈接器。2. 交叉調(diào)試器和系統(tǒng)仿
7、真器嵌入式軟件經(jīng)過(guò)編譯和鏈接后即進(jìn)入調(diào)試階段,嵌入式軟件開(kāi)發(fā)過(guò)程中的交叉調(diào)試與通用軟件開(kāi)發(fā)過(guò)程中的調(diào)試方式有所差別。在通用軟件開(kāi)發(fā)中,調(diào)試器與被調(diào)試的程序往往運(yùn)轉(zhuǎn)在同一臺(tái)計(jì)算機(jī)上,調(diào)試器是一個(gè)單獨(dú)運(yùn)轉(zhuǎn)著的進(jìn)程,它經(jīng)過(guò)操作系統(tǒng)提供的調(diào)試接口來(lái)控制被調(diào)試的進(jìn)程。在嵌入式軟件開(kāi)發(fā)中,調(diào)試時(shí)采用的是在宿主機(jī)和目的機(jī)之間進(jìn)展的交叉調(diào)試,調(diào)試器依然運(yùn)轉(zhuǎn)在宿主機(jī)的通用操作系統(tǒng)之上,但被調(diào)試的進(jìn)程卻是運(yùn)轉(zhuǎn)在基于特定硬件平臺(tái)的嵌入式操作系統(tǒng)中,調(diào)試器和被調(diào)試進(jìn)程經(jīng)過(guò)串口或者網(wǎng)絡(luò)進(jìn)展通訊,調(diào)試器可以控制、訪問(wèn)被調(diào)試進(jìn)程,讀取被調(diào)試進(jìn)程的當(dāng)前形狀,并可以改動(dòng)被調(diào)試進(jìn)程的運(yùn)轉(zhuǎn)形狀。 交叉調(diào)試(Cross Debug)
8、又經(jīng)常被稱為遠(yuǎn)程調(diào)試(Remote Debug),是一種允許調(diào)試器以某種方式控制目的機(jī)上被調(diào)試進(jìn)程的運(yùn)轉(zhuǎn)方式,并具有查看和修正目的機(jī)上內(nèi)存單元、存放器以及被調(diào)試進(jìn)程中變量值等各種調(diào)試功能的調(diào)試方式。普通而言,遠(yuǎn)程調(diào)試過(guò)程的構(gòu)造如圖4-2所示。圖4-2 遠(yuǎn)程調(diào)試構(gòu)造圖由上可知交叉調(diào)試典型特點(diǎn)如下:(1) 調(diào)試器和被調(diào)試進(jìn)程運(yùn)轉(zhuǎn)在不同的機(jī)器上,調(diào)試器運(yùn)轉(zhuǎn)在PC或者任務(wù)站上(宿主機(jī)),而被調(diào)試的進(jìn)程那么運(yùn)轉(zhuǎn)在各種專業(yè)調(diào)試板上(目的機(jī))。(2) 調(diào)試器經(jīng)過(guò)某種通訊方式與被調(diào)試進(jìn)程建立聯(lián)絡(luò),如串口、并口、網(wǎng)絡(luò)、DBM、JTAG或者公用的通訊方式。 (3) 在目的機(jī)上普通會(huì)具備某種方式的調(diào)試代理,它擔(dān)任與
9、調(diào)試器共同配合完成對(duì)目的機(jī)上運(yùn)轉(zhuǎn)著的進(jìn)程的調(diào)試。這種調(diào)試代理能夠是某些支持調(diào)試功能的硬件設(shè)備(如DBI 2000),也能夠是某些專門(mén)的調(diào)試軟件(如gdbserver)。(4) 目的機(jī)能夠是某種方式的系統(tǒng)仿真器,經(jīng)過(guò)在宿主機(jī)上運(yùn)轉(zhuǎn)目的機(jī)的仿真軟件,整個(gè)調(diào)試過(guò)程可以在一臺(tái)計(jì)算機(jī)上運(yùn)轉(zhuǎn)。此時(shí)物理上雖然只需一臺(tái)計(jì)算機(jī),但邏輯上依然存在著宿主機(jī)和目的機(jī)的區(qū)別。 4.4宿主機(jī)與目的機(jī)之間的通訊方式4.4.1互聯(lián)通訊方式1. 串口經(jīng)過(guò)串口可以作為控制臺(tái),向目的機(jī)發(fā)送命令,顯示信息;也可以經(jīng)過(guò)串口傳送文件;還可以經(jīng)過(guò)串口調(diào)試內(nèi)核及程序。串口的設(shè)備驅(qū)動(dòng)實(shí)現(xiàn)也比較簡(jiǎn)單。2. 以太網(wǎng)口以太網(wǎng)以其高度靈敏,相對(duì)簡(jiǎn)單,
10、易于實(shí)現(xiàn)的特點(diǎn),成為當(dāng)今最重要的一種局域網(wǎng)建網(wǎng)技術(shù),以太網(wǎng)IEEE 802.3通常運(yùn)用專門(mén)的網(wǎng)絡(luò)接口卡或經(jīng)過(guò)系統(tǒng)主電路板上的電路實(shí)現(xiàn)。以太網(wǎng)運(yùn)用收發(fā)器與網(wǎng)絡(luò)媒體進(jìn)展銜接。收發(fā)器可以完成多種物理層功能,其中包括對(duì)網(wǎng)絡(luò)碰撞進(jìn)展檢測(cè)。收發(fā)器可以作為獨(dú)立的設(shè)備經(jīng)過(guò)電纜與終端站銜接,也可以直接被集成到終端站的網(wǎng)卡當(dāng)中。以太網(wǎng)可采用廣播機(jī)制,一切與網(wǎng)絡(luò)銜接的任務(wù)站都可以看到網(wǎng)絡(luò)上傳送的數(shù)據(jù)。經(jīng)過(guò)查看包含在幀中的目的地址,確定能否進(jìn)展接納或放棄。假設(shè)證明數(shù)據(jù)確實(shí)是發(fā)給本人的,任務(wù)站將會(huì)接納數(shù)據(jù)并傳送給高層協(xié)議進(jìn)展處置。網(wǎng)絡(luò)接口普通采用RJ-45 規(guī)范插頭,PC機(jī)上普通都配置10M/100M以太網(wǎng)卡,實(shí)現(xiàn)局域
11、網(wǎng)銜接。經(jīng)過(guò)以太網(wǎng)銜接和網(wǎng)絡(luò)協(xié)議,可以實(shí)現(xiàn)快速的數(shù)據(jù)通訊和文件傳輸。另外,目的機(jī)也可以利用遠(yuǎn)程組件來(lái)促進(jìn)開(kāi)發(fā)。比如內(nèi)核可以經(jīng)過(guò)TFTP協(xié)議下載到目的機(jī),根文件系統(tǒng)(root fs)也可以經(jīng)過(guò)NFS加載來(lái)替代存儲(chǔ)在目的機(jī)上。利用NFS加載根文件系統(tǒng)實(shí)踐上是一件非常好的事情。由于它防止了頻繁的復(fù)制程序修正。3. JTAG口JTAG 技術(shù)是一種嵌入式調(diào)試技術(shù),它在芯片內(nèi)部封裝了專門(mén)的測(cè)試電路測(cè)試接口(TAP,Test Access Port),經(jīng)過(guò)JTAG 測(cè)試工具對(duì)芯片的核進(jìn)展測(cè)試。它是結(jié)合測(cè)試行動(dòng)小組(JTAG,Joint Test Action Group)定義的一種國(guó)際規(guī)范測(cè)試協(xié)議,主要用于
12、芯片內(nèi)部測(cè)試及對(duì)系統(tǒng)進(jìn)展仿真、調(diào)試。目前大多數(shù)比較復(fù)雜的器件都支持JTAG協(xié)議,如ARM、DSP、FPGA器件等。規(guī)范的JTAG接口是4線:TMS、TCK、TDI和TDO,分別為測(cè)試方式選擇、測(cè)試時(shí)鐘、測(cè)試數(shù)據(jù)輸入和測(cè)試數(shù)據(jù)輸出。由于JTAG 接口的時(shí)鐘普通在116 MHz之間,所以傳輸速率可以很快。但是實(shí)踐的數(shù)據(jù)傳輸速度要取決于仿真器與主機(jī)端的通訊速度和傳輸軟件。4.4.2可拔插通訊方式在這種方式下,在宿主機(jī)和目的機(jī)之間沒(méi)有實(shí)踐的物理銜接,而是主機(jī)寫(xiě)存儲(chǔ)設(shè)備,如軟盤(pán)、CDROM、USB盤(pán)等挪動(dòng)存儲(chǔ)介質(zhì),然后再傳給目的機(jī),最后目的機(jī)啟動(dòng)它。在這種方式下,宿主機(jī)包括了交叉編譯環(huán)境,而目的機(jī)只包括
13、了一個(gè)小型的啟動(dòng)文件。其他的組件存儲(chǔ)在一個(gè)可挪動(dòng)的,可以被宿主機(jī)編程的,同時(shí)又可以被目的機(jī)啟動(dòng)的存儲(chǔ)介質(zhì)上。比如CompactFlash IDE設(shè)備,或者其他類型的驅(qū)動(dòng)。有能夠目的機(jī)不包括任何一種可永久存儲(chǔ)數(shù)據(jù)的設(shè)備。舉例來(lái)說(shuō),替代了固定存儲(chǔ)設(shè)備到目的機(jī)上,目的機(jī)只包括了一個(gè)接口,閃存芯片可以很隨便的插入和移開(kāi)。這個(gè)閃存芯片同時(shí)需滿足可以很隨便的被一個(gè)宿主機(jī)上閃存燒寫(xiě)器編程,并且隨便的在目的機(jī)的接口上進(jìn)展普通的實(shí)驗(yàn)。這種方式在嵌入式系統(tǒng)開(kāi)發(fā)的最初階段非常流行。當(dāng)然,當(dāng)最初階段終了以后,也能夠發(fā)現(xiàn)互連模型運(yùn)用更好。因此,當(dāng)修正了內(nèi)核或者根文件系統(tǒng)以后,可以防止從宿主機(jī)和目的機(jī)之間傳送存儲(chǔ)設(shè)備。4
14、.5交叉開(kāi)發(fā)環(huán)境建立4.5.1創(chuàng)建交叉開(kāi)發(fā)工具鏈交叉開(kāi)發(fā)工具鏈包括交叉編譯器、交叉銜接器和交叉調(diào)試器,這些交叉開(kāi)發(fā)工具鏈?zhǔn)乔度胧较到y(tǒng)開(kāi)發(fā)的必備工具,它是要安裝在宿主機(jī)(PC)上的。對(duì)于它的創(chuàng)建有三種途徑:第一種是下載他人已做好的工具鏈,當(dāng)然這是最省事的方法;第二種是到官方網(wǎng)站上下載crosstool;第三種是本人一步一步制造本人的交叉開(kāi)發(fā)工具鏈,這是最有趣的,也是最能表達(dá)本人才干的方式。本章所運(yùn)用的交叉開(kāi)發(fā)工具鏈?zhǔn)乔懊鎯煞N,其中,第一種交叉開(kāi)發(fā)工具鏈?zhǔn)荱P-NETARM2410-S開(kāi)發(fā)平臺(tái)的北京博創(chuàng)公司所提供的。4.5.2宿主機(jī)開(kāi)發(fā)環(huán)境配置1. 宿主機(jī)安裝發(fā)行版Linux操作系統(tǒng)宿主機(jī)安裝發(fā)行
15、版Linux操作系統(tǒng)有以下三個(gè)方案:(1) 基于PC機(jī)Windows操作系統(tǒng)下的CYGWIN。(2) 在Windows下安裝虛擬機(jī)后,再在虛擬機(jī)中安裝Linux操作系統(tǒng)。(3) 直接安裝Linux操作系統(tǒng)。安裝方案的選擇不同,主要根據(jù)PC機(jī)的系統(tǒng)配置,對(duì)于當(dāng)前的PC機(jī)配置,建議選擇在虛擬機(jī)下安裝Linux操作系統(tǒng),這樣便于系統(tǒng)義務(wù)的切換。對(duì)于它的安裝方法可參見(jiàn)本教材2.1節(jié)。 假設(shè)選擇RedHat 9.0,它安裝后占用空間約為2.45GB之間,還要安裝ARMLinux開(kāi)發(fā)軟件,對(duì)開(kāi)發(fā)計(jì)算機(jī)的硬盤(pán)空間要求較大。硬件要求如下:CPU:高于奔騰500 MB,引薦高于賽揚(yáng)1.7 GB。 內(nèi)存:大于12
16、8 MB,引薦256 MB。硬盤(pán):大于10 GB,引薦高于40 GB。2. 開(kāi)發(fā)工具鏈的安裝開(kāi)發(fā)工具鏈的第一種來(lái)源,安裝較簡(jiǎn)單,普通運(yùn)轉(zhuǎn)安裝光盤(pán)的可執(zhí)行文件./install即可,這相當(dāng)于在Windows運(yùn)轉(zhuǎn)可執(zhí)行文件setup。開(kāi)發(fā)工具鏈的第二種來(lái)源,下載的工具鏈有不同的包裝格式,RPM的格式就很常用,也有把工具鏈直接緊縮成tar包的。對(duì)于RPM的格式,可以經(jīng)過(guò)rpm命令把軟件包安裝到宿主機(jī)上??墒沁@些工具安裝到哪里去了呢?RPM包安裝的時(shí)候都會(huì)有缺省的安裝目錄,可以經(jīng)過(guò)rpm命令來(lái)查詢。這個(gè)命令是Redhat Linux上的常用命令,可以參考第2章的內(nèi)容。對(duì)于tar包,可以運(yùn)用tar命令解
17、壓。問(wèn)題是解壓出來(lái)的工具應(yīng)該放在什么途徑下?由于GCC編譯器的運(yùn)轉(zhuǎn)是依賴于其他工具和庫(kù),通常不能把這些工具放在恣意目錄下。普統(tǒng)統(tǒng)過(guò)相關(guān)的README 或者闡明文檔可以得到詳細(xì)的安裝途徑。另外,經(jīng)過(guò)gcc命令也可以得到安裝的途徑。以ARM Linux站點(diǎn)提供cross-3.3.2.tar.bz2包為例闡明。解壓cross-3.3.2.tar.bz2后,查看GCC版本號(hào),可以得到一些信息。3. 網(wǎng)絡(luò)配置宿主機(jī)Linux環(huán)境配置,首先要確認(rèn)宿主機(jī)的網(wǎng)絡(luò)接口驅(qū)動(dòng)勝利,并且配置網(wǎng)絡(luò)接口的IP地址??梢越?jīng)過(guò)ifconfig命令查看其網(wǎng)絡(luò)接口,還可以經(jīng)過(guò)ifconfig配置網(wǎng)口的IP地址。查看本機(jī)IP地址:
18、# ifconfig -a修正本機(jī)IP地址:$ ifconfig eth0 點(diǎn)擊開(kāi)場(chǎng)菜單,選擇網(wǎng)絡(luò),即可以經(jīng)過(guò)Redhat Linux 9的圖形配置界面來(lái)配置,圖4-3所示就是網(wǎng)絡(luò)設(shè)備配置的圖形窗口。圖4-3 網(wǎng)絡(luò)設(shè)備配置的圖形窗口4. 串口配置串行通訊接口很適宜作為控制臺(tái),在各種操作系統(tǒng)上普通都有現(xiàn)成的控制臺(tái)程序可以運(yùn)用。Windows操作系統(tǒng)有超級(jí)終端(Hyper terminal)工具;Linux/UNIX操作系統(tǒng)有minicom等工具。無(wú)論什么操作系統(tǒng)還是通訊工具,都可以作為串口控制臺(tái)。假設(shè)在Windows平臺(tái)上運(yùn)轉(zhuǎn)Linux虛擬機(jī),這個(gè)串口通訊軟件可以任選一種。超級(jí)終端(Window
19、s開(kāi)場(chǎng)菜單的附件中)是Windows系統(tǒng)的串口通訊工具,完全圖形化的界面,操作非常簡(jiǎn)單。運(yùn)用超級(jí)終端也要配置相應(yīng)的銜接。建立一個(gè)超級(jí)終端的銜接,需求為其配置如圖4-4所示的參數(shù)。主要是串口號(hào)、通訊速率和能否流控。每建立一個(gè)配置可以保管下來(lái)。圖4-4 Windows系統(tǒng)下的超級(jí)終端Linux系統(tǒng)通常運(yùn)用minicom串口通訊工具。由于minicom不是圖形窗口的工具,操作起來(lái)要費(fèi)事一些。運(yùn)用minicom串口終端之前,需求先配置參數(shù)。在Linux操作系統(tǒng)Xwindow界面下建立終端(在桌面上點(diǎn)擊右鍵選擇新建終端),在終端的命令行提示符后輸入“minicom,就會(huì)看到minicom的啟動(dòng)畫(huà)面。mi
20、nicom啟動(dòng)后,先按Ctrl+A鍵,再按Z鍵(留意不是延續(xù)按,Ctrl+A松開(kāi)后才按Z),進(jìn)入minicom配置主界面,如圖4-5所示。圖4-5 minicom配置主界面5. NFS效力網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS)是一種允許透明文件共享的技術(shù),這種共享出如今經(jīng)過(guò)局域網(wǎng)(也就是LAN)銜接的Unix和Linux系統(tǒng)之間。NFS已出現(xiàn)了很長(zhǎng)時(shí)間,它在 Linux和Unix世界里廣為人知而且被廣泛運(yùn)用。特別地,NFS常用于在網(wǎng)絡(luò)上多臺(tái)機(jī)器之間共享主目錄,當(dāng)用戶登錄至LAN上的一臺(tái)機(jī)器(任何一臺(tái)機(jī)器)時(shí),這為用戶提供了一致的環(huán)境。由于NFS,掛裝遠(yuǎn)程文件系統(tǒng)并將其完
21、選集成到系統(tǒng)的本地文件系統(tǒng)成為能夠。NFS的透明性和成熟使它成為在Linux下進(jìn)展網(wǎng)絡(luò)文件共享的有用、流行的選擇。也是嵌入式系統(tǒng)軟件調(diào)試的一種重要、方便的方法。NFS效力的主要義務(wù)是把本地的一個(gè)目錄經(jīng)過(guò)網(wǎng)絡(luò)輸出,其他計(jì)算機(jī)可以遠(yuǎn)程地掛接這個(gè)目錄并且訪問(wèn)這個(gè)文件。NFS效力有本人的協(xié)議和端口號(hào),但是在文件傳輸或者其他相關(guān)信息傳送的時(shí)候,NFS那么運(yùn)用遠(yuǎn)程過(guò)程調(diào)用(RPC,Remote Procedure Call)協(xié)議。RPC擔(dān)任管理端口號(hào)的對(duì)應(yīng)與效力相關(guān)的任務(wù)。NFS本身的效力并沒(méi)有提供文件傳送的協(xié)議,它經(jīng)過(guò)RPC的功能擔(dān)任。因此,還需求系統(tǒng)啟動(dòng)portmap效力。NFS效力的設(shè)置可以經(jīng)過(guò)Li
22、nux圖形界面來(lái)操作,也可以在終端下用配置文件來(lái)操作。(1) 圖形界面操作。點(diǎn)擊主菜單運(yùn)轉(zhuǎn)系統(tǒng)設(shè)置,效力器設(shè)置選擇NFS效力器,點(diǎn)擊添加,出現(xiàn)如圖4-6所示界面,在目錄(Drictory)中填入需求共享的途徑,在主機(jī)(Hosts)中填入允許進(jìn)展銜接的主機(jī)IP地址,并選擇允許客戶對(duì)共享目錄的操作為只讀(Read-only)或讀/寫(xiě)(Read/write)。圖4-6 NFS效力圖形設(shè)置界面(2) 配置文件操作。NFS效力的配置文件是/etc/exports。配置文件的語(yǔ)法格式如下:共享目錄 主機(jī)稱號(hào)1或IP1(參數(shù)1,參數(shù)2) 主機(jī)稱號(hào)2或IP2(參數(shù)3,參數(shù)4)“共享目錄是主機(jī)上要向外輸出的一個(gè)
23、目錄;“主機(jī)稱號(hào)或者IP那么是允許按照指定權(quán)限訪問(wèn)這個(gè)共享目錄的遠(yuǎn)程主機(jī);“參數(shù)那么定義了各種訪問(wèn)權(quán)限。6. DHCP效力目的板的引導(dǎo)程序(Bootloader)或者內(nèi)核都需求分配IP地址。這可以經(jīng)過(guò)動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP,Dynamic Host Configuration Protocol)或者BOOTP協(xié)議實(shí)現(xiàn)。BOOTP協(xié)議可以給計(jì)算機(jī)分配IP地址并且經(jīng)過(guò)網(wǎng)絡(luò)獲取映像文件的途徑,DHCP那么是向后兼容BOOTP的協(xié)議拓展。Linux操作系統(tǒng)的主機(jī)普通包含dhcpd的軟件包,可以配置DHCP效力。配置效力的操作需求root用戶的權(quán)限。首先要確認(rèn)主機(jī)上曾經(jīng)安裝一切必需的軟件包,創(chuàng)建相關(guān)
24、文件。確認(rèn)/var/lib/dhcp/dhcpd. leases曾經(jīng)存在。假設(shè)這個(gè)文件不存在,可以手工創(chuàng)建目錄和文件。網(wǎng)絡(luò)效力的啟動(dòng)和停頓也可以經(jīng)過(guò)圖形化窗口來(lái)配置,在Redhat Linux 9.0系統(tǒng)上可以點(diǎn)擊主菜單運(yùn)轉(zhuǎn)系統(tǒng)設(shè)置。圖4-7所示為DHCP效力配置窗口。圖4-7 DHCP效力配置窗口7. TFTP效力TFTP協(xié)議是簡(jiǎn)單的文件傳輸協(xié)議,適宜目的機(jī)引導(dǎo)程序運(yùn)用。但是文件傳輸是基于UDP的,文件傳輸(特別是大文件)是不可靠的。TFTP效力在Linux系統(tǒng)上有客戶端和效力器兩個(gè)軟件包。配置TFTP效力,必需先安裝好。TFTP效力也可以經(jīng)過(guò)圖形化的配置窗口來(lái)啟動(dòng)。當(dāng)然,操作過(guò)程需求roo
25、t權(quán)限。缺省的情況下,把/tftpboot目錄作為輸出文件的根目錄。4.6基于UP-NETARM2410-S開(kāi)發(fā)平臺(tái)交叉開(kāi)發(fā)環(huán)境建立4.6.1安裝PC機(jī)RedHat Linux虛擬機(jī)4.6.2開(kāi)發(fā)工具軟件的安裝本節(jié)中所講的開(kāi)發(fā)工具的安裝與4.5.1節(jié)中所講的創(chuàng)建交叉開(kāi)發(fā)工具鏈的第一種方法類似,即博創(chuàng)公司目的機(jī)的開(kāi)發(fā)工具光盤(pán),插入CDROM,然后執(zhí)行以下命令:# cd /mnt/cdrom/2410-s 06.03.03/linux-V5.1#./install.sh會(huì)出現(xiàn)如圖4-8所示的安裝界面(假設(shè)想了解在安裝過(guò)程會(huì)執(zhí)行哪些內(nèi)容,可用vi查看這個(gè)腳本文件install.sh)。圖4-8 開(kāi)發(fā)
26、工具安裝界面4.6.3宿主機(jī)網(wǎng)絡(luò)配置NFS的本質(zhì)就是將宿主機(jī)和目的機(jī)組建成一個(gè)小的局域網(wǎng),因此對(duì)宿主機(jī)的網(wǎng)絡(luò)配置包括:IP地址的設(shè)置、平安級(jí)別的設(shè)置和NFS效力的配置。(1) IP地址的設(shè)置。對(duì)于IP地址設(shè)置可參看4.5.2節(jié)中的網(wǎng)絡(luò)配置方法,目的機(jī)的IP地址的初始設(shè)置為:15,留意對(duì)宿主機(jī)的IP設(shè)置中要把它設(shè)置成和目的機(jī)在同一個(gè)子網(wǎng)中。(2) 平安級(jí)別的設(shè)置。要使宿主機(jī)和目的板之間相互順利傳送文件,宿主機(jī)的平安級(jí)別應(yīng)該設(shè)置成無(wú)防火墻形狀。對(duì)于REDHAT9.0,它默許的是翻開(kāi)了防火墻,因此對(duì)于外來(lái)的IP訪問(wèn)全部回絕,這樣其他網(wǎng)絡(luò)設(shè)備根本無(wú)法訪問(wèn)它,即無(wú)法用NFS掛載它,許多網(wǎng)絡(luò)功能都將無(wú)法運(yùn)
27、用。因此網(wǎng)絡(luò)安裝終了后,應(yīng)立刻封鎖防火墻。操作如下:點(diǎn)擊開(kāi)場(chǎng)菜單,選擇平安級(jí)別設(shè)置,選中無(wú)防火墻。如圖4-9所示。(3) NFS效力的配置。NFS效力的配置方法可參看4.5.2節(jié)中的NFS功能的講述。在系統(tǒng)設(shè)置菜單中選擇效力器設(shè)置菜單,再選中效力菜單,將iptables效力的勾去掉,并確保選中nfs選項(xiàng)。圖4-9 宿主機(jī)平安級(jí)別設(shè)置4.6.4宿主機(jī)串口配置目的機(jī)是資源受限的系統(tǒng),沒(méi)有像宿主機(jī)那樣的顯示器,假設(shè)想看程序在目的板的運(yùn)轉(zhuǎn)結(jié)果等,可利用串口通訊將目的機(jī)的一些信息傳送到宿主機(jī)的minicom控制臺(tái)中,minicom控制臺(tái)即相當(dāng)于目的機(jī)的顯示器。其宿主機(jī)的串口配置方法可參看4.5.2節(jié)中串
28、口配置內(nèi)容。進(jìn)入串口設(shè)置界面后,有幾個(gè)重要選項(xiàng)改為如下值:Serial Device:/dev/ttyS0(端口號(hào)運(yùn)用串口1)EBPS/par/bits:/115200 8N1(波特率:115200,8位數(shù)據(jù)位,無(wú)校驗(yàn),1位停頓位)F,E硬件流、軟件流都改為NO4.6.5基于UP-NETARM2410-S開(kāi)發(fā)平臺(tái)交叉開(kāi)發(fā)環(huán)境建立的總結(jié)交叉開(kāi)發(fā)環(huán)境的建立,就是充分利用宿主機(jī)(PC)強(qiáng)大的功能,建立可以編寫(xiě)、編譯、下載和調(diào)試運(yùn)轉(zhuǎn)在目的機(jī)(UP-NETARM2410-S)上的二進(jìn)制程序,包括:RedHat Linux虛擬機(jī)的安裝、交叉開(kāi)發(fā)工具鏈的制造和安裝、串口的配置、網(wǎng)絡(luò)的配置及JTAG口的銜接等
29、,它們各自的作用總結(jié)如下:(1) RedHat Linux虛擬機(jī)的安裝:利用它的強(qiáng)大的功能,開(kāi)發(fā)一個(gè)可以運(yùn)轉(zhuǎn)在目的機(jī)的Linux操作系統(tǒng)。(2) 交叉開(kāi)發(fā)工具鏈的制造和安裝:編譯可以運(yùn)轉(zhuǎn)在目的機(jī)上的二進(jìn)制代碼。(3) 串口的配置:相互通訊,可將minicom或超級(jí)終端作為目的機(jī)顯示器。(4) 網(wǎng)絡(luò)的配置:宿主機(jī)和目的機(jī)之間局域網(wǎng)的建立,利用NFS進(jìn)展文件系統(tǒng)的掛載,方便程序的調(diào)試。(5) JTAG口:可在目的機(jī)沒(méi)有任何通訊之前將引導(dǎo)程序燒寫(xiě)到目的機(jī),在引導(dǎo)程序中可建立如串口等接口的初始化等。宿主機(jī)和目的機(jī)之間的配置及通訊線路如圖4-10所示。圖4-10 宿主機(jī)和目的機(jī)之間的配置及通訊線路圖4.7交叉編譯和交叉調(diào)試實(shí)例(1) 建立任務(wù)目錄。在上面的交叉開(kāi)發(fā)環(huán)境建立的共享目錄(arm2410s)中建立任務(wù)目錄: # mkdir pthread # cd pthread(2) 編寫(xiě)源代碼。在此任務(wù)目錄下用vi編寫(xiě)程序源代碼:用vi編寫(xiě)pthread.c# vi pthread.c源代碼如下:#include stdio.h#include math.h(3) 編寫(xiě)makefile。 CC= armv4l-unknown-linux-gcc EXEC = pthread OBJS = pthread.o CFLAGS += -g -o EXTRA_LIBS
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- PDIC-NN-生命科學(xué)試劑-MCE-4874
- ent-Corey-PG-lactone-diol-生命科學(xué)試劑-MCE-9112
- 10-Chloroestra-1-4-diene-3-17-dione-10-CIEsra-生命科學(xué)試劑-MCE-1585
- 2025年度級(jí)建造師資格證書(shū)注冊(cè)與建筑產(chǎn)業(yè)互聯(lián)網(wǎng)服務(wù)合同
- 二零二五年度花店知識(shí)產(chǎn)權(quán)保護(hù)合作協(xié)議
- 二零二五年度智能化小區(qū)物業(yè)保潔人員勞動(dòng)合同
- 科技教育與學(xué)生實(shí)踐基地的未來(lái)發(fā)展
- 提高電動(dòng)工具使用效率保障員工操作安全
- 提高商業(yè)學(xué)校實(shí)驗(yàn)室安全管理的措施與方法
- 三人合作經(jīng)營(yíng)企業(yè)合同協(xié)議書(shū)2025
- 房地產(chǎn)工程管理 -中建八局機(jī)電工程質(zhì)量通病治理辦法
- GB/T 6403.4-2008零件倒圓與倒角
- GB/T 2518-2019連續(xù)熱鍍鋅和鋅合金鍍層鋼板及鋼帶
- 企業(yè)合規(guī)管理-課件
- 火電廠安全工作規(guī)程
- GB∕T 33047.1-2016 塑料 聚合物熱重法(TG) 第1部分:通則
- 電力業(yè)務(wù)許可證豁免證明
- 特發(fā)性肺纖維化IPF
- FIDIC國(guó)際合同條款中英文對(duì)照.doc
- 建筑工程資料歸檔立卷分類表(全)
- 個(gè)人勞動(dòng)仲裁申請(qǐng)書(shū)
評(píng)論
0/150
提交評(píng)論