(计算机应用技术专业论文)面向通信领域嵌入式软件平台核心的研究与实现.pdf_第1页
(计算机应用技术专业论文)面向通信领域嵌入式软件平台核心的研究与实现.pdf_第2页
(计算机应用技术专业论文)面向通信领域嵌入式软件平台核心的研究与实现.pdf_第3页
(计算机应用技术专业论文)面向通信领域嵌入式软件平台核心的研究与实现.pdf_第4页
(计算机应用技术专业论文)面向通信领域嵌入式软件平台核心的研究与实现.pdf_第5页
已阅读5页,还剩93页未读 继续免费阅读

(计算机应用技术专业论文)面向通信领域嵌入式软件平台核心的研究与实现.pdf.pdf 免费下载

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

文档简介

电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 摘要 随着信息时代的到来,嵌入式系统在各个领域中的应用越来越广泛。嵌入式系 统是与具体应用密切联系的专用系统,具有较强的行业应用特点。在通信领域,存 在着大量的嵌入式应用。电信级系统设备是通信领域当中一种具有典型行业特点的 嵌入式设备,具有分布性、并行性、实时性、信息量大,对资源要求高等特点,这 对通信领域的嵌入式系统开发提出了较高的要求。同时,通信设备作为人们交流的 重要手段,在信息时代越来越被人们所接受,人们对通信业务的需求也在不断变化 中。因此,如何快速有效地开发出满足要求的软件,是通信领域嵌入式软件开发中 迫切需要解决的问题。嵌入式软件平台是解决这一问题的有效途径,本论文主要研 究了面向通信领域的嵌入式软件平台的相关理论和实现技术。 面向通信领域的嵌入式软件平台在c p u o s 和应用程序之间提供一个中间层,屏 蔽底层操作系统和硬件,向上为应用程序提供了一个统一的运行平台,同时针对通 信领域的特点对底层操作系统进行了功能扩充,提供了一个简明一致的应用程序接 口,降低了应用程序开发人员对底层操作系统的了解,以支持快速有效地开发通信 业务软件。嵌入式软件的开发长期以来使用的是过程化技术,使用面向对象技术, 尤其是设计模式和架构,进行嵌入式软件的开发,是一种新的实践。本论文首先分 析了嵌入式系统开发特点和通信领域嵌入式应用特点,指出嵌入式软件平台在通信 软件开发中的重要性;接着分析了通信领域嵌入式软件平台技术的演进,阐述了面 向对象技术在通信软件开发中的重要性和可行性;在研究了面向对象技术,尤其是 设计模式和架构技术的基础上,针对通信行业的特点提出了一种面向对象的嵌入式 软件平台模型,并进行了技术实现和验证:最后介绍了该平台在通信产品中的应用 情凋。 【关键词】嵌入式软件平台通信软件设计模式架构 里士翌堕奎兰堡主丝兰:亘堕望堕塑垫堂垒苎墼堡! 鱼堡:生塑婴塑塑塞里 a b s t r a c t f o l l o w i n gt h ea r r i v i n go fi n f o r m a t i o ne r a ,e m b e d d e ds y s t e m sh a v eb e e nm o r ea n d m o r ew i d e l yu s e di nm a n yf i e l d s e m b e d d e ds y s t e mi st h ed e d i c a t e ds y s t e m sw i m t h e c h a r a c t e r i s t i c so ft r a d ea p p l i c a t i o n ,w h i c ha r ec l o s e l yr e l a t e dw i t hc o n c r e t ea p p l i c a t i o n i n t h ef i e l d so f c o m m u n i c a t i o n ,t h e r e a r e m a n y e m b e d d e d a p p l i c a t i o n s t h e t e l e c o m m u n i c a t i o ns y s t e me q u i p m e n ti st h ee m b e d d e de q u i p m e n tw i t ht h ec h a r a c t e r i s t i c s o f t y p i c a lt r a d ea p p l i c a t i o ni nt h ef i e l d so f c o m m u n i c a t i o n a n di th a st h ec h a r a c t e r i s t i c s o fd i s t r i b u t i o n ,c o n c u r r e n c e ,r e a lt i m e ,g r e a ta m o u n to fi n f o r m a t i o n ,h i g hd e m a n df o r r e s o u r c e s ,w h i c hh a sb r o u g h tu ph i g h e rd e m a n df o rt h ed e v e l o p m e n to fe m b e d d e d s y s t e m s i nt h ef i e l d so f t e l e c o m m u n i c a t i o n m e a n w h i l e ,t h er e q u i r e m e n t f o r t e l e c o m m u n i c a t i o nb u s i n e s si s c h a n g i n gc o n s t a n t l y s o ,h o w t o d e v e l o p s o f t w a r e f u l f i l l i n gt h er e q u i r e m e n te f f e c t i v e l ya n dq u i c k l y , i st h ep r o b l e mw e n e e dt os o l v ei nt h e e m b e d d e ds o f t w a r e d e v e l o p m e n t i nt h ef i e l d so ft e l e c o m m u n i c a t i o n t h ee m b e d d e d s o f t w a r ed e v e l o p m e n tp l a t f o r mi st h ee f f e c t i v ew a yt os o l v et h i sp r o b l e m ,a n dt h i sp a p e r i sf o c u s e do n r e s e a r c h i n g t h er e l a t e dt h e o r ym a d i m p l e m e n t a t i o nt e c h n o l o g y f o re m b e d d e d s o f t w a r ed e v e l o p m e n t p l a t f o r mo r i e n t a t i n gt o w a r d t h ef i e l d so f t e l e c o m m u n i c a t i o n t h ee m b e d d e ds o f t w a r e d e v e l o p m e n tp l a t f o r mo r i e n t a t i n g t h ef i e l d so f t e l e c o m m u n i c a t i o n so f f e rai n t e r m e d i a t el a y e rb e t w e e nt h ec p u o sa n dt h ea p p l i c a t i o n p r o g r a m ,s h i e l dt h eb o t t o mo p e r a t i n gs y s t e m sa n d h a r d w a r e ,a n do f f e rau n i f o r mr u n n i n g p l a t f o r mf o rt h eu p p e ra p p l i c a t i o np r o g r a m m e a n w h i l e ,i te n l a r g e st h ef u n c t i o n so f t h e b o t t o mo p e r a t i n gs y s t e m sa i m i n ga tt h ec h a r a c t e r i s t i c so f t e l e c o m m u n i c a t i o nf i e l d s ,o f f e r s ac o n c i s ea n da c c o r d a n ti n t e r f a c ef o rt h ea p p l i c a t i o np r o g r a m ,a n dd e c r e a s e st h en e e d f o ra p p l i c a t i o nd e v e l o p e rt ou n d e r s t a n dt h eb o a o m o p e r a t i n gs y s t e m s ,s oi tc a ns u p p o r t t h ee f f e c t i v ea n de f f i c i e n td e v e l o p m e n tf o rt e l e c o m m u n i c a t i o ns o f t w a r e f o ral o n gt i m e p e o p l en s et h ep r o c e s st e c h n o l o g yf o rt h ed e v e l o p m e n to f e m b e d d e ds o f t w a r e ,s ou s i n g t h e o b j e c t o r i e n t e d t e c h n o l o g y , e s p e c i a l l yd e s i g np a 札e ma n df r a m e w o r k t o d e v e l o p e m b e d d e ds o f t w a r ei san e wp r a c t i c e f i r s tt h i s p a p e ra n a l y z e s t h e d e v e l o p m e n t c h a r a c t e r i s t i co fe m b e d d e ds y s t e m sa n dt h ee m b e d d e da p p l i c a t i o nc h a r a c t e r i s t i co f t e l e c o m m u n i c a t i o nf i e l d st op o i n to u tt h ei m p o r t a n c eo ft h ee m b e d d e ds o f t w a r ep l a t f o r m i nd e v e l o p m e n to ft e l e c o m m u n i c a t i o ns o f t w a r e f o l l o w i n g ,w ei n t r o d u c et h ee v o l v i n go f e m b e d d e ds o f t w a r ed e v e l o p m e n tp l a t f o r mi nt e l e c o m m u n i c a t i o nf i e l d st op r e s e n tt h e i m p o r t a n c e a n d f e a s i b i l i t y o f o b j e c t o r i e n t e d t e c h n o l o g y i nt h e d e v e l o p m e n t o f 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 t e l e c o m m u n i c a t i o ns o f t w a r e b a s e do nt h er e s e a r c ho fo b j e c to r i e n t e d t e c h n o l o g y , e s p e c i a l l yd e s i g np a t t e r n a n df r a m e w o r k ,w eb r i n gu pao b j e c to r i e n t e de m b e d d e d s o f t w a r ed e v e l o p m e n tp l a t f o r mm o d e l ,a n df i n i s hi t si m p l e m e n t a t i o na n dt e s t i n g ,a tl a s t w ei n t r o d u c et h ea p p l i c a t i o no ft h i sp l a t f o r mi nat e l e c o m m u n i c a t i o np r o d u c t k e y w o r d :e m b e d d e ds y s t e m ,s o f t w a r ep l a t f o r m ,t e l e c o m m u n i c a t i o ns o f t w a r e ,d e s i g n p a t t e r n ,f r a m e w o r k 注1 :注明国际十进分类法u d c 的类号 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论 文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科 技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同 志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢意。 签名:凼芝查i 生日期:渺眸垆月。舌日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论 文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: :趋兰区陛 导师签名: 日期2 乙年年年月2 毋日 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 1 1 实时嵌入式系统概述 第一章绪论 随着信息技术的发展、数字化产品的普及,i n t e r n e t 网络得到广泛深入的应用, 从消费电器到工业设备,从民用产品到军用器材,嵌入式系统被应用到网络、手持 通信设备、国防军事、消费电子和自动化控制等各个领域。嵌入式广泛的应用前景 和发展潜力使其成为2 l 世纪的热点。嵌入式系统通常是面向特定应用的。然而嵌入 式系统本身不仅与一般的p c 机上的应用系统不同,就是针对不同的具体环境而设计 的嵌入式应用之间差别也很大。 1 1 1 嵌入式系统定义 嵌入式系统( e m b e d e ds y s t e m ) ,是以应用为中心,以计算机技术为基础, 并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要 求的专用计算机系统。 嵌入式系统主要分为两个部分:嵌入式硬件部分和嵌入式软件部分。嵌入式硬 件部分主要由嵌入式处理器,嵌入式外围设备等构成:嵌入式软件部分主要由嵌入 式操作系统,嵌入式开发调试环境和嵌入式应用软件构成。 1 1 2 实时系统定义 实时系统【2 1 ,指系统输出的产生时间具有决定性意义的系统。这是因为系统的 输入来自于物理世界的某个动作,而输出是对该动作的响应。输入和输出间的延迟 必须小于某个确定的时间间隔。 由上述定义可知,实时系统不是一个自封闭的系统。它通过接受外部环境的输 入,并按照一定的规则对其进行处理,产生输出以控制外部环境的行为。因此,实 时系统往往存在于一个更大的应用系统中,控制该应用系统的运行。因此,实时系 统又常常被形象得称作嵌入式系统。 实时系统的基本特性是任务响应时间的确定性和系统处理任务的高吞吐量日】。 实时系统的应用领域十分广泛,不同的应用对时间确定性的要求也是不同的。基于 这种考虑,可以将实时系统分为硬实时系统和软实时系统两种。硬实时系统用以描 述对响应时间要求极其严格的实时系统。在硬实时系统中,若输出由于不能满足响 应时间确定性的要求而被放弃,系统的正确性将受到严重影响。相反,在软实时系 统中,只要响应时间超出确定的时间范围的频率低于某一阈值,则不影响系统的正 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 确性【4 j 。 除了必须具备响应时间确定性以外,实时系统其它的重要特性包括并发性、可 预测性和可靠性。并发性是指实时系统必须能够在规定时段内处理多个外部输入。 可预测性实质上是对响应时间确定性的保证。外部输入的本质是并发和随机分布, 每一个输入触发实时系统产生相应的动作,而这些动作的流程、所需的处理器时间 是可预知的。只有在这种情况下才能保证响应时间的确定性。 1 1 3 实时嵌入式系统特点 多样化,广泛化 嵌入式应用领域己应用到社会的各个领域如信息家电、工业控制、通信和智能 终端等。 专用化,个性化 嵌入式应用很多是面向特定的应用,如实时控制、低功耗管理、可靠安全控制 等,这些就使嵌入式应用具有专用性和个性特点。嵌入式的专用化和个性化一方面 体现在嵌入式硬件有专用和个性的支持。另一方面体现在软件上要提供相应支持, 即,在嵌入式操作系统应通过定制和移植来满足嵌入式的专用化和个性化。 高性能和实时的要求,甚至这些需求要放到第一位 实时特征是嵌入式系统的主要特征。与实时系统一样,可以根据对截止时间要 求的不同分为硬实时和软实时。硬实时要求响应时间范围很严格,而软实时的时间 限制稍宽。 嵌入式系统通常需要处理不同类型的任务:一类是周期性任务,即按照固定时 间间隔执行的任务;另一类是非周期性任务,常常是随机发生,要求任务出现的任 意时刻都能进行响应处理。一般对于非周期性任务的处理都有响应要求,这样当新 的事件到达时,即使系统正在处理别的任务,也必须及时响应,从而导致了需要同 时处理多个互相竞争的请求,包括中断请求。 尽管所有的系统都要求可靠,但嵌入式系统在可靠性、重启动和故障恢复方面 有更特殊的要求。对于可靠性要求特别高的场合,往往采用冗余备份方式。 j 1 4 实时嵌入式系统软件的基本特征和要求 嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统 软件和应用软件的要求也和通用计算机有所不同。 与般的计算机应用相比,嵌入式实时应用系统是具有高速处理、配置专一、结构 紧凑和坚固可靠等特点的实时系统,相应的软件系统应是一种别有特色、要求更高 的实时软件。对这种实时软件的主要要求是: 电子科技火学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 一、实时性 实时软件对外部事件作出反应的时间必须要快,在某些情况下还需要是确定的、 可重复实现的。不管当时系统内部状态如何,都是可预测的( p r e d i c t a b l e ) 。 _ _ :二、有处理异步并发事件的能力 实际环境中,嵌入式实时系统处理的外部事件往往不是单一的,这些事件往往 同时出现,而且发生的时刻也是随机的,即异步的。实时软件应有能力对这类外部 事件组有效地进行处理。 三、快速启动、并有出错处理和自动复位功能 这一要求对机动性强、环境复杂的智能系统显得特别重要,快速机动的环境, 不允许控制软件l 临时从盘上装入,因此嵌入式实时软件需事先固化到只读存贮器, 开机自行启动,并在运行出错死机时能自动恢复先前运行状态。因此嵌入式实时软 件应采用特殊的容错、出错处理措施。 四、嵌入式实时软件是应用程序和操作系统两种软件的一体化程序 对于通用计算机系统,例如p c 机、工作站,操作系统等系统软件和应用软件之 间界限分明。换句话说,统一配置的操作系统环境下,应用程序是独立的运行软件, 可以分别装入执行。但是,在嵌入式实时系统中,这一界限并不明显。这是因为, 应用系统配置差别较大,所需操作系统繁简不一,1 0 操作也不标准,这部分驱动软 件常常由应用程序提供。这就要求采用不同配置的操作系统和应用程序,链接装配 成统一的运行软件系统。也就是说,在系统总设计目标指导下将它们综合加以考虑、 设计与实现。 五、嵌入式实时软件的开发需要独立的开发平台 由于嵌入式实时应用系统的软件开发受到时间、空间开销的限制,常常需要在 专门的开发平台上进行软件的交叉开发”1 。这种开发方式就是我们通常所说的“宿 主机目标机”方式,其中:开发平台称为宿主机( h o s t ) ,应用系统称作目标机 ( t a r g e t ) 。宿主机可以是与目标机相同或不相同的机型。这种不同机型的开发平 台又称作交叉式开发系统。显然,在这种独立的实时软件开发系统上,应配备完整 的实时软件开发的工具,如高级语言、在线调试器和在线仿真器等。 嵌入式软件开发环境是嵌入式软件开发中重要的系统软件,一般与实时操作系 统捆绑销售,作为一种专用软件,其技术含量较高,价格也较贵。 1 ,1 5 实时嵌入式系统应用软件开发的特点 嵌入式实时软件开发过程较为复杂,主要表现为以下几点: 1 软件要求固态化存储 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯 蚓技走兰堡士论文:面向通信领域嵌入式软件平台核心的研究和实现 片或单片机本身中,而不是存贮于磁盘等载体中。 2 ,软件代码高质量、高可靠性 尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但 在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程序编 写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。 3 系统软件( 0 s ) 的高实时性是基本要求 在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是 保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效率的, 这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本 要求。 1 1 6 实时嵌入式系统软件的编程语言 前面我们已经了解了实时嵌入式软件的特征,所有这些特征最好是编程语言能 够有相应的语言特征( 如多任务支持) 或手段机制支持其实现,或者能够用操作系统 提供的功能或采用低级手段来满足实时嵌入式系统的特殊要求。常用的实时嵌入式 软件的编程语言有:汇编语言、c c + + 。 汇编语言 在早期的时候,嵌入式软件只用目标处理器的汇编语言来编写,这使得编程人 员可以完全控制处理器和其它硬件,当然也是有代价的,以单片机为例,每个单片 机系列的指令系统不同,与指令系统对应的汇编助记符就不同,汇编语言的不兼容 性使得程序无法移植,汇编语言难记、难读及易搞混,编写和修改程序都十分困难, 这电使得有经验的汇编语言程序员也极少。因此,需要更高的软件开发费用和缺乏 可移植性是汇编语言最主要的缺点。 目前,汇编语言只用作高级语言的补充,通常只用于那些效率要求极高或非常 紧凑,或其它语言无法编写的小段代码中。汇编语言掌握到只要可以读懂程序,在 时间要求严格的模块中进行程序的优化即可。 c 语言 c 语言4 3 是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备了 汇编语言的功能。c 语言有功能丰富的库函数、运算速度快、编译效率高、可移植 性好,而且可以直接实现对系统硬件的控制。 c 语言是一种结构化程序设计语言,支持当前程序设计中广泛采用的自顶向下 的结构化程序设计技术。 c 语言作为嵌入式语言具有很多优势,它小而易学,今天每一种处理器( 从8 位 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 到6 4 位) 都有c 编译器,同时也有相当多的有经验的c 程序员。c 语言与处理器无 关,编译器可以自动完成变量存储单元的分配,这就让程序员可以着眼于算法和应 用,而不用考虑特定处理器结构的细节。这样大大加快了软件的开发速度。 采用c 语言可以很容易进行程序移植工作,有利于产品中处理器的重新选型。c 语言的可读性,使得很容易借鉴前人的开发经验。 对于c 语言生成代码的时空效率,一般来讲,相对汇编语言,c 语占程序代码 长度约增加2 0 ,程序执行速度约减慢2 0 。随着r o m 和r a m 的不断扩大,处理器的 处理能力不断增强,时空效率的差别已不是考虑的主要问题,何况,这是和优秀的 汇编程序员编写的代码相比。当然,在非常注重代码效率的场合可以是以c 语言为 主,汇编语言为辅。 也许c 语言最具威力的地方一一也正是把它和其它语言l p , 女i jp a s c a l 和f o r t r a n 区别开的地方:它是一个非常“低级”的高级语言。c 语言给予嵌入式程序员很大 程度的直接控制硬件的能力,却不会失去高级语言带来的好处。 很少有其它高级语言可以象c 语言一样,为几乎所有处理器生成紧凑的、高效 的代码。同时,也只有c 语言允许程序员方便地和底层硬件打交道。 目前,c 语言是嵌入式编程的标准语言。 c + + c + + ”1 是c 语占的面向对象的超集,它的核心语言特性和c 完全一样,但c + + 提 供了更好的数据抽象和面向对象形式的编程功能。这些新的特性对软件开发人员非 常有帮助,但部分特性会降低可执行程序的效率。 随着现代新型高速嵌入式处理器的日益普及,和现代r t o s 性能的提升,面向对 象技术时空的开销,完全可以由现代嵌入式处理器的高速度、大存储器空间以及产 品提起进入市场的优势来弥补。c + + 语言强大的类、继承、多态等功能更便于实现 复杂的程序功能,正在嵌入式编程中变得越来越流行。 1 1 7 实时嵌入式系统的软件结构 嵌入式软件具有自身独有但又相当重要的概念,如有限状态自动机模型、并行 和同步、时间约束和空间约束等。这些设计概念直接或间接地影响着实时嵌入式软 件的实时性能。 1 单线程程序 单线程程序( s i n g l e t h r e a d e dp r o g r a m ) 也称为顺序程序( s e q u e n t i a l p r o g r a m ) ,它分为两种: 1 ) 循环轮询系统 皇三型! ! 查堂堡主堡壅! 堕塑望堕塑垫堂垒蔓塾壁! 鱼堕:垒盟里茎塑窒堡 最简单的软俘结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件 成立就进行相应的处理。 优点: 对于简单的系统而言,便于编程和理解; 没有中断的机制,程序运行良好,不会出现随机的问题。 缺点: 有限的应用领域( 由于不可确定性) 对于大量的i o 服务的应用,不容易实现 大的程序不便于调试 因此,它适合于慢速和非常快速的简单系统。 2 ) 有限状态机( f i n i t es t a t em a c h i n e ) 是“状态事件动作”三元组合,在一定状态下,对一定的事件做出确定的动作。 优点: 对于小的系统而言,便于编程和理解 可以快速的执行 仅需通过改变输出功能来改变机器的响应 缺点: 有限的应用领域 不能保证确定性 对于大的应用系统,难于调试 2 ,事件驱动系统 事件驱动系统( e v e n t d r i v e ns y s t e m ) 是能对外部事件直接响应的系统。它包括 前后台、实时多任务、多处理器三个系统,是嵌入式实时系统的主要形式。 1 ) 前后台系统 前后台系统( f o r e g r o u d d b a c k g r o u n d ) 又叫中断驱动系统,或者超循环系统 ( s u p e r l 面向对象p ) ,其软件设计过程相对比较简单,不太复杂的小系统一般可以 设计成这种形式。 应用程序是一个无限循环,循环中调用相应函数完成相应的操作,这部分可以 看作是后台行为( b a c k g r o u n d ) 。中断服务程序处理随机发生的异步事件,这部分可 以看作是前台行为( f o r e g r o u n d ) 。后台也可以称为任务级,前台也称为中断级。后 台是一个循环轮询系统一直在运行,前台是由一些中断处理过程组成的。当有一前 台事件( 外部事件) 发生时,引起中断,中断后台运行进行前台处理,处理完成后又 回到后台( 通常又称为主程序) 。 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 时间相关性很强的关键操作一定是靠中断服务程序来保证的。因为中断服务提 供的信息一直要等到后台程序走到该处理这个信息这一步时才能得到处理,这种系 统在处理信息的及时性上,比实际可以做到的要差。这个指标称为任务级响应时间。 最坏情况下的任务级响应时间取决于整个循环的执行时间。因为循环的执行时间不 是常数,程序经过某一特定部分的准确时间也是不能确定的。另外,如果程序修改 了,循环的时序也会受到影响。 从本质上说,前后台系统是一个单任务系统。因此它具有单任务系统的缺点: 如果主程序的某一部分出现问题( 例如陷入死循环或者破坏了数据区等) ,可能会 导致整个系统崩溃。 很多基于微处理器的产品采用前后台系统设计。例如电话机、微波炉等。另外 一些基于微处理器的应用,从省电的角度出发,平时微处理器处于停机状态( 后台 只是一个简单的循环不做任何事情) ,所有的事情都靠中断服务来完成,这是这种 系统的一个极端情况。但大多数情况是中断只处理那些需要快速响应的事件,并且 把i o 设备的数据放到内存的缓冲区中,再向后台发信号,其它的工作由后台来完 成,如对这些数据进行处理,存储,显示,打印等。 这种系统需要考虑的是中断的现场保护和恢复,中断嵌套,中断处理过程与主 程序的协调( 共享资源) 问题。系统的性能主要由中断延迟时间( i n t e r r u p tl a t e n c y t i m e ) ,响应时间( r e s p o n s et i m e ) 和恢复时间( r e c o v e r yt i m e ) 来刻画。 2 ) 实时多任务系统( m u l t i t a s k i n g 或m u l t i t h r e a dp r o g r a mm o d e l ) 对于一个复杂的实时嵌入式系统来说,当采用中断处理程序加一个后台主程序 这种软件结构难以实时的、准确的、可靠的完成时,或存在一些互不相关的过程需 要在一个计算机中同时处理时,就需要采用实时多任务系统。 多任务运行的实现实际上是靠c p u 在许多任务之间切换、调度。c p u 只有一个, 轮番服务于一系列任务中的一个。多任务运行很像前后台系统,但后台任务有多个。 多任务运行使c p u 的矛用率得到最大的发挥,并使应用程序模块化。在实时应用中, 多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务, 应用程序将更容易设计与维护。 其它主要特点如下: 多个顺序执行的程序并行运行,宏观上看,所有的程序同时运行,每个程序运 行在自己独立的c p u 上。实际上,不同的程序是共享同一个c p u 和其它硬件。因此, 需要实时操作系统( r t o s ) 来对这些共享的设备和数据进行管理,每个程序都被编制 成无限循环的程序,等待特定的输入,执行相应的任务等。这种程序模型将系统分 成相对简单的,相互合作的模块。 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 优点: 将复杂的系统分解为相对独立的多个线程,达到“分而制之”的目的,从而降 低系统的复杂性。保证系统的实时性系统的模块化好,提高系统的可维护性。 缺点: 需要采用一些新的软件设计方法; 需要增加功能:线程间的协调,同步和通信功能; 需要对每一个共享资源互斥,导致线程间的竞争; 需要使用实时操作系统( r t o s ) ,r t o s 要增加系统的开销。 实时多任务系统实际上是由多个任务,多个中断处理过程,实时操作系统组成 的有机的整体。每个任务是顺序执行的,并行性通过操作系统来完成,任务间的相 互通信和同步也需要操作系统的支持。 实时多任务系统的实现必须有实时多任务操作系统的支持,操作系统主要完成 任务切换,任务调度,任务间通信、同步、互斥,实时时钟管理,中断管理。 3 ) 多处理机系统 当有些工作用单台计算机来处理是难眺完成时,就需要增加另外的计算机,这 就是多处理器系统的由来。在单处理机系统中,多个任务在宏观上看是并发的,但 在微观上看实际是顺序执行的;在多处理机系统中,多个任务可以分别在不同的处 理机上执行,宏观上看是并发的,微观上看也是并发的。前者称为伪并发性,后者 称为真并发性。 1 2 通信系统特点 电信级系统设备实际上是一个分布式实时嵌入式系统,多块单板插在一个机箱 的背板上,这些单板一般分为主控板、信令处理板、中继板、数据处理板等,每块 单板是一个嵌入式计算机系统,由嵌入式处理器、r o m 、r a m 、z l o 、外围芯片等组成, 单板之间通过以太网、串口、s d l c 等方式通信,构成一个分布式实时嵌入式系统, 通信设备软件一般是嵌入式软件,这实际上是它的实现特点。嵌入式系统与一 般的计算机体系统不同,它是一种以应用为中心,以计算机技术为基础,软硬件可 裁减的特定计算机系统,该系统对功能、可靠性、成本、体积等都有严格要求。嵌 入式系统面向应用,对代码的质量、可靠性、实时性都有严格要求。通信软件的特 点如下; 并发性 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 通信软件通常要同时处理大量业务,这些业务之间的逻辑关系是并行的,比如 程控交换机,同时处理的呼叫业务成千上万。在实际的实现中,有两种概念上的并 发:一是多处理机平台上各个结点之间的并发处理关系;二是单处理机结点内部微 观串行,宏观并行的处理方式。在并发环境下,会遇到许多串行环境下没有的问题, 如并发进程之间的同步,临界去资源的管理以及代码的重入等。 实时性 通信设备处理的业务一般都具有实时性。在通信设备的设计中,不仅要考虑选 用的硬件平台能够满足实时要求,而且在软件的设计,操作系统的选用上更要充分 考虑系统实时性的要求。 分布性 通信设备通常由多块硬件单板构成,每块单板是一个独立的嵌入式系统,完成 特定的逻辑功能,单板软件之间相互协作,共同完成通信设备的功能。单板之间的 连接方式有以太网、串口、h d l c 、双i l lr a m 等。通信软件应具用板间通信功能,并 能协调一致。 存在大量伴随状态变化的行为 通信系统中很多行为是伴随状态变化的,比如,通信软件一个很重要的工作是通 信协议的实现,而通信协议常常是用有限状态机来表示的。因此,通信软件需要使 用有限状态机来处理这些伴随状态变化的行为。 事件驱动 因为存在大量的通信协议,通信协议大多情况下用有限状态机来表示和实现,而 有限状态机是与事件分不开的。 信息量大,资源要求高 如前所述,通信软件通常要同时处理大量业务,比如,成千上万的呼叫,这些呼 叫需要频繁的申请释放内存;再比如,用于实现通信协议的有限状态机的支持需要 定时器的支持,定时器的数量也成千上万。而且,通信业务对这些资源的要求是实 时的,一般r t o s 很难满足这些要求,必须引入其他内存管理和定时器管理机制来满 足这些要求。 扩展性 通信设备应具有适应不断变化用户需求的功能,一般通信设备硬件相对稳定, 通过软件功能的扩展来适应不断变化的需求,这就要求软件系统精心设计,具备良 好的扩展性,支持快速的业务开发能力。 由于通信软件具有上述特点,开发一个良好的通信软件不是一件容易的事情, 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 尤其对于上层通信业务的开发者而言,需要了解太多的底层细节,分散了他的精力。 因此,如何使上层通信业务的开发者从与底层细节的纠缠中解脱出来,使他集中精 力与业务的开发,是一个迫切需要解决的问题,对这个问题,可以通过引入针对通 信领域的嵌入式软件平台来解决。 1 3 嵌入式软件平台 1 3 1 嵌入式软件平台的引入 嵌入式系统是专用系统,在一个嵌入式系统中,嵌入式实时操作系统( r t o s ) 统筹管理整个系统的软硬件资源,在系统中居于核心地位。 然而,不同r t o s 之间存在着巨大差异,这种差异影响到嵌入式软件的运行方式 和开发方式。在商业竞争巨大影响下,嵌入式软件的开发人员只能被动的选择r t o s 。 面临如此困境,如何才能降低开发风险? 如何保证嵌入式软件的可移植性? 怎样顺 应开发人员的开发习惯? 这些问题的答案,就是嵌入式软件平台。 随着嵌入式实时系统在通信领域的广泛应用,嵌入式软件的开发也越来越受到 更多的瞩目,诸如v x w o r k s “1 、p s o s 等嵌入式实对操作系统的应用带来了人们对嵌入 式软件开发的新思路和新需求,在屏蔽不同的硬件平台甚至不同操作系统之上,中 间件、虚拟机“”等概念的引用形成了符合通信设备上应用软件不同需求的一个支撑 平台,为上层的嵌入式应用软件的开发提供一种统一接口,也为嵌入式软件提供了 一种新的开发模式和实现思想。目前,通信领域设备级嵌入式单板软件中大都采用 了操作系统的封装支撑平台,该平台对应用层提供的统一的接口和支撑功能,对操 作系统和不同的硬件特性进行屏蔽,使得嵌入式应用软件的开发着重于产品的具体 需求和功能。 1 3 2 嵌入式软件平台的意义 嵌入式软件平台是一个面向应用的中间件,它与传统的嵌入式系统结构的区别 如图1 1 所示: 应用软件 实时操作系统 碗件 图1 1应用中间件 1 0 应用软件 嵌入式软件平台 实时操作系统 | i l i i i 誊纂i 薯;ii j 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 图卜1 中左边为通常的嵌入式系统架构,右边为改进后的嵌入式系统架构。二者 的主要区别在于:在r t o s 与应用软件之间增加嵌入式软件平台,应用软件不再直接 构建于易于变化的r t o s 之上,而是构建于稳定的嵌入式软件平台之上。它屏蔽底层 操作系统和硬件,向上为应用程序提供了一个统一的运行平台,同时针对通信领域 的特点对底层操作系统进行了功能扩充,提供了一个简单的应用程序接口,降低了 应用程序开发人员对底层操作系统的了解,以支持快速有效地开发通信业务软件。 嵌入式软件平台既是应用软件的运行平台,又是应用软件的开发平台,因此,嵌入 式软件平台又被称作支撑层。 1 3 3 嵌入式软件平台的核心( o s s 核心) 从广义上讲,嵌入式软件平台既是软件运行平台又是软件开发平台。本课题所 研究的面向通信领域的嵌入式软件平台,包含两个子系统:运行支撑子系统o s s ( o p e r a t i n gs y s t e ms u b s y s t e m ) 和平台工具子系统。 图1 2o s s 结构框图 其中,操作系统适配、调度、定时、内存、通信模块是嵌入式软件开发必不可 少的,是o s s 的核心,也是本课题的主要研究对象。至于o s s 其他模块以及平台工具 子系统,本文不打算讨论,在这里将它提出来只是为了对软件平台有个完整的概念。 o s s 有四大目标:一是屏蔽操作系统和硬件平台的差异,为应用层提供统一的编 程接口;二是扩展操作系统的功能,提供商用嵌入式操作系统没有提供或者没有很 好支持的、但是又是通信领域急需的操作系统支撑;三是,提高操作系统的效率, 满足通信领域应用对嵌入式系统实时性的要求;四是,提高上层应用的开发效率。 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 1 4 本文主要工作 本课题是国家8 6 3 项目面向通信行业的嵌入式软件平台二期工程一一“面 向对象嵌入式软件平台”的予项目:“面向对象o s s 核心研究和实现”。本课题旨在 用面向对象方法和技术构建一个不依赖底层硬件和操作系统、适合通信领域嵌入式 应用开发的软件平台核心:该核心应满足: 良好的结构,可扩展、可复用、系统高效; 高可靠性,能满足电信网长时间稳定运行的要求; 实时性,能满足电信信令、协议、业务应用: 简单性,仅向应用程序提供必要的系统服务,提高应用开发效率; 封装性,能完全屏蔽硬件特性,使应用层与硬件无关;彻底封装第三方的实时 操作系统的核心资源和系统服务,为各处理机的应用程序提供一个统一的和可 移植的软件平台; 可扩充性,能动态增加删除不同的模块和功能,具有很强的设计弹性和对不同 产品的适应能力。 可移植性,能够方便的在商业实时操作系统间进行移植; 本文作者作为该项目的成员之一,主要对嵌入式系统、通信系统、面向对象技 术尤其是设计模式和架构技术进行了研究,我们在总结通信领域已有平台技术的前 提下,针对不同的通信设备应用范围和已有平台存在的不足,提出了面向对象平台 技术解决方案。我们研究了许多优秀的设计模式和架构技术,并把它们运用来构建 面向对象平台,设计和实现了一个针对通信行业的面向对象嵌入式软件平台核 心一一面向对象o s s 核心,并进行测试验证。 1 5 本文组织 全文总共分为六章: 第一章:绪论 本章首先介绍了嵌入式系统开发的特点和通信领域嵌入式应用特点,从而引出 面向通信领域嵌入式软件平台的重要性,接着介绍了本课题的来源和本文组织; 第二章:通信领域平台技术演进 本章首先介绍了网络处理器结构及其开发技术,然后介绍了一种过程化的软件 开发平台,指出其不足指出,从而引入面向对象技术在通信软件开发中的重要性和 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 口】仃性。 第三章:通信领域面向对象技术 本章主要研究了嵌入式软件平台的相关技术一设计模式和架构,指出其在通信 软件开发中的作用,并介绍了几种设计模式和a c e 架构; 第四章:面向对象o s s 核心的设计和实现 本章基于设计模式和架构技术,针对通信行业的特点给出了一种面向对象嵌入 式软件平台核心的设计和实现,并进行了测试验证。 第五章:面向对象o s s 核心的应用 本章介绍了面向对象0 s s 核心在接入网产品中的应用情况。 第六章:全文总结 本章总结了全文的工作,重点分析了目前研究成果中的不足,并由此指出今后 工作的方向。 电子科技大学硕士论文:面向通信领域嵌入式软件平台核心的研究和实现 2 1 概述 第二章通信领域平台技术演进 嵌入式系统的开发,具有“量体裁衣”的特点。通信设备一般是嵌入式系统,

温馨提示

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

评论

0/150

提交评论