哈尔滨理工大学硕士学位论文基于ARM的LwIP协议栈研究与移植姓名:董向阳申请学位级别:硕士专业:计算机应用技术指导教师:李岩20090301
哈尔滨理工人学T学硕十学位论文基于ARM的LwlP协议栈研究与移植摘要TCP/IP协议作为Intemet上的通信实现方式的一种,是近年来嵌入式应用领域的一个研究热点。嵌入式设备要与Internet网络直接交换信息,就需要支持TCP/IP协议。嵌入式系统具有内核小、专用性强、系统精简、实时性高、功耗和环境要求严格等特点,所以传统的TCP/IP协议不适合移植到嵌入式系统中。实现嵌入式系统网络接入有两种选择,第一种是按照TCP/IP协议的原理编写简化版的通信协议;第二种是将已有小型的,适用于嵌入式系统的网络协议移植到系统中。首先本文简要介绍了嵌入式网络协议的研究现状和研究内容,分析了LwlP协议栈中IP协议、TCP协议、UDP协议和ICMP协议的原理。由于LwlP没有使用和操作系统相关的系统调用和数据结构,所以在LwIP和操作系统之问增加了一个操作系统封装层为操作系统服务。LwlP不仅保持了TCP协议主要功能,而且减少了对RAM的占用。其次,移植中实现了操作系统模拟层和LwIP底层接口。操作系统模拟层为协议和操作系统提供了一个接口,使协议对操作系统透明,可以不依赖操作系统运行,需要实现信号量、邮箱、线程和临界保护。LwlP底层接口为不同的硬件提供不同的驱动程序,需要实现系统初始化、网卡初始化、线程接收、数据包的读取和发送。最后提出测试设计框架,在ARM开发板SHI.tC/OS.II操作系统上对移植的协议进行测试。测试结果表明,移植协议可以正常工作,实现了基本的网络功能。关键词gC/OS.II操作系统;LwlP协议栈;‘操作系统模拟层;底层接口
哈尔滨理工人学T学硕十学位论义ResearchandTransplantofLwlPProtocolBasedonARMAbstractAsarealizationofInternetcommunicationsprotocol,TCP/IPprotocolwaspaidmoreandmoreattentioninembeddedapplicationfield.Embeddedequipments,whichaimtodirectexchangeinformationinInternet,shouldsupporttheTCP/IPprotoc01.Embeddedsystemhassuchfeaturesassmallkernel,compact,strongspecificity,highimmediacy,powerdissipationandenvironmentstrictlydemand.Basedonthesecharacters,itappearsthattraditionalTCP/IPprotocolbecamenotsuitabletoembeddedsystemsfortransplantation.Therearetwowaystoapplytheembeddedsystemnetworkaccess.OneisconstructingminorcommunicationsprotocolinaccordancewiththeprincipleoftheTCP/IPprotoc01.Theotheristransplantexistingminornetworkprotocols,whichispropertotheembeddedsystem.Firstlythecurrentstatusofembeddednetworkprotocolresearchandthecontentsofthisthesiswereintroduced.TheLwIPprotocolstackprinciple,especiallytheIPprotocol,TCPprotocol,ICMPprotocolandUDPprotocol,wereanalyzed.BecausesystemcallanddatastructurewithoperatingsystemconcernedwerenotadoptedinLwlP,anoperatingsimulationlayerbetweenLwIPandoperatingsystem,whichprovidesystemservice,shouldbeaffiliated.TheprotocolheldtheTCPprotocolmainfunction,andreducedtheRAM’Soccupationaswell.Secondly,theoperatingsystemsimulationlayerandLwIPinterfacelayerwererealizedinthetransplantation.Withoutrelyingontheoperatingsystemoperation,operatingsystemsimulationfortheagreementandoperatingsystemlayer,whichneedrealizethesignal,mail—box,threadandcriticalprotectionoperation,providedaninterfacebetweenoperatingsystemandprotoc01.LwlPinterfacelayer,whichprovidevariousdevicedriversfordifferenthardware,shouldinculdesuchfuntionassysteminitiation,Ethernetinitiation,thread.II—
receiving,datapacketreadingandsending.Finally,thetestingdesignarchitecturewaspresentedinthisthesistotestthetransplantprotocolinARMdevelopmentboardand}tC/OS.IIoperatingsystem·Bytheanalysisoftheexperimentalresult,itshowsthatthetransplantedprotocolprovidedthebasicnetworkfunctionsandworkedfluently.KeywordslxC/OS·IIoperatingsystem,LwlPprotocolstack,operatingsystemsimulationlayer,bottominterface..III..
哈尔滨理工大学硕士学位论文原创性声明本人郑重声明:此处所提交的硕士学位论文《基于ARM的LwlP协议栈研究与移植》,是本人在导师指导下,在哈尔滨理工大学攻读硕士学位期间独立进行研究工作所取得的成果。据本人所知,论文中除已注明部分外不包含他人已发表或撰写过的研究成果。对本文研究工作做出贡献的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本人承担。作者签名:耄I痧尹.】!;}日期:房哆年事月枷日哈尔滨理工大学硕士学位论文使用授权书《基于ARM的LwlP协议栈研究与移植》系本人在哈尔滨理工大学攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研究成果归哈尔滨理工大学所有,本论文的研究内容不得以其他单位的名义发表。本人完全了解哈尔滨理工大学关于保存、使用学位论文的规定,同意学校保留并向有关部门提交论文和电子版本,允许论文被查阅和借阅。本人授权哈尔滨理工大学可以采用影印、缩印或其他复制手段保存论文,可以公布论文的全部或部分内容。本学位论文属于保密口,在年解密后适用授权书。,不保密日。(请在以上相应方框内打√)作者签名:导师签名:李(耖阳舌岩同期:醴矿l哆年芗月占聊日醐。刁年岁月加日
哈尔滨理工人学T学硕l二学位论文第1章绪论随着信息技术的飞速发展,特别是互联网的迅速普及,3C…(计算机,通讯,消费电子)合一的加速,数字化时代已经来临。嵌入式接入设备是数字化时代的一大主流产品,世界各国在此领域开始了激烈的竞争,争取获得主导地位。近年来,互联网得到了很大发展,形态各异的3C合一产品将成为网络接入设备的一大主流,也将成为工作和家庭生活的必需品。这大大扩展了嵌入式系统的应用服务领域。同时,嵌入式软件涉及面业愈发扩大。它不仅包括嵌入式操作系统等系统软件,还包括一系列支撑软件心1,如数据库、调试软件、网络通讯协议、用户界面系统等,当然也包括各种应用软件。1.1课题研究背景及意义本课题来源于黑龙江省教育厅技术研究项目“嵌入式层析成像传感器优化设计及电容测量研究”(11511078),完成其中的数据通讯部分。因特网技术的成熟、带宽的提高,使得ICP和ASP在网上提供的信息内容日趋丰富、应用项目多种多样。像电话手机、电话座机及电冰箱、微波炉等嵌入式电子设备的功能不能再单一,电器结构也更为复杂。为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性、简化应用程序设计、保障软件质量和缩短开发周期签。国外商品化的嵌入式实时操作系统,已经进入我国市场的,如WindRiver、Microsoft、QNX和Nuclear等产品。我国自主开发的嵌入式系统软件产品如银科(CoreTek)公司的嵌入式软件开发平台DeltaSystem,它不仅包括DeltaCore嵌入式实时操作系统,而且还包括LamdaTools交叉开发工具套件,测试工具和应用组件等。此外,中科院也推出了Hopen嵌入式操作系统。为适应嵌入式处理结构和应用上网需求,现代的嵌入式系统要求配备标准的一种或多种网络通信接口针对外部联网要求,嵌入式设备必须配有通信接口,相应需要TCP/IP协议栈软件支持。由于家用电器互相关联及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEEl394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程模式,还需要
哈尔滨理工人学T学硕上学位论文相应的浏览器,如HTML、WML等。所以,只有当嵌入式设备具备与Interact互联的性质时,才能称之为是完备的嵌入式系统。1.2国内外研究现状1.2.1嵌入式操作系统研究现状嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。1.2.1.1国外主流的嵌入式操作系统WindowsCE¨1是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows95,WindowsCE的图形用户界面相当出色。其中CE中的C代表袖珍(Compact)、消费(Consumer)、通信能力(Connectivi0和伴侣(Companion),E代表电子产品(Electronics)。与Windows95/98、WindowsNT不同的是,WindowsCE是所有源代码全部由微软自行开发的嵌入式新型操作系统,其操作界面虽来源于Windows95/98,但WindowsCE是基于WIN32API重新开发、新型的信息设备的平台。WindowsCE具有模块化、结构化和基于Win32应用程序接口和与处理器无关等特点。WindowsCE不仅继承了传统的Windows图形界面,并且在WindowsCE平台上可以使用Windows95/98上的编程工具(如VisualBasic、VisualC++等)、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在WindowsCE平台上继续使用。WindowsCE并非是专为单一装置设计的,所以微软为旗下采用WindowsCE作业系统的产品大致分为三条产品线,PocketPC(掌上电脑)、HandheldPC(手持设备)及AutoPC。VxWorksHl是美国WindRiverSystem公司推出的一个实时操作系统。Tomado是WRS公司推出的一套实时操作系统开发环境,类似MicrosoftVisualC,但是提供了更丰富的调试、仿真环境和工具。VxWorks提供了一个快速灵活的与ANSIC兼容I/O系统,包括UNIX标准的BasicI/O(creat0,remove(),open(),close(),read(),write(),andioctl()),BufferI/O(fopen0,fclose0,read(),fwrite0,getc0,putc())以及POSIX标准的异步I/O。VxWorks驱动程序包括网络驱动、
哈尔滨理工人学T学硕.L学位论文管道驱动、RAM盘驱动、SCSI驱动、键盘驱动、显示驱动、磁盘驱动、并口驱动等。Linux拍1具有做嵌入式的优势。首先,Linux是开放源代码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支持。其次,Linux的内核小、效率高,内核的更新速度很快,Linux是可以定制的,其系统内核最小只有约134KB。第三,Linux是免费的OS,在价格上极具竞争力。Linux还有着嵌入式操作系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬件平台,是一个跨平台的系统。到目前为止,它可以支持二三十种CPU。而且性能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业芯片,都开始做Linux的平台移植工作。移植的速度远远超过Java的开发环境。也就是说,如果今天用Linux环境开发产品,那么将来换CPU就不会遇到困扰。同时,Linux内核的结构在网络方面是非常完整的,Linux对网络中最常用的TCP/IP协议有最完备的支持。提供了包括十兆、百兆、千兆的以太网络,以及无线网络,TokerRing(令牌环网)、光纤甚至卫星的支持。所以Linux很适于做信息家电的开发。还有使用Linux为的是来开发无线连接产品的开发者越来越多。Linux在快速增长的无线连接应用主场中有一个非常重要的优势,就是有足够快的开发速度。这是因为Linux有很多工具,并且Linux为众多程序员所熟悉。因此,在嵌入式系统中使用Linux操作系统是一个不错的选择。lxC/OS.II【61是一个完整的、可移植、可固化、可裁剪的占先式实时多任务内核。lxC/OS.II绝大部分的代码是用ANSI的C语言编写的,包含有-d,部分汇编代码,使之可供不同架构的微处理器使用。至今,从8位到64位,I.tC/OS—II已在超过40种不同架构上的微处理器上运行。肛C/OS.II已经在世界范围内得到广泛应用,包括很多领域,如手机、路由器、集线器、不间断电源、飞行器、医疗设备及工业控制等。实际上,I.tC/OS.II已经通过了非常严格的测试,并且得到了美国航空管理局(FederalAviationAdministration)的认证,可以用在飞行器上。这说明I-tC/OS.II是稳定可靠的,可用于与人性命攸关的安全紧要(safetycritical)系统。除此以外,pC/OS.II的鲜明特点就是源码公开,便于移植和维护。SymbianOS"1是由诺基亚、索尼爱立信、摩托罗拉、西门子等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。而Symbian操作系统的前身是EPOC,而EPOC是ElectronicPieceofCheese取第一个字母而来的,其原意为“使用电子产品时可以像吃乳酪一样简单”,这就是它在设计时所坚持的理念。Symbian操作系统在智能移动终端上拥有强大的应用程序以及通信能力,这都要归功于它有一个非常健全的核心:强大的对象导