嵌入式Linux系统的网络实现究

来源 :船海工程 | 被引量 : 0次 | 上传用户:dt
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:随着网络应用越来越广泛,对各种嵌入式系统的网络功能要求越来越高。希望系统能够支持TCP/IP及其他Internet协议,使我们能够通过用户熟悉的浏览器查看设备状态、设置设备参数,或者将设备采集到的数据通过网络传送到Windows或Unix/Linux服务器上的数据库中。本文对嵌入式系统的网络连接由设备互联到以太网网络互联的实现进行深入讨论并提出解决方案。
  关键词:嵌入式系统;网络;linux系统
  中图分类号:TP391 文献标志码:B文章编号:1671-7953(2009)01-0083-03
  
  ThenetworkaccomplishofembeddedLinuxSystem
  ZHANG Zu-ying
  (Nanjing college of chemical technology Nanjing 210048,China)
  Abstract: With the wide range of network applications,embedded systems for a variety of network functions have been increasingly required. I hope the system can support TCP / IP and other Internet protocol that will enable us to users through a familiar browser to view the status of equipment,equipment set up parameters, or equipment to collect data transmitted over the network to Windows or Unix / Linux server database. In this paper,the embedded system network equipment from the Internet to connect to Ethernet networks of the Internet to achieve in-depth discussions and put forward solutions.
  Key words: Embedded system;network;linux system
  
  嵌入式系统是电脑软件与硬件的综合体,它是以应用为中心,以计算机技术为基础,软件硬件可裁剪,从而能够适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。它将操作系统和功能软件集成于计算机硬件系统之中,简单的说就是系统的应用软件与系统的硬件一体化,类似于BIOS的工作方式,具有软件代码小,高度自动化,响应速度快等特点,适合于要求实时的和多任务的体系[1]。
  在网络日益重要的今天,越来越多的嵌入式产品有了联网的要求。Linux对网络有很强的支持能力,甚至比大多数操作系统的性能更好。实际上,Linux的发展是人们在网络上的相互合作下进行的,且Linux本来就是用在网络上的。Linux几乎支持所有常见的Internet协议,如FTP、POP、DNS、NIS等等,Linux也适合各种局域网。
  
  1 嵌入式网络的实现方案
  
  基于嵌入式linux的系统以嵌入式微处理器为核心,运行嵌入式Linux操作系统。应用程序可通过网络进行更新,通过键盘进行人机对话,数据可通过LCD现场显示,重要数据可以文件形式保存在Flash等闪存存储器中,数据和报警信息可通过串口向上位机传输,也可通过以太网口向工业以太网或Internet发布信息,用户还可通过网络实现远程监控、远程维护。更为关键的是可充分利用Internet上已有的软件和协议,如ftp、http、Apache、PHP、MySQL等应用程序,迅速搭建前台数据采集系统、测控系统和后台管理系统的通信[2]。其优点是不需要专用的通信线路,可用现成的Internet网络传送数据;可以传送音响和图像;Internet的协议是现成和公开的,大到几十MB的MicrosoftIE浏览器,小到只有600KB的Mosaic浏览器都可以对网络数据进行读取。系统结构如图1。
  


  2 嵌入式设备的网络构成
  


  对于嵌入式设备,系统结构框图如图2。硬件部分,两个串行通信接口可以采用RS232。用以采集来自其他设备的远程的数据,然后由ARM微处理器进行处理,处理后的结果通过以太网接口分发给其他设备[3]。Flash存储器可为一到两个,512K的用于存储引导装载程序,2M的用来承载包含应用程序的操作系统映像。此种设计方式可以使在启动加载方式下,调试不同操作系统的应用程序时,只需要简单的更换包含对应的操作系统的引导程序的Flash芯片就能做到。满足大多数情况的需要,内存选用容量可为16M的16bit的芯片[4]。10M以太网接口的设计是考虑到通用性。为了调试的方便,这里使用了一个JTAG(国际标准测试协议)接口,可以访问其他系统资源,它还可以跟仿真器相连。USB接口分为两个主机接口和一个设备接口。LED用来在调试和使用过程中的显示数据结果。
  软件实现,软件的实现包括两个方面,一个是系统的内核,另一个是设备的驱动程序。
  1)首先编译 Kernel的源代码:
  执行下列命令:
  cd /usr/src/linux
  make mrproper
  make xconfig
  会出现一个界面,可以根据自己的实际需要来选择。在编译内核的过程中,最繁杂的事情就是这步配置工作。在配置过程中,大部分选项可以使用其缺省值,只有小部分需要根据用户不同的需要选择。选择的原则是将与内核其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内核的影响;不需要的功能就不要选;与内核关系紧密而且经常使用的部分功能代码直接编译到内核中。在选项Code maturity level options、Loadable module support、Processor type and features、Networking options、Network device support、ISDN subsystem、Character devices等分别选择适合自己所需要的项目。File systems建议选择相应的项目,为了以后扩充使用。
  2)为每个设备编写程序
  Linux系统的设备驱动程序完成的主要工作是:
  ① 对每个硬件设备进行初始化和释放;
  ② 数据传输,将数据从内核传到硬件设备,或者从硬件设备传到内核,读取应用程序传送给硬件设备的数据和回送应用程序请求的数据;
  ③ 检测和处理硬件设备出现的错误和异常;
  Linux系统的设备驱动程序的主要组成部分有:
  ① 自动配置和初始化子程序;
  ② 服务于I/O请求的子程序;
  ③ 中断服务子程序;
  根据所选择的设备和设备所要完成的功能分别进行编写。
  
  3 嵌入式网络设备地址的设置
  
  Linux不仅能很好地用于通用计算机,而且已很好地移植于嵌入式系统。嵌入式Linux,就是经过小型化裁减,而且可以被烧制到容量仅为几KB或几MB的存储器中,不需要硬盘,应用于各种特定的嵌入式环境的专用中,不需要硬盘,应用于各种嵌入式环境的专用操作系统[5]。它保留了Linux的大多功能,特别是网络支持能力。Uclinux就是一个优秀的嵌入式Linux操作系统。在嵌入式系统中,操作系统和所有的应用软件都被固化到Flash等存储设备中。在嵌入式系统中很少使用外存。嵌入式系统的启动往往也是“自动"的,即从上电到处于工作状态,不用人的介入。这是嵌入式设备应用的要求和特点。嵌入式网络设备的启动,很自然会遇到地址的设置问题。
  对于通用计算机,其以太网的MAC地址一般是不能变的,它是由网卡生产厂家固化在网卡中的。除了网卡生产厂家,很少有其他人关心它。而IP地址,可以根据用户的需要设为指定值[6]。其设定的IP地址是存储在硬盘上的,操作系统启动时,可以自动取得该值并启用它。
  嵌入式网络设备中地址的设置有它的特点:
  ①关心和接触嵌入式网络设备MAC地址的人比关心和接触通用计算机MAC地址的人多得多。因为设计、研究和生产嵌入式网络设备的厂家比网卡的厂家多得多[7]。
  ②在嵌入式设备中往往没有硬盘,它的操作系统和应用软件通常是打包放在Flash等存储设备中。系统启动时,把Flash中的代码释放到内存中,再在内存中运行。比如嵌入式操作系统Uclinux,在用于S3C4510B这样的带以太网接口的嵌入式设备时,把内核和应用程序代码压成一个映像文件包,在包中有网络部分MAC及IP地址。但这些MAC及IP地址的值是在编译映像文件时设定的,而且在编译后的映像文件中的值是不能直观地看到的,而且在编译后的映像文件中的值是不能直观地看到的,它是压缩了的二进制数据,不方便地映像文件中直接更改MAC及IP地址的值。
  ③对于使用同一映像文件的嵌入式网络设备,如果不做进一步的处理,其MAC及IP地址是相同的。这显然不能满足应用,因为不同的设备应该有不同的MAC及IP地址[8]。而编译生成映像文件往往要用十几甚至几十分钟。对于生产厂家,不可能为每台设备编译一个特定的映像文件。
  嵌入式网络设备系统的MAC及IP地址设置的基本思想是:把MAC及IP地址存放在Flash的未用扇区(一般在高扇区),嵌入式操作系统启动后,自动运行一个程序去读取MAC及IP地址并设置它[10]。
  用户使用的方法是通过计算机串口与网络设备的RS232接口(即串口)相连,使用超级终端的方式,运行网络设备中的程序把数据写入Flash中。
  嵌入式网络设备的“身份证”--MAC及IP地址的设置,与通用计算机的设置有独特之处。嵌入式网络设备往往没有硬盘,不能像通用计算机那样操作;也不可能为每一台设备“量身”编译映像文件。可以把MAC及IP地址存放在Flash等存储设备上,嵌入式操作系统启动后,自动运行一个程序去读取MAC及IP地址并设置它。这样就可以在同一映像文件包下方便地配置嵌入式网络设备MAC及IP地址[9]。
  
  4 小结
  
  如今,互联网的应用正在转向以嵌入式设备为中心。系统与Internet的结合实现网络化是一种必然的趋势。把嵌入式linux微内核嵌入到32位MCU系统中,通过构造TCP/IP多种网络协议和基本网络通信协议,充分利用嵌入式操作系统对底层硬件和网络协议的支持,
  并对系统实时性的要求改造linux内核和虚拟内存机制来保证任务完成的实时性和可靠性,在各类应用领域有很好的前景,具有开发周期短、系统稳定可靠、适应性强等特点。
  
  参考文献
  [1]班建民,付保川.基于嵌入式数据库的实时数据采集方法[J].微计算机信息.2005,(10)10.
  [2]田 霖,李正熙,童朝南.实时仿真与嵌入式系统[J].微计算机信息.2005,13.
  [3]王保进.一种提高构件化嵌入式操作系统性能的方案[J].微计算机信息.2005,7.
  [4]许海燕,付 炎.嵌入式系统技术与应用[M].北京:机械工业出版社,2003.
  [5]雷 澎.Linux 的内核与编程[M].北京:机械工业出版社,2000.
  [6]陈莉君.Linux 操作系统内核分析[M].北京:人民邮电出版社,2000.
  [7]邹思轶.嵌入式 Linux 设计与应用[M].北京:清华大学出版社,2002.
  [8]王学龙.嵌入式Linux系统设计与应用[M].北京:清华大学出版社,2001.
  [9]张星烨.基于Linux的嵌入式系统在测控系统中的设计与应用[J].贵州工业大学学报,2002,(4).
  [10]waynewolf著,孙玉芳译,嵌入式计算系统设计原理[M].北京:机械工业出版社,2002.
