(系统工程专业论文)基于ARM7的嵌入式μCTCPIP协议栈的研究与实现.pdf_第1页
(系统工程专业论文)基于ARM7的嵌入式μCTCPIP协议栈的研究与实现.pdf_第2页
(系统工程专业论文)基于ARM7的嵌入式μCTCPIP协议栈的研究与实现.pdf_第3页
(系统工程专业论文)基于ARM7的嵌入式μCTCPIP协议栈的研究与实现.pdf_第4页
(系统工程专业论文)基于ARM7的嵌入式μCTCPIP协议栈的研究与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着嵌入式系统应用的持续增长,以高端处理器作为高性能嵌入式系统核心, 具有i n t e r a c t 接入能力的嵌入式系统将是下一步发展的方向。嵌入式网络技术要 得以实现,首先要实现的是网络间的通信,t c p i p 协议作为网络协议的标准,在 嵌入式系统上的实现对嵌入式网络技术的发展具有巨大的推动作用。i n t e r a c t 上的 各种通信协议对计算机存储器、运算速度等的要求较高。以8 16 位微控制器和低 端3 2 位微控制器为核心的嵌入式系统占有相当大的市场份额,而该系统实现 t c p i p 协议的难度较大。 针对以上问题,本文给出了基于a r m 的嵌入式g c t c p i p 协议的实现方案。 首先,本文介绍了嵌入式i n t e r a c t 技术的发展状况;分析了实时操作系统g c o s i i 的内核结构,详细阐述了g c o s i i 在l p c 2 4 7 8 的移植过程。其次,本文分析了 p h i l i p s 公司的l p c 2 4 7 8 处理器的结构和特点,完成了底层网络芯片d p 8 3 8 4 8 c 的电路设计和接口配置,为g c o s i i 操作系统和t c p i p 协议栈在嵌入式系统上 的移植提供了硬件设计参考。最后,重点研究了t c p i p 协议栈的具体实现。对协 议栈的具体实现包括对网络接口硬件驱动的具体实现、以太网接口程序模块的实 现以及各个协议的具体实现,并给出协议栈在嵌入式系统中的简单应用。 文中对于l p c 2 4 7 8 的分析有助于a r m 7 t d m i 。s 系列处理器的学习和应用。 对嵌入式实时操作系统l a c o s i i 在l p c 2 4 7 8 的移植也可以应用到其它处理器上。 对t c p i p 协议的分析和实现,可以作为今后类似丌发的参考。在a r m 硬件平台 上,使用g c o s i i 嵌入式实时操作系统实现t c p i p 协议栈,并应用到嵌入式系 统上,具有现实意义。 关键字:嵌入式系统p c o s ii l p c 2 4 7 8t c p ip a b s t r a c t a b s t r a c t w i t ht h ec o n t i n u e dg r o w t ho fe m b e d d e ds y s t e ma p p l i c a t i o n ,u s i n gh i g hl e v e l p r o c e s s o ra st h ec o r eo fh i g l l p e r f o r m a n c ee m b e d d e ds y s t e m ,w i t hi n t e r a c ta c c e s s c a p a b i l i t yo ft h ee m b e d d e ds y s t e mw i l lb et h en e x ts t a g eo fd e v e l o p m e n t i no r d e rt o r e a l i z et h ee m b e d d e dn e t w o r kt e c h n o l o g y , f i r s to fa 1 1 t h ec o m m u n i c a t i o np r o t o c o l b e t w e e nt h ev a r i o u sn e t w o r k ss h o u l db er e a l i z e d t c p i pp r o t o c o la san e t w o r k p r o t o c o ls t a n d a r dw i l lb eah u g eb o o s ti nt h ee m b e d d e ds y s t e m t h ec o m m u n i c a t i o n p r o t o c o lo fi n t e r n e tr e q u i r e sh i g hs p e e do fc o m p u t a t i o na n dm u c hm e m o r y al a r g e n u m b e ro fe m b e d d e ds y s t e m sw i t h8 16b i ta n dl o w e n d3 2b i tm i c r o c o n t r o l l e rc o r e o c c u p yal a r g em a r k e ts h a r e i ti sd i f f i c u l tt oi m p l e m e n tt h et c p i pp r o t o c o lf o rt h e s e e m b e d d e d s y s t e m s t os o l v et h ea b o v ep r o b l e m ,t h i sp a p e rg i v e sak i n do fe m b e d d e db c t c p i p p r o t o c o li m p l e m e n t a t i o nw h i c hi sb a s e do na r m f i r s t t h ea r t i c l ed e s c r i b e st h e d e v e l o p m e n to fe m b e d d e di n t e r n e tt e c h n o l o g y ;a n a l y s i so fr e a l - t i m eo p e r a t i n gs y s t e m c o s i ik e r n e ls t r u c t u r e e l a b o r a t e do n “c o s i ii nt h el p c 2 4 7 8t h em i g r a t i o n p r o c e s s s e c o n d l y , t h ep a p e ra n a l y z e sp h i l i p sc o m p a n y sl p c 2 4 7 8p r o c e s s o r s t r u c t u r ea n dc h a r a c t e r i s t i c so ft h ec o m p l e t i o no ft h eu n d e r l y i n gn e t w o r ki n t e r f a c ec h i p d p 8 38 4 8 cc i r c u i td e s i g na n dc o n f i g u r a t i o n ,p r o v i d e sah a r d w a r ep l a t f o r n lf o rt h e o p e r a t i n gs y s t e ma n dt h ee m b e d d e ds y s t e m sm i g r a t i o no fp r o t o c o ls t a c k f i n a l l y , t h i s p a p e rf o c u s e so nt h et c p i pp r o t o c 0 1s t a c ki m p l e m e n t a t i o n ,i n c l u d i n gt h er e a l i z a t i o n o fn e t w o r ki n t e r f a c eh a r d w a r ed r i v e n t h ee t h e m e ti n t e r f a c em o d u l e sa n dt h e r e a l i z a t i o no fv a r i o u sp r o t o c o ls t a c k s a n dt h i sp a p e ra l s og i v e st h es i m p l ea p p l i c a t i o n o fp r o t o c o ls t a c ki ne m b e d d e ds y s t e m s t h ea n a l y s i so fl p c 2 4 7 8s e r i e sw i l lh e l po t h e r sw i t ht h el e a r n i n ga n da p p l i c a t i o n o fa r m 7 t d m i sp r o c e s s o r t h ea n a l y s i so fl l c o s i ia n dt h em i g r a t i o no fu c o s i i i nl p c 2 4 7 8c a na l s ob eu s e df o ro t h e rp r o c e s s o r s t h ea n a l y s i sa n dm i g r a t i o no f l x c t c p i pp r o t o c o lc a na l s ob eu s e di n f u t u r es i m i l a rr e f e r e n c e o nt h ea r m h a r d w a r ep l a t f o r r n 。t h e “c o s i ii o sc a nr e a l i z et h et c p i pp r o t o c o ls t a c k a n dt h i s s y s t e mc a nb ea p p l i e dt oe m b e d d e ds y s t e m s ot h i ss y s t e mh a sap r a c t i c a ls i g n i f i c a n c e k e y w o r d s :e m b e d d e ds y s t e mp c o s i i l p c 2 4 7 8t c p i p 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学分和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:查鱼:垫日期望尘! 垒! ! 堡 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 盔垒丝一一一 日期塑皇! 业 导师签名:壁垫堡日期塑! 竺:坌! ! ! 霆 第一章绪论 第一章绪论 1 1 引言 随着计算机通信技术、芯片制造以及网络技术的高速发展和相互融合,嵌入 式系统已经全面渗透到日常生活的每一个角落,如通讯、网络、金融、航天、航 空、消费电子、军事装备、仪器仪表、制造业控制等。目前嵌入式系统技术已经 成为最热门的技术之一,在嵌入式操作系统中,嵌入式实时操作系统( r e a lt i m e o p e r a t i n gs y s t e m ,r t o s ) 支持多任务,便于应用系统的设计、维护和扩展,同时 具有良好的可剪裁性和实时性,能够提高系统的稳定性和可靠性。采用嵌入式实 时操作系统作为嵌入式应用开发逐渐成为一个发展方向【1 1 。 同时,对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 2 嵌入式系统的概述 随着嵌入式系统在消费类电子、工业控制、航空航天、汽车电子、医疗保健、 网络通信等各个领域的广泛应用,嵌入式系统这个名词已经被各行各业的人所熟 知,嵌入式系统已走进人们的生活,它正以各种不同的形式改变着人们的生产、 生活方式。嵌入式系统( e m b e d d e ds y s t e m ) ,是一种“完全嵌入受控器件内部,为 特定应用而设计的专用计算机系统”,根据英国电器工程师协会( u k i n s t i t u t i o no f e l e c t r i c a le n g i n e e r ) 的定义:嵌入式系统为控制、监视或辅助设备、机器或用于工 厂运作的设备【2 j 。从广义上讲,凡是带有微处理器的专用软、硬件系统都可称为 嵌入式系统。如各类单片机和数字信号处理( d 睹t a ls i g n a lp r o c e s s i n g ,d s p ) 系统, 这些系统在完成较为单一的特定功能时具有简洁高效的特点,但是由于它们没有 使用操作系统,所以管理系统硬件和软件的能力有限,在实现复杂的多任务功能 时往往困难重重,甚至无法实现。从狭义上讲,嵌入式系统是指那些使用嵌入式 微处理器,具有自己的操作系统,应用于特定场合具有特定功能的独立系统。本 文所说的嵌入式系统是指狭义上的嵌入式系统。到目前为止,对于嵌入式系统还 没有一个统一的定义,例如i n t e l 公司的凌动( a t o m ) 微处理器原本是为了移动互 2 基于a r m 7 的嵌入式i r t c t c p - i p 协议栈的研究与实现 联网设备( m o b i l ei n e m e td e v i c e ,m i d ) 这一类的嵌入式系统设计的,但是现在更 多的被应用于上网本( n e t b o o k ) ,而上网本属于使用w i n d o w s 或者l i n u x 的个人计 算机,因此嵌入式系统的定义又更模糊了【3 1 。嵌入式系统的核心是嵌入式微处理 器,该处理器都是精简指令集计算机( r e d u c ei n s t r u c t i o ns e tc o m p u t i n g ,r i s c ) 的 处理器内核。 1 2 1 嵌入式微处理器的主要特点 ( 1 ) 对实时多任务有很强的支持能力,能完成多任务并有较短的中断响应时 间,从而使内部的代码和实时内核的执行时间减少到最低限度。 ( 2 ) 具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块 化,需要在软件模块之间设计强大的存储区保护功能,同时也有利于软件诊断。 ( 3 ) 可扩展的处理器结构,以便迅速地开发出满足应用的高性能的嵌入式设 备。 ( 4 ) 功耗低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电 的嵌入式系统更是如此。 1 2 2 嵌入式处理器内核按照体系结构的分类 ( 1 ) m i p s 处理器 m i p s 是世界上很流行的一种r i s c 处理器。m i p s 的意思是“无内部互锁流 水级的微处理器”( m i c r o p r o c e s s o rw i t h o u ti n t e r l o c k e dp i p e ds t a g e s ) ,其机制是尽量 利用软件办法避免流水线上的数据相关问题。m i p s 处理器是由美国m i p s 公司研 发出来的一套处理器体系,m i p s 公司是一家设计制造高性能、高档次及嵌入式 3 2 位和6 4 位处理器的厂商,在r i s c 处理器方面占有重要地位【4 j 。 ( 2 ) a r m 处理器 a r m ( a d v a n c e dr i s cm a c h i n e s ) 处理器是由只设计内核的英国a r m 公司研发 出来的一套处理器体系。a r m 是微处理器行业的一家知名企业,设计了大量高 性能、廉价、低能耗的r i s c 处理器,开发了许多相关技术及软件。其技术具有 性能高、成本低和能耗低的特点,适用于多种领域,比如嵌入式控制、消费教育 类多媒体、d s p 和移动式应用等。a r m 将其技术授权给世界上许多著名的半导 体、软件和o e m ( o r i g i n a le q u i p m e n t e n t r u s t e dm a n u f a c t u r e ,原始设备制造原产 地委托加工) 厂商,每个厂商得到的都是一套独一无二的a r m 相关技术及服务。 利用这种合作关系,a r m 很快成为许多全球性r i s c 标准的缔造者。目前,总共 有3 0 家半导体公司与a r m 签订了硬件技术使用许可协议,其中包括i n t e l 、i b m 、 第一章绪论 3 三星电子、l g 半导体、n e c 、s o n y 、飞利浦和国民半导体等大公司。至于软件 系统的合伙人,则包括微软、升阳和m r i 等一系列知名公司。a r m 架构是面向 低预算市场设计的第一款r i s c 微处理器。 ( 3 ) p o w e r p c 处理器 2 0 世纪9 0 年代,i b m ( 国际商用机器公司) 、a p p l e ( 苹果公司) 和m o t o r o l a ( 摩托罗拉) 公司开发p o w e r p c 芯片成功,并制造出基于p o w e r p c 的多处理器 计算机。p o w e r p c 架构的特点是可伸缩性好、方便灵活。m p c 8 6 0 和m p c 8 2 6 0 是其中最经典的两款p o w e r p c 内核的嵌入式处理器。 ( 4 ) 6 8 k c o l d f i r e 嵌入式微处理器具有低功耗的特点,尤其是用于便携式的无线及移动的计算 和通信设备中靠电池供电的嵌入式系统更是如此。 1 3 嵌入式系统的组成 嵌入式系统一般由硬件平台和软件平台两部分组成,如图1 1 所不。其中硬件 平台由嵌入式微处理器和外围硬件设备组成,而软件平台由嵌入式操作系统和应 用软件组成。 几网 臣因软件平台 困 硬件平厶 图1 1 1 嵌入式系统的一般架构 随着芯片技术的不断发展,嵌入式处理器的主频也越来越高,通常主频都在 4 0 m h z 以上,有的甚至高达5 0 0 m h z 。多处理器、多核处理器平台也逐渐应用在 嵌入式领域,不过现在大量使用的是由3 2 位单处理器组成的平台。一个典型的硬 件平台如图1 2 所示。 4 基于a r m 7 的嵌入式g c t c p - i p 协议栈的研究与实现 图1 2 嵌入式硬件平台的基本组成结构 嵌入式软件平台主要由嵌入式操作系统与应用软件组成。目前流行的嵌入式 操作系统可以分为两类,一类是从运行在个人电脑上的操作系统向下移植到嵌入 式系统所形成的嵌入式操作系统,如微软公司的w i n d o w sc e ,s u n 公司的j a v a 系统,朗讯科技公司的i n f e r n o ,嵌入式l i n u x 等。这类系统经过个人电脑或高性 能计算机等产品的长期运行考验,技术日趋成熟,其相关的标准和软件开发方式 已被用户普遍接受,同时积累了丰富的开发工具和应用软件资源。另一类是实时 操作系统,如w i n d r i v e r 公司的v x w o r k s ,i s i 的p s o s ,q n x 系统软件公司的 q n x ,a t i 的n u c l e u s ,中国科学院凯思集团的h o p e n 嵌入式操作系统等,这类 产品在操作系统的结构和实现上都针对所面向的应用领域,对实时性和可靠性等 进行了精巧的设计,而且提供了独立而完备的系统开发和测试工具,较多地应用 在军用产品和工业控制等领域中。目前常见的嵌入式操作系统有l i n u x 、g c l i n u x 、 w i n d o w sc e ,p a l m o s 、s y m b i a n ,e c o s ,g c o s i i ,v x w o r k s ,p s o s ,n u c l e u s , t h r e a d x 、r t e m s 、q m x 、i n t e g r i t y 、o s e 、ce x e c u t i v e 等。嵌入式操作系统 的发展也必将带动新一轮的科技竞争。 应用程序运行在嵌入式操作系统之上,一般情况下应用程序和操作系统是分 开的。当处理器上带有m m u ( m e m o r ym a n a g e m e n tu n i t ,存储器管理单元) 时, 它可以从硬件上将应用程序和操作系统分开编译和管理,l i n u x 、w i n d o w sc e 就 是这种分离机制。在使用没有m m u 的处理器时,如a r m 7 t d m i ,应用程序和 操作系统经常是一起编译的,对于开发人员来说,操作系统更像是一个函数库。 这类的操作系统如g c o s i i 、g c l i n u x 等。 本论文所采用的操作系统就是i a c o s i i 系统。g c o s i i 属于可剥夺型内核, 可移植性和可裁剪性较好。g c o s i i 最多可管理2 5 6 个任务,每个任务都拥有自 己独立的堆栈。g c o s i i 提供了丰富的系统服务功能,比如信号量、消息邮箱、 消息队列、事件标志、内存管理和时间管理等,这些功能可以帮助用户实现复杂 的应用。g c o s i i 最大程度的使用a n s ic 语言开发,提供了良好的移植性能【5 i 。 第一章绪论 5 p c o s i i 已经在2 0 0 0 年7 月通过了美国联邦航空管理局( f e d e r a la v i m i o n a d m i n i s t r a t i o n ) 的认证,该认证表明:i _ t c o s i i 具有足够的稳定性和安全性,可以 用于航天器这样要求极为苛刻的复杂系统 6 1 。p c o s i i 在高校教学使用是不要申 请许可证的,但若将p c o s i i 的目标代码嵌入到产品中去,应当购买目标代码销 售许可证。从1 9 9 2 年丌始,由于其高度可靠性、鲁棒性和安全性,p c o s i i 已 经被广泛应用到数以百计的产品中去。 1 4i n t e r n e t 技术在嵌入式系统中的应用与发展 1 4 1 嵌入式i n t e r n e t 的研究背景和意义 按照爱因斯坦( a l b e ae i n s t e i n ) 相对论的观点来看,当信息以光速环绕地球传输 时,人们所面对的空间在缩小而时间在放大。嵌入式i n t e m e t 应用恰好如此,它 使得地球变成了一个“地球村”、一个具有电子化皮肤的“地球生物1 7 1 。然而, 嵌入式i n t e m e t ( e m b e d d e di n t e m e t ) 技术的出现时间并不很长,但是发展速度非常 之快,新思想不断涌现,新概念连续推出,新技术层出不穷,新产品节节产生, 从底层硬件技术所提供的解决方案到顶层软件所开拓的想象空间,都在不断地推 陈出新。在国外,许多大公司包括s i e m e n s i n f i n e o n 、e m w a r e 、m i c r o c h i p 、p h i l i p s 和m o t o r o l a 等在内的数十个公司联合成立了“嵌入式i n t e m e t 联盟( e t i ) ”来专门 讨论和制订嵌入式i n t e r n e t 领域的标准,发展相关方面的技术。目前e m w a r e 公司 开发的e m i t 技术( 即嵌入式微型网络技术) 、c m x 公司的c m x m i c r o n e t 技术、 n e t s i l i c o n 公司的n e t + w b r k s 技术、c o n n e c to n e 公司的i c h i p 技术等都是为嵌入 式i n t e m e t 技术给出的相应解决方案。另外,m i c r o c h i p 公司开发出的i p i c 系列单 片机、u b i c o m 公司开发的s c e n i xi p 2 0 0 0 i p 3 0 0 0 系列处理器、以及r a b b i t 半导体 公司的r a b b i t 系列处理器也都是针对嵌入式i n t e m e t 开发的。 从6 0 年代开始发展起来的计算机网络技术,到现在已经历了近5 0 年的历史, 随着计算机和通信技术的发展,网络技术也进入了一个崭新的时代。信息技术的 迅猛发展,特别是当前全球建设信息高速公路热使得网络技术又面临着新的机遇 和挑战。过去大量的浩如烟海的8 1 6 位单片机的嵌入式设备,如仪器仪表、数据 采集和显示、过程控制、工业和家庭自动化等,已经到了享受网络带来的方便的 时候了。这些嵌入式设备将成为i n t e m e t 网的发展沃土,以顺应“网络服务 向 “网络应用扩展的大潮。 6 基于a r m 7 的嵌入式心厂r c p - i p 协议栈的研究与实现 1 4 2 嵌入式i n t e r n e t 的通信协议和接入方案 将嵌入式系统与i n t e m e t 结合主要困难在于:实现嵌入式设备的i n t e m e t 网络 化,需要移植t c p i p ( t r a n s m i s s i o nc o n t r o lp r o t o c o l i n t e r n e tp r o t o c o l ,网络通讯 协议) 网络协议,但由于i n t e m e t 上面的各种通信协议对于计算机存储器、运算 器速度等方面的要求比较高,而嵌入式系统中除部分3 2 位微处理器外,大量存在 8 位和1 6 位的微处理器,它们存储容量小,运行速度较慢,支持t c p i p 等i m e m e t 协议将占用大量系统资源【8 】。这对嵌入式系统实现i n t e m e t 网络化是一个很大的挑 战。 嵌入式t c p i p 与常规t c p i p 的实现有很大不同。例如w i n d o w s 或u n i x 等 操作系统的内存分配是动态的,可以根据需要随时分配随时撤销。而嵌入式系统 的数据存储空间较小,仅能存放收发的一帧或几帧数据包,因此在嵌入式系统中, 是根据实际情况分配一个固定字节缓冲区来存放接收到的网络数据包,收到一包 就处理一包。t c p b p 包含有应用层、传输层、网络层等一系列协议,且每层可采 用的协议有好几种。嵌入式系统的应用针对性非常强,因而只需实现与需求相关 的协议,而不使用的协议则一概不支州9 1 。 目前嵌入式t c p i p 协议栈的实现方法很多,应用较广的嵌入式t c p i p 协议 栈几乎都是根据b s d ( b e r k e l e ys o f t w a r ed i s t r i b u t i o n ,伯克利软件套件) 版的 t c p i p 协议栈改写的。以下是几种主流的丌源嵌入式t c p i p 协议栈训。 b s dt c p i p 协议栈是其它商业栈的起点,大多数专业t c p i p 栈( v x w o r k s 内嵌的t c p i p 栈) 是b s d 栈派生的。这是因为b s d 栈在b s d 许可协议下提供 了这些专业栈的雏形,允许b s d 栈以修改或未修改的形式结合这些专业栈的代码 而无须向创建者付版税。同时,b s d 也是许多t c p i p 协议中的创新( 如广域网 中的拥塞控制和避免) 的起点。该协议栈虽然可完整实现t c p i p 协议,但代码庞 大,7 0 k b 1 5 0 k b 之间,裁减优化有难度。 i t c i p t l l 】是由g u yl a n c a s t e r 编写的一套基于i _ t c o s 且开放源码的t c p h p 协议 栈,亦可被移植到其它操作系统,是一套完全免费的、可供研究的t c p i p 协议栈, c i p 大部分源码是从公开源码b s d 发布站点和k a 9 q ( 一个基于d o s 单任务 环境运行的t c p i p 协议栈) 移植过来。“c i p 具有这样特点:带身份验证和报头 压缩支持的p p p 协议,优化的单一请求回复交互过程,支持i p t c p u d p ( u s e r d a t a g r a mp r o t o c o l ,用户数据包协议) 协议,可实现的网络功能较为强大,并可 裁减。i t c i p 协议栈被设计为一个带最小化用户接口及可应用串行链路网络模块。 根据采用c p u 类型、编译器和系统所实现协议类型的不同,协议栈需要的代码容 量空间在3 0 6 0 k b 之间。 第一章绪论 l w l p 是瑞士计算机科学院( s w e d i s hi n s t i t u t eo fc o m p u t e rs c i e n c e ) 的a d a m d u n k e l s 等开发的一套用于嵌入式系统的开放源代码t c p i p 协议栈【1 2 l 。l w i p 的 含义是l i g h tw e i g h t ( 轻型) i p 协议。l w l p 可以移植到操作系统上,也可以在无 操作系统的情况下独立运行。l w l p 实现的重点是在保持t c p 协议主要功能的基 础上减少对r a m ( r a n d o ma c c e s sm e m o r y ,随机存储器) 的占用,一般它只需 要几十k 的r a m 和4 0 k 左右的r o m ( r e a do n l ym e m o r y ,只读存储器) 就可 以运行,这使l w l p 协议栈适合在低端嵌入式系统中使用。 u i p 1 3 j 是专门为8 位和1 6 位控制器设计的一个非常小的t c p i p 栈。由于它采 用c 编写,因此可移植到不同结构的操作系统上。它代码容量小巧,一个编译过 的栈可以在几千字节r o m 或几百字节r a m 中运行。并且实现功能精简,限制 其在一些较高要求场合下的应用,如高可靠性与大容量数据传输【l4 1 。 z l i p 是专门为5 1 单片机设计的嵌入式t c p i p 协议栈,可以在有操作系统和 没有操作系统情况下运行,z l i p 介于u l p 和l w l p 之间,具有代码量适中、运行 速度快、用户接口简单、兼容b s ds o c k e t 接v i 的特剧”】。 m i c r i u m 公司的p , c t c p i p 是一个简洁、可靠、高性能的t c p i p 协议栈。 g c t c p i p 的构造方式为从底层向上,具有高质量、可扩展性和可靠性。 g c t c p i p 是一种精简的设计,并不是来源于公开的u n i x 栈,但仍然与b e r k e l e y 4 4 ( b s d ) 套接字接口相兼容【1 6 】。g c t c p i p 是用a n s ic 编写的,能和众多同类 产品中最好的交叉开发工具一起使用。该协议栈与g c o s i i 一样,如果用于商业 目的,就必须购买使用授权。 在嵌入式系统的应用上,微处理器的型号、种类繁多,由于不同型号的微处 理器之间存在着一定的差别,所以使得将嵌入式系统与i n t e m e t 结合起来存在一 定的难度。从技术上讲,将嵌入式系统接入i n t e m e t 没有一个固定的方案,针对 不同的系统可以采用不同的方法。常见的嵌入式i n t e m e t 接入方案有以下几种。 ( 1 ) 采用专用的w e b 服务器,将利用网络通讯技术组成子网的嵌入式系统路 由至外部网1 1 7 1 。 ( 2 ) 通过专用的嵌入式网关,将网络通讯技术组成的嵌入式系统连在一起,运 行t c p i p 协议。 ( 3 ) 直接在嵌入式系统上实现t c p i p 协议,并通过以太网络接口控制芯片或 m o d e m 接入互联网。它的优点就是灵活性高,价格低廉,但这种方法需要较高的 软件水平,对开发者的要求较高。 1 5 课题研究背景 r s 2 3 2 4 8 5 总线虽然硬件设计简单,控制方便,成本低廉,但在抗干扰、自 8 基y - a r m 7 的嵌入式l t c t c p i p 协议栈的研究与实现 适应、通讯效率方面仍存在缺陷,尤其是传输速率【l 引,不适宜做远程通信。从成 本以及网络发展的趋势考虑,系统宜采用低成本和适宜网络发展趋势的以太网传 输方式。而当前嵌入式系统和网络技术的兴起及飞速发展,使系统的通信有了更 好的传输方式:系统通过连接以太网,借助因特网进行网络通信,是一个切实可 行的办法【l9 1 。嵌入式网络技术要得以实现,首先要实现的是网络间的通信,而 t c p i p 协议作为网络协议的标准,在嵌入式系统上的实现对嵌入式网络技术的发 展具有强大的推动作用。 1 6 论文的主要研究内容 本文研究的目的就是利用当前的嵌入式i n t e m e t 技术来实现嵌入式系统的网 络应用。在对大量中外文献分析的基础上,本文结合当前嵌入式系统发展的趋势 和前沿技术,对嵌入式系统的软、硬件平台和t c p i p 协议的基本原理以及实现方 法进行深入的分析和研究。 本文内容结构安排如下。 第一章分析了嵌入式系统的特点,嵌入式微处理的分类,嵌入式i n t e m e t 技 术的应用和发展,并总结本论文所作的工作。 第二章对实时操作系统i t c o s i i 的分析和移植方法进行了研究和实现。 第三章基于y l l p c 2 4 7 8 开发板,分析了p h i l i p s 公司的l p c 2 4 7 8 处理器 的结构和特点,实现了以国家半导体公司d p 8 3 8 4 8 c 芯片作为以太网接口的p h y ( p o r tp h y s i c a ll a y e r ,端1 :3 物理层) 设备的接口配置,为操作系统和协议栈在嵌 入式系统上的移植提供了硬件平台。 第四章重点研究t c p i p 协议栈的具体实现。对协议栈的具体实现包括对网 络接口硬件驱动的具体实现、以太网接口程序模块的实现以及各个协议的具体实 现,并给出了协议栈的简单应用。 第五章总结了本文的主要工作,并结合论文的研究工作,给出了几点展望。 第二章实时操作系统g c o s 1 1 的分析与移植 9 第二章实时操作系统g c 0 s ii 的分析与移植 在本章中,将首先阐述g c o s i i 内核的特点和文件结构,然后介绍l a c o s i i 在l p c 2 4 7 8 处理器上移植,为实现t c p i p 协议提供系统支持。 2 1 灿c 0 s i i 操作系统的简介 随着嵌入式技术的快速发展,实时多任务操作系统作为一种软件平台已逐步 成为国际嵌入式系统的主流,目前世界上已经有一大批成熟的实时嵌入式操作系 统。通常,对嵌入式系统的基本要求是体积小、指令速度快、具有较好的裁减性 和可移植性。目前,实时操作系统很多,如v x w o r k s ,w i n d o w sc e ,p s o s ,q n x , l y n x o s 等,这些操作系统都具有高可靠性、强实时性等特点,但它们都是商业 操作系统,价格昂贵,人们往往很难接受,i t c o s i i 操作系统的出现是对这些商 业操作系统的一个很大的冲击【2 0 l 。g c o s i i 是一个源码公开的实时嵌入式内核, 它提供了实时系统所需的基本功能。它不但提供了一个完整的嵌入式实时内核的 源代码,而且对这些代码的细节进行了详尽的解释。它不仅告诉用户该实时内核 是怎么写的,还解释了为什么要这样写【2 。l a c o s i i 核心代码很小,程序开发人 员要把它移植到自己的目标板中只需做少量的工作,而且还可以针对自己的硬件 优化代码,以获得更好的性能。 c o s 系统由美国人j e a nl a b r o s s e 于1 9 9 2 年完成,1 9 9 8 年发展到g c o s i i , 目前版本为i i c o s i iv 2 8 6 。而在2 0 0 9 年9 月,作为m i c r i u m 公司的总裁兼首席 执行官l a b r o s s e 宣布了“c o s i i i 的上市,这标志了实时操作系统发展的又一重 大进程【2 2 】。而g c o s i i 将仍然是一个m i c r i u m 产品,继续满足客户的要求,提供 某些改进,解决当今复杂的设计。 i x c o s i i 实际上是一个实时操作系统内核,只包含了任务调度、任务管理、 时间管理、内存管理和任务间的通信与同步等基本功能,它提供了实时系统所需 的基本功能。其包含全部功能的核心部分代码只占用8 3 k 字节,而且由于 p c o s i i 是可裁剪的,所以用户系统中实际的代码最少可达2 7k 字节,非常短 小精悍。没有提供输入输出管理、文件系统、网络之类的服务。但是由于g c o s i i 的可移植性和开源性,用户可以自己添加所需的各种服务。目前,己经有为 g c o s i i 开发的文件系统、t c p i p 协议栈、用户显示接口等模块【2 3 l 。i 上c o s i i 具有以下一些特点。 ( 1 ) 公开源代码 g c o s i i 的全部源代码都是公开的,并且组织有序、注解详尽、清晰易读。 1 0 基于a r m 7 的嵌入式1 1 c t c p i p 协议栈的研究与实现 ( 2 ) 可移植性 绝大部分1 t c o s i i 的源码是用移植性很强的a n s ic 写的,而与微处理器硬 件相关的部分是用汇编语言写的。汇编语言的部分己经压到最低限度,使得 p c o s i i 便于移植到其它微处理器上。c o s i i 可以在绝大多数8 位、1 6 位、3 2 位以至6 4 位微处理器、微控制器、数字信号处理器上运行。 ( 3 ) 可固化 i t c o s i i 是为嵌入式应用而设计的。只要用户有固化手段( c 编译、连接、 下载和固化) ,i t c o s i i 就可以嵌入到用户的产品中。 ( 4 ) 可裁剪 可以只使用 t c o s i i 中应用程序需要的那些系统服务,这样可以减少产品中 的 t c o s i i 所需的存储空间( r a m 和r o m ) 。p c o s i i 的可裁剪性是依据条件 编译实现的,只要在应用程序中定义( 用# d e f i n ec o n s t a n t s 语句) 应用程序需要的 功能就可以了。 ( 5 ) 占先式 c o s i i 是占先式的实时内核,这意味着p c o s i i 总是运行就绪条件下优先 级最高的任务。大多数商业内核也是占先式的,p c o s i i 在性能上和它们类似。 ( 6 ) 多任务 p c o s i i 可以管理2 5 6 个任务,保留8 个给系统,应用程序最多可以有2 4 8 个任务。p c o s i i 赋予每个任务的优先级必须是不同的,这意味着p c o s i i 不支 持时间片轮转调度法( r o u n dr o b i ns c h e d u l i n g ) 。 ( 7 ) 任务栈 每个任务有自己独立的栈。“c o s i i 允许每个任务有不同的栈空间,以便压 低应用程序对r a m 的需求。使用p c o s i i 的栈空问校验函数,可以确定每个任 务到底需要多少栈空间。 ( 8 ) 系统服务 t c o s i i 提供很多系统服务,例如邮箱、消息队列和信号量等。 ( 9 ) 中断管理 中断可以使正在执行的任务暂时挂起。如果优先级更高的任务被该中断唤醒, 则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达2 5 5 层。 c o s i i 的主要文件仅有十几个,弘c o s i i 的体系结构以及它与系统硬件之 间的关系如图2 1 所示。 第二章实时操作系统g c o s - i i 的分析与移植 1 1 i l l c o s - l i ( 与处理器无关的代码) 0 sc o r e c ( 核心代码) o sf l a g e c ( 事件标志组) o sm b o x c ( 消息邮箱) o sm e m c ( 内存管理) o sm u t e x c ( 互斥信号量) o sq c ( 消息队列) o ss e m c ( 信号帚) o st a s k c ( 任务管理) o st i m e c ( 时间管理) i t c o s i i c ( 内核结构) g c o s 1 1 h ( i , q 核结构) 软件 硬件 二二二二亘 二二 】妇 图2 1i t c o s - i i 的体系结构以及与系统硬件之间的关系 2 2 c o s i i 操作系统的移植 修改某个操作系统源代码

温馨提示

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

评论

0/150

提交评论