嵌入式网络设备的MAC及IP地址设置

发布者:黄金大花猫最新更新时间:2013-04-12 来源: dzsc关键字:网络设备  MAC  IP地址  S3C4510B 手机看文章 扫描二维码
随时随地手机看文章

嵌入式产品可分为信息电器、移动计算设备、网络设备和工控、仿真等。

在网络日益重要的今天,越来越多的嵌入式产品有了联网的要求。以上嵌入式产品的分类中,除了网络设备特别强调网络功能外,其它几类产品经常也有网络要求。

在谈到网络功能时,很自然就会想到目前应用越来越广的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地址是存储在硬盘上的,操作系统启动时,可以自动取得该值并启用它。

    嵌入式网络设备中的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地址并设置它。[page]

用户如何把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地址。

关键字:网络设备  MAC  IP地址  S3C4510B 引用地址:嵌入式网络设备的MAC及IP地址设置

上一篇:μC/OS-II系统在AVM处理器上的移植
下一篇:采用S3C2410和Linux系统的指纹识别管理系统

推荐阅读最新更新时间:2024-03-16 13:21

Mac Studio 拆解展示苹果 M1 Ultra 芯片封装有多大呢?
Wccftech 报道,苹果最强大的小巧台式电脑 Max Studio 已经被 Max Tech 博主拆解,近距离展示了 M1 Ultra 芯片。   Mac Studio 的全面拆解显示了苹果最新的名为 M1 Ultra 的芯片到底有多大。这个多芯片模块包含两个使用 UltraFusion 技术相互连接的 M1 max 芯片。值得注意的是,这个超大型封装还包含 128GB 内存。不过,在拆解过程中看不到 Silicon 芯片,因为整个封装被一个非常大的集成散热器所覆盖。整个封装面积比 AMD Ryzen 3 3300X 芯片大近 3 倍。   M1 Ultra 芯片具有两个 10 核 CPU 和 32 核 GPU。整个
[手机便携]
中兴市场被抢,三星移动网络设备实现超越
研究公司Dell’Oro发布的数据显示,寻求扩大移动网络设备市场份额的 三星电子 ,在第二季首次超过了中国的 中兴通讯 。   Dell’Oro发布报告称,今年上半年三星电子在移动网络市场的份额达到新的纪录,该公司目前是行业三强爱立信、诺基亚和华为技术的最强挑战者。   三星的增长得益于投资扩大产能,以及在北美和亚洲扩张。另外,中兴通讯则因违反限制向伊朗出售技术的规定而遭到美国制裁。制裁之时这家中国公司无法购买用以制造设备的美国零部件,工厂几乎关闭。   虽然现在还不能判断三星是否能够实现到2022年将网络业务增长两到三倍、成为三大设备 供应商 之一的目标,但是Dell’Oro的高级研究主管Stefan Pongratz在电子邮件
[嵌入式]
苹果厌倦Intel Mac笔记本改用AMD芯片组
  据国外媒体报道,日前有消息称,苹果MacBook笔记本电脑将放弃英特尔芯片组,改用AMD或威盛产品。还有一种可能是,由苹果自主研发。   与其他笔记本厂商一样,苹果自从2006年开始在MacBook系列笔记本电脑中使用英特尔迅驰芯片组。但近日有消息称,苹果将放弃下一代迅驰芯片组Montevina。   在移动处理器市场,英特尔的创新工作很出色,例如从2004年的奔腾M发展到今年的酷睿2双核。但在集成显卡市场,英特尔的创新却乏善可陈。   有业内人士预测,如果放弃英特尔芯片组,苹果很可能改用AMD或威盛的芯片组。鉴于Nvidia移动芯片组今夏所曝出的问题,很可能错过此次良机。   另外还有一种可能是,由苹果自主研
