關鍵詞:Linux uClinux 嵌入式系統 IP地址 MAX地址 以太網
嵌入式產品可分為信息電器、移動計算設備、網絡設備和工控、仿真等。
在網絡日益重要的今天,越來越多的嵌入式產品有了聯網的要求。以上嵌入式產品的分類中,除了網絡設備特別強調網絡功能外,其它幾類產品經常也有網絡要求。
在談到網絡功能時,很自然就會想到目前應用越來越廣的Linuxz操作系統。Linux對網絡有很強的支持能力,甚至比大多數操作系統的性能更好。實際上,Linux的發展是人們在網絡上的相互合作下進行的,且Linux本來就是用在網絡上的。Linux幾乎支持所有常見的Internet協議,如FTP、POP、DNS、NIS等等。Linux也適合各種局域網。
Linux不僅能很好地用于通用計算機,而且已很好地移植于嵌入式系統。嵌入式Linux,就是經過小型化裁減,而且可以被燒制到容量僅為幾KB或幾MB的存儲器中,不需要硬盤,應用于各種特定的嵌入式環境的專用中,不需要硬盤,應用于各種一的嵌入式環境的專用操作系統。它保留了Linux的大多功能,特別是網絡支持能力。uClinux就是一個優秀的嵌入式Linux操作系統。
本論文中要討論的MAX及IP地址分別指的是:
MAC地址在這里特指以太網定義的一個48位(6字節)地址。每臺連到以太網網絡的計算機分配一個唯一的48位(6字節)數字,即它的以太網地址。為分配地址,以太網硬件制造商購買以太網地址塊,在生產以太網接口硬件時順序給它們分配。MAC地址屬于物理層的地址,對于不同類型的網絡,其物理址分配方式不同,但本論文中介紹的設置方法都適用。
IP地址(IP address)也叫互連網地址(Internet address)。它是TCP/IP的設計人員選擇的一個類似于物理網絡的編址地址。互連網上的每個主機都分配了一個唯一的32位(4字節)整數地址。IP地址屬于軟件協議層的地址。只要主機上運行TCP/IP協議,其IP地址的編址方式就符合這個統一標準。
作為嵌入式網絡設備的“身份證”,MAC及IP地址的配置是嵌入式網絡設備必須面對的問題。它與通用計算機的操作有些不同。
1 嵌入式網絡設備中MAC及IP地址的特點
在嵌入式系統中,操作系統和所有的應用軟件都被固化到Flash等存儲設備中。在嵌入式系統中很少使用外存。嵌入式系統的啟動往往也是“自動”的,即從上電到處于工作狀態,不用人的介入。這是嵌入式設備應用的要求和特點。
嵌入式網絡設備的啟動,很自然會遇到MAC及IP地址的設置問題。
對于通用計算機,其以太網的MAC地十一般是不能變的,它是由網卡生產廠家固化在網卡中的。除了網卡生產廠家,很少有其他人關心它。而IP地址,可以根據用戶的需要設為指定值。其設定的IP地址是存儲在硬盤上的,操作系統啟動時,可以自動取得該值并啟用它。
圖2
嵌入式網絡設備中的MAC及IP地址的設置有它的特點:
①關心和接觸嵌入式網絡設備MAC地址的人比關心和接觸通用計算機MAC地址的人多得多。因為設計、研究和生產嵌入式網絡設備的廠家比網卡的廠家多得多。
②在嵌入式設備中往往沒有硬盤,它的操作系統和應用軟件通常是打包放在Flash等存儲設備中。系統啟動時,把Flash中的代碼釋放到內存中,再在內存中運行。比如嵌入式操作系統Uclinux,在用于S3C4510B這樣的帶以太網接口的嵌入式設備時,把內核和應用程序代碼壓成一個映像文件包,在包中有網絡部分MAC及IP地址。但這些MAC及IP地址的值是在編譯映像文件時設定的,而且在編譯后的映像文件中的值是不能直觀地看到的,而且在編譯后的映像文件中的值是不能直觀地看到的,它是壓縮了的二進制數據,不方便地映像文件中直接更改MAC及IP地址的值。
③對于使用同一映像文件的嵌入式網絡設備,如果不做進一步的處理,其MAC及IP地址是相同的。這顯然不能滿足應用,因為不同的設備應該有不同的MAC及IP地址。而編譯生成映像文件往往要用十幾甚至幾十分鐘。對于生產廠家,不可能為每臺設備編譯一個特定的映像文件。
針對以上問題,筆者在S3C4510B上運行uClinux時,使用了一些特殊的方法來解決它。
2 MAC及IP地址的設置
筆者使用的S3C4510B嵌入式網絡設備的基本框圖如圖1所示。
其中,Flash是一片HY29LV160,共16Mb,分35個扇區。程序映像文件是從低扇區開始存放的。
本嵌入式網絡設備系統的MAC及IP地址設置的基本思想是:把MAC及IP地址存放在Flash的未用扇區(一般在高扇區),嵌入式操作系統啟動后,自動運行一個程序去讀取MAC及IP地址并設置它。
用戶如何把MAC及IP地址放到Flash中?筆者使用的方法是通過計算機串口與網絡設備的RS232接口(即串口)相連,使用超級終端的方式,運行網絡設備中的程序把數據寫入Flash中。
針對MAC及IP地址的設置,筆者編了以下兩個運行于嵌入式操作系統uClinux上的程序。
(1)MyIP:處理IP地址的設置
程序使用說明:
myip-r ;讀取Flash中的IP地址并檢驗合法性和啟用它
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地址的設置
程序使用說明:
mymac-r ;讀取Flash中的MAC地址并檢驗合法性和啟用它
mymac-w aa:bb:dd:ee:ff,更改Flash中的MAC地址為aa:bb:cc:dd:ee:ff,并啟用它
運行在S3C4510B上的應用程序,可以用串口終端輸入指令的方式運行。作為嵌入式應用,要求系統復位就能自動行動指定的程序。這時,我們得到另一種運行程序的方式:在uClinux開發包的4510B文件中配置(相當于DOS中的自動批處理程序)。如加入
/bin/./mymac-r
/bin/./myip-r
編譯后的映像文件就可使系統自動運行mymac-r和myip-r,完成系統啟動時自動從Flash中讀取MAC地址和IP地址并配置它們。
對于嵌入式網絡設備生產廠家,可以使用以上兩個程序的帶“-W”參數的用法完成MAC和IP地址的設置;而嵌入式網絡設備的用戶只用知道處理IP地址的程序,一般不允許隨著更改MAC地址。
圖2、圖3是兩個程序的流程。
在這里強調兩點:
①這兩個程序都用到了Linux的網絡配置指令ifconfig(具體用法請查閱Linux下的相關幫助文檔)。在用該指令更改MAC地址時,需要硬件的支持。如一般的通用計算機上,網卡的MAC地址不能更改,該指令執行時將報異常;而在S3C4510B這樣的嵌入式網絡設備上,就能成功更改設備運行時的MAC地址。
②Flash的基地址在操作系統啟動前后一般是不同的,這主要是為了提高系統運行的速度。另外,對Flash進行寫操作之前應先擦除操作扇區,注意數據的保護;不要擦除整個Flash,否則連同映像文件一起被清掉后,系統也就不能正常運行了。在對Flash的操作時應特別注意這些。源網站:www.dpj.com.cn。
結語
嵌入式網絡設備的“身份證”——MAC及IP地址的設置,與通用計算機的設置有獨特之處。嵌入式網絡設備往往沒有硬盤,不能像通用計算機那樣操作;也不可能為每一臺設備“量身”編譯映像文件。本論文介紹的方法——把MAC及IP地址存放在Flash等存儲設備上,嵌入式操作系統啟動后,自動運行一個程序去讀取MAC及IP地址并設置它。這樣就可以在同一映像文件包下方便地配置嵌入式網絡設備MAC及IP地址。
- 嵌入式網(6044)
- 地址設置(5332)
嵌入式網絡安全有什么特點?
嵌入式網絡接入怎么實現?
嵌入式網絡設備驅動,完全不會呀!!!!
嵌入式設備網絡安全有什么策略?
嵌入式設備修改網絡配置的方法
嵌入式設備如何獲取公網IP?
嵌入式Linux網絡驅動程序的體系結構和實現原理是什么
嵌入式Linux網絡驅動程序的實現原理是什么?
嵌入式SIP協議棧怎么設計?
嵌入式單片機網絡鏈路測試的相關資料分享
嵌入式的系統特點
嵌入式系統linux具有什么優點?
SIP協議在嵌入式環境下有什么應用?
什么叫嵌入式
使用IPort-1模塊怎么給嵌入式設備增加網絡接口?
使用什么API來獲取mac地址?
關于嵌入式網絡設備
基于嵌入式WEB的網絡視頻監控系統該如何去設計?
基于網絡加載的嵌入式BootLoader的設計與實現
基于ARM的嵌入式設備接入IPv6網絡
基于TCP IP協議棧的嵌入式以太網終端設計
基于Web的嵌入式設備該怎么管理?
基于雙以太網處理器Jupiter實現嵌入式設備網絡的設計
如何修改嵌入式網絡設備驅動?
如何設計嵌入式網絡信息發布系統?
如何設計嵌入式網絡虛擬儀表硬件?
怎么實現嵌入式TCP/IP協議棧的設計?
怎樣去設計嵌入式LWIP網絡客戶端
求大佬分享一種嵌入式網絡設備中MAC及IP地址設置的方法
淺析嵌入式系統的定義及其應用
嵌入式系統TCP/IP網絡解決方案
0嵌入式Internet互聯技術的應用研究
9嵌入式Internet互聯技術的應用研究
7基于AX88796的嵌入式網絡設備驅動程序設計
36嵌入式設備的網絡化方法研究
21基于嵌入式Web服務器的網絡設備測控系統設計
17嵌入式網絡設備的MAC及IP地址設置
34QNX操作系統及網絡設備驅動模塊
27QNX操作系統及網絡設備驅動模塊
19CAN 總線的嵌入式Web 服務器設計
14嵌入式WEB服務器中TCP/IP協議棧的設計與實現
35嵌入式網絡設備地址動態配置的研究
11基于嵌入式網絡設備的遠程監控系統設計
11嵌入式EtherNet IP模塊
IP地址及網卡MAC地址操作指南
0HTB1系列嵌入式通訊板卡---EtherCAT、Profinet、EtherNet/IP、CC-LINK IEFB
MC70嵌入式通訊模塊---EtherCAT、Profinet、EtherNet/IP、Modbus TCP
如何知道mac地址 怎么查看IP地址
54393
網絡與通信MAC地址詳解
90mac_mac地址是什么
5012
風河智能網絡平臺榮獲嵌入式創新大獎
1053Linux下讀取網卡默認MAC地址的方法
6219mac地址和ip地址有什么區別
9024一種通過嵌入式互聯網技術控制在線嵌入式設備的遠程監控系統設計
4312
大型網絡監控的ip地址設置方法
6953網絡通信技術:IP地址和MAC地址的差異
5549
華為IP網絡設置工具IPOP的應用程序免費下載
19MAC的地址/結構/表示方法介紹
36231
分布式系統中MAC地址和IP地址的動態配置方法
4809
獲取IP地址的工具介紹
25359
Allegro網絡的MAC、DHCP 和 HTTP三種協議解析
1190使用LPNDR_ReadGlobalInfo函數塊讀取IP地址和MAC地址
6605關于嵌入式Linux的網絡接口設計
1300
MAC地址注冊的原理和應用
1725
MAC地址申請流程:了解網絡設備身份的關鍵步驟
2001
無線設備MAC地址注冊的最佳實踐和常見問題解答
1387
如何綁定ip地址與mac物理地址呢?
9126怎么注冊MAC地址?MAC地址的必要性介紹
1973
深入了解IEEE,設備MAC地址碼的申請與分配指南
1441
怎么申請自己公司主體的MAC地址?需要準備哪些材料?
1472
IP地址與網絡監控
1218怎么申請MAC地址?MAC地址申請流程分享
1625
向IEEE機構申請MAC地址的方法與申請費用組成
1871
IP地址安全與隱私保護
1571關于MAC地址申請與運用的常見問題
1215
決定IP地址的是電腦主機還是網絡?
6841怎么綁定IP地址和MAC地址
2895MAC地址的作用范圍,MAC地址怎么申請?
2724
電子發燒友App




評論