ARM平台嵌入式WEB服务器的设计与实现_第1页
ARM平台嵌入式WEB服务器的设计与实现_第2页
ARM平台嵌入式WEB服务器的设计与实现_第3页
ARM平台嵌入式WEB服务器的设计与实现_第4页
ARM平台嵌入式WEB服务器的设计与实现_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计论文- 0 -(2014 届)本科毕业设计(论文)资料题 目 名 称: ARM 平台嵌入式 WEB 服务器的设计与实现 学 院(部): 计算机与通信学院 专 业: 通信 103 班 学 生 姓 名: 伍柏林 班 级: 通信 103 学号: 10408200331 指导教师姓名: 叶玮琼 职称: 最终评定成绩: 湖南工业大学教务处毕业设计论文- 1 -湖南工业大学本科毕业论文(设计)诚信声明本人郑重声明:所呈交的毕业论文(设计) ,题目ARM 平台嵌入式 WEB 服务器的设计与实现是本人在指导教师的指导下,进行研究工作所取得的成果。对本文的研究作出重要贡献的个人和集体,均已在文章以明确方式注明。除此之外,本论文(设计)不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明应承担的责任。作者签名:伍柏林日期:2014 年 4 月 23 日毕业设计论文- 2 -摘 要论文主要介绍了基于ARM9的嵌入式Web服务器Boa的软、硬件设计及其实现,其中硬件部分的核心是三星的S3C2440 为处理器。最后成果形式为可以远程访问的 WebServer嵌入式服务器。Boa是一款单任务的HTTP服务器。与其他传统的 Web服务器不同的是当有连接请求到来时,它并不为每个连接单独创建进程, 也不通过复制自身进程来处理多链接。而是通过建立HTTP请求列表来处理多路HTTP连接请求。同时它只为CGI 程序创建新的进程,这样就在最大程度上节省了系统资源,这对嵌入式系统来说至关重要。同时它还具有自动生成目录、自动解压文件等功能。因此, Boa 在嵌入式系统中具有很高的应用价值。关键词:ARM ;Linux ;嵌入式 Web 服务器;CGI毕业设计论文- 3 -AbstractThis paper has mainly developed the software hardware design and realization of the embedded Web server Boa based on ARM. And the core of the hardware part is S3C2440 microprocessor produced by Samsung . The final achievement is the embedded webserver which can remote visit. Boa is a single-tasking HTTP server. That means that unlike traditional webservers, it does not fork for each incoming connection, nor does it fork many copies of itself to handle multiple connections. It internally multiplexes all of the ongoing HTTP connections. And forks only for CGI programs, this is very important to embedded system. At the same time, it also has the function of automatic directory generation、automatic file gunzipping and so on. So Boa is of highly value in the embedded system application. Keywords: ARM;Linux;Embedded Web server;CGI毕业设计论文- 4 -第一章 引言 .6第二章 课题背景 .72.1 嵌入式系统简介 .82.2 嵌入式系统和 Linux.82.3 ARM9 硬件平台 .92.3.1 ARM 简介 .92.3.2 mini2440 嵌入式开发板 .9第三章 建立嵌入式系统开发环境 .102.1 在 Vmware 下安装 ubuntu12.04.112.2 虚拟机的配置 .122.2.1 安装配置 tftp 服务器 .122.2.2 配置 NFS 服务器 .132.2.3 交叉编译器的配置 .13第四章 系统移植 .144.1 Uboot 移植 .144.2.U-boot 烧写 .144.3.1 u-boot 的功能 .144.3.2 使用 DNW 烧写 u-boot.144.3.3 使用 H-Jtag 烧写 u-boot.154.3Linux 内核移植 .154.3.1 Linux kernel 的下载 .164.3.3 Linux 内核的配置和编译 .164.4 文件系统的移植 .174.5 加载 Linux 内核映像 .174.6 Boa Web 服务器的移植 .184.6.1 Boa Web 服务器的建立 .184.7 Linux 下动态 Web 页面的实现 .194.7.1 CGI 程序分析 .194.7.2 Form 输入的分析和解码 .21第五章 嵌入式 Web 服务器 .225.1 概述 .225.2 Web 服务器原理 .235.3 嵌入式 Web 服务器实现原理 .235.3.1 TCP/IP 协议 .235.4 嵌入式 Web 服务器 Boa.245.4.1 Boa 概述 .245.4.2 Boa 的功能实现 .24第六章 CGI 技术 .256.1 CGI 概述 .256.2 CGI 工作原理 .26第七章 系统功能的测试 .287.1 测试 Web 服务器 .287.2 动态 Web 页面测试 .29毕业设计论文- 5 -结束语 .32致谢 .33参考文献 .34附录 .35毕业设计论文- 6 -第一章 引言随着计算机技术的发展,嵌入式系统已成为计算机领域的一格重要组成部分。以ARM 体系结构设计的微处理器具有高性能、低功耗和低成本的特点,它广泛应用于嵌入式系统设计领域,是目前最广泛的 32 位微处理器。以前设备控制系统一般是通过通信线路进行的,其通信介质、通信协议、相关软件和硬件都是专用的,而 Internet 技术的发展使嵌入式设备的远程控制和管理方式有了改变。不需要专用的通信线路,并且传输的信息不局限于数据信号,还有声音和图像。最终要的是其通信协议是标准且公开的。随着Web 技术的发展,几乎改变了现在的信息表达形式,很多应用都是基于 Web 技术的。由于 HTML 语言的标准统一性,只要在嵌入式设备中有一个微型服务器,就可以使用任意一种 Web 浏览器接收和发送信息。所以如何设计这种特别的 Web 服务器,如何在嵌入式设备中安装 Web 服务器,就成了嵌入式 Web 服务器的发展和研究方向。对于嵌入式 Web 服务器的研究和应用,其意义是重大的,它为我们管理、控制和监测各种各样的设备提供了一个很好的途径。这种设备可以是具有有限内存资源的 8 位或16 位系统,已足够提供一个用户界面,而且这种方式是基于 Internet 的。这种设备可以在世界任何一个地方,只要它连入 Internet 就能够控制它。毕业设计论文- 7 -第二章 课题背景这章对嵌入式系统作了定义,详细介绍了嵌入式 Linux 以及嵌入式 Linux 在现代嵌入式系统中的地位,最后介绍了本次课题的硬件平台。2.1 嵌入式系统简介嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。2.2 嵌入式系统和 Linux随着微处理器的产生,价格低廉、结构小巧的 CPU 和外设连接提供了稳定可靠的硬件架构,那么限制嵌入式系统发展的瓶颈就突出表现在了软件方面。尽管从八十年代末开始,陆续出现了一些嵌入式操作系统,比较著名的有 Vxwork、pSOS、Nucleus 和Windows CE。但这些专用操作系统都是商业化产品,其高昂的价格使许多生产低端产品的小公司望而却步;而且源代码封闭性也大大限制了开发者的积极性。另外结合国内实情,当前国家对自主操作系统的大力支持,也为源码开放的 Linux 的推广提供的广阔的发展前景。还有,对上层应用开发者而言,嵌入式系统需要的是一套高度简练、界面友善、质量可靠、应用广泛、易开发、多任务,并且价格低廉的操作系统。在不久的将来,从冰箱到收音机都会内置处理器。因为 Linux 的开放性,许多人认为 Linux 非常适合多数Internet 设备。他们认为 Linux 可以支持不同的设备,支持不同的配置。Linux 对厂商不偏不倚而且成本极低,能够很快成为用于各种设备的操作系统。如今,业界已经达成共识:即嵌入式 Linux 是大势所趋,其巨大的市场潜力与酝酿的无限商机必然会吸引众多的厂商进入这一领域。Linux 为嵌入操作系统提供了一个极有吸引力的选择,它是个和 Unix 相似、以核心为基础的、完全内存保护、多任务多进程的操作系统。支持广泛的计算机硬件,包括X86,Alpha,Sparc,MIPS,PPC,ARM,NEC,MOTOROLA 等现有的大部分芯片。程式源码全部公开,任何人可以修改并在 GNU 通用公共许可证 (GNU General Public License)下发行,这样,开发人员可以对操作系统进行定制,再也不必担心像 MS windows 操作系统中“后门“的威胁。同时由于有 GPL 的控制,大家开发的东西大都相互兼容,不会走向分裂之路。Linux 用户遇到问题时可以通过 Internet 向网上成千上万的 Linux 开发者请教,这使最困难的问题也有办法解决。Linux 带有 Unix 用户熟悉的完善的开发工具,几乎所有的 Unix 系统的应用软件都已移植到了 Linux 上。Linux 还提供了强大的网络功能,有多种可选择窗毕业设计论文- 8 -口管理器(X windows)。其强大的语言编译器 gcc、g+等也可以很容易得到。不但成熟完善、而且使用方便 7。选择 Linux 的原因:1.可应用于多种硬件平台。Linux 已经被移植到多种硬件平台,这对受开销、时间限制的研究与开发项目是很有吸引力的。原型可以在标准平台上开发然后移植到具体的硬件上,加快了软件与硬件的开发过程。2.Linux 可以随意地配置不需要任何的许可证或商家的合作关系。3.它是免费的,源代码可以得到。这是最吸引人的。毫无疑问,这会节省大量的开发费用。4.它本身内置网络支持。5.Linux 的高度模块化使添加部件非常容易。6.Linux 在台式机上的成功,使大家看到了 Linux 在嵌入式系统中的辉煌前景。2.3 ARM9 硬件平台2.3.1 ARM 简介广义地讲,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。它是嵌入到对象体系中的专用计算机系统,以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。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,支持 Windows CE、Linux、Palm OS 等主流嵌入式操作系统; MPU 支持实时操作系统; 支持数据 Cache 和指令 Cache,具有更高的指令和数据处理能力。ARM9 系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。它包含 ARM920T、 ARM922T 和 ARM940T 三种类型,以适用于不同的应用场合。S3C2410X 是一款由 Samsung 公司设计的低功耗、高集成度的基于 ARM920T 核的微处理器。这款芯片集成了以下部件:16KB 指令 Cache、16KB 数据 Cache、MMU、外部存储控制器、LCD 控制器(STN 和 TFT) 、NAND Flash 控制器、4 个 DMA 通道、3 个毕业设计论文- 9 -URT 通道、一个 I2C 总线控制器、一个 I2S 总线控制器,以及 4 个 PWN 和 1 个内部定时器、通用 I/O 口、实时时钟、8 通道 10 位 ADC 和触摸屏接口、USB 主、USB 从、SD/MMC 卡接口等。现

温馨提示

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

评论

0/150

提交评论