(计算机应用技术专业论文)基于lwip的嵌入式web服务器的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于lwip的嵌入式web服务器的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于lwip的嵌入式web服务器的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于lwip的嵌入式web服务器的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于lwip的嵌入式web服务器的研究与实现.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

基于l w i p 的嵌入式w e b 服务器的研究与实现 摘要 近年来随着嵌入式系统的发展,各种嵌入式设备已广泛应用于家庭、工业、 军事等各个领域。在应用数量上远远超过了通用计算机。当今社会已进入信息 化、网络化的时代,各种嵌入式设备也急需利用互联网,将信息快速、便捷的 传至任一地点,从丽实现远程控制。如何让资源有限的嵌入式设备实现联网功 能,已经成为需要关注和研究的重要问题。 当今,在一些控制领域中,为了实现多个m c u 之间的信息交换,利用 c a n ,r s 2 3 2 等总线将m c u 组网,这种网络不但有效半径有限,通信协议少,而 且孤立于i n t e r n e t 以外。本文基于这一现状提出了嵌入式w e b 服务器,通过 w e b 技术,将信息以网页的形式动态、快捷的传至任一地点,使嵌入式i n t e r n e t 成为现实。 本文针对嵌入式设备的特点,在深入研究和分析了t c p i p 协议栈的特点, 以及对现有通信协议进行比较的基础上,提出了一种适合于嵌入式的通信协议 一l w 工p 。本文在分析了嵌入式设备特点基础上,根据功能要求对t c p i p 协议栈 进行了剪切,从而使l w i p 能在资源有限的嵌入式设备上运行。 为使嵌入式w e b 服务器实现动态w e b 功能,本文对适合于嵌入式系统的动 态技术一c g i 进行了分析,对c g i 通过u r l 、f o r m 技术实现动态交互功能进行 了研究,提出了简单的嵌入式c g i ,从而使嵌入式w e b 服务器实现简单的动态 w e b 成为可能。 本文提出了动态嵌入式w e b 服务器,并在l w i p 、嵌入式c g i 的基础之上 予以实现,使用户能够通过互联网对嵌入式设备进行实时控制。嵌入式w e b 服务器的设计符合了嵌入式设备和网络技术的发展需求,并且具有较好的理论 研究价值及广阔的市场应用前景。 关键词:嵌入式系统w e b 服务器轻量级t c p i p 协议栈动态w e b 技术 t h er e s e a r c ha n di m p l e m e n t a t i o no fe m b e d e d ew e bs e r v e r b a s e do nl w l p a b s t r ac t i nr e c e n ty e a r s ,w i t ht h ed e v e l o p m e n to fe m b e d d e ds y s t e m s ,av a r i e t yo f e m b e d d e dd e v i c e sh a sb e e nw i d e l yu s e di nh o u s e h o l d ,i n d u s t r i a l ,m i l i t a r ya n do t h e r f i e l d s i nt h ea p p l i c a t i o no fq u a n t i t yf a rm o r et h a nt h eg e n e r a l - p u r p o s ec o m p u t e r s t o d a y ss o c i e t yh a sc o m ei n t ot h ei n f o r m a t i z a t i o n ,n e t w o r k b a s e de r a ,av a r i e t yo f e m b e d d e dd e v i c e sa r ea l s on e e dt h eu s eo ft h ei n t e r n e tt os e n dt h e i n f o r m a t i o n q u i c k l ya n de a s i l ys p r e a dt oa n yo ft h el o c a t i o n su r g e n t l y ,i no r d e rt o a c h i e v e r e m o t ec o n t r 0 1 h o wt or e a l i z et h ee m b e d d e dn e t w o r k i n gi nt h ee m b e d d e dd e v i c e s o fl i m i t e dr e s o u r c e sh a sb e c o m ea ni m p o r t a n tq u e s t i o nt h a tn e e d st ob ep a i d a t t e n t i o na n dr e s e a r c h e d 。 t o d a y ,i nan u m b e ro fc o n t r o la r e a s ,u s et h ec a n ,r s 2 3 2 ,e t c b u sn e t w o r k t o a c h i e v et h ee x c h a n g eo fi n f o r m a t i o nb e t w e e nt h em c u t h eb u s n e t w o r kw i l lb ea n e f f e c t i v er a d i u si sl i m i t e d ,l e s sc o m m u n i c a t i o np r o t o c o l ,a n di s o l a t e df r o mt h e o u t s i d ei n t e r n e t i nt h eb a s eo ft h i ss t a t u sq u o ,t h i sd i s s e r t a t i o np r o p o s e dt h e e m b e d d e dw e b s e r v e r ,t h r o u g ht h ew e bt e c h n o l o g y ,t h ei n f o r m a t i o nw i l lb es e n d i nt h ef o r mf ow e bp a g e st oa n yw h e r ed y n a m i c l ya n dq u i c k l y , s ot h a te m b e d d e d i n t e r n e tb e c o m ear e a l i t y a c c o r d i n gt ot h ec h a r a c t e r i s t i c so ft h ee m b e d d e dd e v i c e s ,i n d e p t hs t u d ya n d a n a l y s i so ft h et c p i pp r o t o c o ls t a c kf e a t u r e s a sw e l la st h ec o m m u n i c a t i o n p r o t o c o lo nt h ee x i s t i n gb a s i so fc o m p a r i s o n ,t h ed i s s e r t a t i o np r o p o s e dl w i p ,w h i c h i san e wc o m m u n i c a t i o np r o t o c o ls u i t a b l et ot h ee m b e d d e ds y s t e m s ba s eo nt h e a n a l y s i s o ft h ec h a r a c t e r i s t i c so ft h ee m b e d d e dd e v i c e sa n dt h ef u n c t i o n a l r e q u i r e m e n t s ,t h ed i s s e r t a t i o ns h e a r e dt h et c p i pp r o t o c o ls t a c k ,s ot h a tl w i p c a nr u n o ns ot h a tl i m i t e dr e s o u r c e sl w i pc a nr u no nt h ee m b e d d e dd e v i c e s i nr d e rt or e a l i z et h ef u n c t i o n o fd y n a m i cw e bs e r v e r ,t h ed i s s e r t a t i o n a n a l y s i s e dt h ec g it h a ti st h ed y n a m i ct e c h n o l o g yo fs u i t a b l et ot h ee m b e d d e d s y s t e m s ,r e s e a r c h e dt h ec g it h r o u g ht h eu r l ,f o r mt or e a l i z et h ef u n c t i o no f d y n a m i ci n t e r a c t i o n p r o p o s e dt h es i m p l ee m b e d e d ec g i ,s ot h a te m b e d d e dw e b s e r v e rc a nr e a l i z a t i o nas i m p l ed y n a m i cw e b p o s s i b l e l y t h e p a p e rp r o p o s e d t h e d y n a m i c e m b e d d e dw e b s e r v e r , a n d i m p l e m e n t a t i o n e db a s e do nt h ee m b e d d e dl w i p ,f i l es y s t e ma n dc g i ,a l l o w i n g u s e r st ob ea b l et oc o n t r olt h ee m b e d d e ds y s t e mi nr e a l t i m et h r o u g hh a t e r n e tw e b s e r v e r ,t h ed e s i g no fe m b e d d e dw e bs e r v e ra c c o r d sw i t ht h en e e d so ft h e e m b e d d e dd e v i c e sa n dn e t w o r kt e c h n o l o g yd e v e l o p m e n t ,w h i c hh a sg o o dv a l u eo f t h et h e o r e t i c a ls t u d ya n dt h eb r o a dm a r k e t p r o s p e c t k e y w o r d s :e m b e d d e ds y s t e m s ;w e bs e r v e r :l i g h t w e i g h t :t c p i pp r o t o c o l s t a c k :d y n a m i cw e bt e c h n o l o g y 图2 1 图2 2 图2 3 图2 4 图2 5 图3 1 图3 2 图3 3 图3 4 图3 5 图4 一l 图4 2 图4 3 图4 4 图5 一l 图5 2 图5 3 图5 4 图5 5 图5 6 插图清单 嵌入式系统结构4 嵌入式w e b 服务器硬件架构4 s 3 c 4 4 b o x 体系结构5 $ 3 c 4 4 0 x 内存空间管理6 u c o s - i i 结构图8 主控循环? 1 3 l w i p 结构图15 以太网封装格式1 6 a r p 分组格式1 6 t c p 建立连接过程2 l c g i 工作原理2 4 表单的浏览器显示2 8 表单请求的浏览器显示2 9 c g i 测试的浏览器显示3 0 服务器体系结构3 2 服务器软件结构图3 3 静态w e b 默认页3 6 静态w e b 介绍页3 6 温度显示界面3 7 温度设置界面3 8 表3 1 表3 2 表3 3 表5 1 表格清单 协议分层1 2 i p 数据报头部格式1 8 t c p 头部格式2 0 h t t p 方法3 4 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据 我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的 研究成果,也不包含为获得盒胆王些太堂 或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文作者签字:露壹签字日期夕彳7 年争月侈日 学位论文版权使用授权书 本学位论文作者完全了解金胆王些太堂有关保留、使用学位论文的规定,有权保留 并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人授权金 胆王些太堂可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影 印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名:彩五 签字日期乒7 年午月,f 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 导 签 电话: 邮编: 致谢 在这里,我首先要衷心感谢的是我的导师魏臻教授。在我的研究生学习期 间,魏老师在我的学习和生活上均给予了我悉心的指导和热情的关怀,倾注了 大量的心血,使我在各方面均有长足的进步。魏老师活跃的学术思想,渊博的 知识,丰富的经验、忘我的工作态度、对事物敏锐的观察力都令我钦佩不已, 给我留下了深刻的印象。在魏老师身上,我看到了一个成功者的胸怀和师长的 风范,让我受益终身。值此论文完成之际,谨向导师致以衷心的感谢。 感谢分布式控制实验室张利老师、刘征宇老师,他们在我学习道路上给予 了莫大的帮助和指导。感谢我的同学乔璐、汪一亭、戚剑超,在我的研究生学 习生涯中,他们一直给予我最真诚的帮助和关心,给了我很多学习上的指导和 生活上的帮助。同时还要感谢其他老师和同学在我攻读硕士学位期间给予我无 私的帮助和友情。 同时,由衷的感谢我的父母和我的亲人朋友们,你们的支持给了我学生生 活的帮助,你们的关心给了我奋发向前的动力,是你们在背后默默的支持使我 能顺利的完成研究生学业。 摄后,真诚地感谢有关专家和学者对本文的评阅和指导。 作者:张亚魁 2 0 0 9 年4 月1 日 第一章绪论 1 1 课题背景与研究意义 在当今日益信息化的社会中,计算机和网络已经全面渗透到日常生活中的 每一个角落。对于我们每个人,需要的已经不仅仅是那种放在桌上处理文档, 进行工作管理和生产控制的计算机“机器 。各种各样的新型的嵌入式设备在应 用上已远远超过通用计算机,一个普通人可能拥有从大到小的各种使用嵌入式 技术的电子产品,小到手机、r a p 3 播放器、p d a 等微型数字化产品,大到网络 家电,智能家电,车载电子设备等。而在工业和服务领域中,使用嵌入式技术 的数字机床,智能工具,工业机器人,服务机器人也正在逐渐改变传统的工业 和服务方式。目前大多数嵌入式系统还处于单独应用的阶段,以m c u 为核心, 与一些监测、伺服、指示设备配合实现一定的功能。在一些工业和汽车应用中, 为了实现多个m c u 之间的信息交流,利用c a n ,r s 2 3 2 、r s 4 8 5 等总线将m c u 组网,但这种网络的有效半径有限,有关的通信协议也比较少,并且一般是孤 立于i n t e r n e t 以外的。而随着当前i n t e r n e t 技术的迅猛发展,各种嵌入式系统 也产生了网络互联的需求,使嵌入式设备能够利用互联网进行通信,我们可以 利用通过互联网对他们进行实时访问与控制。 嵌入式i n t e r n e t 的实现主要是嵌入式w e b 服务器的实现。嵌入式w e bj 艮务器, 本身就是在嵌入式设备中运行的基于h t t p 协议的w e b 服务器,以网页的形式为计 算机提供嵌入式设备的状态、参数表示等信息。将w e b j 艮务器植入嵌入式系统后 接入i n t e r n e t ,用户不仅可以利用浏览器提供的丰富的图形用户界面实现远程 管理、监控嵌入式系统的功能,并且可以在服务器端,结合嵌入式w e bj 艮务器提 供的接口进行进一步开发,以此丰富各种嵌入式功能。嵌入式w e b h 艮务器更易于 和i n t e r n e t 实现无缝连接,它使得嵌入式设备的远程控制和管理方式都有了改 变,不再需要专用的通信线路,传输的信息也不再局限于数据信息n 。3 ,。 嵌入式w e b 在网络视频监控系统、电力系统的远程监测与故障诊断、工业自 动化系统中设备的保护和控制、智能小区及智能家电灯诸多领域都有良好的应 用。嵌入式w e b 服务器的研究和应用具有重大的意义,它为人们管理、控制和监 测各种各样的设备提供了一个很好的途径,而且这种方式是基于i n t e r n e t 的,这 种设备可以在世界上任何一个地方,只要它连入i n t e r n e t 就能够控制它。 1 2 国内外研究的现状 随着w e b 技术的发展和应用,嵌入式w e b 服务器对嵌入式设备也显示出越来 越重要作用,所以嵌入式w e b 服务器己经成为目前国内外嵌入式研究领域的一个 热点。越来越多的网络通信设备、智能家电设备、监控系统、工业控制等设备 都已经实现内置的嵌入式w e b 服务器,用户、操作人员可以直接使用w e b 浏览器 通过设备的以太网接口或者其他网络端口来远程访问内置w e b 服务器的专用网 页,从而实现对设备运行状态的观测和运行参数的配置等功能。 嵌入式w e bj 艮务器是嵌入式i n t e r n e t 的重要组成部分,嵌入式w e b 服务器的 发展离不开嵌入式处理器和嵌入式操作系统的发展。要实现嵌入式i n t e r n e t , 就需要处理性能好、功能强大、性能稳定的嵌入式处理器和体积精巧功能强大 的嵌入式操作系统来支持,国内外一些公司和厂家都在这两方面投入了很多的 努力和探索。在嵌入式处理器方面,r a b b i t 半导体公司的r a b b i t z 0 0 0 3 0 0 处理 器、a m d 公司的a m l 8 6 系列嵌入式处理器、m o t o r o l a 公司的m 6 8 h c 系列嵌入式处理 器等等。s a m s u n g 公司的a r m 系列处理器如s a m s u n g 2 4 1 0 ,s a m s u n g 4 4 b o 以及 p h i l i p s 公司的l p c 2 1 1 4 2 1 0 等都在嵌入式w e b 上得到应用,而且新开发的嵌入式 处理器都支持网络协议。而在嵌入式操作系统方面,w i n dr i v e r 公司的嵌入式 w e b 服务器软件w i n dw e bs e r v e r 用于v x w o r k 的嵌入式应用中,a 1 l e g r o 公司的 r o m p a g e r 是一个免特许权费用,价格适合的嵌入式w e bj 艮务器包,客户可以使用 通用的w e b 浏览器来管理和控制网络设备。u c l i n u x 因为其的开源性在高校实验 性项目中得到广泛应用。u c o s 操作系统因为源码公开、可移植性好、裁剪灵活 以及良好的实时性也受到学生及厂家的青睐口,。 应用方面国内外基本相近,目前都是主要应用于各种计算机网络设备的配 置与监控方面。有些公司己经推出了多种以不同方式连接i n t e r n e t 的网络化仪 器和设备,例如a g il e n t 公司研制出了具有w e b 浏览器远程接入功能的逻辑分析 仪,c i s c o 公司己开始销售具备w e b 管理界面的交换机等。但是随着该技术的成 熟与发展,加之该技术的优点,目前的文献大都预见:这一技术必将广泛地应用 于其它领域例如:水文资料实时监测,防洪体系及水土质量监侧、堤坝安全,地 震监测网,实时气象,水源和空气污染监测,家政系统:水、电、煤气表的自动 抄表,安全防火、防盗系统等。考虑到其广泛的应用前景,这一技术的研究和 开发具有一定的迫切性和必要性h 5 1 。 1 3 论文主要完成的工作 本文主要研究嵌入式系统w e b 服务器技术及其实现。 1 研究内容: ( 1 ) 比较和分析各类主要开发板和目前较为流行的嵌入式操作系统的优 缺点,选出适合于本文的硬件和操作系统:以s 3 c 4 4 b o x 为处理器的开发板和 u c o s i i 操作系统: ( 2 ) 对普通t c p i p 协议栈进行分析、剪切,使其在资源有限的嵌入式开发 板上运行,并能利用i n t e r n e t 进行通信。 ( 3 ) 对实现动态w e b 的关键技术进行了分析与比较,对并c g i ,嵌入式文件 2 系统做了详细介绍,对c g i 的功能进行了剪切,使它能在嵌入式系统中运行,从 而能够实现动态w e b 。并对文件系统进行了改进。 ( 4 ) 对h t t p ,w e b 服务器进行了分析,并在基于l w l p 、嵌入式文件系统、 嵌入式c g i 的基础之上予以实现动态w e bj 艮务器。 2 论文章节安排: 第一章介绍了项目的背景与研究意义,以及目前嵌入式w e b 的发展状况, 指出了本文的研究背景及主要内容。 第二章对嵌入式系统做了总体介绍,分析和比较了各种微处理器和嵌入式 操作系统,并对选用的微处理器和操作系统做了详细介绍,最后对操作系统进 行移植。 第三章在普通t c p i p 的基础之上,结合嵌入式系统的特点对其进行剪切, 并对各层的协议进行了介绍。 第四章对动态w e b 的关键技术进行了分析,对c g i 进行了剪切,使它能在嵌 入式系统中运行。 第五章对h t t p 和嵌入式w e b 做的总体介绍,并对它们如何实现动态w e bj 艮务 器做了分析。 第六章总结论文所做的工作、文章的创新性、不足之处以及嵌入式w e b 服 务器的发展方向。 第二章系统硬件设计及操作系统的移植 2 1 嵌入式系统的组成 嵌入式系统由硬件、软件两部分组成。嵌入式系统的硬件是嵌入式系统软 件环境运行的基础,它提供了嵌入式系统软件运行的物理平台和通信接口;嵌 入式操作系统和嵌入式应用软件则是整个系统的控制核心,控制整个系统的运 行,提供入及交互的信息等。图2 1 完整地描述了嵌入式系统的软硬件各部分 的组成结构。 图2 1 嵌入式系统结构 2 2 嵌入式w e b 服务器的硬件方案 系统硬件主要由图2 2 所示。部分组成:r j 4 5 接口连接至以太网络,以太网 控制器完成以太帧的接收与发送汐 、部扩展r a m 用来存放接收与发送数据的缓 冲区以及系统中使用的变量;e e p r o m 用来存放m a c 地址、i p 地址、子网掩 码、默认网关等信息。系统的当系统加电时,系统首先读取保存在a t 2 4 c 0 1 e e p r o m 中的m a c 地址、i p 地址、子网掩码和默认网关等参数。然后对 r t l 8 0 1 9 a s 以太网控制器进行初始化,初始化完成后,系统进入监听状态,被动 地等待数据的到达。当r t l 8 0 1 9 a s 接收到请求数据包后,引发系统产生外部中 断,系统主机开始接收数据包,根据以太帧( 即刚刚接收的数据包) 中包含的帧 的类型分别进行a r p 、i c m p 、t c p 和u d p 的处理,并准备相应的回答帧,交给 以太网控制器,由以太网控制器发送至以太网络。处理结束后,系统继续等待接 收下一个数据包【4 。6 j 。如此循环。 图2 2 嵌入式w e b 服务器硬件架构 4 2 2 1a r m 7 内核微处理器s 3 c 4 4 b o x 三星公司的s 3 c 4 4 b o x 是目前应用比较广泛的基于a r m 7 t d m i 内核的片上系 统( s o c ) ,该芯片功能强大,是三星公司为手持设备和一般类型应用提供的高性 价比和高性能的微控制器解决方案。s 3 c 4 4 b o x 采用全新的s a m b a i 总线结构,除 了具有a r m 7 t d m i 核的基本功能,同时在片内扩展了丰富的外围功能模块,使设 计者能够不需要再考虑复杂的外围时序电路,从而加快产品的开发,进行低成 本的嵌入式设计。s 3 c 4 4 b o x 内部体系结构如图2 - 3 所示。 图2 3s 3 c 4 4 b o x 体系结构 s 3 c 4 4 b o x 的片内外围功能模块包括:8 k 的c a c h e ( 可作为指令数据c a c h e 或 片内s r a m 用) 、外部扩充存储器控制器( 用于在外部地址空间进行存储器扩展, 如r a m ,r o m 等) 、4 个d m a 通道、2 个带握手协议的u a r t 以及一个同步串行i o 口 ( s i o ) ,1 个多主的1 2 c 总线控制器、1 个i 工s 总线控制器、5 个脉宽可调制( c p w m ) 定时器以及一个内部定时器和一个看门狗定时器、1 个具有日历功能的实时时钟 ( r t c ) 以及一个锁相环( p l l ) 时钟发生器、1 个8 路1 0 位a d 转换器、1 个l c d 控制器, 同时提供了7 1 个通用可编程v 0 口以及8 个外部中断源。通过提供全面的、通用的 片上外设,大大的减少了系统中除处理器外的硬件电路配置,从而降低了系统 的成本。 2 2 2s 3 c 4 4 b o x 处理器的外围存储空间扩展 由于s 3 c 4 4 b o x 微处理器芯片内部仅仅有8 k 的c a c h e 存储资源,远远不能满 足系统开发的要求,而构建一个高效的存储系统是w e b 服务器硬件实现的基础, 因此有必要进行芯片外部存储空间的扩展。 s 3 c 4 4 b o x 采用单一的平板存储地址空间,最大支持2 5 6 m 字节空间,将这2 5 6 m 字节空间分为8 个b a n k 来进行管理,每个b a n k 最大空间为3 2 m 字节空间( b a n k o 支 持最大2 8 m 字节外接存储器,另外的4 m 字节空间被系统保留,作为特殊功能寄存 器地址) 。其中b a n k o - b a n k 5 支持r o m 和s r a m ,b a n k 6 和b a n k 7 支持r o m ,s r a m ,d r a m , s d r a m $ 3 c 4 4 0 b x 通过引脚n g c s o - n g c s 7 的片选信号来进行对b a n k 的选择:如引 5 脚n g c s o 为低电平时选择b a n k o ,引脚n g c sl 为低电平时选择b a n k i ,依此类推。 通过地址线a d d r o a d d r 2 4 来选择每个b a n k 中的相应单元,同时通过存储控制器 和特殊功能寄存器来对每个b a n k 进行配置“4 1 。s 3 c 4 4 b o x 对存储空间的管理可 以用图2 - 4 表示 图2 4 $ 3 c 4 4 0 x 内存空间管理 图2 4 同时给出了系统中微处理器外围存储空间的分配情况。b a n k o 和b a n k 6 为存储器扩展空间,分别扩展了r o m 存储器和内存r a m 存储器,其中r o m 芯片占用 b a n k o 的部分扩展空间,存放着系统的启动代码和中断异常处理向量表:r a m 芯片 位于b a n k 6 的部分扩展空间,且按照系统中的功能分为三个区:程序代码下载区、 数据堆栈区以及l c d 刷新显示内存缓冲区。b a n k l 到b a n k 5 为系统的i 0 设备扩展 存储空间,在本系统中,分别用b a n k 2 和b a n k 5 作为系统的n a n d - f l a s h 芯片和以 太网芯片的外围扩展存储空间,其余空间作为备用空间。 2 2 3 以太网接口电路的扩展 实现s 3 c 4 4 b o x 微处理器的i n t e r n e t 网络接入功能是实现嵌入式w e b 服务器 的前提,在本系统中,通过在s 3 c 4 4 b o x 微处理器的外围存储空间扩展以以太网 控制芯片r t l 8 0 1 9 a s 为核心的以太网接口电路来实现系统的硬件上网功能h 1 。 ( 1 ) 以太网控制芯片r t l 8 0 1 9 a s 台湾r e a lt e k 公司生产的r t l 8 0 1 9 a s 集成了介质访问控制子层( m a c ) 和物 理层的性能,是一款性能优良、价格低廉的以太网接口芯片,它具有符合 e t h e m e t 工i 与i e e e 8 0 2 3 ( 1 0 b a s e 5 ,l o b a s e 2 ,l o b a s e t ) 标准,全双i ,收发可同时 达到lo m b p s 的速率,具有支持u t p ,a u i ,b n c 自动检测的特点。 r t l 8 0 1 9a s 芯片内部提供了1 6 k 的s r a m 来用作芯片发送和接收数据的缓冲 区,地址为o x 4 0 0 0 - - o x 7 f os r a m 以页为单位,每2 5 6 个字节为一页,其中第o 页 为p r o m 页,只有3 2 个字节,用来存放芯片的物理地址。通过这种将s r a m 集成在 单片芯片上的设计方法,不仅提高了更多的友好功能,同时节省了s r a m 存储资 源。 r t l 8 0 1 9 a s 共有3 2 个输入输出地址,地址偏移量为o o h i f h 。地址o o h o f h 6 共1 6 个地址为寄存器地址,寄存器组一共分为4 页( p a g e ) 包括n e 2 0 0 0 兼容寄存器 组和即插即用寄存器组。地址i o h 1 7 h 共8 个地址为芯片的d m a 地址,可以任意选 择一个d m a 地址来用作芯片的远程d m a 操作( r e m o t ed m a ,指内存数据缓冲区和网 卡芯片数据发送接受缓冲区之间的数据交互过程,由c p u 来完成) 以及本地d m a 操作( l o c a ld m a ,指网卡内部缓冲区和以太网络之间数据交互过程,由网卡芯 片来完成) 。地址1 8 h - i f h 共8 个地址为网卡的复位端口,用来实现对网卡的复位。 ( 2 ) s 3 c 4 4 b o x 微处理器外扩r t l 8 0 1 9 a s 的实现 r t l 8 0 1 9 芯片提供了三种配置模式:跳线模式和即插即用( p n p ) 模式以及串 行f l a s h 配置方式。由于在嵌入式系统中,网卡芯片一般不经常插拔,因此系统 中配置为跳线方式,通过将网卡芯片的6 5 脚j p 接高来实现。 r t l 8 0 1 9 a s 支持8 位或1 6 位数据总线,系统中,为提高系统处理速度,采用 1 6 位数据总线格式( 通过将i o c s l 6 脚拉为高电平来实现) ,因而必须将s 3 c 4 4 b o x 的地址线与网卡芯片的地址引脚错位相接( a l 接a 0 ,a 2 接a l ) 。通过i o s 3 , i o s 2 ,i o s i ,l o s o 弓i 脚均置为低,使基地址为3 0 0 h ,而由于地址线错位a i o 参与 了译码,因此有效地址空间为6 0 0 h - - 6 3 f h 。同时,将网卡芯片的地址使能引脚 a e n 夕f 接s 3 c 4 4 8 0 x 的片选信号线g c s 5 ,使网卡映射到处理器的b a n k s ) f 围存储空 间,因此,对于s 3 c 4 4 b o x 微处理器,网卡芯片的有效可寻址地址空间 0 x o c 0 0 0 6 0 0 h 一0 x o c 0 0 0 6 3 f h 。 r t l 8 0 1 9 a s 芯片同时提供了8 条i r q 申请线,系统中使用i r q 2 9 ,并将它作为 s 3 c 4 4 b o x 微处理的外部中断源1 ( e x i n t i ) 。同时将8 0 1 9 a s 的s m e m r 和s m e m w 弓f 脚 接高电平,将远程自举加载功能屏蔽。由于网线带有1 2 v 或是4 8 7 的直流电,所 以不能通过r j 4 5 与r t l 8 0 1 9 a s 的信号发送和接收端直接相连,需要用一个l p f ( 隔 离变压块) 来滤掉直流。 2 3 嵌入式w e b 服务器操作系统的选择与移植 2 3 1 嵌入式操作系统 运行在嵌入式硬件平台上,对整个系统及其所操作的部件、装置等资源进 行统一协调、指挥和控制的系统软件叫做嵌入式操作系统。由于嵌入式操作系 统的硬件特点。应用环境的多样性和开发手段的特殊性,使它与普通的操作系 统有着很大的不同,其主要特点有微型化、可裁剪性、实时性、高可靠性、易 移植性f 4 酗。 嵌入式操作系统的种类繁多,但大体上可分为2 种商用型和免费型。 目前商用型的操作系统主要有v x w o r k s 、w i n d o w sc e 、p s o s 、p a l mo s 、o s - 9 、 l y n x o s 、q n x 等。它们的优点是功能稳定、可靠、有完善的技术支持和售后 服务,而且提供了如图形用户界面和网络支持等高端嵌入式系统要求的许多高 级功能;缺点是价格昂贵且源代码封闭,这就大大影响了开发者的积极性。目 7 前免费性的操作系统主要有l i n u x 和u c o s i i ,它们在价格方面具有很大的优 势。比如嵌入式u c o s i i 操作系统以价格低廉、结构精炼、易于移植同时又具 备了实时操作系统的全部功能,而且程序源代码全部公开优点正在被广泛采用。 2 3 2u c o s i i 简介 u c 0 s i i 是一个免费的源代码公开的实时嵌入式内核,它提供了实时系统 所需的基本功能。其包含全部功能的核心部分代码只占用8 3 k 字节,而且由于 u c 0 s i i 是可裁剪的,所以用户系统中实际的代码最少可达2 7 k 字节,可谓短 小精悍。u c o s i i 不仅使用户得到廉价的解决方案,而且由于u c o s - i i 的开源 特性,用户还可以针对自己的硬件优化代码,以获得更好的性能 】。 u c o s i i 实际上是一个实时操作系统内核,只包含了任务调度、任务管理、 时间管理、内存管理和任务间的通信与同步等基本功能。没有提供输入输出管 理、文件系统、网络之类的额外服务。但是由于u c 0 s - i i 的可移植性和开源性, 用户可以自己添加所需的各种服务。u c 0 s - i i 的体系架构如图2 - 5 所示 位o s - 与处理器无关代码位,o s 一与应用程序 0 s c 0 髓co s j c相关的代码 o s _ f a g co $ _ s e l c o sh b o x c o $ _ t p , s k co s _ c f g h d s j 盟co s _ t i 艇c 卫旺c 口n g s h o s _ i r i t e 】l c 位0 s 一c “_ n - u c 0 s - 与处理器相关的代码 o $ _ c p u h ( 移棒时需要缪政)o s 洲 脚 n q 伸np p 软件 硬件 二丑 至至 图2 5u c 0 s i i 结构图 2 3 3u c 0 s i i 的移植 ( 1 ) u c o s ii 的移植条件 所谓移植,就是使一个实时内核能在某个微处理器或微控制器上运行。要使 u c o s i i 能够正常运行,处理器必须满足以下要求: 处理器的c 编译器能产生可重入代码: 在程序中可以打开或者关闭中断: 处理器支持中断,并且能产生定时中断( 通常在1 0 10 0 0 h z 之间) : 处理器支持能够容纳一定量数据的硬件堆栈: 处理器有将堆栈指针和其他c p u 寄存器存储和读出到堆栈( 或者内存) 的 指令。 s a m s u n g 公司的s 3 c 4 4 8 0 x 处理器能够满足以上的要求,所以可以将u c 0 s i 工移植到s 3 c 4 4 b o x 上。 8 ( 2 ) 编译器的选择 目前,针对a r m 处理器内核的c 语言编译器有很多,如s d t ,a d s ,i a r , t a s k i n g 和g c c 等。在国内最流行的是s d t ,a d s 和g c c 。s d t 和a d s 均为a r m 公司自己 开发,a d s 是s d t 的升级版。以后a r m 公司不再支持s d t ,所以不选择s d t 。g c c 虽然 支持广泛,很多开发套件使用它作为编译器,但与a d s 比较,其编译效率较低,这 对充分发挥芯片性能很不利。所以最终选择使用a d s l 2 编译程序和调试,并且 其开发软件中包含的a r m c c 编译器能够产生可重入代码。 ( 3 ) u c o s - i i 的移植 u c o s i 工硬件和软件的体系结构如图2 - 5 所示。从图中可以看出,对 u c o s i i 的移植实际上就是对与处理器有关的代码进行重写或修改。移植工作 包括以下几部分内容: 用# d e f i n e 设置1 个常量的值( o s c p u h 文件中) : 声明l o 个数据类型( o s c p u h 文件中) : 用# d e f i n e 声明3 个宏( o s c p u h 文件中) : 用c 语言编写6 个简单的函数( o s c p u c 文件中) ; 编写4 个汇编语言函数( o s c p u a s m 文件中) 。 虽然u c o s ii 的大部分代码是用c 语言编写,但还存在一些与处理器相关 的汇编语言代码,从而实现对处理器寄存器的访问以及堆栈的操作。u c o s i i 操作系统的移植主要是对o s c p u h ,o s c p u a s m ,o s c p u c 等3 个源程序的编 写。o s c p u h 中包括了用# d e f i n e 定义的与处理器相关的常量和类型定义,与 u c o s 一工i 所定义的变量类型相一致:定义允许和禁止中断宏o s e n t e r c r i t i c a l ( ) 和o s e x i t c r i t i c a l ( ) 来保护临界段代码免受多任务或中断服务例 程的破坏。定义栈的增长方向,g c c 的c 语言编译器仅支持从上往下增长,并且必 须是满递减堆栈,o s s t k g r o w t h 的值定义为1 0o s c p u a s m 中要求编写4 个简单 的汇编函数: 0 s s t a r t h i g h r d y ( ) 作用是运行最高优先级的就绪任务。 o s c t x s w ( ) 是实现c p u 在正常运行时任务间的切换,即对当前任务堆栈的 保存和对高优先级任务堆栈的弹出,使最高优先级任务获取c p u 的控制权。 o s i n t c t x s w ( ) 是在中断服务程序中执行任务切换。 o s t i c k i s r ( ) 是系统时钟的中断服务程序,该程序执行频率为1 0 1o oh z , 主要功能是检查是否有由于延时而被挂起的任务成为就绪任务。如果有,就调用 o s i n t c t x s w ( ) 进行任务切换,从而运行高优先级的任务:因为u c o s i i 在每一 个节拍都要检查有没有更高优先级的任务在等待执行,若有,就要进行任务切 换。所以,时钟节拍率越高,系统的额外负荷就越重。o s c p u c 中要求编写6 个 与操作系统相关的函数:o s t a s k s t ki n i t ( ) ,0 s t a s k c r e a t e h o o k ( ) , o s t a s k d ei h o o k( ) ,o s t a s k s w h o o k( ),o s t a s k s t a t h o o k( ) 及 9 o s 2 t i m e t ic k h o o k ( ) 。其中,唯一必须移植的是任务堆栈初始化函数 o s t a s k s t ki n i t ( ) ,这个函数在任务创建时被调用,负责初始化任务的堆栈结 构并返回新堆栈的指针。 1 0 第三章嵌入式l w i p 的设计与实现 嵌入式t c p i p 协议栈作为嵌入式系统接入i n t e n e t 的关键技术,决定了整个 系统的网络功能。本章在研究现有t c

温馨提示

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

评论

0/150

提交评论