当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]嵌入式网络设备的MAC及IP地址设置

摘要:嵌入式网络设备与通用计算机的网络设置相比有相同的地方,也有其独特的地方。本文以嵌放式操作系统uClinux在带网络接口的嵌入式芯片S3C4510B上的应用为例,介绍一种嵌入式网络设备中MACIP地址设置的方法。

    关键词: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地址并设置它。这样就可以在同一映像文件包下方便地配置嵌入式网络设备MACIP地址

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