關(guān)鍵詞:Linux uClinux 嵌入式系統(tǒng) IP地址 MAX地址 以太網(wǎng)
嵌入式產(chǎn)品可分為信息電器、移動(dòng)計(jì)算設(shè)備、網(wǎng)絡(luò)設(shè)備和工控、仿真等。
在網(wǎng)絡(luò)日益重要的今天,越來(lái)越多的嵌入式產(chǎn)品有了聯(lián)網(wǎng)的要求。以上嵌入式產(chǎn)品的分類中,除了網(wǎng)絡(luò)設(shè)備特別強(qiáng)調(diào)網(wǎng)絡(luò)功能外,其它幾類產(chǎn)品經(jīng)常也有網(wǎng)絡(luò)要求。
在談到網(wǎng)絡(luò)功能時(shí),很自然就會(huì)想到目前應(yīng)用越來(lái)越廣的Linuxz操作系統(tǒng)。Linux對(duì)網(wǎng)絡(luò)有很強(qiáng)的支持能力,甚至比大多數(shù)操作系統(tǒng)的性能更好。實(shí)際上,Linux的發(fā)展是人們?cè)诰W(wǎng)絡(luò)上的相互合作下進(jìn)行的,且Linux本來(lái)就是用在網(wǎng)絡(luò)上的。Linux幾乎支持所有常見(jiàn)的Internet協(xié)議,如FTP、POP、DNS、NIS等等。Linux也適合各種局域網(wǎng)。
Linux不僅能很好地用于通用計(jì)算機(jī),而且已很好地移植于嵌入式系統(tǒng)。嵌入式Linux,就是經(jīng)過(guò)小型化裁減,而且可以被燒制到容量?jī)H為幾KB或幾MB的存儲(chǔ)器中,不需要硬盤(pán),應(yīng)用于各種特定的嵌入式環(huán)境的專用中,不需要硬盤(pán),應(yīng)用于各種一的嵌入式環(huán)境的專用操作系統(tǒng)。它保留了Linux的大多功能,特別是網(wǎng)絡(luò)支持能力。uClinux就是一個(gè)優(yōu)秀的嵌入式Linux操作系統(tǒng)。
本論文中要討論的MAX及IP地址分別指的是:
MAC地址在這里特指以太網(wǎng)定義的一個(gè)48位(6字節(jié))地址。每臺(tái)連到以太網(wǎng)網(wǎng)絡(luò)的計(jì)算機(jī)分配一個(gè)唯一的48位(6字節(jié))數(shù)字,即它的以太網(wǎng)地址。為分配地址,以太網(wǎng)硬件制造商購(gòu)買(mǎi)以太網(wǎng)地址塊,在生產(chǎn)以太網(wǎng)接口硬件時(shí)順序給它們分配。MAC地址屬于物理層的地址,對(duì)于不同類型的網(wǎng)絡(luò),其物理址分配方式不同,但本論文中介紹的設(shè)置方法都適用。
IP地址(IP address)也叫互連網(wǎng)地址(Internet address)。它是TCP/IP的設(shè)計(jì)人員選擇的一個(gè)類似于物理網(wǎng)絡(luò)的編址地址?;ミB網(wǎng)上的每個(gè)主機(jī)都分配了一個(gè)唯一的32位(4字節(jié))整數(shù)地址。IP地址屬于軟件協(xié)議層的地址。只要主機(jī)上運(yùn)行TCP/IP協(xié)議,其IP地址的編址方式就符合這個(gè)統(tǒng)一標(biāo)準(zhǔn)。
作為嵌入式網(wǎng)絡(luò)設(shè)備的“身份證”,MAC及IP地址的配置是嵌入式網(wǎng)絡(luò)設(shè)備必須面對(duì)的問(wèn)題。它與通用計(jì)算機(jī)的操作有些不同。
1 嵌入式網(wǎng)絡(luò)設(shè)備中MAC及IP地址的特點(diǎn)
在嵌入式系統(tǒng)中,操作系統(tǒng)和所有的應(yīng)用軟件都被固化到Flash等存儲(chǔ)設(shè)備中。在嵌入式系統(tǒng)中很少使用外存。嵌入式系統(tǒng)的啟動(dòng)往往也是“自動(dòng)”的,即從上電到處于工作狀態(tài),不用人的介入。這是嵌入式設(shè)備應(yīng)用的要求和特點(diǎn)。
嵌入式網(wǎng)絡(luò)設(shè)備的啟動(dòng),很自然會(huì)遇到MAC及IP地址的設(shè)置問(wèn)題。
對(duì)于通用計(jì)算機(jī),其以太網(wǎng)的MAC地十一般是不能變的,它是由網(wǎng)卡生產(chǎn)廠家固化在網(wǎng)卡中的。除了網(wǎng)卡生產(chǎn)廠家,很少有其他人關(guān)心它。而IP地址,可以根據(jù)用戶的需要設(shè)為指定值。其設(shè)定的IP地址是存儲(chǔ)在硬盤(pán)上的,操作系統(tǒng)啟動(dòng)時(shí),可以自動(dòng)取得該值并啟用它。
圖2
嵌入式網(wǎng)絡(luò)設(shè)備中的MAC及IP地址的設(shè)置有它的特點(diǎn):
①關(guān)心和接觸嵌入式網(wǎng)絡(luò)設(shè)備MAC地址的人比關(guān)心和接觸通用計(jì)算機(jī)MAC地址的人多得多。因?yàn)樵O(shè)計(jì)、研究和生產(chǎn)嵌入式網(wǎng)絡(luò)設(shè)備的廠家比網(wǎng)卡的廠家多得多。
②在嵌入式設(shè)備中往往沒(méi)有硬盤(pán),它的操作系統(tǒng)和應(yīng)用軟件通常是打包放在Flash等存儲(chǔ)設(shè)備中。系統(tǒng)啟動(dòng)時(shí),把Flash中的代碼釋放到內(nèi)存中,再在內(nèi)存中運(yùn)行。比如嵌入式操作系統(tǒng)Uclinux,在用于S3C4510B這樣的帶以太網(wǎng)接口的嵌入式設(shè)備時(shí),把內(nèi)核和應(yīng)用程序代碼壓成一個(gè)映像文件包,在包中有網(wǎng)絡(luò)部分MAC及IP地址。但這些MAC及IP地址的值是在編譯映像文件時(shí)設(shè)定的,而且在編譯后的映像文件中的值是不能直觀地看到的,而且在編譯后的映像文件中的值是不能直觀地看到的,它是壓縮了的二進(jìn)制數(shù)據(jù),不方便地映像文件中直接更改MAC及IP地址的值。
③對(duì)于使用同一映像文件的嵌入式網(wǎng)絡(luò)設(shè)備,如果不做進(jìn)一步的處理,其MAC及IP地址是相同的。這顯然不能滿足應(yīng)用,因?yàn)椴煌脑O(shè)備應(yīng)該有不同的MAC及IP地址。而編譯生成映像文件往往要用十幾甚至幾十分鐘。對(duì)于生產(chǎn)廠家,不可能為每臺(tái)設(shè)備編譯一個(gè)特定的映像文件。
針對(duì)以上問(wèn)題,筆者在S3C4510B上運(yùn)行uClinux時(shí),使用了一些特殊的方法來(lái)解決它。
2 MAC及IP地址的設(shè)置
筆者使用的S3C4510B嵌入式網(wǎng)絡(luò)設(shè)備的基本框圖如圖1所示。
其中,F(xiàn)lash是一片HY29LV160,共16Mb,分35個(gè)扇區(qū)。程序映像文件是從低扇區(qū)開(kāi)始存放的。
本嵌入式網(wǎng)絡(luò)設(shè)備系統(tǒng)的MAC及IP地址設(shè)置的基本思想是:把MAC及IP地址存放在Flash的未用扇區(qū)(一般在高扇區(qū)),嵌入式操作系統(tǒng)啟動(dòng)后,自動(dòng)運(yùn)行一個(gè)程序去讀取MAC及IP地址并設(shè)置它。
用戶如何把MAC及IP地址放到Flash中?筆者使用的方法是通過(guò)計(jì)算機(jī)串口與網(wǎng)絡(luò)設(shè)備的RS232接口(即串口)相連,使用超級(jí)終端的方式,運(yùn)行網(wǎng)絡(luò)設(shè)備中的程序把數(shù)據(jù)寫(xiě)入Flash中。
針對(duì)MAC及IP地址的設(shè)置,筆者編了以下兩個(gè)運(yùn)行于嵌入式操作系統(tǒng)uClinux上的程序。
(1)MyIP:處理IP地址的設(shè)置
程序使用說(shuō)明:
myip-r ;讀取Flash中的IP地址并檢驗(yàn)合法性和啟用它
myip-w 172.20.91.15 ;更改Flash中的IP地址為172.20.91.15, ;掩碼為255.255.255.0,并啟用它
myip-w 172.20.91.15-m 255.255.192.0 ;更改Flash中的IP地址為172.20.91.15,掩碼為255.255.192.0,并啟用它
(2)MyMAC,處理MAC地址的設(shè)置
程序使用說(shuō)明:
mymac-r ;讀取Flash中的MAC地址并檢驗(yàn)合法性和啟用它
mymac-w aa:bb:dd:ee:ff,更改Flash中的MAC地址為aa:bb:cc:dd:ee:ff,并啟用它
運(yùn)行在S3C4510B上的應(yīng)用程序,可以用串口終端輸入指令的方式運(yùn)行。作為嵌入式應(yīng)用,要求系統(tǒng)復(fù)位就能自動(dòng)行動(dòng)指定的程序。這時(shí),我們得到另一種運(yùn)行程序的方式:在uClinux開(kāi)發(fā)包的4510B文件中配置(相當(dāng)于DOS中的自動(dòng)批處理程序)。如加入
/bin/./mymac-r
/bin/./myip-r
編譯后的映像文件就可使系統(tǒng)自動(dòng)運(yùn)行mymac-r和myip-r,完成系統(tǒng)啟動(dòng)時(shí)自動(dòng)從Flash中讀取MAC地址和IP地址并配置它們。
對(duì)于嵌入式網(wǎng)絡(luò)設(shè)備生產(chǎn)廠家,可以使用以上兩個(gè)程序的帶“-W”參數(shù)的用法完成MAC和IP地址的設(shè)置;而嵌入式網(wǎng)絡(luò)設(shè)備的用戶只用知道處理IP地址的程序,一般不允許隨著更改MAC地址。
圖2、圖3是兩個(gè)程序的流程。
在這里強(qiáng)調(diào)兩點(diǎn):
①這兩個(gè)程序都用到了Linux的網(wǎng)絡(luò)配置指令ifconfig(具體用法請(qǐng)查閱Linux下的相關(guān)幫助文檔)。在用該指令更改MAC地址時(shí),需要硬件的支持。如一般的通用計(jì)算機(jī)上,網(wǎng)卡的MAC地址不能更改,該指令執(zhí)行時(shí)將報(bào)異常;而在S3C4510B這樣的嵌入式網(wǎng)絡(luò)設(shè)備上,就能成功更改設(shè)備運(yùn)行時(shí)的MAC地址。
②Flash的基地址在操作系統(tǒng)啟動(dòng)前后一般是不同的,這主要是為了提高系統(tǒng)運(yùn)行的速度。另外,對(duì)Flash進(jìn)行寫(xiě)操作之前應(yīng)先擦除操作扇區(qū),注意數(shù)據(jù)的保護(hù);不要擦除整個(gè)Flash,否則連同映像文件一起被清掉后,系統(tǒng)也就不能正常運(yùn)行了。在對(duì)Flash的操作時(shí)應(yīng)特別注意這些。源網(wǎng)站:www.dpj.com.cn。
結(jié)語(yǔ)
嵌入式網(wǎng)絡(luò)設(shè)備的“身份證”——MAC及IP地址的設(shè)置,與通用計(jì)算機(jī)的設(shè)置有獨(dú)特之處。嵌入式網(wǎng)絡(luò)設(shè)備往往沒(méi)有硬盤(pán),不能像通用計(jì)算機(jī)那樣操作;也不可能為每一臺(tái)設(shè)備“量身”編譯映像文件。本論文介紹的方法——把MAC及IP地址存放在Flash等存儲(chǔ)設(shè)備上,嵌入式操作系統(tǒng)啟動(dòng)后,自動(dòng)運(yùn)行一個(gè)程序去讀取MAC及IP地址并設(shè)置它。這樣就可以在同一映像文件包下方便地配置嵌入式網(wǎng)絡(luò)設(shè)備MAC及IP地址。
- 嵌入式網(wǎng)(5920)
- 地址設(shè)置(5268)
相關(guān)推薦
IP地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)、DNS服務(wù)器、MAC地址
嵌入式網(wǎng)絡(luò)安全有什么特點(diǎn)?
嵌入式網(wǎng)絡(luò)接入怎么實(shí)現(xiàn)?
嵌入式網(wǎng)絡(luò)的靜態(tài)IP設(shè)置方案
嵌入式網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng),完全不會(huì)呀!?。。?/a>
嵌入式設(shè)備網(wǎng)絡(luò)安全有什么策略?
嵌入式設(shè)備修改網(wǎng)絡(luò)配置的方法
嵌入式設(shè)備如何獲取公網(wǎng)IP?
嵌入式設(shè)備的本質(zhì)是什么?
嵌入式Internet通信的安全怎么保障?
嵌入式Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的體系結(jié)構(gòu)和實(shí)現(xiàn)原理是什么
嵌入式Linux網(wǎng)絡(luò)驅(qū)動(dòng)程序的實(shí)現(xiàn)原理是什么?
嵌入式Linux學(xué)習(xí)中的網(wǎng)絡(luò)-串口連接設(shè)置
嵌入式SIP協(xié)議棧怎么設(shè)計(jì)?
嵌入式TCP/IP協(xié)議單片機(jī)在網(wǎng)絡(luò)通信中有什么應(yīng)用?
嵌入式單片機(jī)網(wǎng)絡(luò)鏈路測(cè)試的相關(guān)資料分享
嵌入式操作系統(tǒng)怎么實(shí)現(xiàn)網(wǎng)絡(luò)加載?
嵌入式的系統(tǒng)特點(diǎn)
嵌入式系統(tǒng)linux具有什么優(yōu)點(diǎn)?
嵌入式系統(tǒng):測(cè)試和測(cè)量挑戰(zhàn)入門(mén)手冊(cè)
SIP協(xié)議在嵌入式環(huán)境下有什么應(yīng)用?
什么叫嵌入式
什么是嵌入式聯(lián)網(wǎng)模塊
使用IPort-1模塊怎么給嵌入式設(shè)備增加網(wǎng)絡(luò)接口?
使用什么API來(lái)獲取mac地址?
關(guān)于MAC地址的,請(qǐng)問(wèn)怎么用MAC地址進(jìn)行點(diǎn)播尋址?
關(guān)于嵌入式網(wǎng)絡(luò)設(shè)備
基于嵌入式WEB的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)該如何去設(shè)計(jì)?
基于網(wǎng)絡(luò)加載的嵌入式BootLoader有什么優(yōu)點(diǎn)?
基于網(wǎng)絡(luò)加載的嵌入式BootLoader的設(shè)計(jì)與實(shí)現(xiàn)
基于ARM的嵌入式設(shè)備接入IPv6網(wǎng)絡(luò)
基于TCP IP協(xié)議棧的嵌入式以太網(wǎng)終端設(shè)計(jì)
基于Web的嵌入式設(shè)備該怎么管理?
基于雙以太網(wǎng)處理器Jupiter實(shí)現(xiàn)嵌入式設(shè)備網(wǎng)絡(luò)的設(shè)計(jì)
如何修改嵌入式網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)?
如何利用ARM7設(shè)計(jì)嵌入式工控網(wǎng)絡(luò)?
如何去實(shí)現(xiàn)嵌入式網(wǎng)絡(luò)智能控制系統(tǒng)的設(shè)計(jì)?
如何檢索設(shè)備MAC地址?
如何讓嵌入式設(shè)備枚舉成WinUSB設(shè)備?
如何設(shè)計(jì)嵌入式網(wǎng)絡(luò)信息發(fā)布系統(tǒng)?
如何設(shè)計(jì)嵌入式網(wǎng)絡(luò)虛擬儀表硬件?
如何通過(guò)網(wǎng)關(guān)把嵌入式設(shè)備接入IPv6網(wǎng)絡(luò)?
怎么實(shí)現(xiàn)嵌入式TCP/IP協(xié)議棧的設(shè)計(jì)?
怎么實(shí)現(xiàn)嵌入式WEB傳感器的網(wǎng)絡(luò)化接口設(shè)計(jì)?
怎么實(shí)現(xiàn)基于Winodws CE的嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計(jì)?
怎樣為無(wú)線M2M網(wǎng)絡(luò)設(shè)計(jì)嵌入式設(shè)備?
怎樣去設(shè)計(jì)嵌入式LWIP網(wǎng)絡(luò)客戶端
數(shù)字生活浪潮下的嵌入式設(shè)備
求大佬分享一種嵌入式網(wǎng)絡(luò)設(shè)備中MAC及IP地址設(shè)置的方法
淺析嵌入式系統(tǒng)的定義及其應(yīng)用
請(qǐng)問(wèn)嵌入式linux程序中如何修改IP、掩碼、網(wǎng)關(guān)和MAC地址
針對(duì)Arm嵌入式設(shè)備優(yōu)化的神經(jīng)網(wǎng)絡(luò)推理引擎
嵌入式網(wǎng)絡(luò)設(shè)備的MAC及IP地址設(shè)置
![](https://skin.elecfans.com/images/2021-soft/load.png)
嵌入式網(wǎng)絡(luò)設(shè)備地址動(dòng)態(tài)配置的研究
![](https://skin.elecfans.com/images/2021-soft/load.png)
基于嵌入式網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)
![](https://skin.elecfans.com/images/2021-soft/load.png)
嵌入式EtherNet IP模塊
IP地址及網(wǎng)卡MAC地址操作指南
![](https://skin.elecfans.com/images/2021-soft/load.png)
如何知道mac地址 怎么查看IP地址
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A4/A6/wKgZomUMNR2AF5aIAADmJXSEk9o998.jpg)
網(wǎng)絡(luò)與通信MAC地址詳解
![](https://skin.elecfans.com/images/2021-soft/load.png)
mac_mac地址是什么
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/A6/17/wKgZomUMO62AQ2hQAAAJtpm8j6Y900.jpg)
Linux下讀取網(wǎng)卡默認(rèn)MAC地址的方法
![](https://skin.elecfans.com/images/2021-soft/eye.png)
mac地址和ip地址有什么區(qū)別
![](https://skin.elecfans.com/images/2021-soft/eye.png)
mac地址和ip地址是什么決定的
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file.elecfans.com/web1/M00/46/84/o4YBAFqfrVyAEEuSAAB2SA7KCaw890.jpg)
大型網(wǎng)絡(luò)監(jiān)控的ip地址設(shè)置方法
![](https://skin.elecfans.com/images/2021-soft/eye.png)
網(wǎng)絡(luò)通信技術(shù):IP地址和MAC地址的差異
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file.elecfans.com/web1/M00/CB/67/o4YBAF-RL5yAfPb8AADjUmUbLNQ099.png)
MAC的地址/結(jié)構(gòu)/表示方法介紹
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file.elecfans.com/web1/M00/E7/8A/pIYBAGBelTeAeXoSAABFZONMqSM188.png)
獲取IP地址的工具介紹
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com//web2/M00/94/C1/wKgaomTl-UWAEXxJAABcK3fzXxE970.png)
Allegro網(wǎng)絡(luò)的MAC、DHCP 和 HTTP三種協(xié)議解析
![](https://skin.elecfans.com/images/2021-soft/eye.png)
使用LPNDR_ReadGlobalInfo函數(shù)塊讀取IP地址和MAC地址
![](https://skin.elecfans.com/images/2021-soft/eye.png)
為什么有了IP地址,還需要MAC地址呢?
![](https://skin.elecfans.com/images/2021-soft/eye.png)
MAC地址注冊(cè)的原理和應(yīng)用
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com/web2/M00/AF/C8/wKgZomVR2UWAYkTmAAASn0C3S2M961.png)
為什么同時(shí)需要IP和MAC地址?
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com/web2/M00/AE/0C/wKgaomVSzoaATzuwAAAW264wjn0450.jpg)
MAC地址申請(qǐng)流程:了解網(wǎng)絡(luò)設(shè)備身份的關(guān)鍵步驟
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com/web2/M00/B0/33/wKgZomVUk7mARLMiAABBo9ivKI8375.png)
無(wú)線設(shè)備MAC地址注冊(cè)的最佳實(shí)踐和常見(jiàn)問(wèn)題解答
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file.elecfans.com/web2/M00/1D/C6/poYBAGGTgNyAeYV4AAAjhcNnEaQ578.jpg)
如何綁定ip地址與mac物理地址呢?
![](https://skin.elecfans.com/images/2021-soft/eye.png)
怎么注冊(cè)MAC地址?MAC地址的必要性介紹
![](https://skin.elecfans.com/images/2021-soft/eye.png)
![](https://file1.elecfans.com/web2/M00/B8/07/wKgaomWFPk2AGS80AABaqzyzVaU611.png)
什么是靜態(tài)IP地址?什么是DHCP?DHCP與靜態(tài)IP到底有何區(qū)別呢?
![](https://skin.elecfans.com/images/2021-soft/eye.png)
評(píng)論