其他文献
摘 要:航空相机是为新型战术侦察机配备的侦察设备,相机工作时恶劣的载机条件和环境条件,会引起相机产生各种故障。为保证相机正常工作,在地面对航空相机进行故障诊断显得非常重要。本文针对航空相机的地面检测需求,设计了配套的航空相机故障检测系统。系统采用自动测试设备原则进行设计,检测资源由基于PC104总线的嵌入式计算机统一管理,根据检测需求对资源进行合理分配。系统可在地面上仿真航空相机与飞机之间的通讯任
期刊
摘 要:面向航海的地理信息系统的建立和发展相对于陆地而言具有更高的难度和紧迫性。本文针对目前国内外现状,讨论了面向航海应用的地理信息系统的特点、应用现状、关键技术及其未来的发展方向,希望能够对相关方面的研究有一定的参考作用。  关键词:航海;地理信息系统;关键技术  中图分类号:U644 文献标志码:A文章编号:1671-7953(2009)01-0010-03    Key Technology
期刊
提 要:本文提出了一种新的预测旋转机械随机响应方法——人工神经网络方法。研究了这种神经网络结构的学习算法。为了保证快速学习收敛,应用Lyapunov函数得到一种自适应学习率方法。用这种方法对某直立转子的地震响应进行在线预测,计算机仿真结果表明,这种网络学习算法是有效的,并且是可行的。  关键词:自递归神经网络;学习率;转子响应    Predicting Random Response of Hi
期刊
摘 要:正确的教育观和工科教育的工程观是工科院校人才培养模式的先导和灵魂。本文提出工科高校要用适合时代要求的“工程教育观”更新传统上狭窄的“技术教育观”,面向基层培养大批能综合运用现代科学理论和技术手段,懂技术、会管理,兼备人文精神和科学精神的实践性、综合性、创新性、人文文化都比较强的复合型应用型人才;并从课程体系改革、实践环节强化、专业教育和引导、机制与载体创新等方面对复合型应用型人才培养的途径
期刊
摘要:为了避免江河湖面上来往船只可能造成对桥墩的撞击,设计了一种基于知识的桥墩防撞智能化的系统。在桥墩设防区域的江河湖面上设置一定的监视区,一旦来往船只进入设防区域,系统能给出相应的警示报警和处理。  关键词:桥墩防撞;警示报警;产生式规则;智能系统  中图分类号:TP182文献标志码:A文章编号:1671-7953(2009)01-0045-04    Knowledge Based Intel
期刊
摘要:国产化CAD软件究竟如何发展,要看到它的内在定律,但国产化软件不排斥学习国外先进技术。通过企业应用,看到CAD是一种知识化产品,要经过培训、服务才能发挥最大效益。  关键词:CAD技术;发展阶段;发展趋势  中图分类号:TP391.72文献标志码:A文章编号:1671-7953(2009)01-0052-03    Discuss the Development Trend of CAD i
期刊
摘 要:作者通过分析三相异步交流电动机固有和人为机械特性,推导出了一个简单实用的电磁转矩计算公式,结合SolidWorks软件的CAE插件COSMOSMotion的动力学仿真功能,建立了交流机电传动系统的动力学仿真模型。运用此模型可以仿真机电传动系统各种工况下的过渡过程,并取得各种重要特性曲线,如速度、加速度、电磁转矩的过渡过程曲线,以便对此系统进行评价和研究。本文所提出的研究方法适用于各种直流、
期刊
摘要:本文对遗传算法的基本特点、步骤和流程和基于MATLAB的遗传算法优化工具箱进行了介绍,结合多目标函数问题的优化实例,说明了遗传算法是一种具有良好的全局寻优性能的优化方法。  关键词:遗传算法;MATLAB;多目标函数优化  中图分类号:TP311文献标志码:B文章编号:1671-7953(2009)01-0049-03    Multi-objective Optimization Base
期刊
摘 要:在基于嵌入式Linux系统的设计当中,一项最基本的也是嵌入式系统开发中至关重要的工作就是移植或构建一个Boot Loader。文章分析了Boot Loader工作原理及Blob的启动流程,介绍了Blob移植的基本过程,并成功实现了Blob在基于IntelPXA270处理器平台上的移植工作,目前Blob运行稳定。该移植方法具有一定的实践参考和借鉴意义。  关键词:嵌入式系统;引导程序;Blo
期刊
摘 要:现代仿真技术已经不满足于单纯的数字仿真,为了更好的表达效果,视景仿真作为人机交互的手段,成为了必然的选择。对于基于OpenGL的鱼雷仿真系统进行了详细的描述。为了能更方便的建立复杂的三维模型,应用了3DS作为OpenGL的辅助建模工具,同时利用OpenGL读取3DS模型。建立了仿真的框架,十分详细的讲述了仿真渲染的过程,同时应用了一种提高渲染速度的新方法。最后以仿真图的形式给出了仿真结果,
期刊