[焦点新闻]
大型监控系统中IP地址与子网掩码的规划
监控系统中IP地址与子网掩码Subnet Mask用意   在大型网络监控中,所谓的“IP 地址(IP Address)”就像现实生活中每户人家拥有的唯一通讯地址一样,是独一无二的。在监控网络上,数据的传送及接收都可以通过 IP地址进行辨识,将数据传送到唯一目的地址完成通讯。另外,监控系统中的IP地址也与网络计算机类似,在世界各地的IP地址都必须具有一致性,才不会导致在设备装置上的辨识混乱。由此可见,监控系统中的IP地址必须依循一套标准与规范才能达成。   目前,与一般计算机网络应用相同,监控系统所使用的IP地址也是第四版IP地址,即IPv4地址。而为了满足使用上的需求,IETF(Internet Engineering
[安防电子]
分析称小米迟早推笔记本挑战苹果Mac业务
     腾讯科技讯 9月20日消息,国外媒体周六发表分析文章称,随着小米寻求涉足新市场来充实其450亿美元的估值,最近有报道暗示,小米可能正在开发笔记本电脑,挑战苹果的MacBook系列产品。 作为科技巨头苹果的潜在破坏者,中国智能手机后起之秀小米已经获得了市场密切的关注。对小米而言,这家公司的想法应当凸显投资人对未来消费技术的长期考虑。 手中持有巨额资金且在迅速扩张的小米,自然渴望更高大上的目标,而不仅仅是在中国、印度、巴西等新兴国家市场销售廉价的Android手机。最近的一条新闻阐释了小米彻底的野心,因为这家公司正着眼于考虑在笔记本电脑市场挑战苹果产值达数百亿美元的MacBook。 小米的新玩具? 根据彭博社的报道,有传闻称
[手机便携]
M1 Mac支持Windows吗?苹果高管:取决于微软
今天,外媒 Ars Technica 对苹果软件工程主管 Craig Federighi,硬件技术负责人 Johny Srouji 和市场营销副总裁 Greg Joswiak 进行了采访。 在采访中,苹果高管谈及了 M1 Mac 对 Windows 的支持。目前,M1 Mac 不支持 Windows,因为没有像 Intel Mac 一样的 Boot Camp 功能,但是支持 Windows 是许多人希望看到的。 Federighi 表示,M1 Mac 上的 Windows 支持“由微软决定”。新的 Mac 存在支持(Windows)所需的核心技术,但是微软必须决定是否将基于 ARM 的 Windows 版本授权给 Mac
[手机便携]
苹果正在研发新型电源管理技术 未来Mac电池寿命
  苹果网站上的工作招聘显示公司正在寻找一位“高级直流-直流电源系统设计工程师”。该职位的工作地点位于苹果加州总部Cupertino市。该招聘描述到 该角色将成为在电源管理技术前端工作的最佳机会,加入苹果的人员将会与一个小组一起从产品概念设计到产品完成过程中找到如何更有效率的利用电源。   该工作职位主要与直流-直流电源设计和苹果下一代Macintosh平台开发有关,这项全新的电源管理技术将应用在笔记本、桌面电脑、服务器和显示屏上。 该工作还列出了员工需要工作的11大主要领域,包括提高功率度量性能优化、注重效率、功率密度、成本、减少碳生成量和可扩展性等。        工作招聘中还提到了对处理器和图形处理器全新
[电源管理]
基于S3C4510B微处理器和操作系统实现网络通信工程的编写设计
Linux是一种很受欢迎的操作系统,与UNIX系统兼容,开放源代码。它原本被设计为桌面系统,现在广泛应用于嵌入式设备。uCLinux正是在这种氛围下产生的。在uCLinux这个英文单词中,u表示Micro,是“小”的意思;C表示Control,是“控制”的意思,所以uCLinux就是Micro-Control-Linux,字面上的理解就是“针对微控制领域而设计的Linux系统”。它也是针对无MMU(内存管理单元模块)的微处理器设计的操作系统。S3C4510B就是属于该类的微处理器。 Samsung公司的S3C4510B是基于以太网应用系统高性价比16/32位RISC微控制器,内含一个由ARM公司设计16/32位ARM7TDMI
[单片机]
基于<font color='red'>S3C4510B</font>微处理器和操作系统实现网络通信工程的编写设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved