关键词: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




评论