基于嵌入式linux的交换机设计

来源 :硅谷 | 被引量 : 0次 | 上传用户:wxb0907
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 随着社会不断地信息化、网络化,网络设备的需求量也随之增加。嵌入式Linux技术具有开发难度小、周期短、投入少等优点,使之成为开发中小型网络设备的首选。设计一种基于嵌入式Linux的二层交换机,并对嵌入式Linux的开发流程做简单的介绍。
  关键词: 交换机;嵌入式;Linux
  中图分类号:TP393 文献标识码:A 文章编号:1671-7597(2011)0820059-02
  
  0 引言
  IEEE对嵌入式系统的定义为:用于控制、监视或者辅助操作机器和设备的装置[1]。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统[2]。目前,随着社会不断信息化、智能化以及网络化,越来越多的嵌入式系统被研究和开发。Linux内核具有源码开放、免费、体积小、可裁剪以及效率高等特点,且获得了广泛的支持,使其在作为嵌入式操作系统方面具有得天独厚的优势。基于Linux的嵌入式系统已经成为了热门的技术,并且被各大网络设备厂商广泛支持采用。本文介绍了一种基于Powerpc+Linux架构的二层交换机设计,并对嵌入式Linux的开发做了较为完整的介绍。
  1 嵌入式开发概述
  嵌入式系统是一种根据特定应用所定制的软硬件一体化系统,它只需要达到预期的目的,完成预期的功能即可,所以其在整个开发流程和开发环境的搭建方面都与传统的软件开发相比有着明显的不同。图1所示是整个嵌入式系统开发的一般流程。
  开发的第一步是进行嵌入式的硬件设计,包括硬件的选型以及PCB的制作;等到硬件电路板完成后,在此基础上进行操作系统的移植,之后进行应用程序的开发;其中应用程序的开发可以在PC机与前两步同时进行,但完成后需要移植到真实嵌入式环境中;等待应用程序开发完成,要进行实际的运行测试,如果功能完成,测试通过,则接着进行整个嵌入式系统测试;如果未能通过,则返回以前的步骤,重新来过。
  嵌入式系统一般都具有资源受限的特点,因此像在普通PC上一样直接在嵌入式系统的硬件平台上编写应用软件比较困难,甚至根本是不可能实现的。目前业界一般采用的解决方法是在普通的PC机上编写应用程序,然后通过交叉编译对应生成目标平台上可以运行的二进制代码程序,最后再下载到目标嵌入式硬件平台上的特定位置,进行运行。
  需要在交叉开发环境(Cross Development Environment)下进行开发是开发嵌入式应用软件时的一个显著特点[3]。交叉开发环境是指在宿主机上对嵌入式应用程序进行编译、链接和调试的系统环境和开发工具集,它与真实的运行嵌入式应用程序的环境不一样,但提供了更为强大的调试能力。
  2 交换机设计
  本文设计了一种二层交换机,其在网络协议中层次如图2所示。的与透明网桥一样,二层交换机具有自动学习功能,能够自动建立各个端口使用网段的地址信息[4]。它通过检测以太网端口数据包中的源MAC地址和目的MAC地址,将对应的源MAC地址与物理以太网端口号一起保存在一个地址一端口映射表高速缓存器中[5]。与此同时,交换机也会检测数据包的目的地址,并试图在地址一端口映射缓存中搜索其匹配的物理端口。
  2.1 系统硬件设计
  图3是交换机核心板硬件连接原理图,各个芯片的具体型号如表1。
  整个核心板选取了Freescale的一款经典CPU MPC8260作为通信处理器;MPC8260基于PowerPC603e微处理器内核,是一款高性能、低功耗的RISC32位处理机,并且拥有的独立通信处理器(CPM)使其具备了强大的通信能力。MPC8260通过PCI总线连接其他外围设备,MII接口连接10/100M以太网卡,并使用60x总线与二层交换芯片通信,和FLASH以及SDRAM交换数据和进行控制。
  2.2 Linux内核移植
  现在,移植Linux内核一般先要在内核的目录中选择一个与目标板硬件配置最接近的并且已经移植成功的目标目录作为模板。之后可以针对硬件具体的差别进行相应的修改或对应打现成的移植补丁。这里,我们使用了Linux-2.6.33内核进行移植,并且根据本硬件系统的配置选择了pm826
  样板作为移植的目标模板。在编译和配置内核前我们可以使用现有的patch包对Linux-2.6.33内核打补丁,并使用menuconfig工具对内核进行适当的剪裁。内核的裁减工作与在PC上对Linux内核的裁减工作类似,主要的工作是增添对自己需要的模块的支持,并且除去无用的模块,以使Linux内核更加适合于目标硬件系统。内核的编译可以通过修改根目录以及其它子目录下的Makefile直接完成,也可以通过在预编译的时候设置编译参数值时进行选定。编译前使用make menuconfig命令,开发者可以非常方便地增添和删除内核模块。
  之后,使用make工具生成uImage镜像文件。uImage镜像文件可以使用U-Boot引导程序进行引导,装入内存。
  Linux内核移植的整个过程如图4所示。
  2.3 系统软件设计
  整个系统软件结构如图5所示。面向终端用户的界面分为两种:web界面和CLI命令行界面。下面是命令解析层Command layer,负责解释两种界面发送来命令,调用相应的程序接口并返回执行后的结果。支持模块support modules主要负责提供各种常用的系统服务。控制模块control modules负责对交换芯片、网卡等进控制管理,并进行设备日志的管理和维护。再下面一层是管理API,主要对常用的管理功能进行API封装,同时预留了将来要扩展的功能接口,以便后续的功能升级和代码维护。
  3 结语
  在信息网络高速发展的今天,Internet已经走入了千家万户,对宽带的终端接入需求量也越来越大,而且随着嵌入式技术的发展,各个网络设备公司争相制造性价比越来越高的基于嵌入式Linux的网络设备。本文介绍了一种基于Linux内核交换机的设计方案,具有开发简单、周期短、投入少等优点。
  
  参考文献:
  [1]SEIFERT R,千兆以太网技术与应用[M].北京:机械工业出版社,2000.
  [2]陈峰、彭龑、易彬等,基于嵌入式技术的以太网接口设计[J].通信技术,2010,43(05):127-129.
  [3]曹凌、黄俊,千兆以太网测试设计与实现[J].通信技术,2007,40
  (11):214-215,387.
  [4]张晓哲、王在方、刘琼、方贵明,交换机和路由器一体化的设计和实现[J].计算机工程与应用,2004.
  [5]李炳宇、萧蕴诗,以太网在网络控制系统中的应用与发展趋势[J].微型机与应用,2002年,11期.
  
  作者简介:
  吴媛媛(1977-),女,贵州赤水人,硕士,讲师,贵州民族学院计算机与信息工程学院,研究方向:应用物理。
