




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第4章 交叉開發(fā)環(huán)境 4.1交叉編譯 4.2交叉開發(fā)環(huán)境 4.3交叉開發(fā)工具組成 4.4宿主機(jī)與目的機(jī)之間的通訊方式 4.5交叉開發(fā)環(huán)境建立 4.6基于UP-NETARM2410-S開發(fā)平臺交叉開發(fā)環(huán)境建立 4.7交叉編譯和交叉調(diào)試實(shí)例 本章小結(jié) 4.1交 叉 編 譯交叉編譯這個概念的出現(xiàn)和流行是和嵌入式系統(tǒng)的廣泛開展同步的。常用的計(jì)算機(jī)軟件都需求經(jīng)過編譯的方式,把運(yùn)用高級計(jì)算機(jī)言語編寫的代碼(比如C代碼)編譯成計(jì)算機(jī)可以識別和執(zhí)行的二進(jìn)制代碼。比如在 Windows平臺上,可運(yùn)用Visual C+開發(fā)環(huán)境編寫程序并編譯成可執(zhí)行程序。這種方式下,我們運(yùn)用PC平臺上的Windows工具開發(fā)針對W
2、indows本身的可執(zhí)行程序,這種編譯過程稱為本機(jī)編譯。然而,在進(jìn)展嵌入式系統(tǒng)的開發(fā)時,運(yùn)轉(zhuǎn)程序的目的平臺通常具有有限的存儲空間和運(yùn)算才干等,例如常見的ARM平臺,其普通的靜態(tài)存儲空間大約是1632MB,而CPU的主頻大約在100500MHz之間。這種情況下,在ARM平臺上進(jìn)展本機(jī)編譯就不太能夠了。這是由于普通的編譯工具鏈(compilation tool chain)需求很大的存儲空間,并需求很強(qiáng)的CPU運(yùn)算才干。為理處理這個問題,交叉編譯工具就應(yīng)運(yùn)而生了。經(jīng)過交叉編譯工具,我們就可以在CPU才干很強(qiáng)、存儲空間足夠的主機(jī)平臺上(比如PC上)編譯出針對其他目的平臺的可執(zhí)行程序,再下載到目的平臺
3、上的特定位置上運(yùn)轉(zhuǎn)。可見,以這種方式開發(fā)嵌入式系統(tǒng)軟件的過程需求相應(yīng)的開發(fā)環(huán)境。于是就有了交叉開發(fā)環(huán)境的方式,即宿主機(jī)/目的機(jī)方式。4.2交叉開發(fā)環(huán)境在開發(fā)單片機(jī)系統(tǒng)時,需求運(yùn)用一臺主機(jī)外加操作系統(tǒng),如Windows 2000,再裝上單片機(jī)廠商提供的開發(fā)軟件,即開發(fā)環(huán)境,在開發(fā)環(huán)境里面編譯程序,用鼠標(biāo)單擊“build快捷鍵,即生成的可執(zhí)行程序配合仿真器還可以進(jìn)展單步伐試、察看存放器等。開發(fā)工具普通是IDE(集成開發(fā)環(huán)境),它集成了編譯器(用于編譯目的CPU識別的機(jī)器代碼)、編輯器、仿真調(diào)試器等諸多工具,假設(shè)用C言語編寫程序,能夠還包括相應(yīng)的規(guī)范C庫。宿主機(jī)/目的機(jī)開發(fā)方式就是在一個CPU上運(yùn)轉(zhuǎn)
4、一個程序,另一個CPU編譯和調(diào)試程序。和它對應(yīng)的是宿主機(jī)開發(fā)方式,就是在本人的CPU上編譯和運(yùn)轉(zhuǎn)本人的程序,比如在PC機(jī)上用VC編譯程序直接運(yùn)轉(zhuǎn)。因此,宿主機(jī)/目的機(jī)開發(fā)方式并不是一個新名詞。交叉編譯環(huán)境闡明的問題和上面的一樣,只是針對編譯環(huán)境而言,這里的環(huán)境包括目的CPU的編譯器和庫文件等,至于為什么叫交叉編譯,同樣是由于運(yùn)轉(zhuǎn)編譯程序的CPU不是在為本人任務(wù),而是在編譯另一個CPU的程序。這樣說來,以上例子中的編譯環(huán)境同樣屬于一個交叉編譯環(huán)境(在PC機(jī)上編譯單片機(jī)程序),只不過都被IDE集成好了。綜上所述,編譯、鏈接和調(diào)試嵌入式運(yùn)用軟件的環(huán)境,它與運(yùn)轉(zhuǎn)嵌入式運(yùn)用軟件的環(huán)境有所不同,這樣的環(huán)境
5、稱為交叉開發(fā)環(huán)境(Cross Development Environment)。需求交叉開發(fā)環(huán)境的支持是嵌入式軟件開發(fā)時的一個顯著特點(diǎn)。交叉開發(fā)環(huán)境方式普通如圖4-1所示。圖4-1 交叉開發(fā)環(huán)境方式宿主機(jī)(Host)是一臺通用計(jì)算機(jī)(如PC機(jī)或者任務(wù)站),功能較強(qiáng),各種Linux 發(fā)行版本可以直接在PC機(jī)上安裝,功能非常強(qiáng)大。它不僅可以支持各種處置器和外圍設(shè)備接口,而且提供了圖形化的用戶交互界面和豐富的開發(fā)環(huán)境,更重要的是Linux 系統(tǒng)性能穩(wěn)定。它為開發(fā)者提供了以下功能: 非常穩(wěn)定的多義務(wù)操作系統(tǒng); 豐富的設(shè)備驅(qū)動程序支持和網(wǎng)絡(luò)工具; 強(qiáng)大的Shell; 本地編譯器; 編輯器; 圖形化的用戶
6、界面。4.3交叉開發(fā)工具組成1. 交叉編譯器和交叉鏈接器在完成嵌入式軟件的編碼之后,需求進(jìn)展編譯和鏈接,以生成可執(zhí)行代碼。由于開發(fā)過程大多是在運(yùn)用Intel公司x86系列CPU的通用計(jì)算機(jī)上進(jìn)展的,而目的環(huán)境的處置器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處置器,這就要求在建立好的交叉開發(fā)環(huán)境中進(jìn)展交叉編譯和鏈接。交叉編譯器和交叉鏈接器是可以在宿主機(jī)上運(yùn)轉(zhuǎn),并且可以生成在目的機(jī)上直接運(yùn)轉(zhuǎn)的二進(jìn)制代碼的編譯器和鏈接器。例如在基于ARM體系構(gòu)造的交叉開發(fā)環(huán)境中,arm-linux-gcc是交叉編譯器,arm-linux-ld是交叉鏈接器。2. 交叉調(diào)試器和系統(tǒng)仿
7、真器嵌入式軟件經(jīng)過編譯和鏈接后即進(jìn)入調(diào)試階段,嵌入式軟件開發(fā)過程中的交叉調(diào)試與通用軟件開發(fā)過程中的調(diào)試方式有所差別。在通用軟件開發(fā)中,調(diào)試器與被調(diào)試的程序往往運(yùn)轉(zhuǎn)在同一臺計(jì)算機(jī)上,調(diào)試器是一個單獨(dú)運(yùn)轉(zhuǎn)著的進(jìn)程,它經(jīng)過操作系統(tǒng)提供的調(diào)試接口來控制被調(diào)試的進(jìn)程。在嵌入式軟件開發(fā)中,調(diào)試時采用的是在宿主機(jī)和目的機(jī)之間進(jìn)展的交叉調(diào)試,調(diào)試器依然運(yùn)轉(zhuǎn)在宿主機(jī)的通用操作系統(tǒng)之上,但被調(diào)試的進(jìn)程卻是運(yùn)轉(zhuǎn)在基于特定硬件平臺的嵌入式操作系統(tǒng)中,調(diào)試器和被調(diào)試進(jìn)程經(jīng)過串口或者網(wǎng)絡(luò)進(jìn)展通訊,調(diào)試器可以控制、訪問被調(diào)試進(jìn)程,讀取被調(diào)試進(jìn)程的當(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)試過程的構(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)過某種通訊方式與被調(diào)試進(jìn)程建立聯(lián)絡(luò),如串口、并口、網(wǎng)絡(luò)、DBM、JTAG或者公用的通訊方式。 (3) 在目的機(jī)上普通會具備某種方式的調(diào)試代理,它擔(dān)任與
9、調(diào)試器共同配合完成對目的機(jī)上運(yùn)轉(zhuǎn)著的進(jìn)程的調(diào)試。這種調(diào)試代理能夠是某些支持調(diào)試功能的硬件設(shè)備(如DBI 2000),也能夠是某些專門的調(diào)試軟件(如gdbserver)。(4) 目的機(jī)能夠是某種方式的系統(tǒng)仿真器,經(jīng)過在宿主機(jī)上運(yùn)轉(zhuǎn)目的機(jī)的仿真軟件,整個調(diào)試過程可以在一臺計(jì)算機(jī)上運(yùn)轉(zhuǎn)。此時物理上雖然只需一臺計(jì)算機(jī),但邏輯上依然存在著宿主機(jī)和目的機(jī)的區(qū)別。 4.4宿主機(jī)與目的機(jī)之間的通訊方式4.4.1互聯(lián)通訊方式1. 串口經(jīng)過串口可以作為控制臺,向目的機(jī)發(fā)送命令,顯示信息;也可以經(jīng)過串口傳送文件;還可以經(jīng)過串口調(diào)試內(nèi)核及程序。串口的設(shè)備驅(qū)動實(shí)現(xiàn)也比較簡單。2. 以太網(wǎng)口以太網(wǎng)以其高度靈敏,相對簡單,
10、易于實(shí)現(xiàn)的特點(diǎn),成為當(dāng)今最重要的一種局域網(wǎng)建網(wǎng)技術(shù),以太網(wǎng)IEEE 802.3通常運(yùn)用專門的網(wǎng)絡(luò)接口卡或經(jīng)過系統(tǒng)主電路板上的電路實(shí)現(xiàn)。以太網(wǎng)運(yùn)用收發(fā)器與網(wǎng)絡(luò)媒體進(jìn)展銜接。收發(fā)器可以完成多種物理層功能,其中包括對網(wǎng)絡(luò)碰撞進(jìn)展檢測。收發(fā)器可以作為獨(dú)立的設(shè)備經(jīng)過電纜與終端站銜接,也可以直接被集成到終端站的網(wǎng)卡當(dāng)中。以太網(wǎng)可采用廣播機(jī)制,一切與網(wǎng)絡(luò)銜接的任務(wù)站都可以看到網(wǎng)絡(luò)上傳送的數(shù)據(jù)。經(jīng)過查看包含在幀中的目的地址,確定能否進(jìn)展接納或放棄。假設(shè)證明數(shù)據(jù)確實(shí)是發(fā)給本人的,任務(wù)站將會接納數(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)過以太網(wǎng)銜接和網(wǎng)絡(luò)協(xié)議,可以實(shí)現(xiàn)快速的數(shù)據(jù)通訊和文件傳輸。另外,目的機(jī)也可以利用遠(yuǎn)程組件來促進(jìn)開發(fā)。比如內(nèi)核可以經(jīng)過TFTP協(xié)議下載到目的機(jī),根文件系統(tǒng)(root fs)也可以經(jīng)過NFS加載來替代存儲在目的機(jī)上。利用NFS加載根文件系統(tǒng)實(shí)踐上是一件非常好的事情。由于它防止了頻繁的復(fù)制程序修正。3. JTAG口JTAG 技術(shù)是一種嵌入式調(diào)試技術(shù),它在芯片內(nèi)部封裝了專門的測試電路測試接口(TAP,Test Access Port),經(jīng)過JTAG 測試工具對芯片的核進(jìn)展測試。它是結(jié)合測試行動小組(JTAG,Joint Test Action Group)定義的一種國際規(guī)范測試協(xié)議,主要用于
12、芯片內(nèi)部測試及對系統(tǒng)進(jìn)展仿真、調(diào)試。目前大多數(shù)比較復(fù)雜的器件都支持JTAG協(xié)議,如ARM、DSP、FPGA器件等。規(guī)范的JTAG接口是4線:TMS、TCK、TDI和TDO,分別為測試方式選擇、測試時鐘、測試數(shù)據(jù)輸入和測試數(shù)據(jù)輸出。由于JTAG 接口的時鐘普通在116 MHz之間,所以傳輸速率可以很快。但是實(shí)踐的數(shù)據(jù)傳輸速度要取決于仿真器與主機(jī)端的通訊速度和傳輸軟件。4.4.2可拔插通訊方式在這種方式下,在宿主機(jī)和目的機(jī)之間沒有實(shí)踐的物理銜接,而是主機(jī)寫存儲設(shè)備,如軟盤、CDROM、USB盤等挪動存儲介質(zhì),然后再傳給目的機(jī),最后目的機(jī)啟動它。在這種方式下,宿主機(jī)包括了交叉編譯環(huán)境,而目的機(jī)只包括
13、了一個小型的啟動文件。其他的組件存儲在一個可挪動的,可以被宿主機(jī)編程的,同時又可以被目的機(jī)啟動的存儲介質(zhì)上。比如CompactFlash IDE設(shè)備,或者其他類型的驅(qū)動。有能夠目的機(jī)不包括任何一種可永久存儲數(shù)據(jù)的設(shè)備。舉例來說,替代了固定存儲設(shè)備到目的機(jī)上,目的機(jī)只包括了一個接口,閃存芯片可以很隨便的插入和移開。這個閃存芯片同時需滿足可以很隨便的被一個宿主機(jī)上閃存燒寫器編程,并且隨便的在目的機(jī)的接口上進(jìn)展普通的實(shí)驗(yàn)。這種方式在嵌入式系統(tǒng)開發(fā)的最初階段非常流行。當(dāng)然,當(dāng)最初階段終了以后,也能夠發(fā)現(xiàn)互連模型運(yùn)用更好。因此,當(dāng)修正了內(nèi)核或者根文件系統(tǒng)以后,可以防止從宿主機(jī)和目的機(jī)之間傳送存儲設(shè)備。4
14、.5交叉開發(fā)環(huán)境建立4.5.1創(chuàng)建交叉開發(fā)工具鏈交叉開發(fā)工具鏈包括交叉編譯器、交叉銜接器和交叉調(diào)試器,這些交叉開發(fā)工具鏈?zhǔn)乔度胧较到y(tǒng)開發(fā)的必備工具,它是要安裝在宿主機(jī)(PC)上的。對于它的創(chuàng)建有三種途徑:第一種是下載他人已做好的工具鏈,當(dāng)然這是最省事的方法;第二種是到官方網(wǎng)站上下載crosstool;第三種是本人一步一步制造本人的交叉開發(fā)工具鏈,這是最有趣的,也是最能表達(dá)本人才干的方式。本章所運(yùn)用的交叉開發(fā)工具鏈?zhǔn)乔懊鎯煞N,其中,第一種交叉開發(fā)工具鏈?zhǔn)荱P-NETARM2410-S開發(fā)平臺的北京博創(chuàng)公司所提供的。4.5.2宿主機(jī)開發(fā)環(huán)境配置1. 宿主機(jī)安裝發(fā)行版Linux操作系統(tǒng)宿主機(jī)安裝發(fā)行
15、版Linux操作系統(tǒng)有以下三個方案:(1) 基于PC機(jī)Windows操作系統(tǒng)下的CYGWIN。(2) 在Windows下安裝虛擬機(jī)后,再在虛擬機(jī)中安裝Linux操作系統(tǒng)。(3) 直接安裝Linux操作系統(tǒng)。安裝方案的選擇不同,主要根據(jù)PC機(jī)的系統(tǒng)配置,對于當(dāng)前的PC機(jī)配置,建議選擇在虛擬機(jī)下安裝Linux操作系統(tǒng),這樣便于系統(tǒng)義務(wù)的切換。對于它的安裝方法可參見本教材2.1節(jié)。 假設(shè)選擇RedHat 9.0,它安裝后占用空間約為2.45GB之間,還要安裝ARMLinux開發(fā)軟件,對開發(fā)計(jì)算機(jī)的硬盤空間要求較大。硬件要求如下:CPU:高于奔騰500 MB,引薦高于賽揚(yáng)1.7 GB。 內(nèi)存:大于12
16、8 MB,引薦256 MB。硬盤:大于10 GB,引薦高于40 GB。2. 開發(fā)工具鏈的安裝開發(fā)工具鏈的第一種來源,安裝較簡單,普通運(yùn)轉(zhuǎn)安裝光盤的可執(zhí)行文件./install即可,這相當(dāng)于在Windows運(yùn)轉(zhuǎn)可執(zhí)行文件setup。開發(fā)工具鏈的第二種來源,下載的工具鏈有不同的包裝格式,RPM的格式就很常用,也有把工具鏈直接緊縮成tar包的。對于RPM的格式,可以經(jīng)過rpm命令把軟件包安裝到宿主機(jī)上??墒沁@些工具安裝到哪里去了呢?RPM包安裝的時候都會有缺省的安裝目錄,可以經(jīng)過rpm命令來查詢。這個命令是Redhat Linux上的常用命令,可以參考第2章的內(nèi)容。對于tar包,可以運(yùn)用tar命令解
17、壓。問題是解壓出來的工具應(yīng)該放在什么途徑下?由于GCC編譯器的運(yùn)轉(zhuǎn)是依賴于其他工具和庫,通常不能把這些工具放在恣意目錄下。普統(tǒng)統(tǒng)過相關(guān)的README 或者闡明文檔可以得到詳細(xì)的安裝途徑。另外,經(jīng)過gcc命令也可以得到安裝的途徑。以ARM Linux站點(diǎn)提供cross-3.3.2.tar.bz2包為例闡明。解壓cross-3.3.2.tar.bz2后,查看GCC版本號,可以得到一些信息。3. 網(wǎng)絡(luò)配置宿主機(jī)Linux環(huán)境配置,首先要確認(rèn)宿主機(jī)的網(wǎng)絡(luò)接口驅(qū)動勝利,并且配置網(wǎng)絡(luò)接口的IP地址??梢越?jīng)過ifconfig命令查看其網(wǎng)絡(luò)接口,還可以經(jīng)過ifconfig配置網(wǎng)口的IP地址。查看本機(jī)IP地址:
18、# ifconfig -a修正本機(jī)IP地址:$ ifconfig eth0 點(diǎn)擊開場菜單,選擇網(wǎng)絡(luò),即可以經(jīng)過Redhat Linux 9的圖形配置界面來配置,圖4-3所示就是網(wǎng)絡(luò)設(shè)備配置的圖形窗口。圖4-3 網(wǎng)絡(luò)設(shè)備配置的圖形窗口4. 串口配置串行通訊接口很適宜作為控制臺,在各種操作系統(tǒng)上普通都有現(xiàn)成的控制臺程序可以運(yùn)用。Windows操作系統(tǒng)有超級終端(Hyper terminal)工具;Linux/UNIX操作系統(tǒng)有minicom等工具。無論什么操作系統(tǒng)還是通訊工具,都可以作為串口控制臺。假設(shè)在Windows平臺上運(yùn)轉(zhuǎn)Linux虛擬機(jī),這個串口通訊軟件可以任選一種。超級終端(Window
19、s開場菜單的附件中)是Windows系統(tǒng)的串口通訊工具,完全圖形化的界面,操作非常簡單。運(yùn)用超級終端也要配置相應(yīng)的銜接。建立一個超級終端的銜接,需求為其配置如圖4-4所示的參數(shù)。主要是串口號、通訊速率和能否流控。每建立一個配置可以保管下來。圖4-4 Windows系統(tǒng)下的超級終端Linux系統(tǒng)通常運(yùn)用minicom串口通訊工具。由于minicom不是圖形窗口的工具,操作起來要費(fèi)事一些。運(yùn)用minicom串口終端之前,需求先配置參數(shù)。在Linux操作系統(tǒng)Xwindow界面下建立終端(在桌面上點(diǎn)擊右鍵選擇新建終端),在終端的命令行提示符后輸入“minicom,就會看到minicom的啟動畫面。mi
20、nicom啟動后,先按Ctrl+A鍵,再按Z鍵(留意不是延續(xù)按,Ctrl+A松開后才按Z),進(jìn)入minicom配置主界面,如圖4-5所示。圖4-5 minicom配置主界面5. NFS效力網(wǎng)絡(luò)文件系統(tǒng)(Network File System,NFS)是一種允許透明文件共享的技術(shù),這種共享出如今經(jīng)過局域網(wǎng)(也就是LAN)銜接的Unix和Linux系統(tǒng)之間。NFS已出現(xiàn)了很長時間,它在 Linux和Unix世界里廣為人知而且被廣泛運(yùn)用。特別地,NFS常用于在網(wǎng)絡(luò)上多臺機(jī)器之間共享主目錄,當(dāng)用戶登錄至LAN上的一臺機(jī)器(任何一臺機(jī)器)時,這為用戶提供了一致的環(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ù)是把本地的一個目錄經(jīng)過網(wǎng)絡(luò)輸出,其他計(jì)算機(jī)可以遠(yuǎn)程地掛接這個目錄并且訪問這個文件。NFS效力有本人的協(xié)議和端口號,但是在文件傳輸或者其他相關(guān)信息傳送的時候,NFS那么運(yùn)用遠(yuǎn)程過程調(diào)用(RPC,Remote Procedure Call)協(xié)議。RPC擔(dān)任管理端口號的對應(yīng)與效力相關(guān)的任務(wù)。NFS本身的效力并沒有提供文件傳送的協(xié)議,它經(jīng)過RPC的功能擔(dān)任。因此,還需求系統(tǒng)啟動portmap效力。NFS效力的設(shè)置可以經(jīng)過Li
22、nux圖形界面來操作,也可以在終端下用配置文件來操作。(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地址,并選擇允許客戶對共享目錄的操作為只讀(Read-only)或讀/寫(Read/write)。圖4-6 NFS效力圖形設(shè)置界面(2) 配置文件操作。NFS效力的配置文件是/etc/exports。配置文件的語法格式如下:共享目錄 主機(jī)稱號1或IP1(參數(shù)1,參數(shù)2) 主機(jī)稱號2或IP2(參數(shù)3,參數(shù)4)“共享目錄是主機(jī)上要向外輸出的一個
23、目錄;“主機(jī)稱號或者IP那么是允許按照指定權(quán)限訪問這個共享目錄的遠(yuǎn)程主機(jī);“參數(shù)那么定義了各種訪問權(quán)限。6. DHCP效力目的板的引導(dǎo)程序(Bootloader)或者內(nèi)核都需求分配IP地址。這可以經(jīng)過動態(tài)主機(jī)配置協(xié)議(DHCP,Dynamic Host Configuration Protocol)或者BOOTP協(xié)議實(shí)現(xiàn)。BOOTP協(xié)議可以給計(jì)算機(jī)分配IP地址并且經(jīng)過網(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è)這個文件不存在,可以手工創(chuàng)建目錄和文件。網(wǎng)絡(luò)效力的啟動和停頓也可以經(jīng)過圖形化窗口來配置,在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é)議是簡單的文件傳輸協(xié)議,適宜目的機(jī)引導(dǎo)程序運(yùn)用。但是文件傳輸是基于UDP的,文件傳輸(特別是大文件)是不可靠的。TFTP效力在Linux系統(tǒng)上有客戶端和效力器兩個軟件包。配置TFTP效力,必需先安裝好。TFTP效力也可以經(jīng)過圖形化的配置窗口來啟動。當(dāng)然,操作過程需求roo
25、t權(quán)限。缺省的情況下,把/tftpboot目錄作為輸出文件的根目錄。4.6基于UP-NETARM2410-S開發(fā)平臺交叉開發(fā)環(huán)境建立4.6.1安裝PC機(jī)RedHat Linux虛擬機(jī)4.6.2開發(fā)工具軟件的安裝本節(jié)中所講的開發(fā)工具的安裝與4.5.1節(jié)中所講的創(chuàng)建交叉開發(fā)工具鏈的第一種方法類似,即博創(chuàng)公司目的機(jī)的開發(fā)工具光盤,插入CDROM,然后執(zhí)行以下命令:# cd /mnt/cdrom/2410-s 06.03.03/linux-V5.1#./install.sh會出現(xiàn)如圖4-8所示的安裝界面(假設(shè)想了解在安裝過程會執(zhí)行哪些內(nèi)容,可用vi查看這個腳本文件install.sh)。圖4-8 開發(fā)
26、工具安裝界面4.6.3宿主機(jī)網(wǎng)絡(luò)配置NFS的本質(zhì)就是將宿主機(jī)和目的機(jī)組建成一個小的局域網(wǎng),因此對宿主機(jī)的網(wǎng)絡(luò)配置包括:IP地址的設(shè)置、平安級別的設(shè)置和NFS效力的配置。(1) IP地址的設(shè)置。對于IP地址設(shè)置可參看4.5.2節(jié)中的網(wǎng)絡(luò)配置方法,目的機(jī)的IP地址的初始設(shè)置為:15,留意對宿主機(jī)的IP設(shè)置中要把它設(shè)置成和目的機(jī)在同一個子網(wǎng)中。(2) 平安級別的設(shè)置。要使宿主機(jī)和目的板之間相互順利傳送文件,宿主機(jī)的平安級別應(yīng)該設(shè)置成無防火墻形狀。對于REDHAT9.0,它默許的是翻開了防火墻,因此對于外來的IP訪問全部回絕,這樣其他網(wǎng)絡(luò)設(shè)備根本無法訪問它,即無法用NFS掛載它,許多網(wǎng)絡(luò)功能都將無法運(yùn)
27、用。因此網(wǎng)絡(luò)安裝終了后,應(yīng)立刻封鎖防火墻。操作如下:點(diǎn)擊開場菜單,選擇平安級別設(shè)置,選中無防火墻。如圖4-9所示。(3) NFS效力的配置。NFS效力的配置方法可參看4.5.2節(jié)中的NFS功能的講述。在系統(tǒng)設(shè)置菜單中選擇效力器設(shè)置菜單,再選中效力菜單,將iptables效力的勾去掉,并確保選中nfs選項(xiàng)。圖4-9 宿主機(jī)平安級別設(shè)置4.6.4宿主機(jī)串口配置目的機(jī)是資源受限的系統(tǒng),沒有像宿主機(jī)那樣的顯示器,假設(shè)想看程序在目的板的運(yùn)轉(zhuǎn)結(jié)果等,可利用串口通訊將目的機(jī)的一些信息傳送到宿主機(jī)的minicom控制臺中,minicom控制臺即相當(dāng)于目的機(jī)的顯示器。其宿主機(jī)的串口配置方法可參看4.5.2節(jié)中串
28、口配置內(nèi)容。進(jìn)入串口設(shè)置界面后,有幾個重要選項(xiàng)改為如下值:Serial Device:/dev/ttyS0(端口號運(yùn)用串口1)EBPS/par/bits:/115200 8N1(波特率:115200,8位數(shù)據(jù)位,無校驗(yàn),1位停頓位)F,E硬件流、軟件流都改為NO4.6.5基于UP-NETARM2410-S開發(fā)平臺交叉開發(fā)環(huán)境建立的總結(jié)交叉開發(fā)環(huán)境的建立,就是充分利用宿主機(jī)(PC)強(qiáng)大的功能,建立可以編寫、編譯、下載和調(diào)試運(yùn)轉(zhuǎn)在目的機(jī)(UP-NETARM2410-S)上的二進(jìn)制程序,包括:RedHat Linux虛擬機(jī)的安裝、交叉開發(fā)工具鏈的制造和安裝、串口的配置、網(wǎng)絡(luò)的配置及JTAG口的銜接等
29、,它們各自的作用總結(jié)如下:(1) RedHat Linux虛擬機(jī)的安裝:利用它的強(qiáng)大的功能,開發(fā)一個可以運(yùn)轉(zhuǎn)在目的機(jī)的Linux操作系統(tǒng)。(2) 交叉開發(fā)工具鏈的制造和安裝:編譯可以運(yùn)轉(zhuǎn)在目的機(jī)上的二進(jìn)制代碼。(3) 串口的配置:相互通訊,可將minicom或超級終端作為目的機(jī)顯示器。(4) 網(wǎng)絡(luò)的配置:宿主機(jī)和目的機(jī)之間局域網(wǎng)的建立,利用NFS進(jìn)展文件系統(tǒng)的掛載,方便程序的調(diào)試。(5) JTAG口:可在目的機(jī)沒有任何通訊之前將引導(dǎo)程序燒寫到目的機(jī),在引導(dǎo)程序中可建立如串口等接口的初始化等。宿主機(jī)和目的機(jī)之間的配置及通訊線路如圖4-10所示。圖4-10 宿主機(jī)和目的機(jī)之間的配置及通訊線路圖4.7交叉編譯和交叉調(diào)試實(shí)例(1) 建立任務(wù)目錄。在上面的交叉開發(fā)環(huán)境建立的共享目錄(arm2410s)中建立任務(wù)目錄: # mkdir pthread # cd pthread(2) 編寫源代碼。在此任務(wù)目錄下用vi編寫程序源代碼:用vi編寫pthread.c# vi pthread.c源代碼如下:#include stdio.h#include math.h(3) 編寫makefile。 CC= armv4l-unknown-linux-gcc EXEC = pthread OBJS = pthread.o CFLAGS += -g -o EXTRA_LIBS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 太平洋保險老來福幸福安康(2018年2月)
- 4.1光的直線傳播 說課稿 2025年初中 人教版 物理八年級上冊
- 2025年黨員領(lǐng)導(dǎo)干部廉潔自律知識考試題庫及答案(共260題)
- 運(yùn)動會校長致辭
- 前廳月工作計(jì)劃
- 《深度學(xué)習(xí)項(xiàng)目案例開發(fā)》課件-任務(wù)八:使用BERT預(yù)訓(xùn)練醫(yī)學(xué)語言模型
- 《跨境電商》課件-5.速賣通平臺發(fā)布產(chǎn)品
- 機(jī)械設(shè)備海運(yùn)合同參考模板
- 人力資源管理績效評估體系構(gòu)建與實(shí)踐操作要點(diǎn)
- 全國集中式光伏發(fā)電項(xiàng)目
- CNG生產(chǎn)運(yùn)營管理規(guī)章制度匯編提綱
- 2024至2030年中國羽毛球行業(yè)發(fā)展現(xiàn)狀及投資趨勢研究報(bào)告
- 正當(dāng)防衛(wèi)與防衛(wèi)過當(dāng)
- 醫(yī)師定期考核業(yè)務(wù)水平測試題庫(5000題可查找)
- 衛(wèi)生人才評價考試之衛(wèi)生管理(初級師)高頻真題考點(diǎn)大全
- GB/T 17105-2024鋁硅系致密定形耐火制品分類
- 數(shù)學(xué)家祖沖之
- MOOC 金屬礦床露天開采-東北大學(xué) 中國大學(xué)慕課答案
- 科學(xué)的精神與方法智慧樹知到期末考試答案2024年
- 城市社區(qū)營造與微更新
- 世界民族音樂地圖
評論
0/150
提交評論