下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于ARM的嵌入式WEB服务器研究摘要本文主要研究基于 ARM 的Linux 的嵌入式 Web 服务器的构建及应用。随着互联网的快速发展,越来越多的信息化产品需要接入互联网并通过Web 页面进行远程访问和控制, 嵌入式Web服务器能够实现在各种工业监控、检测、以及自动化控制等领域的远程控制,世界上无论任何地方,只要是存在Internet网络,都能够通过Web服务对各种现场进行管理,甚至可以在有网络的手持设备上对现场进行控制管理操作。嵌入式 Web 服务器已经成为了当前嵌入式系统开发和应用的热点。本文通过描述嵌入式系统的整体架构、特点及发展;对嵌入式主流处理器ARM的体系结构和基于ARM9的S3
2、C2410处理器的性能和特点进行分析研究;详细描述了嵌入式Linux开发平台的搭建过程:包括对bootloader的分析和移植,Linux26内核的结构分析、代码修改以及内核裁减、配置和移植,网卡驱动程序的设计和实现。 最后基于上述搭建的平台来构建Boa服务器,并在Boa服务器下开发应用程序。通过开发基于Boa嵌入式Web服务器的服务器端表单处理程序,来实现PC机与开发板的动态网页交互功能,并且,通过PC机上的浏览器程序可以直接控制开发板上的软硬件资源,以实现对目标板的远程监控功能。关键字:嵌入式系统,ARM,Linux,Boa,CGI绪论1.1嵌入式系统概述嵌入式系统(Embedded sy
3、stem),是一种“完全嵌入受控器件内部,为特定应用而设计的专用 HYPERLINK /view/3314.htm t _blank 计算机系统”,根据英国电气工程师协会( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与 HYPERLINK /view/920814.htm t _blank 个人计算机这样的通用 HYPERLINK /view/3314.htm t _blank 计算机系统不同,嵌入式系统通常用于执行带有特定要求的预先定义的任务。嵌入式系统的核心是由一个或几个预先编程好以用
4、来执行少数几项任务的 HYPERLINK /view/1125.htm t _blank 微处理器或者 HYPERLINK /view/1012.htm t _blank 单片机组成。与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的;所以经常称为“ HYPERLINK /view/33738.htm t _blank 固件”。国内普遍认同的嵌入式系统定义为:以应用为中心,以 HYPERLINK /view/62176.htm t _blank 计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、 HYPERLINK /view/720038.htm
5、 t _blank 功耗等严格要求的专用计算机系统。嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统 HYPERLINK /view/195818.htm t _blank 需求进行合理的裁减利用。嵌入式系统是将先进的 HYPERLINK /view/62176.htm t _blank 计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式系统
6、必须根据应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到几十K HYPERLINK /view/928365.htm t _blank 微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。 1.1.1嵌入式系统的组成嵌入式系统是属于专用的计算机操作系统,它具有一般计算机系统组成的共性,一个嵌入式系统装置一般都由 HYPERLINK /view/4353330.htm t _blank 嵌入式计算机系统和执行装置组
7、成。嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。嵌入式系统硬件是嵌入式系统软件运行的基础,它提供了嵌入式系统软件运行的物理平台和通信接口。嵌入式系统软件主要包括嵌入式操作系统和嵌入式应用软件,它们是整个系统的控制核心,控制整个系统的运行,提供人机交互信息等。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。1 嵌入式系统硬件结构硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就
8、构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。不同于普通计算机系统组成,嵌入式系统是属于特制的专用计算机系统,在实际应用中嵌入式系统的硬件组成非常简单,除了微型处理器和基本外围电路外,其余的电路都可以根据需要和成本进行裁剪、定制,非常经济、可靠。随着片上系统(System on Chip)技术的发展,越来越多的外设可以集成到片上(处理器芯片内部) ,进一步降低了嵌入式系统硬件成本。2嵌入式系统软件的层次结构在设计简单的应用程序时,可以不使用操作系统(Operating System),但在设计较复杂的应用程序时,可能就需要一个OS来管理和控制内存、多任务、周边资源等
9、。根据系统所提供的程序界面来编写应用程序,可以大大减少应用程序员的负担。 对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包括四个层次:设备驱动层、实时操作系统、应用程序接口API层、实际应用程序层。由于硬件电路的可裁剪性和嵌入式系统本身的特点,其软件部分也是可裁剪的。 (1)设备驱动层 设备驱动层是嵌入式系统中不可缺少的重要组成部分,使用任何外部设备都需要有与之相对应的驱动程序支持,它只为上层软件提供设备的操作接口,上层软件不会理会设备内部的具体操作,只需调用设备驱动层程序提供的接口即可。设备驱动层程序一般包括硬件抽象层HAL、板级支持包BSP和设备驱动程序。 (2)操作系统层 对于
10、使用操作系统的嵌入式系统而言, 操作系统一般以内核映像的形式下载到目标系统中。操作系统内核中通常必需的基本部件是进程管理、进程间通信和内存管理,其它部件,如文件系统、驱动程序、网络协议等,可以根据用户需求进行配置,并以相关的方式实现。嵌入式操作系统屏蔽了底层硬件差异,同时向上层应用提供编程接口。嵌入式系统通常对系统的实时性有要求,因此,嵌入式系统中使用的操作系统一般为实时操作系统。 (3)应用程序接口 API 应用程序接口 API 是一系列复杂函数、消息和结构的集合体。嵌入式操作系统中的API 和通用操作系统中的API 在功能、含义及知识体系上完全一致。 可以这样理解API(Applicati
11、on Programming Interface):“计算机 HYPERLINK /wiki/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F o 操作系统 操作系统(Operating system)或 HYPERLINK /wiki/%E5%87%BD%E5%BC%8F%E5%BA%AB o 库 程序库提供给应用程序调用使用的代码”。其主要目的是让应用程序开发人员得以调用一组 HYPERLINK /wiki/%E5%87%BD%E6%95%B0_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6) o 函数 (计算机科学)
12、例程功能,而无须考虑其底层的源代码为何、或理解其内部工作机制的细节。API本身是 HYPERLINK /w/index.php?title=%E6%8A%BD%E8%B1%A1_(%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%B8)&action=edit&redlink=1 o 抽象 (计算机科学)(页面不存在) 抽象的,它仅定义了一个 HYPERLINK /wiki/%E4%BB%8B%E9%9D%A2_(%E9%9B%BB%E8%85%A6%E7%A7%91%E5%AD%B8) o 接口 (计算机科学) 接口,而不涉入应用程序如何实现的细节。这就为
13、减轻了软件人员在编制应用程序的负担,编程人员不再需要为每种可通过硬件或外设执行的功能重新编制程序,只需要调用系统或某些硬件事先提供的应用程序接口即可完成功能的执行。因此,在操作系统中提供标准的API 函数,可以加快用户应用程序的开发,建立统一应用程序的开发标准,也为操作系统版本的升级带来了便利。在 API函数中提供了大量常用函数模块,可大大简化用户应用程序的编写。 (4)应用程序 实际的嵌入式应用软件是建立在Linux系统提供的API 基础之上, 应用程序通过调用系统提供 API 函数对系统进行操作,以实现系统的具体功能。在用户应用程序的开发过程中,需要根据系统的功能进行任务划分,不同功能对应
14、不同优先级的任务,各个任务独立运行以完成具体的功能, 任务之间的协调主要依赖于操作系统提供的信号量、互斥信号量、消息邮箱和消息队列等任务通信和同步机制。 应用程序开发是嵌入式软件编程的主要任务。1.2嵌入式系统的发展随着信息化,智能化,网络化的发展, HYPERLINK /CAT-310011-qianrushixitong.html o 嵌入式 t _blank 嵌入式系统技术也将获得广阔的发展空间。嵌入式系统己经广泛地渗透到工程设计、科学研究等各类产业和商业文化以及人们的日常生活等各个方面。随着国内外各种智能嵌入式产品的进一步开发和推广,嵌入式技术和人们的生活越来越紧密,并取得了巨大发展。
15、以信息家电为代表的互联网时代嵌入式产品,不仅为嵌入式市场展现了美好前景,注入了新的生命;同时也对嵌入式系统技术,特别是软件技术提出新的挑战。为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。嵌入式系统主要呈现出以下的发展趋势。1.联网成为必然趋势 为适应嵌入式 HYPERLINK /wiki/%E5%88%86%E5%B8%83%E5%A4%84%E7%90%86 o 分布处理 t _blank 分布处理结构和应用
16、上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议簇软件支持。2. 支持小型电子设备实现小尺寸、微功耗和低成本 为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内存容量和复用接口芯片。这就相应提高了对 HYPERLINK /wiki/%E5%B5%8C%E5%85%A5%E5%BC%8F%E8%BD%AF%E4%BB%B6%E8%AE%BE%E8%AE%A1 o 嵌入式软件设计 t _blank 嵌入式软件设计技术要求。如,选用最佳的编程模型和不断改进算法,采用Java编程模式,优化编译器性
17、能。因此,既要软件人员有丰富经验,更需要发展先进 HYPERLINK /wiki/%E5%B5%8C%E5%85%A5%E5%BC%8F%E8%BD%AF%E4%BB%B6%E6%8A%80%E6%9C%AF o 嵌入式软件技术 嵌入式软件技术,如Java、Web和WAP等。3. 提供精巧的多媒体人机界面嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使用者之间的亲和力,自然的人机交互界面,如司机操纵高度自动化的汽车主要还是通过习惯的方向盘、脚踏板和操纵杆。人们与信息终端交互要求以GUI屏幕为中心的多媒体界面。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。目
18、前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但离掌式语言同声翻译还有很大距离。1.3 Web 服务器与嵌入式系统的结合随着计算机技术的发展,嵌入式系统已成为计算机领域的一个重要组成部分。广义讲,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。所谓嵌入式设备,是指具有 HYPERLINK javascript:linkredwin(计算机功能); o 计算机功能 计算机功能,但又不称为计算机的设备或器材,几乎包括了我们周期的所有电路设备:PDA、手机机顶盒、汽车、微波炉、电梯、安全系统、自动售货机、医疗仪器、自动取款机等。嵌入式系统可以通过各种无线形式(如WAP、Blue
19、Tooth等)和有线形式(TCP/IP、PPP等)的网络连接方式实现它们之间的相互连接,因此,在网络通信市场上极具生命力。现在人们对Internet应用的依赖程序日渐增加,也促进了 HYPERLINK /wiki/%E5%B5%8C%E5%85%A5%E5%BC%8F%E6%8A%80%E6%9C%AF o 嵌入式技术 嵌入式技术的增长。对于嵌入式Web服务器的研究和应用,其意义是重大的。它为我们管理、控制和监测各种各样设备提供了一个很好的途径。这种设备可以是具有有限内存资源的8位或16位系统,已足够提供一个 HYPERLINK /wiki/%E7%94%A8%E6%88%B7%E7%95%8
20、C%E9%9D%A2 o 用户界面 t _blank 用户界面,而且这种方式是基于Internet的。这种设备可以在世界任何一个地方,只要它连入Internet就能够控制它。随着嵌入技术和网络技术的不断发展,Web服务器将会支持更多的功能,得到更广泛的应用。为了通过 Internet 实现设备的远程监控,一般采用的方法在嵌入式系统中构建 Web服务器。嵌入式 Web 服务器建立在系统应用层之上,它的主体是一组实现超文本传输协议 (Hypertext Transfer Protocol, HTTP)、安全套接层协议(Secure Socket Layer, SSL)、通用网关接口(Common Gate Interface,CGI)等标准的组件包。上层应用程序通过它实现界面友好的远程数据访问和功能调用。它采用Browser/Server(浏览器/服务器)的应用模式。Web 服务器驻留程序调用这些组件响应 HTTP 请求,以 Web 页面的形式向客户端浏览器提供数据浏览功能; 通过应用程序使客户端方便的进行服务器端数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火烧云教学反思
- 红豆杉项目可行性研究报告
- 汽车制动盘技改技术项目可行性研究报告
- 物业年会主持稿范文5篇
- 幼儿心理安全演讲稿5篇范文
- 如何做好施工合同管理
- 银行客服经理助理实习心得5篇
- 职业技能鉴定考试流程图
- 退社申请书3000字锦集三篇
- 生态环境保护政策:处方管理办法
- 《创意改善生活》课件 2024-2025学年湘美版(2024)初中美术七年级上册
- 2024-2025学年 浙教版七年级数学上册期中(第1-4章)培优试卷
- 个人简历模板(5套完整版)
- CHT 1027-2012 数字正射影像图质量检验技术规程(正式版)
- 劳务派遣劳务外包服务方案(技术方案)
- 舒方特方格练习(共6页)
- 90、808系列铝合金门窗自动计算下料表
- 管道定额价目表
- 工期日历天计算器
- 相敏检波电路
- 第一章特殊教育概述-特殊教育概论(共4页)
评论
0/150
提交评论