![]() |
||||||||||||||||||||||||||||
配置主機(jī)交叉開(kāi)發(fā)環(huán)境 |
||||||||||||||||||||||||||||
1.配置控制臺(tái)程序 要查看目標(biāo)板的輸出,可以使用控制臺(tái)程序。在各種操作系統(tǒng)上一般都有現(xiàn)成的控制臺(tái)程序可以使用,例如,Windows操作系統(tǒng)中有超級(jí)終端(HyperTerminal)工具;Linux/UNIX操作系統(tǒng)有minicom(使用“minicom”命令啟動(dòng)該軟件)等工具。無(wú)論什么操作系統(tǒng)和通信工具,都可以作為串口控制臺(tái)。如果在Windows平臺(tái)上運(yùn)行Linux虛擬機(jī),這個(gè)串口通信軟件可以任選一種。配置一個(gè)超級(jí)終端,如圖1.1所示,配置minicom(使用“minicom –s”命令進(jìn)入配置界面),如圖1.2所示,配置參數(shù)包括串口號(hào)、通信速率、數(shù)據(jù)位數(shù)、停止位數(shù)、奇偶校驗(yàn)、數(shù)據(jù)流控制等設(shè)置。一次配置成功后可以將結(jié)果保存,供以后使用。
2.配置tftp服務(wù) tftp是一個(gè)傳輸文件的簡(jiǎn)單協(xié)議,它基于UDP協(xié)議實(shí)現(xiàn)。此協(xié)議設(shè)計(jì)時(shí)是進(jìn)行小文件傳輸?shù)模虼怂痪邆渫ǔ5腇TP的許多功能,只能從文件服務(wù)器上獲得或?qū)懭胛募荒芰谐瞿夸,不進(jìn)行認(rèn)證,只能傳輸8位數(shù)據(jù)。 tftp服務(wù)分為客戶(hù)端服務(wù)和服務(wù)器端服務(wù)兩種。通常,首先在宿主機(jī)上開(kāi)啟tftp服務(wù)器端服務(wù),設(shè)置好tftp的根目錄內(nèi)容(也就是供客戶(hù)端下載的文件),然后,在目標(biāo)板上開(kāi)啟tftp的客戶(hù)端程序(tftp客戶(hù)端主要在Bootloader交互環(huán)境下運(yùn)行,幾乎所有Bootloader都提供該服務(wù),用于下載操作系統(tǒng)內(nèi)核和文件系統(tǒng))。這樣,把目標(biāo)板和宿主機(jī)用直連線相連之后,就可以通過(guò)tftp協(xié)議傳輸可執(zhí)行文件。下面分別講述在Linux下和Windows下的配置方法。 1)Linux下的tftp服務(wù)配置 Linux下tftp的服務(wù)是由xinetd(還有openbsd-inetd等其他服務(wù))所設(shè)定的,默認(rèn)情況下是處于關(guān)閉狀態(tài)。 首先,要修改tftp的配置文件,開(kāi)啟tftp服務(wù),如下所示: $ vim /etc/xinetd.d/tftp 在這里,主要是要將“disable=yes”改為“disable=no”。另外,通過(guò)“server_args”可以看出,tftp服務(wù)器端的默認(rèn)根目錄為“/tftpboot”,用戶(hù)可以根據(jù)需要更改為其他目錄。 接下來(lái),重啟xinetd服務(wù),使剛才的更改生效,如下所示: $ /etc/init.d/xinetd restart 然后,使用命令“netstat -au”以確認(rèn)tftp服務(wù)是否已經(jīng)開(kāi)啟,如下所示: $ netstat –au | grep tftp 這時(shí),用戶(hù)就可以把所需的傳輸文件放到“/tftpboot”目錄下,這樣,主機(jī)上的tftp服務(wù)就建立起來(lái)。用網(wǎng)絡(luò)交叉線把目標(biāo)板和宿主機(jī)連起來(lái),并且將其配置成一個(gè)網(wǎng)段的地址,再在目標(biāo)板上啟動(dòng)tftp客戶(hù)端程序(注意:不同的Bootloader所使用的命令會(huì)有所不同,讀者可以查看幫助來(lái)獲得確切的命令名及格式,本書(shū)以U-Boot為例講解),如下所示: # tftp 0x30008000 zImage 可以看到,此處目標(biāo)板使用的IP為“192.168.1.120”,宿主機(jī)使用的IP為“192.168.1.112”,下載到目標(biāo)板的地址為0x33000000,文件名為“zImage”。 2)Windows 在Windows下配置tftp服務(wù)需要使用tftp服務(wù)器軟件,常見(jiàn)的有Tftpd32,讀者可以自行從網(wǎng)上下載。要注意的是,該軟件是tftp的服務(wù)器端,而目標(biāo)板上則是tftp的客戶(hù)端。打開(kāi)該軟件,如圖1.3所示。 接下來(lái),用戶(hù)可以在Settings中配置服務(wù)器端的各個(gè)選項(xiàng),如IP地址等,如圖1.4所示。 另外,還需要在Browse中選擇tftp的服務(wù)器端根目錄。這時(shí),tftpd會(huì)提示用戶(hù)重啟該軟件,使修改的參數(shù)生效。至此,tftp的服務(wù)就配置完畢。此時(shí)可以用直連線連接目標(biāo)機(jī)和宿主機(jī),且在目標(biāo)機(jī)上開(kāi)啟tftp服務(wù)進(jìn)行文件傳輸。
3.NFS文件系統(tǒng) NFS為Network File System的簡(jiǎn)稱(chēng),早是由Sun公司提出發(fā)展起來(lái)的,其目的就是讓不同的機(jī)器、不同的操作系統(tǒng)之間可以彼此共享文件。 NFS可以讓不同的主機(jī)通過(guò)網(wǎng)絡(luò)將遠(yuǎn)端的NFS服務(wù)器共享出來(lái)的文件安裝到自己的系統(tǒng)中,從客戶(hù)端看來(lái),使用NFS的遠(yuǎn)端文件就像是使用本地文件一樣。在嵌入式系統(tǒng)中使用NFS會(huì)使應(yīng)用程序的開(kāi)發(fā)變得十分方便,并且不用反復(fù)地?zé)龑?xiě)鏡像文件。 NFS的使用分為服務(wù)器端和客戶(hù)端,其中服務(wù)器端提供要共享的文件,而客戶(hù)端則通過(guò)掛載“mount”這一動(dòng)作來(lái)實(shí)現(xiàn)對(duì)共享文件的訪問(wèn)操作。在嵌入式開(kāi)發(fā)中,通常NFS服務(wù)端在宿主機(jī)上運(yùn)行,而客戶(hù)端在目標(biāo)板上運(yùn)行。 NFS服務(wù)器端是通過(guò)讀入它的配置文件“/etc/ exports”來(lái)決定所共享的文件目錄的,在這個(gè)配置文件中,每一行都代表一項(xiàng)要共享的文件目錄,以及所指定的客戶(hù)端對(duì)其的操作權(quán)限。客戶(hù)端可以根據(jù)相應(yīng)的權(quán)限,對(duì)該目錄下的所有目錄文件進(jìn)行訪問(wèn)。 配置文件中每一行的格式如下: [共享的目錄](méi) [客戶(hù)端主機(jī)名稱(chēng)或IP]([參數(shù)1,參數(shù)2…]) 在這里,主機(jī)名或IP是可供共享的客戶(hù)端主機(jī)名或IP,若對(duì)所有的IP都可以訪問(wèn),則可用“*”表示。這里的參數(shù)有很多種組合方式,表1.1列出了常見(jiàn)的參數(shù)。 表1.1 NFS配置文件的常見(jiàn)參數(shù)
下面是配置文件“/etc/exports”的一個(gè)示例: $ cat /etc/exports 在設(shè)定完配置文件之后,需要啟動(dòng)nfs服務(wù)和portmap服務(wù),這里的portmap服務(wù)允許NFS客戶(hù)端查看NFS服務(wù)所用的端口,在它被激活之后,就會(huì)出現(xiàn)一個(gè)端口號(hào)為111的sun RPC(遠(yuǎn)端過(guò)程調(diào)用)的服務(wù),這是NFS服務(wù)中必須實(shí)現(xiàn)的一項(xiàng),因此,也必須把它開(kāi)啟,如下所示: $ /etc/init.d/portmap restart 可以看到,系統(tǒng)在啟動(dòng)NFS服務(wù)時(shí)就已經(jīng)啟動(dòng)了mountd進(jìn)程,它是NFS掛載服務(wù),用于處理NFSD遞交過(guò)來(lái)的客戶(hù)端請(qǐng)求。另外還會(huì)激活至少兩個(gè)以上的系統(tǒng)守護(hù)進(jìn)程,然后開(kāi)始監(jiān)聽(tīng)客戶(hù)端的請(qǐng)求,用dmesg命令(或者cat /var/log/messages)可以看到操作是否成功。另外,與NFS相關(guān)的還有兩個(gè)命令,可以方便NFS的使用。 其一是exportfs,它可以重新掃描“/etc/exports”,使用戶(hù)在修改“/etc/exports”配置文件時(shí)不需要每次重啟NFS服務(wù),其格式為: exportfs [選項(xiàng)] 表1.2所示為exportfs的常見(jiàn)選項(xiàng)。 表1.2 exportfs的常見(jiàn)選項(xiàng)
另一個(gè)是showmount,它可以顯示nfs服務(wù)器的掛載信息,其格式為: showmount [選項(xiàng)] 表1.3所示為showmount的常見(jiàn)選項(xiàng)。 表1.3 showmount的常見(jiàn)選項(xiàng)
用戶(hù)若希望NFS服務(wù)在每次系統(tǒng)引導(dǎo)時(shí)自動(dòng)開(kāi)啟,可使用以下命令: # /sbin/chkconfig nfs on 本文選自華清遠(yuǎn)見(jiàn)嵌入式培訓(xùn)教材《從實(shí)踐中學(xué)嵌入式Linux應(yīng)用程序開(kāi)發(fā)》 熱點(diǎn)鏈接:
1、搭建嵌入式交叉編譯環(huán)境 |