已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)嵌入式web服务器研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 近年来随着i n t e r n e t 与嵌入式系统的迅速发展,网络化的嵌入式产品已经成 为i e 产业的最大增长点,将嵌入式设备接入i n t e r a c t 将成为一种必然,把w e b 服务器应用到嵌入式设备已经是可以实现的技术,而通过w e b 技术对嵌入式设 备进行远程控制、监测等则是最自然和最切实可行的选择。 本文主要研究和实现了一个模块化的、通过模块配置可以适合几种嵌入式 操作系统的嵌入式w e b 服务器,屏蔽了目标平台的异构性,并且采用b s 结构 实现多任务协同工作的w e b 服务器软件设计。将嵌入式技术与w e b 服务器技术 融入在一起,减少了应用开发人员的设计难度,减轻了用户的应用难度。 论文详细讨论了采用u p 挑1 a r m 3 0 0 0 硬件平台和移植的u c l i n u x 操作系统 完成嵌入式w e b 服务器的实现,并给出了重要的数据结构以及主要模块和函数 的功能说明。因为要求适合多平台,嵌入式w e b 服务器也同时在嵌入式l i n u x 操作系统和e v c 上开发的p o c k e tp c2 0 0 2 及s m a r t p h o n e2 0 0 2 仿真器上完全调 试成功。至关重要的是论文也详细讨论了嵌入式w e b 服务器安全性问题。安全 性是嵌入式w e b 服务器的关键问题,但是目前嵌入式领域还不能完全满足这一 需求,文章给出一种基于信息认证技术的安全机制来弥补这一不足,详细分析 提出了一种适合嵌入式w 曲服务器应用的身份认证方案,最后给出了具体实现 流程以及数字签名的详细过程。论文最后在总结作者工作的基础上,对嵌入式 w e b 服务器存在的问题和应用前景提出了自己的观点。 关键词嵌入式w e b 服务器:u c ii n u x ;身份认证 东北电力大学硕e 学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ei n t e m e ta n dt h ee m b e d d e ds y s t e m ,t h ee m b e d d e d p r o d u c t sn e t w o r k e dh a v ea l r e a d yb e c o m et h eb i g g e s t 粤o ft h ei ei n d u s t r y i t b e c o m e sa p o p u l a r i t yt oc o n n e c tt h ee m b e d d e dd e v i c ew i t hi n t e m e t t oa p p l yw e b s e r v e rt oe m b e d d e de q u i p m e n t sh a sa l r e a d yb e e np u ti n t op r a c t i c ec o m p l e t e l y , a n di t i st h em o s tn a t u r ea n dp r a c t i c a lc h o i c et oc o n t r o la n dm o n i t o rr e m o t e l ye m b e d d e d d e v i c e st h r o u g hu s i n gw 曲t e c h n o l o g y i nt h i st h e s i s ,i ti l l u s t r a t e st h er e s e a r c ha n di m p l e m e n t a t i o no f e m b e d d e dw e b s e r v e rw h i c hi sm o d u l a r i z e da n dw h i c hf i t saf e ws o r t so f e m b e d d e d o p e r a t i n g s y s t e m st h r o u g hm o d u l ec o n f i g u r a t i o n a tt h es a m et i m et h ew e bs e r v e rs c r e e r l $ t h e f o r m a t i o n so fd i f f e r e n tt a r g e tp l a t f o r m s t h ee m b e d d e d 协s e r v e rs y s t e mi sa m u l t i t a s k i n ga n db r o w s e r s e r v e rs t r u c t u r e t h i st e c h n o l o g y , w h i c hc o m b i n e s e m b e d d e dt e c h n o l o g yw i t hw e bs 廿 v e rt e c h n o l o g y , d e c r e a s e dt h ed i f f i c u l t i e so f d e v e l o p i n gf o rp r o g r a m m e r s ,a sw e l lr 。d u c e dt h el a b o ri n t e n s i o nf o rw o r k e r s i m p l e m e n t a t i o no f e m b e d d e dw 曲s e r v e r b u i l to nu p - n e l :f 删3 0 0 0h a r d w a r e p l a t f o r ma n du c l i n u xo p e r a t i n gs y s t e mw a sa l s od i s c u s s e di nd e t a i l ,a n di ta l s o s h o w si m p o r t a n td a t as t r u c t u r ea n df u n c t i o n s s p e c i f i c a t i o no f m a i nm o d u l e n l ew 曲 s e r v e ri sd e b u g g e dt os u c c e e df u l l yn o to n l yi ne m b e d d e dl i n u xo p e r a t i n gs y s t e mb u t a l s oi np o k e tp c2 0 0 2a n ds m a r t p h o n e2 0 0 2e m u l a t o ro f w l n d o w sc e 。l a s tb u tn o t l e a s t i ti n t r o d u c e ss e c u r i t yp r o b l e mo f e m b e d d e dw 曲s e r v e r s e c u r i t yi sak e yi s s u e i ne m b e d d e dw 曲s e r v e r , b u tt h i si sn o ta d d r e s s e db yp r e s e n te m b e d d e ds y s t e m t h i s t h e s i sp r o p o s e sas e c u r i t ym e c h a n i s mb u i l to na u t h e n t i c a t i o nt oa d d r e s st h i sp a r t i c u l a r d e f i c i e n c y i ta n a l y z e sv a r i o u sc i r c u m s t a n c e sa n dp r e s e n t sa na u t h e n t i c a t i o ns c h e m e f o ra p p l i c a t i o no fe m b e d d e dw 曲s e r v e r i nt h ee n di tg i v e si t sc o n c r e t er e a l i z a t i o n a n da n a l y z e si t ss e c u r i t y ml a s tc h a p t e rs u m m a r i z e st h ea u t h o r sw o r ka n db r i n g su p s o m es u g g e s t i o n so nt h ep r o b l e ma n da p p l i c a t i o nf o r e g r o u n do f e m b e d d e d 铀 s e r v e k e y w o r d se m b e d d e dw e bs e r v e r :u c i in u x :a u t h e n tio a tio n i i 论文原创性声明 本人声明,所呈交的学位论文系在导师指导下本人独立完成的研究成果。 文中依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法 律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申 请的论文或成果。 本人如违反上述声明,愿意承担以下责任和后果: 1 交回学校授予的学位证书; 2 学校可在相关媒体上对作者本人的行为进行通报; 3 本人按照学校规定的方式,对因不当取得学位给学校造成的名誉损害, 进行公开道歉; 4 本人负责因论文成果不实产生的法律纠纷。 论文作者签名:墨趣:整 日期: 兰丝2 年l 月二五日 论文知识产权权属声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属学校。 学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。本人 离校后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名单 位仍然为东北电力大学。 论文作者签名: 导师签名: 第1 章绪论 1 1 嵌入式系统介绍 嵌入式系统从广义讲,是带有微处理器的专用的软硬件系统的统称,是电 脑软件与硬件的综合体,它是以应用为中心,以计算机技术为基础,软硬件可 裁剪,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它 是由嵌入式设备及系统中的软件所构成的。嵌入式设备就是指具有计算机功能, 但并不称为计算机的设备或器材,几乎包括了我们周围的所有电器设备:p d a 、 手机、机顶盒、汽车、微波炉、电梯、安全系统、自动售货机、医疗仪器、自 动取款机等f l l 。 1 1 1 嵌入式技术的发展 从6 0 年代起,嵌入式系统就开始有了起步,并且嵌入式技术的发展大致经 历了以下4 个阶段【2 】: 1 以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指 示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统 中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行 结束后清除内存。 2 以嵌入式c p u 为基础、以简单操作系统为核心的嵌入式系统。 3 以嵌入式操作系统为标志的嵌入式系统。 4 基于i n t e m e t 为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前 大多数嵌入式系统还孤立于i n t e m e t 之外,但随着i n t e m e t 的发展以及i n t e m e t 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与i n t e r n e t 的结合 将代表着嵌入式技术的真正未来。 1 1 。2 嵌入式系统的构成和特点 嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及上层 应用软件系统等组成,它是集软件、硬件于一体的可独立工作的系统、有以下 东北电力大学硕十学位论文 特点 3 , 4 1 : 1 面向用户、面向产品、面向应用和通用计算机不同,嵌入式系统的功 耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到应用要 求的制约,如果独立于应用自行发展,则会失去市场。 2 高效性、高可靠性嵌入式系统的硬件和软件都必须高效率地设计,量 体裁衣、去除冗余,力争以同样的成本实现更强的功能,这样才能在具体应用 的选择面前具有更强的竞争力。 3 相对稳定性嵌入式系统和具体应用有机地结合在一起,它的升级换代 也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生 命周期。 4 软件要求固态化存储为了提高执行速度和系统可靠性,嵌入式系统中 的软件一般都固化在存储器芯片或单片机本身中,面不是存贮于磁盘等载体中。 5 系统软件( 0 s ) 一般要求较高的实时性在多任务嵌入式系统中,对重要性 各不相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单 纯通过提高处理器速度是无法完成的,这种任务调度只能由优化编写的系统软 件来完成,因此系统软件的实时性是基本要求。 1 2 嵌入式系统在i n t e r n e t 上的发展 嵌入式i n t e m e t 技术随着w e b 技术的发展,几乎改变了现在的信息表达形式, 很多应用都是基于w e b 技术的,由于h t m l 语言的标准统一性,只要在嵌入式 设备中有一个微型服务器,就可以使用任意一种w e b 浏览器接收和发送信息。 所以如何设计这种特剐的w e b 服务器,如何在嵌入式设备中安置w e b 服务器, 就成了嵌入式w e b 服务器的发展和研究方向。 1 2 1 系统的应用领域 嵌入式w e b 服务器技术的特点就是在t c p i p 标准协议的基础上,实现了网 络技术和智能仪器的集成,可以远程监测和控制。下面是嵌入式w e b 服务器技 术的几个典型应用实例【u 】: 1 网络视频监控在生产过程管理中的应用基于嵌入式w 曲服务器技术的 远程网络视频监控的原理是在视频服务器内置一个嵌入式w 曲服务器。摄像机传 送来的视频信号数字化后由高效压缩芯片压缩,通过内部总线传送到内置的w e b 服务器。用户可以直接用浏览器观看w e b 服务器上的摄像机图像,授权用户还可 以控制摄像机云台镜头的动作或对系统配置进行操作。 2 远程监测与故障诊断在电力系统中的应用将w e b 技术与监测及故障诊 断技术的结合策略有设备端嵌入式w 曲服务器体系、基于服务的w e b 服务器体系 和综合的多w e b i t 务器的系统体系三种。恰当地把w e b 技术与设备的监测与故障 诊断技术结合起来,将突破监测及故障诊断原来相对封闭的概念框架,是对设 备监测与故障诊断技术的提升。 3 保护和控制设备在工业控制自动化系统中的应用基于嵌入式w 曲服务 器技术的工业控制自动化系统可以实现的功能包括:实时数据与历史数据动态 发布功能、参数设置功能、远程实施控制功能、文件下载与上传功能、电子邮 件告警功能、访问级别设置与权限认证功能、p p p 拨号上网功能等。 1 2 ,2 嵌入式i n t e r n e t 技术现状 目前,嵌入式系统的i n t e m e t 技术核心和难点就是嵌入式系统的i n t e r n e t 接 入问题。嵌入式系统的i a t e r n e t 接入目前主要有以下几种形式1 5 , 6 : 1 p c 网关+ 专用网此技术采用专用网络( 女1 r s 2 3 2 ,r s 4 8 5 ,c a n 总线等) 把一 批单片机及嵌入式系统连接在一起,然后再将该专用网络连接到一台p c 上,该 p c 作为网关将专用网络上的信息转换为t c p i p 协议数据包,然后发到网上实现 信息共享。该方案可以连接多种单片机系统。 2 高档m p u 片上系统对于嵌入式系统接入i n t e r a c t , 可以采用n e t + a r m 的 系统级芯片s o c 的方案较为正统。所i 胃s o c ( s y s t e mo nc h i p ) 技术,是一种高度集 成化,固件化的系统集成技术,使用s o c 技术设计的系统,就是把整个应用电子 系统全部集成在一个芯片中。 3 3 2 6 4 位嵌入式系统3 2 6 4 位的嵌入式系统可按上述s o c 一样思路,在实 时操作系统和函数的支持下实现i n t e m e t 接入。由于3 2 6 4 位的嵌入式系统自身资 源一般较为丰富,运行速度较高,而且又有强大的嵌入式实时操作系统和函数 的支持,因此3 2 6 4 位的嵌入式系统接入i n t e m e t 是很容易的。 东北电力大学硕十学位论文 4 8 1 6 位嵌入式系统8 1 6 位的嵌入式系统实现的原则与上述并无不同,但 一般它具有一些弱点,如速度不够侠,内存不够大,其它软硬件资源不够丰富 等。因此要想接入i n t e m e t ,必须遵循的基本原则是嵌入式设备一定要转变为w e b 服务器或利用w 曲服务器上i n t e m e t n ,而且要加上t c p 佃网络协议栈。 1 3 课题的提出 由上所述,嵌入式i n t e m e t 技术带动了设备和设备之间、设备和入之间的通 信方式的变革,而研究实现嵌入式i n t e m e t 的关键技术之一是嵌入式w e b 服务器 的实现技术,对于嵌入式w e b 服务器的研究和应用,其意义是重大的。它为我 们管理、控制和监测各种各样的设备提供了一个很好的途径。这种设备可以是 具有有限内存资源的8 位或1 6 位系统,已足够提供一个用户界面,而且这种方 式是基于i n t e m e t 的。这种设备可以在世界上任何一个地方,只要它连入i n t e m e t 就能够控制它。这对支持开发嵌入式i n t e r n e t 产品具有重要意义。 1 3 1 课题的任务和目标 嵌入式系统发展到今天,高端嵌入式设备有了一个快速发展,硬件成本也 有了显著的下降,有的嵌入式系统硬件已经与通用计算机接近。把w e b 服务器 应用到嵌入式设备已经是可以实现的技术,但一个稳定好的、适应性强的、安 全性好的、可以适合多嵌入式操作系统的和有自己知识产权的嵌入式w c b 服务 器软件也还是一个市场的需求。因此本课题任务和目标主要研究和实现了一个 模块化的、通过模块配置可以适合几种嵌入式操作系统、屏蔽目标平台的异构 性的嵌入式w e b 服务器,并对嵌入式w e b 服务器的关键问题安全性问题也 给出了详细的研究和解决方案。 1 3 2 课题的研究方法 今天的嵌入式系统中,嵌入式操作系统已经成为嵌入式系统中不可缺少的 系统软件。大多数的操作系统都有一个硬件抽象层,用来向上层隐藏具体硬件 的细节,操作系统的大部分模块在一个统一的抽象硬件模型中工作。对这个抽 象的硬件模型的研究是对一个完整的操作系统探索的一部分。嵌入式操作系统 不但要尽可能维护对上层的硬件抽象,还要充分利用所使用的嵌入式微处理器 的特性,尤其是充分发挥电源管理模块的性能,以提高整体性能,这种对新的 矛盾的平衡点的摸索,不可避免需要深入到具体的硬件细节中去,正是嵌入式 的特点决定了将嵌入式操作系统和具体的硬件结构放在一起研究的必要性。 本课题的初衷是希望研究一个适合多平台的嵌入式w e b 服务器,因此需要 对多种平台的调研。在资料调研过程中,逐步选定几种典型嵌入式操作系统, u c l i n u x 、嵌入式l i n u x 和w i n d o w sc e 操作系统。u c l i n u x 是近年来伴随着a r m 系列微处理器的流行,在标准的l i n u x 的基础上,由诸多l i n u x 爱好者开发的针 对无内存管理单元微处理器的开源嵌入式操作系统。它保留了l i n u x 大部分的系 统调用,大部分的l i n u x 应用层软件包不需要任何的改动或只需要经过少许的改 写,经过重新编译就可以在u c l i n u x 运行。选择u c l i n u x 作为分析研究的对象, 可以为其他功能更为完善的l i n u x 变种的移植打下坚实的基础。 本课题的嵌入式w e b 服务器实现如图1 1 所示。首先在u p - n e l 删3 0 0 0 硬件平台上移植u c l i n u x 操作系统,在u c l i n u x 操作系统上实现完成嵌入式w e b 服务器后,对编码进行改进,可以很容易地改到l i n u x 内核的操作系统上,然后 调试程序满足w i n d o w s 操作系统,这时就可以再一次改进代码适合w i n d o w sc e 图1 - 1 系统开发流程图 改进程序代码使之适合嵌入式 l i n u x 内核的操作系统 改进程序代码使之适合w m d o w s 内核 的操作系统 改进程序代码使之适合w i n d o w s c e 嵌入式操作系统 嵌入式操作系统。 1 4 本章小结 本章主要阐述了嵌入式系统背景材料,什么是嵌入式系统、嵌入式技术的 发展状况、嵌入式系统的构成和特点以及嵌入式系统在i n t e r a c t 上发展,由此引 出了开发嵌入式w e b 服务器对支持开发嵌入式i n t e r n e t 产品的重要意义。接下来 提出了课题的任务和研究目标,最后交代了课题的研究方法。从下一章开始将 详细介绍开发嵌入式w e b 服务器所需要用到的相关协议、所有的支撑技术以及 具体的实现。 第2 章硬件平台和相关的支撑技术 2 1 n e t a r m 3 0 0 0 开发设备介绍 n e t a r m 3 0 0 0 开发设备工具箱的操作面板如图2 1 所示【7 1 。开发板硬件资 源配置表如下表2 1 所示。 图2 - 1n e t a r m 3 0 0 0 开发设备工具箱 表2 1 开发板硬件配置表 配置名称型号 规格 c p us 3 c “b o x o l 以太网r t l 8 0 1 9 a s f l a s h 盘s a m s u n gk 2 9 f 2 5 0 81 6 m b b i o s 盘a m 2 9 l v l 6 0 d b2 m b 内存h y 5 7 v 5 6 1 6 2 0 b t h 3 2 m ,8 m c a n 控制器 s j a l 0 0 0 l c d2 4 0 * 3 2 02 5 6 色 键 ; l e d 驱动器 z l g 7 2 8 9 东北电力大学硕卜学位论文 2 2 嵌入式l i n u x 操作系统 l i n u x 以其源代码公开、优良的内核健壮性以及低廉的价格等优势,使之成 为当代具有影响力的主流操作系统之一,在互联网服务器中发挥着重要作用。 但若应用于嵌入式领域,l i n u x 需进行裁剪和改造,针对不同的嵌入式处理器, 还需要进行相应的移植处理【s 】,移植处理主要表现在对标准的l i n u x 的代码规模 的剪裁和l i n u x 的实时性方面。同时当l i n u x 成为嵌入式操作系统后,又表现出了 它在嵌入式领域中有它领先的优势1 9 ,主要表现在其一具有优良的开发工具使得 l i n u x 可以跨越i c e 等屏障;其二具有完备的网络支持与高效的网络通信性能; 其三l i n u x 内核健壮,运行稳定;其四使用l i n u x 的嵌入式产品的整体拥有成本低 等。 2 3 u c i n u x 操作系统 g n u 组织开发的u c l i n u x 是一种类l i n u x 的嵌入式操作系统,主要是针对无 m m u 微处理器开发的,大多数内核的二进制代码和源代码都被重写,但保留了 l i n u x 操作系统的稳定性、优异的网络能力以及优秀的文件系统支持等优点。 u c l i n u x 的内存管理是与传统l i n u x 区别最大的地方【1 0 l 。标准l i n u x 是针对有 m m u 的处理器设计的,在这种处理器上,虚拟地址被送到m m u ,把虚拟地址 映射为物理地址。通过赋予每个任务不同的虚拟与物理地址转换映射,支持不 同任务之间的保护。由于u c l i n u x 没有m m u 的处理器,所以不能使用处理器的虚 拟内存管理技术。但u c l i n u x 仍然采用存储器的分页管理,系统在启动时把实际 存储器进行分页,在加载应用程序时程序分页加载。u c l i n u x 系统对于内存的访 问是直接的,所有程序中访问的地址都是实际的物理地址。操作系统对内存空 间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必 须为此进程分配足够的连续地址空间,然后全部载入主存储器的连续空间中。 2 4u g ij n u x 下应用程序的开发 在u p - n e t a r m 3 0 0 0 上开发应用程序与开发l i n u x 程序一样,只不过编译的 时候不能用g c c 编译,需要j 羽a r m - u c l i b e - g c c 编译。编译以后的可执行文件必须 下载到歼发实验板上才能运行,下载程序到目标扳上可以通过在u c l i n u x 中启用 n f s 程序,在开发宿主机用n f s d 后台程序,然后在开发板上的u c l m u x 上挂载开发 p c 机的共享文件目录,然后就可以在开发板上象执行本地文件一样执行开发p c 机上的可执行程序文件。 2 4 1 m a k e f 1 e 和m a k e 简介 由于如今程序的大型化和复杂化,如何维护和管理程序就成为了一个突出 和紧要的问题。如果程序的规模达到成百上千个模块组成的话,程序的编译、 链接工作就成为了一个大问题。在这种情况下,就必须依靠一个对编译、链接 工作的管理在l i n u x 平台下,通j :立m a k e 指令可以来完成生成和维护目标程序的 工作。m a k e 程序可以判断程序修改的情况,根据m a k e f i l e 文件对要维护的程序模 块进行重新编译和链接,以此保证程序的更新 1 1 , 1 2 1 。 程序模块的内部关系决定了源程序编译和链接的顺序。通过建立m a k e f i l e 可 以描述模块间的相互依赖关系。m a k e 命令从m a k e f i l e 中读取这些信息,然后根据 这些信息对程序进行管理和维护。在m a k e f i l e 里主要提供的是有关目的文件 ( t a r g e t ) 和依靠文件( d e p e n d e n c i e s ) 之间的关系,还指明了用什么命令生成和更新目 标文件。m e k e 判断要维护的文件的时序关系。m a k e 命令首先判断各个文件是否 “过时”,也就是判断这个文件依赖的源代码或模块是否已经更新而它本身却未 被改动。 2 4 2 编译器和调试器 g c c 是g n u 的c 和c + + 编译器,它是l i n u x 中最重要的软件开发工具。实 际上,g c c 能够编译三种语言:c 、c + + 和o b j e c tc ( c 语言的一种面向对象扩 展) 。汇编语言的编译器为a s 。编译器被成功的移植到不同的处理器平台上。a r m 系列开发套件使用的是f o ra r m 系列处理器的g c c 编译器a r m e l f - g e e 和 a r m e l f - a s 及其相应的g n u b i n u t i l s 工具集( 如l d 链接工具,o b j c o p y 、o b j d u m p 等工具) 。 g d b 是l i n u x 一个用来调试c 和c 抖程序的强力调试器。它能在程序运行 时观察程序的内部结构和内存的使用情况,可以监视程序中变量的值、可设置 东北电力大学硕七学位论文 断点以使程序在指定的源代码位置上停止执行和支持单步执行等。如何详细的 运用g c c 和g d b ,可以参考文献 1 3 ,1 4 】。 2 5 嵌入式w e b 服务器的h t t p 协议和w e b 相关技术 2 5 1 h t t p 协议 h r r p ( 超文本传输协议) 协议是用来构建分布式、协同超媒体信息系统的应 用层协议,它是一个通用的、无状态的协议。h r r p 是在w e b 服务器和w e b 浏 览器之间通信的协议,用来交互具有m i m e 格式的请求和响应报文。由于它规 定了发送和处理请求的标准方式,规定了浏览器和服务器之间传输的报文格式 及各种控制信息,允许不同种类的客户端相互通信而不存在兼容性问题,从而 定义了所有w e b 通信的基本框架。h t t p 报文包括请求和响应两种报文,关于 报文的具体内容参考文献 1 5 1 。 2 5 2 h t m l 介绍 h t m l ( 超文本标记语言) 是用来创建与平台无关的超文本文档的简单标记 语言f j 6 】,h t m l 文档是具有通用语义的s g m l 文档,它能够表达的信息范围很 广。h t m l 能够用来标记超文本消息、邮件、文档、超媒体、菜单选项、数据 库查询结果以及有内嵌图形的简单结构文档,还有己存在信息的超文本视图。 h t m l 定义了w e b 浏览器如何显示超文本文档的标准,也可以认为是一种 协议。h t m l 用来定义网页元素的位置和说明。h t m l 为文档编码,包括要显 示的文本、文本如何格式化的信息、要显示的图片名字f 不是图片自身) 以及其他 重要信息。连接到一个网页时,w e b 浏览器( 如n e t s c a p en a v i g a t o r , i e ) 就在内存 中按照h t m l 的结构“构造”该网页,然后在屏幕上显示组装好的网页。h t m l f o r m 是用户通过浏览器提交数据的主要输入手段,它由普通文字、标记和一 些称为“控件”的特殊元素( 如复选框、单选按钮和菜单等) 和控件上的标签组成。 用户通过填写或选择“控件”的内容来输入数据,最后提交给服务器进行处理。 2 5 3c g i ( 通用网关接口) 如果w w w 只能支持静态的浏览而不能提供用户和服务方交互的功能,无 疑其应用领域就会受到很大的限制。c g i 正是为了解决这一问题而提出的机制, 现在流行的技术如a s p 、j s p 和p h p 等也是对c g i 的改进,原理与c g i 有类似 之处。 如图2 - 2 所示,c g i 的主要功能是在w e b 环境下【m ,从客户端传送一些信 息给w e b 服务器,w e b 服务器把接收到的有关信息放入环境变量,然后再去启 动所指定的c g i 脚本以完成特定的工作。c g i 脚本从环境变量中获取相关信息 来运行,最后以h t m l 格式输出相应的执行结果返回给浏览器。由于用户能传 递不同的参数给c g i 脚 本,所以c g i 技术使得浏 览器和服务器之间具有交 互性。 浏览器将用户输入的 数据传递给w e b 服务器, w e b 服务器根据接收到的 数据设置环境变量,并新 建立进程来执行c g i 脚 本。c g i 脚本从环境变量 中读取所需要的数据,最图2 - 2c g i 工作流程示意图 后使用s t d o u t 输出 h t m l 形式的结果文件,经w e b 服务器送回浏览器显示给用户。 2 6 本章小结 本章介绍了课题开发嵌入式w e b 服务器的n e t a r m 3 0 0 0 硬件平台和嵌入式 操作系统。介绍硬件平台和操作系统的主旨在于展示了为什么课题的开发采用 此平台和此操作系统。介绍了在u c l i n u x 下应用程序开发必备的知识。不掌握本 章所介绍的知识,就无法很好的完成在u c l i n u x 下开发应用程序。其中最重要的 东北电力大学硕 学位论文 是g e e 和g d b 开发工具的应用,要求必须熟练应用g d b 调试应用程序,其次也 要完全理解和掌握m a k e f i l e 的制作,没有很好的应用m a k e f i l e ,就无法完成大程 序的开发。介绍了开发嵌入式w e b 服务器的h t t p 协议和支撑技术。h t r p 协 议是目前流行的w e b 技术的主要协议,是w e b 浏览器和通用w e b 服务器或嵌入 式w e b 服务器之间进行通信的基础。介绍了w e b 体系结构中用来创建与平台无 关的超文本文档的简单标记语言h t m l ( 超文本标记语言) 。最后介绍了对来自浏 览器的信息进行处理的外部程序与w e b 服务器之间的接口标准c g i ,c g i 是允 许w e b 服务器运行生成的h t m l 文档并将其返回w e b 服务器的外部应用程序规 范,因为具有这样的特性,它也能非常方便的实现w e b 服务器对嵌入式设备的 监测和控制。另外开发w 曲应用程序还可以用到j a v aa p p l e t 以及j a v a s c r i p t 等, 本课题在开发嵌入式w e b 服务器同时也采用了内存c g i 方式和服务器端脚本程 序实现动态网页处理技术,因为这不是通用技术,所以它们将在以下的章节中 详细介绍。 第3 章开发环境的搭建和嵌入式操作系统的移植 3 1 开发环境的搭建 开发环境配置和移植u c l i n u x 流程图如3 - 1 所示。u c l i n u x 的开发交叉编译 环境采用了o n u 开发套件的解决方梨堋。针对开发板实际上需要做的工作是在 宿主机上建立交叉编译工具。使用这些工具可以形成可运行于嵌入式系统的二 进制文件。而在宿主机上要求安装的是g e d h a t 9 0l i n u x 的操作系统。设置交叉 编译器工 具链环境 的建立需 要许多的 软件模块 协同工 作,这将 是一个比 较繁杂的 工作。它 包括下载 源代码、 要求在宿主机上安装r e d h a t n u x 操作系统和搭建开发环j 向硬件平台的u p - n e t a r m3 0 0 0 移 植b l o b 启动程序( 相当于通用电脑 b i o s ) 向硬件平台移植u c l i n u x 操 作系统内核 向硬件平台移植r o m f s 系统 映像 修改操作系统的自启动配置,编 自己的s h e l l 程序文件,以支持自 启动的应用程序完全可以放入可 读写的文件系统 图3 1 开发环境配置和移植u c l i n u x 流程图 修补补丁、配置、编译、设置头文件、安装等操作。另外,这样一个彻底的构 建过程对内存和硬盘的需求很大。如果没有足够的内存和硬盘空间,那么在构 建阶段由于相关性、配置或头文件设置等问题会突然冒出许多问题。对g n u 一 系列工具进行配置编译形成基于, m l m 平台的工具集如下: a r m e l f - a s 、a r m - e l f - a r 、a r m e l f - g c c 、a r m e l g g + + f i l t 、a r m - e l f - i d 、 a r m e l f - o b j c o p y 、a r m e l f - o b j d u m p 和a r m - e l f - n m 。这些工具可以从 h t t p :w w w u c l i n u x o r g 1 8 下载软件开发工具包获得,直接安装在宿主机上: a r m e l f - b i n u t i l s 2 1 1 5 i 3 8 6 r p m a r m e l f - g e e ,2 9 5 3 2 i 3 8 6 r p m 东北电力大学硕士学位论文 a r m e l f - g d b 5 0 1 i 3 8 6 r p m g e n r o m f s 一0 5 1 - 1 i 3 8 6 r p m 这样就建立了开发应用程序所需的交叉开发环境。其中如果在不是r e d h a t 9 0 上,有可能在安装g e n r o m f s 0 5 1 1 i 3 8 6 r p m 时会出现有冲突的提示,这种情况下, 最好进行一次反安装,然后在运行安装程序。否则可能会出现“g a n n ti n i ta e o u s o l e ”等错误。这些工具的开发流程如下:编写c 、c + + 语言或汇编源程序, 用a r m - e l f - g e e 或a r m - e l f g 什生成目标文件,编写连接脚本文件,用连接器生 成最终目标文件( e l f 格式) ,用二进制转换工具( e l f 2 f l t ) 生成可下载至开发板的二进 制代码。 3 1 1 对宿主机的性能要求 因为开发要求满足多操作系统,最好在宿主机内安装双操作系统w i n d o w s 和l i n u x 。通常来说,安装w i n d o w2 0 0 0 和r e d h a tl i n u x9 0 操作系统即可。在双 操作系统下还需安装程序开发工具,在w i n d o w2 0 0 0 安装e m b e d d e dv i s u a lc + + 3 0 、在r e d h a t 9 0 安装a n j u t a 或v i m b 0 可,在r e d h a tl i n u x9 0 下还需安装u c l i n u x 的 开发软件的各种环境,因此对开发计算机的硬盘空间要求较大。 3 1 2 开发工具软件的安装与配置 3 1 2 1r e d h a tl i n u x9 0 的安装在p c 机上安装r e d h a t l i n u x 9 0 ,选择 c u s t o m 定制安装,在选择软件p a c k a g e 时最好将所有包都安装,大约需要空间约 2 7 g ,如果选择最后一项:e v e r y t h i n g ,即完全安装,将安装3 张光盘的全部软 件,需要磁盘空间大约5 g 。因此建议提前为r e d h a tl i n u x 的安装预留大约5 1 5 g 的空间,具体视用户的硬盘空间大小来确定,在安装完r e d h a t ) 雷还要安装u c l i n u x 的编译器和开发库以及u c l i n u x 的所有源代码,这些包安装后的总共需要空间大 约为8 0 0 m 。 3 1 2 2 开发环境配置配置网络,包括配置i p 地址、n f s 服务、防火墙。 网络配置主要是要安装好以太网卡,对于一般常见的r t l 8 1 3 9 网卡,r e d h a t 9 0 可以自动识别并自动安装好,完全不要用户参与,因此建议使用该网卡。然后 配置宿主机i p 地址。如果是在有多台计算机使用的局域网环境使用此开发设备, i p 地址可以根据具体情况设置。 对于r e d h a t 9 0 ,它默认的是打开了防火墙,因此对于外来的i p 访问它全部拒 绝,这样其它网络设备根本无法访问它,即无法用n f sm o u n t 它,许多网络功 能都将无法使用。因此网络安装完毕后,应立即关闭防火墙。操作如图3 2 所示: 单击”红帽子”开始菜单,选择安全级别设置,选中无防火墙。还需要在系统设置 菜单中选择服务器设置菜单,再选中服务菜单,将i p t a b l e s 服务的勾去掉,也就 是要求去掉i p t a b l e s 服务。 图3 f 2r e d h a tl i n u x 9 0 下安全级别设置 3 1 2 3 配置n f s 单击主菜单运行系统设置服务器设置神师s 服务器, 单击增加出现如图3 3 所示,在目录( d i r e c t o r y :) 中填入需要共享的路径,在主机 ( h o s t s :) 中填入允许进行连接的主机i p f l h 址。并选择允许客户对共享目录的操作 东北电力大学硕+ 学位论文 为只读( r e a d - - o n l y ) 或读写( r e a d w r i t e ) 。对于一些常规选项设置,可以保留默认 值。对客户端存取服务器的一些其他设置,可以保留默认值。要求注意的是, 当将远程的根用户当作本地根用户时,对于操作比较方便,但是安全性校差。因 此一般只有在开发的情况下,才做如此的方便配置。 图3 - 3r e d h a tl i n u x 9 0n f s 共享基本设置 配置n f s 完成后,可以查看- e t c e x p o r t s 文件,其格式如下: 共享目录可以连接的主机( 读写权限,其他参数) 例如: u c l i n u x1 9 2 1 6 8 o * ( r w , s y n c ) 表示将本机的u c l i n u x i 目录共享给i p 地址为1 9 2 1 6 8 0 1 1 9 2 1 6 8 0 2 5 4 的所有计 算机,可以读取和写入。 配置完成后,可用如下办法简单测试一下n f s 是否配置成功。在宿主机上 自己m o u n t 自己,看是否成功就可以判断n f s 是否配好了。例如在宿主机,目 录下执行:m o u n t1 9 2 1 6 8 0 1 0 :u c l i n u x n m t 其中1 9 2 1 6 8 0 1 0 你应修改为你自 己主机的i p 地址。然后至u n m t 目录下看是否可以列出u c l i n u x 目录下的所有文 件和目录。可以则说明m o u n t 成功,n f s 配置成功。 3 i 2 4 开发工具软件的安装当完全安装r c d h a t 9 0 后,开发工具软件的编辑 器a n j u t a 或v i m 、编译器g c c 和调试器g d b 就已经安装成功【嘲。但此时只能在l n u i x 下开发程序,如果编译的程序需要在u c l i n u x 下能运行,需要u c l i n u x 下开发包库 u c l i b c 。下面如表3 1 和3 2 是一个比较全的开发环境所需要的列表,所有这些资 料都可以在的博创网站或u c l i n u x 网站上下载得到【7 j 引
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐车项目可行性研究报告
- 26年老年艾灸烫伤案例分析课件
- 罕见病跨区域远程病理诊断网络建设
- 细胞治疗与中医气血理论的决策量化评估
- 2026年中国康复医疗行业政策、产业链、发展现状、服务网络及未来趋势:康复医疗行业政策体系日趋完善推动服务供给能力持续增强
- 组织工程气管黏膜支架的抗菌肽表面功能化设计
- 初中能源节约主题班会说课稿2025
- 高中2025阅读写作结合主题班会说课稿
- 糖尿病视网膜病变黄斑水肿代谢保护与营养
- 一、认识键盘说课稿2025学年小学信息技术粤教版B版三年级下册-粤教版(B版)
- 雨课堂在线学堂《大数据可视化》单元考核测试答案
- 道路交通事故现场勘查规范
- 安装灭火器施工方案模板
- 2025年医疗器械自查报告模板
- 2025重庆机场集团有限公司社会招聘150人(第二次)笔试参考题库附带答案详解
- 制造执行系统(MES)实施方案
- 上级转移支付管理办法
- GB/T 45953-2025供应链安全管理体系规范
- 后勤管理内控知识培训课件
- 洛阳二外小升初数学试卷
- 元明对新疆的治理
评论
0/150
提交评论