基于ARM9的嵌入式Web服务器Boa的软、硬件设计及其实现.doc_第1页
基于ARM9的嵌入式Web服务器Boa的软、硬件设计及其实现.doc_第2页
基于ARM9的嵌入式Web服务器Boa的软、硬件设计及其实现.doc_第3页
基于ARM9的嵌入式Web服务器Boa的软、硬件设计及其实现.doc_第4页
基于ARM9的嵌入式Web服务器Boa的软、硬件设计及其实现.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计论文-1-摘要论文主要介绍了基于ARM9的嵌入式Web服务器Boa的软、硬件设计及其实现,其中硬件部分的核心是三星的S3C2410X为处理器。最后成果形式为可以远程访问的WebServer嵌入式服务器。Boa是一款单任务的HTTP服务器。与其他传统的Web服务器不同的是当有连接请求到来时,它并不为每个连接单独创建进程,也不通过复制自身进程来处理多链接。而是通过建立HTTP请求列表来处理多路HTTP连接请求。同时它只为CGI程序创建新的进程,这样就在最大程度上节省了系统资源,这对嵌入式系统来说至关重要。同时它还具有自动生成目录、自动解压文件等功能。因此,Boa在嵌入式系统中具有很高的应用价值。关键词:ARM;Linux;嵌入式Web服务器;CGI毕业设计论文-2-AbstractThispaperhasmainlydevelopedthesoftwarehardwaredesignandrealizationoftheembeddedWebserverBoabasedonARM.AndthecoreofthehardwarepartisS3C2410XmicroprocessorproducedbySamsung.Thefinalachievementistheembeddedwebserverwhichcanremotevisit.Boaisasingle-taskingHTTPserver.Thatmeansthatunliketraditionalwebservers,itdoesnotforkforeachincomingconnection,nordoesitforkmanycopiesofitselftohandlemultipleconnections.ItinternallymultiplexesalloftheongoingHTTPconnections.AndforksonlyforCGIprograms,thisisveryimportanttoembeddedsystem.Atthesametime,italsohasthefunctionofautomaticdirectorygeneration、automaticfilegunzippingandsoon.SoBoaisofhighlyvalueintheembeddedsystemapplication.Keywords:ARM;Linux;EmbeddedWebserver;CGI毕业设计论文-3-目录摘要.1Abstract.2目录.3第一章引言.5第二章课题背景.62.1嵌入式系统简介.62.2嵌入式系统和Linux.62.3ARM9硬件平台.72.3.1ARM简介.72.3.2JXARM9-2410ARM嵌入式教学实验系统.8第三章嵌入式Web服务器.93.1概述.93.2Web服务器原理.93.3嵌入式Web服务器实现原理.93.3.1TCP/IP协议.93.4嵌入式Web服务器Boa.103.4.1Boa概述.103.4.2Boa的功能实现.11第四章CGI技术.124.1CGI概述.124.2CGI工作原理.12第五章建立嵌入式系统开发环境.145.1在Vmware下安装Redhat编译配置主机开发环境.185.2.1配置以太网.185.2.2安装配置tftp服务器.195.2.3配置防火墙.215.2.4配置NFS服务器.225.3JXARM9-2410中U-boot烧写.225.3.1u-boot的功能.225.3.2使用ADTIDE烧写u-boot.23第六章系统功能的实现.256.1GCC简介.256.1.1GCC概述.256.1.2GCC基本用法.25毕业设计论文-4-6.2Linux内核移植.266.2.1Linux内核源代码的安装.266.2.2Linux交叉编译环境的建立和使用.276.2.3Linux内核的配置和编译.276.3加载Linux内核映像.306.4BoaWeb服务器的移植.316.4.1BoaWeb服务器的建立.316.5Linux下动态Web页面的实现.326.5.1CGI程序分析.326.5.2Form输入的分析和解码.34第七章系统功能的测试.367.1测试Web服务器.367.2动态Web页面测试.37结束语.40致谢.41参考文献.42附录.43毕业设计论文-5-第一章引言随着计算机技术的发展,嵌入式系统已成为计算机领域的一格重要组成部分。以ARM体系结构设计的微处理器具有高性能、低功耗和低成本的特点,它广泛应用于嵌入式系统设计领域,是目前最广泛的32位微处理器。以前设备控制系统一般是通过通信线路进行的,其通信介质、通信协议、相关软件和硬件都是专用的,而Internet技术的发展使嵌入式设备的远程控制和管理方式有了改变。不需要专用的通信线路,并且传输的信息不局限于数据信号,还有声音和图像。最终要的是其通信协议是标准且公开的。随着Web技术的发展,几乎改变了现在的信息表达形式,很多应用都是基于Web技术的。由于HTML语言的标准统一性,只要在嵌入式设备中有一个微型服务器,就可以使用任意一种Web浏览器接收和发送信息。所以如何设计这种特别的Web服务器,如何在嵌入式设备中安装Web服务器,就成了嵌入式Web服务器的发展和研究方向。对于嵌入式Web服务器的研究和应用,其意义是重大的,它为我们管理、控制和监测各种各样的设备提供了一个很好的途径。这种设备可以是具有有限内存资源的8位或16位系统,已足够提供一个用户界面,而且这种方式是基于Internet的。这种设备可以在世界任何一个地方,只要它连入Internet就能够控制它。如今国内外有大量嵌入式应用软件已广泛用于各类嵌入式系统中。但是国内现状对于嵌入式Web服务器方面的研究不容乐观,而国外的相关研究则相对较多。如Pharlap公司的MicroWeb,AgranatSystem公司的EmWeb、emWare公司的emMicro,Allegro公司的RomPager,WindRiver公司的Wind等等,国内的有Webit。面对国内外嵌入式Web服务器技术发展的差距,考虑到其广泛的应用前景,这一技术的研究和开发具有一定的迫切性和必要性2。毕业设计论文-6-第二章课题背景这章对嵌入式系统作了定义,详细介绍了嵌入式Linux以及嵌入式Linux在现代嵌入式系统中的地位,最后介绍了本次课题的硬件平台。2.1嵌入式系统简介嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。2.2嵌入式系统和Linux随着微处理器的产生,价格低廉、结构小巧的CPU和外设连接提供了稳定可靠的硬件架构,那么限制嵌入式系统发展的瓶颈就突出表现在了软件方面。尽管从八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有Vxwork、pSOS、Nucleus和WindowsCE。但这些专用操作系统都是商业化产品,其高昂的价格使许多生产低端产品的小公司望而却步;而且源代码封闭性也大大限制了开发者的积极性。另外结合国内实情,当前国家对自主操作系统的大力支持,也为源码开放的Linux的推广提供的广阔的发展前景。还有,对上层应用开发者而言,嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统。在不久的将来,从冰箱到收音机都会内置处理器。因为Linux的开放性,许多人认为Linux非常适合多数Internet设备。他们认为Linux可以支持不同的设备,支持不同的配置。Linux对厂商不偏不倚而且成本极低,能够很快成为用于各种设备的操作系统。如今,业界已经达成共识:即嵌入式Linux是大势所趋,其巨大的市场潜力与酝酿的无限商机必然会吸引众多的厂商进入这一领域。Linux为嵌入操作系统提供了一个极有吸引力的选择,它是个和Unix相似、以核心为基础的、完全内存保护、多任务多进程的操作系统。支持广泛的计算机硬件,包括X86,Alpha,Sparc,MIPS,PPC,ARM,NEC,MOTOROLA等现有的大部分芯片。程式源码全部公开,任何人可以修改并在GNU通用公共许可证(GNUGeneralPublicLicense)下发行,这样,开发人员可以对操作系统进行定制,再也不必担心像MSwindows操作系统中后门的威胁。同时由于有GPL的控制,大家开发的东西大都相互兼容,不会走向分裂之路。Linux用户遇到问题时可以通过Internet向网上成千上万的Linux开发者请教,这使最困难的问题也有办法解决。Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux上。Linux还提供了强大的网络功能,有多种可选择窗口管理毕业设计论文-7-器(Xwindows)。其强大的语言编译器gcc、g+等也可以很容易得到。不但成熟完善、而且使用方便7。选择Linux的原因:1.可应用于多种硬件平台。Linux已经被移植到多种硬件平台,这对受开销、时间限制的研究与开发项目是很有吸引力的。原型可以在标准平台上开发然后移植到具体的硬件上,加快了软件与硬件的开发过程。2.Linux可以随意地配置不需要任何的许可证或商家的合作关系。3.它是免费的,源代码可以得到。这是最吸引人的。毫无疑问,这会节省大量的开发费用。4.它本身内置网络支持。5.Linux的高度模块化使添加部件非常容易。6.Linux在台式机上的成功,使大家看到了Linux在嵌入式系统中的辉煌前景。2.3ARM9硬件平台2.3.1ARM简介广义地讲,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。它是嵌入到对象体系中的专用计算机系统,以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。ARM作为嵌入式系统得核心,既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字,目前非常流行的ARM内核有ARM7TDM1、StrongARM、ARM720T、ARM9TDM1、ARM920T、ARM940T、ARM946T、ARM966T、ARM10TDM1等。本文所讨论的目标板的CPU为ARM920T内核的三星S3C2410芯片。下面介绍该微处理器的特点及其应用领域。ARM9系列微处理器在高性能和低功耗特性方面提供最佳的性能。它具有以下特点:提供1.1MIPS/MHz的5级流水线结构;支持32位ARM指令集和16位Thumb指令集;支持32位高速AMBA总线接口;全性能MMU,支持WindowsCE、Linux、PalmOS等主流嵌入式操作系统;MPU支持实时操作系统;支持数据Cache和指令Cache,具有更高的指令和数据处理能力。ARM9系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。它包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。S3C2410X是一款由Samsung公司设计的低功耗、高集成度的基于ARM920T核的微处理器。这款芯片集成了以下部件:16KB指令Cache、16KB数据Cache、MMU、外部存储控制器、LCD控制器(STN和TFT)、NANDFlash控制器、4个DMA通道、3个URT通道、一个I2C总线控制器、一个I2S总线控制器,以及4个PWN和1个内部定时器、毕业设计论文-8-通用I/O口、实时时钟、8通道10位ADC和触摸屏接口、USB主、USB从、SD/MMC卡接口等。现在它广泛应用于PDA、移动通信、路由器、工业控制等领域3。2.3.2JXARM9-2410ARM嵌入式教学实验系统JXARM9-2410教学实验系统是一套硬软件集成的、基于ARM的完整教学实验系统,该系统包含丰富的硬件资源、完善而优越的调试手段和详尽的教学实验教程9。JXARM9-2410目标处理器采用Samsung公司的S3C2410X微处理器,开发平台采用武汉创维特信息技术有限公司的ADT集成开发环境,嵌入式开发的所有过程都可在该环境下完成。系统有以下组成部分:ADTIDE集成开发环境;ADTEmulatorforARMJTAG仿真器;JXARM9-2410系列教学实验箱;各种连接线、电源适配器以及实验指导书等;教学实验系统配套光盘。JXARM9-2410ARM教学实验系统基本实验模型如图1所示:图1.实验模型示意图毕业设计论文-9-第三章嵌入式Web服务器3.1概述随着计算机技术的发展,嵌入式系统已成为计算机领域的一格重要组成部分。随着网络技术的发展,使得B/S(客户端/服务器)应用方式已成为一种潮流。它的基础是客户端要有一个浏览器程序,服务器端要有一个对应的Web服务器。一般网站都采用大型的通用Web服务器,但对于一般的管理信息系统或中小型应用系统,所需的功能比较简单,如仍采用通用Web服务器,无疑是资源的浪费。解决方法是使用功能相对简单,体积更小、消耗资源更少的简单Web服务器,于是嵌入式Web服务器就应运而生了。3.2Web服务器原理从功能上来讲,Web服务器监听用户机的服务请求,根据用户请求的类型提供相应得服务。用户端使用Web浏览器和Web服务器进行通信。Web服务器在接受到用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论