色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Linux開發(fā)環(huán)境的搭建之:嵌入式開發(fā)環(huán)境的搭建

          嵌入式Linux開發(fā)環(huán)境的搭建之:嵌入式開發(fā)環(huán)境的搭建

          作者: 時(shí)間:2013-09-13 來源:網(wǎng)絡(luò) 收藏


          本文引用地址:http://cafeforensic.com/article/257141.htm

          小知識

          通過串口打印信息是一個(gè)很常見的手段,很多其他情況如路由器等也是通過配置串口的波特率這些參數(shù)來顯示對應(yīng)信息的。


          5.1.3下載映像到開發(fā)板

          正如第4章中所述,嵌入式開發(fā)的運(yùn)行環(huán)境是目標(biāo)板,而開發(fā)環(huán)境是宿主機(jī)。因此,需要把宿主機(jī)中經(jīng)過編譯之后的可執(zhí)行文件下載到目標(biāo)板上。要注意的是,這里所說的下載是下載到目標(biāo)機(jī)中的SDRAM。然后,用戶可以選擇直接從SDRAM中運(yùn)行或?qū)懭氲紽lash中再運(yùn)行。運(yùn)行常見的下載方式有網(wǎng)絡(luò)下載(如tftp、ftp等方式)、串口下載、USB下載等,本書主要講解網(wǎng)絡(luò)下載中的tftp方式和串口下載方式。


          1.tftp

          tftp是簡單文件傳輸協(xié)議,它可以看作是一個(gè)FTP協(xié)議的簡化版本,與FTP協(xié)議相比,它的最大區(qū)別在于沒有用戶管理的功能。它的傳輸速度快,可以通過防火墻,使用方便快捷,因此在嵌入式的文件傳輸中廣泛使用。


          同F(xiàn)TP一樣,tftp分為客戶端和服務(wù)器端兩種。通常,首先在宿主機(jī)上開啟tftp服務(wù)器端服務(wù),設(shè)置好tftp的根目錄內(nèi)容(也就是供客戶端訪問的根目錄),接著,在目標(biāo)板上開啟tftp的客戶端程序(現(xiàn)在很多Bootloader幾乎都提供該服務(wù))。這樣,把目標(biāo)板和宿主機(jī)用直連線相連之后,就可以通過tftp協(xié)議傳輸可執(zhí)行文件了。


          下面分別講述在Linux下和Windows下的配置方法。

          (1)Linux下tftp服務(wù)配置。

          Linux下tftp的服務(wù)器服務(wù)是由xinetd所設(shè)定的,默認(rèn)情況下是處于關(guān)閉狀態(tài)。

          首先,要修改tftp的配置文件,開啟tftp服務(wù),如下所示:


          [root@localhosttftpboot]#vim/etc/xinetd.d/tftp

          #default:off

          #description:Thetftpserverservesfilesusingthetrivialfiletransfer

          #protocol.Thetftpprotocolisoftenusedtobootdiskless

          #workstations,downloadconfigurationfilestonetwork-awareprinters,

          #andtostarttheinstallationprocessforsomeoperatingsystems.

          servicetftp

          {

          socket_type=dgram/*使用數(shù)據(jù)報(bào)套接字*/

          protocol=udp/*使用UDP協(xié)議*/

          wait=yes/*允許等待*/

          user=root/*用戶*/

          server=/usr/sbin/in.tftpd/*服務(wù)程序*/

          server_args=-s/tftpboot/*服務(wù)器端的根目錄*/

          disable=no/*使能*/

          per_source=11

          cps=1002

          flags=IPv4

          }


          在這里,主要要將“disable=yes”改為“no”,另外,從“server_args”可以看出,tftp服務(wù)器端的默認(rèn)根目錄為“/tftpboot”,用戶如果需要則可以更改為其他目錄。

          接下來,重啟xinetd服務(wù),使剛才的更改生效,如下所示:


          [root@localhosttftpboot]#servicexinetdrestart

          (或者使用/etc/init.d/xinetdrestart,而且因發(fā)行版的不同具體路徑會有所不同)

          關(guān)閉xinetd:[確定]

          啟動xinetd:[確定]


          接著,使用命令“netstat-au”以確認(rèn)tftp服務(wù)是否已經(jīng)開啟,如下所示:


          [root@localhosttftpboot]#netstat–au|greptftp

          ActiveInternetconnections(serversandestablished)

          ProtoRecv-QSend-QLocalAddressForeignAddressState

          udp00*:tftp*:*


          這時(shí),用戶就可以把所需要的傳輸文件放到“/tftpboot”目錄下,這樣,主機(jī)上的tftp服務(wù)就可以建立起來了(注意:需要在服務(wù)端關(guān)閉防火墻)。


          接下來,用直連線把目標(biāo)板和宿主機(jī)連起來,并且將其配置成一個(gè)網(wǎng)段的地址(例如兩個(gè)IP都可以設(shè)置為192.168.1.XXX格式),再在目標(biāo)板上啟動tftp客戶端程序(注意:不同的Bootloader所使用的命令可能會不同,例如:在RedBoot中使用load命令下載文件是基于tftp協(xié)議的。讀者可以查看幫助來獲得確切的命令名及格式),如下所示:


          =>tftpboot0x30200000zImage

          TFTPfromserver192.168.1.1;ourIPaddressis192.168.1.100

          Filename'zImage'.

          Loadaddress:0x30200000

          Loading:#################################################################

          ###############################################################

          #############################################

          done

          Bytestransferred=881988(d7544hex)


          可以看到,此處目標(biāo)板使用的IP為“192.168.1.100”,宿主機(jī)使用的IP為“192.168.1.1”,下載到目標(biāo)板的地址為0x30200000,文件名為“zImage”。


          (2)Windows下tftp服務(wù)配置。

          在Windows下配置tftp服務(wù)器端需要下載tftp服務(wù)器軟件,常見的為tftpd32。


          首先,單擊tftpd32下方的設(shè)置按鈕,進(jìn)入設(shè)置界面,如圖5.14所示,在這里,主要配置tftp服務(wù)器端地址,也就是宿主機(jī)的地址。


          接下來,重新啟動tftpd32軟件使剛才的配置生效,這樣服務(wù)器端的配置就完成了,這時(shí),就可以用直連線連接目標(biāo)機(jī)和宿主機(jī),且在目標(biāo)機(jī)上開啟tftp服務(wù)進(jìn)行文件傳輸,這時(shí),tftp服務(wù)器端如圖5.15和圖5.16所示。

          圖5.14tftp文件傳輸圖5.15tftpd32配置界面圖5.16tftp服務(wù)器端顯示情況


          小知識

          tftp是一個(gè)很好的文件傳輸協(xié)議,它的簡單易用吸引了廣大用戶。但它同時(shí)也存在著較大的安全隱患。由于tftp不需要用戶的身份認(rèn)證,因此給了黑客的可乘之機(jī)。2003年8月12日爆發(fā)的全球沖擊波(Worm.Blaster)病毒就是模擬一個(gè)tftp服務(wù)器,并啟動一個(gè)攻擊傳播線程,不斷地隨機(jī)生成攻擊地址進(jìn)行入侵。因此在使用tftp時(shí)一定要設(shè)置一個(gè)單獨(dú)的目錄作為tftp服務(wù)的根目錄,如上文所述的“/tftpboot”等。

          linux相關(guān)文章:linux教程




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