其他文献
本文从国外城镇化的特点与趋势入手,分析了美国、日本城市化进程现状与特点,论述了中国城镇化的现状,并阐述了世界城镇化的发展对中国城镇化发展的若干启示.
本文论述了服务业及其在振兴老工业基地中的重要作用,从发展物流业、完善金融保险体系、提高信息服务的有效性、发展中介服务业四个方面阐述了振兴东北老工业基地和发展服务
本文介绍了国内外民用卫星移动通信发展概况,提出了我国未来卫星移动通信发展的若干策略问题,最后阐述了卫星移动通信发展前景.
本文综述了移动卫星通信,并对移动卫星通信信道特点、调制技术、天线以及中国电子科技集团公司第五十四研究所已做的工作作了介绍.针对发展我国移动卫星通信系统提出了建议.
为改善传感器的动态响应特性 ,对其输出结果进行动态补偿是一个有效方法。本文介绍了传感器动态补偿的原理 ,基于递归网络模型的良好的动态映射能力 ,探讨了应用该模型进行传
未来五年医药行业势态如何呢?宏观上微观上可能会有些什么样变化呢?让我们就一些具体问题做一点分析和预测.本文提出了九点问题进行讨论:1.重组做强做大.2.不断培育重磅炸弹.
本文介绍分析了十味蒂达胶囊治疗慢性乙型肝炎的疗效.临床资料介绍:将85例研究对象随机分成治疗组40例,采用十味蒂达药;对照组45例采用甘利欣药治疗.两组其它基本的用药相同.
本文通过对51例患儿反复呼吸道感染的临床分析研究,并经服用小儿双清颗粒治疗半年后的临床跟踪观察,获得了近期疗效.远期疗效及免疫功能与恢复程度尚待今后临床实践中进一步
民族医药是我国医疗卫生事业的重要组成部分是民族医药宝库中一朵绚丽的奇葩,为了发掘、整理、发展这一珍贵的民族文化遗产,我们本着"突出藏医药特色、振兴民族医药事业"的方
会议
本文主要是通过青海久美藏药药业有限公司提出意见和建议,论述藏药继承和发展中存在的一系列问题.最后希望有关部门提出可行意见.