




已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)基于eclipse的嵌入式开发工具的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 近年来嵌入式领域得到了迅猛发展,嵌入式系统已经无处不在,嵌入式系 统的开发也变得越来越复杂,软硬件的复杂度都大幅度增加。而市场对于嵌入 式系统的开发周期要求也越来越高,这对于嵌入式开发工具提出了新的挑战, 嵌入式开发工具正呈现平台化和开源化的趋势,e c l i p s e 是一种开放源集成化开 发平台,以其他开发平台相比,它最大的优点就是它的插件式体系结构,不同 的用户可以根据需求开发出自己的工具组件,并和原有的工具实现无缝的连接, 非常灵活,极大提高了开发工具的使用效率,这对于嵌入式开发来讲尤其重要, 在这种情况下,一些著名的嵌入式开发工具提供商,都开始提供基于e c l i p s e 平 台的开发工具,如风河公司的w o r k b e n c h ,a r m 公司的r v d s 等等。 本文所基于的项目e v e n tv i e w e r 是r v d s ( r e a l v i e wd e v e l o p m e n ts u i t ) 集 成开发环境的一部分,由武汉理工大学英蓓特嵌入式研发中心开发,实现此系 统的目的在于向使用a r m 核的最终用户提供采集并显示a r m 核跟踪数据的功 能,向第三方产品提供商提供扩展接口的功能,以方便第三方产品提供商产生 自定义的跟踪数据。这里所说的第三方产品提供商,是指在a r m 核的基础上进 行功能扩展的公司或个人。最终用户是指直接使用a r m 核或者在第三方产品提 供商提供的产品基础上进行软件开发的相关人员。论文主要工作如下。 ( 1 ) 介绍了嵌入式开发的特点和嵌入式工具的现状,说明其平台化和开 源化的发展趋势,在分析o s g i ( o p e ns e r v i c eg a t e w a yi n i t i a t i v e ) 规范的基础 上,详细阐述了基于此架构的e c l i p s e 平台的体系结构及其插件扩展的工作机制。 ( 2 ) 结合某嵌入式工具项目的具体需求,完成了一个基于e c l i p s e 平台的 插件式嵌入式开发辅助工具的整体设计,包括其整体架构、模块划分、扩展设 计等等。 ( 3 ) 实现了项目的r d s ( r o wd a t as o u r c e ) 模块,使用s w i g ( s i m p l i f i e d w r a p p e ra n di n t e r f a c eg e n e r a t o r ) 工具对基于a r m 核的r e a l v i e w 设备调试接1 2 1 r d d i 进行了j n i 封装,接收目标板跟踪数据,采用多线程机制,解决了数据流 接收的实时和同步问题,同时合理运用设计模式,实现了状态监听、模式切换 的功能。 ( 4 ) 对r d s 模块的必要功能进行了抽象,在此基础上设计了r d s 接口, 定义了r d s 扩展点,供第三方用户扩展使用,借鉴e c l i p s e 开发的公平竞赛法 则( f a i rp l a yr u l e ) ,在开发过程中完成了对接1 2 1 的测试。 关键词:嵌入式, e c l i p s e , 开发工具 a b s t r a c t r a p i dd e v e l o p m e n th a so c c u r r e d i nt h ef i e l do fe m b e di nr e c e n t y e a r s e m b e d d e ds y s t e m sa r ee v e r y w h e r en o w ,t 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 sa r e b e c o m i n gi n c r e a s i n g l yc o m p l e x h a r d w a r ea n ds o f t w a r ec o m p l e x i t yh a si n c r e a s e d s u b s t a n t i a l l y t h er e q u e s to fm a r k e tf o re m b e d d e ds y s t e m sd e v e l o p m e n tc y c l ei s g e t t i n gh i g h e ra n dh i g h e r ,w h i c hg a v ee m b e d d e dd e v e l o p m e n tt o o l s an e w c h a l l e n g e e m b e d d e dd e v e l o p m e n tt o o l sa n dp l a t f o r m i s s h o w i n gat r e n dt o w a r d o p e n - s o u r c e e c l i p s ei sa no p e n - s o u r c ei n t e g r a t e dd e v e l o p m e n tp l a t f o r m c o m p a r e d w i t ho t h e rd e v e l o p m e n tp l a t f o r m s ,t h eg r e a t e s ts t r e n g t h so fe c l i p s ei si t sp l u g i n a r c h i t e c t u r e d i f f e r e n tu s e r sd e v e l o pt h e i ro w nt o o l sa c c o r d i n gt ot h e i ro w nn e e d s , a n dr e a l i z es e a m l e s sc o n n e c t i o nt ot h o s eo r i g i n a lt o o l s ,w h i c hi sv e r yf l e x i b l e ,a n d g r e a t l yi m p r o v e de f f i c i e n c yi nt h eu s eo fd e v e l o p m e n tt o o l s t h i si sp a r t i c u l a r l y i m p o r t a n tt oe m b e d d e dd e v e l o p m e n t i ns u c hc a s e s ,s o m ew e l l - k n o w ne m b e d d e d d e v e l o p m e n tt o o lp r o v i d e r s h a v es t a r t e dt op r o v i d ee c l i p s ep l a t f o r m - b a s e d d e v e l o p m e n tt o o l s ,s u c ha sw i n dr i v e r sw o r k b e n c h ,a r m sr v d se t c t h i sa r t i c l ei sb a s e do nt h ee v e n tv i e w e rp r o j e c t ,w h i c hi sap a r to fr v d s ,t h e i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n to fa r m t h ep u r p o s eo ft h i ss y s t e ml i e s i n p r o v i d i n gt h ee n d u s e ro fa r m c o r et h ef u n c t i o no fa c q u i s i t i o na n ds h o wc o r ea r m t r a c k i n g d a t a i tp r o v i d e ss o m ei n t e r f a c e ,w h i c hc o u l db ei m p l e m e n t e db yt h e t h i r d - p a r t yp r o d u c t s ,t h i sf a c i l i t a t et h i r d - p a r t yp r o d u c t sc r e a t ec u s t o mt r a c k i n g d a t a t h et h i r d p a r t yp r o d u c t sm e n t i o n e dh e r ei st h ec o m p a n yo ri n d i v i d u a lw o r k i n g o nt h ef u n c t i o ne x p a n s i o nb a s e do na r mc o r e e n d u s e ri st h es o f t w a r ed e v e l o p m e n t s t a f fw h ou s e i n ga r mc o r eo r p r o d u c t sp r o v i d e db yt h i r d - p a r t yp r o v i d e r s t h e r e s e a r c hw o r ko ft h i st h e s i si n c l u d e s : ( 1 ) i n t r o d u c e ds o m ec h a r a c t e r i s t i c so fe m b e d d e dd e v e l o p m e n ta n dt h es t a t u s q u oo fe m b e d d e dd e v e l o p m e n tt o o l s ,p o i n t e do u ti t sd e v e l o p m e n tt r e n d st oo p e n s o u r c ea n dp l a t f o r m d e s c r i p t e dt h ep l u g - i na r c h i t e c t m ea n dt h ew o r k i n gm e c h a n i s m o f e c l i p s ep l a t f o r mb a s e do nt h ea n a l y s i so fo s g i ( 2 ) c o m p l e t e d t h eo v e r a l l d e s i g n i n go f a p l u g i n t o o l f o re m b e d d e d i i d e v e l o p m e n t ,i n c l u d i n gi t s o v e r a l ls t r u c t u r e ,m o d u l ed i v i s i o n , e x t e n s i o nd e s i g n i n g a n ds oo n ( 3 ) r e a l i z e dt h er o wd a t as o u r c e ( r d s ) m o d u l e ,w r a p p e dt h er e a l v i e w d e v i c ed e b u gi n t e r f a c e ( r d d i ) b yu s i n gt h es i m p l i f i e dw r a p p e da n d i n t e r f a c e g e n e r a t e r ( s w i g ) t o r e c e i v et h e t a r g e t d a t a g u a r a n t e e dt h er e a l t i m ea n d s y n c h r o n i z a t i o no fd a t af l o wb ym u l t i - t h r e a d e dm e c h a n i s m c o m p l e t e dt h e s t a t e l i s t e n i n ga n dm o d es w i c h i n g t h ef u n c t i o n ( 4 ) s u m m a r i z e dt h en e c e s s a r yf u n c t i o no fr d sa n dd e s i g n e dt h er d s i n t e r f a c e d e f i n e dt h er d se x t e n s i o np o i n tw h i c hc o u l db ei m p l e m e n t e db yt h e t h i r d p a r t yp r o d u c t sa n dt e s t e di ta c c o r d i n g t ot h ef a i rp l a yr u l e k e yw o r d :e m b e d d e d ,e c l i p s e ,d e v e l o p m e n tt o o l i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 研究生( 签名) :垒= ! 翌坌日期:丝曼:! :! 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库 进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。同时 授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论 文,并向社会公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) :j i 堕丑导师( 签名) 。圭企缸之日期:竽零乙 武汉理工大学硕士学位论文 1 1 课题研究背景 第1 章绪论 当前,嵌入式领域正处在一个飞速发展和激烈竞争的时代,嵌入式系统已 经深入到生活的各个角落,与此同时,嵌入式系统的开发也变得越来越重要, 软硬件平台资源都已经有了长足的提高,其复杂程度也随之大大增加,而市场 对于嵌入式系统的开发周期和质量也提出了更高的要求,这些都对嵌入式开发 工具提出了新的挑战。 嵌入式软件开发由于涉及到更多操作系统底层以及硬件方面的知识,因此 比传统的软件开发要求更高,加上各种软硬件平台的差异,因此系统建模、工 程管理和项目管理的工具也比较缺乏。当前,随着芯片技术的进步,3 2 位嵌入 式处理器的应用越来越广泛,市场对于嵌入式系统的性能要求不断提高。目前 嵌入式系统的复杂程度已经远远超过了过去8 位单片机系统,对于项目的开发、 测试、管理,这无疑都提出了新的要求,过去的嵌入式开发工具已经越来越无 法适应新的需求。1 1 1 e c l i p s e 是一个开放源代码的、基于j a v a 的可扩展开发平台,它不仅是专 门开发j a v a 程序的i d e 环境,e c l i p s e 最大的特点就是其插件体系结构。e c l i p s e 平台类似p c 机的主板,插件类似于p c 机的扩展卡。而是用户可以根据e c l i p s e 的体系结构,通过开发插件,扩展到任何语言的开发,甚至成为图片绘制的工 具。由于e c l i p s e 这种开发的积木式体系结构,使其发展得非常迅猛。很多行业 软件提供商,例如i b m 、i n t e l 、s y b a s e 、b o r l a n d 、b e a 、w i n d r i v e r 等公司都成 为了e c l i p s e 会员;e c l i p s e 下载量已经超过3 0 0 0 万人次,遍布1 2 0 个国家;5 0 个著名i t 企业已经提供了超过6 0 0 个各种插件。 1 2 课题来源 r e a l v i e we v e n tv i e w e r 是武汉理工大学英蓓特嵌入式系统研发中心开发的 一种基于e c l i p s e 平台的嵌入式开发工具,是a r m 公司新一代嵌入式开发平台 武汉理下大学硕士学位论文 r v d s 的开源平台组件之一,该工具利用a r m 芯片中的c o r e s i g h t 组件提供的 跟踪数据流,在宿主机重构目标板上的程序流,为嵌入式程序员开发和调试程 序提供有力的支持。 1 3 研究内容和意义 研究e c l i p s e 开源软件开发平台的体系架构,分析其可扩展机制的工作原理, 对a r m 体系结构中事件跟踪的机制和流程进行细致的分析和研究,理解其嵌入 式程序的跟踪数据流的在目标板上的产生,并在目标板和宿主机之间通讯传输, 进而在宿主机上被解析,最终重构和演示程序流的过程。在此基础上实现一种 基于e c l i p s e 架构的利用目标板跟踪数据流在宿主机重构程序流的嵌入式开发工 具,进而建立一个一般性的,通用的平台模型,最终以一种插件的形式实现, 使第三方用户可以在此平台上扩展实现适应自己特定需求的同类工具软件。 1 4 论文结构 第一章为绪论,介绍了课题背景来源和研究意义。 第二章介绍了嵌入式开发的一些特点,分析了嵌入式开发工具的现状,面 临的问题及其发展趋势。 第三章重点分析了e c l i p s e 平台的体系结构及其插件扩展的工作机制。 第四、五、六、七四章以项目为基础,联系该项目在嵌入式开发流程中的 作用,分析了该项目的需求和控制流程,随后对项目进行了总体设计及模块划 分,并阐述了部分模块的实现以及关键技术的应用。最后对项目进行了测试。 第八章为总结展望,讨论了项目的不足和发展前景。 2 武汉理工大学硕士学位论文 第2 章嵌入式开发工具简介 计算机应用的普及、互联网技术的实用以及纳米微电子技术的突破,正有 力推动着2 1 世纪工业生产、商业活动、科学实验和家庭生活等领域自动化和信 息化进程全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以 及现代化家庭起居,为嵌入式产品造就了崭新而巨大的商机。 随着因特网技术的成熟、带宽的提高,嵌入式电子设备的功能不再单一, 电气结构也更为复杂,为了满足应用功能的升级,设计师们一方面采用更强大 的嵌入式处理器如3 2 位、6 4 位r i s c 芯片或信号处理器d s p 增强处理能力;同 时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应 用程序设计、保障软件质量和缩短开发周期前,国外商品化的嵌入式实时操作 系统,已进入我国市场的,如w i n d r i v e r 、m i c r o s o f t 、q n x 和n u c l e a r 等产品, 我国自主开发的嵌入式系统软件产品如科银( c o r e t e k ) 公司的嵌入式软件开发平 台d e l t a s y s t e m ,它不仅包括d e l t a c o r e 嵌入式实时操作系统,而且还包括 l a m d a t o o l s 交叉开发工具套件,测试工具,应用组件等;此外,中科院也推出 了h o p e n 嵌入式操作系统。 2 1 嵌入式开发工具的现状 2 1 1 嵌入式软件开发的特点 嵌入式软件的开发与传统的软件开发有许多共同点,它继承了许多传统软 件开发的开发习惯,但由于嵌入式实时软件运行于特定的目标应用环境,该目 标环境针对特定的应用领域,所以功能比较单一。这决定了嵌入式应用软件的 开发具有自身的特点。 ( 1 ) 需要集成软硬件开发环境。 嵌入式应用软件开发使用交叉式编译环境。交叉开发环境是指实现、编译、 链接和调试应用程序的环境。与运行应用程序的环境不同,它分散在有通信连 接的宿主机与目标机环境之中。 武汉理工大学硕士学位论文 支持嵌入式交叉开发需要交叉软件开发工具。它包括交叉编译器、交叉调 试器和一些仿真软件等。交叉编译器运行应用程序开发者在宿主机上生成能在 目标机上运行的代码。交叉调试器和仿真软件用于完成宿主机与目标机应用程 序代码的调试。1 1 】 ( 2 )引入了新的任务设计方法 嵌入式应用系统以任务为基本的执行单元。在系统设计阶段,用多个并发 的任务代替通用软件的多个模块,并定义了应用软件任务间的接口。嵌入式系 统的设计通常采用d a r t s 设计方法进行任务的设计。d a r t s 给出了系统任务 划分的方法和定义任务间接口的机制。 ( 3 ) 开发完成后需要进行固化和固化测试 嵌入式应用程序丌发环境可以是p c 或工作站,但运行的目标环境却千差万 别。而且应用软件在目标环境下必须储存在非遗失性存储器中,保证用户用完 关机后确保下次的使用。所以应用软件在开发完成以后,应生成固化版本,烧 写到目标环境的r o m 中运行。在固化完成后,要进行运行测试。 ( 4 ) 软件要求更高,开发难度加大 绝大多数的嵌入式应用有实时性能的要求,特别是在硬实时系统中,实时 性能至关重要,同时,嵌入式应用软件对稳定性、可靠性、抗干扰等性能的要 求都比通用软件的要求更为严格和苛刻。 嵌入式应用软件开发的这些特点,加大了嵌入式应用软件的开发难度。世 界上各大著名的实时软件公司正不遗余力地开发性能优良的嵌入式集成开发环 境,以方便嵌入式丌发人员的设计,降低开发的难度。【2 】 2 1 2 嵌入式软件开发面临的问题 嵌入式软件开发由于涉及到更多操作系统底层以及硬件方面的知识,因此 比传统的软件开发要求更高,加上各种软硬件平台的差异,因此系统建模、工 程管理和项目管理的工具也比较缺乏。当前,随着芯片技术的进步,3 2 位嵌入 式处理器的应用越来越广泛,市场对于嵌入式系统的性能要求不断提高。目前 嵌入式系统的复杂程度已经远远超过了过去8 位单片机系统,对于项目的开发、 测试、管理,这无疑都提出了新的要求,过去的嵌入式开发工具已经逐渐越来 越无法适应新的需求。 ( 1 ) 从4 8 1 6 位处理器3 2 位处理器的过渡 4 武汉理工大学硕士学何论文 目前在多数高校中,学生是以8 位处理器为硬件平台学习嵌入式开发。另 外大部分嵌入式工程师都具有在8 位处理器上的开发经验,当前,8 位处理器在 微控制器领域仍具有重要的地位,由于3 2 位处理器与8 位处理器在体系结构上 存在着很大区别,对于熟悉8 位处理器的工程师来说,迅速熟悉并能进行3 2 位 处理器的开发非常重要。这就需要为那些熟悉8 位处理器开发的工程师提供一 种3 2 位处理器开发工具,而其界面、接口又都为他们所熟悉。使得熟悉8 位处 理器的工程师可以快速掌握新的开发工具,从而非常平滑地过渡到3 2 位处理器 开发中。 ( 2 ) 如何加快开发周期 嵌入式系统现在日益复杂,硬件复杂性和软件复杂性大大增加。一个显著 特点就是很多硬件已经高度集成,这带来的后果就是,在目前的嵌入式系统开 发中,软件开发已经占到了8 0 以上的工作量。而需求的复杂使现在某些嵌入 式软件开发已经逐步达到中型软件项目的程度,软件规模的增大及其复杂程度 的增加就导致了软件按时交付率的下降。但是市场的发展却对嵌入式系统开发 周期要求却越来越短。嵌入式开发的特点决定了其软硬件的依赖性非常高,二 者的开发需要协同进行。如果能减少两者之间的依赖性,特别是软件开发对硬 件开发的依赖,就可以极大的缩短开发的周期。 ( 3 ) 各类工具之间怎样配合 嵌入式的开发过程中会使用用到多种工具,比如i d e 环境、编译工具、软 硬件调试工具、操作系统等。根据不同项目的具体需求,又会选择来自不同厂 商的工具进行组合。这就需要将这些不同厂商的工具无缝地配合起来,从而可 以大大减少不必要的工作,这对于开发人员而言是很重要的。 ( 4 ) 如何调试复杂的系统 随着嵌入式系统越来越复杂,很多嵌入式系统都开始使用各种操作系统, 并且使用多核结构。但是传统的j t a g 调试方法能力非常有限,尤其是当目标设 备实时运行的时候,开发人员通常只能使用串口打印输出的方做调试。当需要 分析内存错误、多任务之间关系、异常或中断处理的时候,由于运行时基本是 黑箱运行,这就需要更加强大的调试工具和手段来为开发复杂的嵌入式应用提 供支持。睡眠模式等情况时,目前的调试方法基本无效,系统实时运行时基本 是黑箱运行。这就需要更加强大的调试工具和手段来为开发复杂的嵌入式应用 提供支持。 5 武汉理工大学硕士学位论文 ( 5 ) 如何实现图形化开发 图形化开发在计算机软硬件开发中已不是新问题了。图形化的开发方法能 大大减少开发工作量和复杂程度。【5 】 2 2 嵌入式开发工具的发展趋势 2 2 1 嵌入式开发工具的平台化 要提高嵌入式软件的生产效率必须解决两个问题:一是不必要让所有的软 件从头到尾全部都由自己开发;二是所编写的应用软件有高度的可重用性。要 解决这两个问题,就需要嵌入式软件供应商提供平台化的嵌入式软件开发环境。 例如,美国风河公司就是在这一形势下推出了自己的嵌入式软件开发平台。 嵌入式软件开发平台具有层次高、硬件支持范围广、高度集成、高可靠性 等特点,而且入门费用比较低廉,便于广大用户接受。 所谓“层次高”是指嵌入式软件开发平台不仅仅是一个嵌入式操作系统, 而是集操作系统、开发工具和中间件于一身的开发环境。用户可以从中间件以 上的层次开始自己的开发工作; “硬件支持范围广是指嵌入式软件开发平台支持常见的3 2 位以上流行的 微处理器,用户不会因为硬件的变化而更换软件平台; “高度集成是说平台不是模块的简单堆积,而是有机的集成。用户不用 关心平台中模块间的相互协调,而是专注于应用程序的开发; “高可靠性 平台的目的是使用户可以专注于开发应用程序。如果平台本 身问题很多,用户必须花费很多时间来理解平台进而发现其中的问题,这样失 去了平台化的意义。入门费代表一项技术的进入门槛。平台的另一个含义就是 标准化,而标准化的重要体现就是有广泛的用户群。i o j 2 2 2 嵌入式开发工具和e c l i p s e 的结合 越来越多的嵌入式开发人员正在转向采用开源工具来构建可靠与灵活的系 统和软件。开放源代码既可以提供构建系统软件和应用程序所需的原材料,也 可以为此提供开发工具。特别是像e c l i p s e 和g n u 工具集这样的开放源开发工 具,开发人员可以对其进行定制与扩展,以满足项目的精确需求。不仅如此, 6 武汉理工大学硕士学位论文 许多嵌入式开发商采用了多种开源工具,以此作为更全面的开发环境的基础。 e c l i p s e 就是这样一种开放源集成化开发环境( i d e ) 。e c l i p s e 基金会正在对 e c l i p s e 平台及其相关技术进行开发。该基金会是一个由软件公司组成的非盈利 性团体,致力于利用共享技术和贡献技术以供共享。e c l i p s e 平台在嵌入式设计 与开发领域的应用主要受两大因素推动:平台的成本与灵活性、共享技术贡献 者与插件提供商的社群规模。1 7 1 i s 迄今为止,大多数嵌入式开发人员都接触过e c l i p s e 。对于这些用户而言 e c l i p s e 的优势显而易见:完全免费,且可自由下载;下载最新版本就可对其进 行升级;在j a v a 环境中运行,这在理论上使之可通过多种平台来访问,如大多 数开发商所瞄准的w i n d o w s 、s o l a r i s 和l i n u x 这样的通用平台和操作系统。任 何一种实现为e c l i p s e 插件的工具都可以被方便地安装到该环境中,所以,与 c c + + 、j a v a 编译器和其它工具一起提供的q n xm o m e n t i c s ,只要被放置在开发 机的合适目录中,就可以对k l o c w o r k 静态分析工具等组件构成很好的补充。很 少有嵌入式供应商提供面向团队开发和源代码控制的工具。但配备e c l i p s e 插件 的工具数量很多,丰富了开发人员的选择范围。e c l i p s e 配备面向并发版本控制 系统( c v s ) 的客户端插件,而c v s 是一种开放源系统,可通过g n u 通用公共授 权条款获得授权。【2 5 】 f 2 7 】 风河公司一直致力于嵌入式领域的研究,其t o r n a d o 开发环境和v x w o r k s 嵌入式操作系统产品在嵌入式领域中应用非常广泛。风河公司的新一代工具 w o r k b e n c h 开发平台继承了其原有的t o r n a d o 集成开发平台的一贯优势,并且功 能更加强大,由于新采用了先进的e c l i p s e 软件框架结构,从而使整个系统更加 开放和易于扩展。e c l i p s e 软件框架结构是一个完整和开放的基础平台,它能够 将图形工具以及任何必须的功能通过标准的接口集成到同一个开发环境中。目 前i b m ,h p 及b o r l a n d 等商业开发工具提供商均支持e c l i p s e 开发平台,网上也 存在着大量的为e c l i p s e 平台开发插件的社区。由于w o r k b e n c h 符合e c l i p s e 框架, 所以这些商用的和免费的符合e c l i p s e 平台接口的插件均可以集成到w o r k b e n c h 开发环境中,这极大扩展了w o r k b e n c h 的功能。例如,如果用户想使用自己熟 悉的配置管理工具或者编辑器,就可以找到这样一个插件并集成进来,这样用 户就会感到开发过程非常适合自己的需要。1 3 5 】 不仅如此,风河公司还对e c l i p s e 做了多方面的增强,从而显著提高了系统 的性能。例如w o r k b e n c h 实现了异步接口功能,需要长时间运行的任务可以在 7 武汉理工大学硕士学位论文 后台运行,与此同时还能继续接收开发人员的调试请求,这样不至于使开发人 员做长时间的等待:另外,w o r k b e n c h 还优化了对目标机数据的请求机制,即系 统只检索在集成开发环境的当前视图中所需要的少量数据,看不见的数据则不 向目标机索取,这样就大大提高了交叉调试时系统的响应速度并减少了系统负 荷。1 9 j 2 3 本章小结 本章介绍了嵌入式系统开发的现状,并由此分析了嵌入式开发工具面临的 一些问题,以及目前丌发工具发展的大趋势,重点介绍了嵌入式开发工具和 e c li p s e 平台结合的发展情况。 8 武汉理工大学硕士学位论文 第3 章e c l i p s e 平台综述 在前一章中提到了嵌入式开发工具的开源化趋势,而在开源领域中,e c l i p s e 无疑是最为著名的平台之一,而本课题的实现最终也将在e c l i p s e 平台上来进行。 在本章,将详细介绍e c l i p s e 平台的相关技术。 3 1e c l i p s e 平台简介 e c l i p s e 是一个开放源代码的、基于j a v a 的可扩展开发平台。就其本身而 言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。e c l i p s e 附 带了一个标准的插件集,包括j a v a 开发工具( j a v ad e v e l o p m e n tt o o l s ,j d t ) 。 e c l i p s e 虽然是一个i a v a 语言的i d e ,但是它的功能远不止此。e c l i p s e 还包 括插件开发环境( p l u g i nd e v e l o p m e n te n v i r o n m e n t ,p d e ) ,这个组件主要针对 希望扩展e c l i p s e 的软件开发人员,因为它允许他们构建与e c l i p s e 环境无缝集 成的工具。由于e c l i p s e 中的每样东西都是插件,对于给e c l i p s e 提供插件,以 及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等 的发挥场所。【l o j 【】1 】 3 2e c l i p s e 工作机制 e c l i p s e 平台的主要任务是为开发者提供能够使各种工具无缝集成的机制和 需遵守的规则,这些机制通过具有良好定义的应用程序接口( a p i ) 、类和方法 表现出来。本质上e c l i p s e 是一组松散绑定但互相连接的代码块,平台采用了插 件机制。插件的特点如下。 ( 1 ) 插件是e c l i p s e 平台下最小的可独立开发和发布的功能单元。 ( 2 ) 插件一般都是用j a v a 编写的一个j a r 文件,里面包括了j a v a 代码、一些 只读文件和其它资源,如w e b 模板、消息目录和本地代码库等。有的插件甚至 没有代码。例如,提供h t m l 页面格式的在线帮助的插件。 ( 3 ) 每个插件都有一个声明以其它插件的关联插件关系的清单文件。关联模型 9 武汉理工大学硕士学位论文 很简单:一个插件声明任意多个命名的扩展点,同时声明任意多个对其他插件 的扩展点。 ( 4 ) 插件的扩展点可以被其它插件扩展。一个扩展点可能有一个对应的应用程 序接口。其它插件通过扩展该扩展点来实现这个接口。所有的插件都可以定义 新的扩展点并为其它插件提供新的应用程序接口。 e c l i p s e 启动时发现可用的插件,读取他们的清单文件并构建一个内存中的 插件注册表,平台通过名字将扩展声明和对应的扩展点配对。在这个过程中, 平台所有的动作都被监测到并写入日志,产生的插件注册表可用通过平台a p i 得到。 3 3e c l i p s e 平台体系结构 e c l i p s e 平台是一个具有一组强大服务的框架,这些服务支持插件,比如j t d 和插件丌发环境( p d e ) 。它由几个主要的部分构成:平台运行时、工作区、工作台 和用户界面组件、团队支持和帮助。结构如图3 - 1 : 3 3 1 平台运行时( p l a t f o r mr u n t i m e ) 平台运行时是e c l i p s e 平台核心运行时的简称。e c l i p s e 体系结构的关键就是 动态发现插件,平台运行时就是负责管理、发现和启动已经安装的插件。为了 节省内存,只有当用户选择了插件的功能以后,插件才被载入和初始化。插件 一旦激活,就可以使用插件注册表来发现和存取基于它的扩展点的扩展。 启动工作台时,并未启动单个j a v a 程序。在激活平台运行时的时候,它可 以动态地发现已注册的插件并根据需要来启动它们。可以将插件安装和添加到 注册表中但不激活插件,除非已经根据用户的活动请求了插件所提供的功能。 平台负责维护已安装的注册表以及它们提供的功能,它动态地发现插件并维护 平台注册表中的信息。由于运行时可以根据平台中的用户操作启动所需插件, 因此不需为已安装但未使用的插件消耗内存或影响性能。【l 们 1 0 武汉理1 大学硕士学住论文 图3 - 1e c l i p s e 体系结构 e c l i p s e 平台运行时发现插件的过程如下。 ( i ) e e l i p s e 平台运行时负责在p l u g i n x m l 文件中查找这些插件的声明, 每个p l u g i nx m l 文件都在各插件的子目录中,这些子目录位于e c l i p s e 安装 目录下名为p l u g i n s 的公共目录下。 ( 2 ) 根据这些文件,e c l i p s e 平台运行时在启动的时候在内存中构建一个 称为捅件注册表的全局注册表。有了全局注册袁,给定的插件就可以在运行 时确定其它哪些插件想扩展它。 ( 3 )希望被其它插件扩展的插件都会声明一个扩展点。这是插件的某种 “电源板”,通过对插件声明扩展,其它插件就可以利用这个插件。通过事先 确定可用的插作,并通过捅件日j 信息交换而不激活它们,平台就可以为每个 插件提供关于它运行的上下文的相关信息。 3 32 工作空间( w o r k s p a c e ) 通过插件技术插入e c l i p s e 平台的各种工具的操作范围是用户的工作空间, 工作窄m 也称工作区。工作空间定义a p i ,以创建和管理由工具生成的并保存在 文件系统中的资源,即项目、文件和文件央。工作区包含资源集合,它是用来 武汉理t 大学硕十学位论文 组织和特定区域相关的其它资源的容器。 工作区可以有任意数目的项目,项目是任意数目的文件和文件夹的集合, 工作空间由一个或多个顶层项目组成。每个项目映射到文件系统中相应的用户 指定目录。虽然所有的项目都默认地映射到单个工作空间目录下,但在一个工 作空间的不同项目可以映射到不同的文件系统或驱动器。底层操作系统中的标 准程序和工具可以直接存取工作空间中的所有文件。因为使用可适配对象表示 工作空间资源,这样其它开发者就可以扩展这而资源的操作。 工作空间将保存恢复过程开放给参与的插件,以期在会话间保持与工作空间 的同步。这两个阶段的保存过程确保各插件的重要状态作为原子操作写入磁盘。 3 3 3 工作台( w o r k b e n c h ) 和用户界面组件 工作台指的是桌面开发环境。工作台的目标是通过创建、管理和导航“工作 台”资源提供公共规范来获得无缝的工具集成。 e c l i p s e 平台用户界面是围绕着工作台来建立的,工作台提供了整个的结构, 为用户提供一个可扩展的用户界面。工作台a p i 和实现是建立在以下两个组件 的基础上: s w t - 一与本地窗口系统集成的组件和图形库,具有与操作系统无关的 a p i 。 j f a c e 一使用s w t 实现的用户界面组件,用于简化常见的用户界面编程任务。 标准窗口组件套件( s w t ) 为窗口组件和图形界面提供了一套通用的、独立于 操作系统的a p i ,但它以与底层的本地窗口系统以紧密集成的方式实现。整个的 e c l i p s e 平台用户界面以及其它工具插件使用s w t 来向用户展示信息。 j f a c e 是一个用户界面套件,包含了很多处理通用界面编程任务的类。j f a e e 是在a p i 和实现上都是独立于窗口系统的,它被设计用一和s w t 一起工作,而 不是隐藏它。j f a c e 包含了常用的界面组件,例如图片和字体注册、对话框、首 选项、向导框架以及用于长时间运行操作的进度报告。 t e l 3 4o s g i 规范 e c l i p s e 是个开放的平台,它的基础就是o s g i 服务平台( s e r v i c e sp l a t f o r m ) , 架构在o s g i 上的e c l i p s e 具有融合其他应用和组件的能力,使不同的组件能够 1 2 武汉理t 大学硕士学位论文 运行在一个j v m ( j a v av i r t u a lm a c h i n e ) 上,使它们之间能够协同工作,占用较少 的内存和c p u 时间, 而且能够由平台管理组件的全生命周期的活动,可以说, o s g i 是e c l i p s e 平台的根基。 3 4 1o s g i 简介 o s g i ( o p e ns e r v i c eg a t e w a yi n i t i a t i v e ) 最初的目的就是为各种嵌入式 设备提供通用的软件运行平台,即可以屏蔽设备操作系统与硬件区别的中 间件平台。p c 基本上被w i n t e l 架构垄断,运行在p c 上的应用程序完全可 以在另一台p c 上运行;但对于其他设备来说就不同,它们的硬件平台可能 完全不同,其操作系统也是来自不同厂商,所以任何设备上的应用程序都 需要定制,于是就产生了对中间件平台的需求。 o s g i 规范为网络服务定义了一个标准的、面向组件的计算环境。将o s g i 服务平台添加到一个网络设备中,可以为其增加在网络的任何地方管理组件的 生命周期的能力。软件组件可以从运行中被安装、升级或者移除而不需要中断 设备的操作。软件组件可以动态的发现和使用其他库或者应用程序。通过这个 平台,软件组件可以作为商品在柜台中出售以及在家里开发。 3 4 2o s g i 框架 o s g i 规范的核心组件是o s g i 框架。这个框架为应用程序( 被叫做组件 ( b u n d l e ) ) 提供了一个标准环境。整个框架可以划分为一些层次,如图3 2 图3 2o s g i 框架结构 武汉理工大学硕士学位论文 ( 1 ) l 0 :运行环境 ( 2 ) l 1 :模块 ( 3 ) l 2 :生命周期管理 ( 4 ) l 3 :服务注册 l 0 层执行环境是j a v a 环境的规范。j a v a2 配置和子规范,象j 2 s e ,c d c , c l d c ,m i d p 等等,都是有效的执行环境。o s g i 平台已经标准化了一个执行环 境,它是基于基础轮廓和在一个执行环境上确定了最小需求的一个小一些的变 种,该执行环境对o s g i 组件是有用的。 l l 模块层定义类的装载策略。o s g i 框架是一个强大的具有严格定义的类 装载模型。它基于j a v a 之上,但是增加了模块化。在j a v a 中,j 下常情况下有一 个包含所有类和资源的类路径。o s g i 模块层为一个模块增加了私有类同时有可 控模块间链接。模块曾同安全架构完全集成,可以选择部署到部署封闭系统, 防御系统,或者由厂商决定的完全由用户管理的系统。 l 2 生命周期层增加了能够被动态安装、开启、关闭、更新和卸载的b u n d l e s 。 这些b u n d l e s 依赖于于具有类装载功能的模块层,但是增加了在运行时管理这些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 编程理论考试题库及答案
- 民歌简介课件
- 知识产权与新质生产力的互动关系
- 中国新质生产力产业布局
- 新质生产力与农业发展关联
- 《统计学-SPSS和Excel实现》(第9版)课件 第2章 用图表展示数据
- 科研成果转化:新质生产力的路径
- 民族歌剧鉴赏课课件
- 新质生产力的发展速度与趋势
- 校园社团学习部招新模板
- 帕金森病患者吞咽障碍康复中国专家共识 2025版解读
- 现代农业产业园的信息化管理平台建设
- 全套电子课件:网络信息编辑实务
- 《网店色彩设计》课件
- 《铁路技术管理规程》(普速铁路部分)
- 《中国汽车产业格局》课件
- 老年女性子宫颈癌筛查中国专家共识(2024版)解读
- CNAS-GL025:2023 校准和测量能力(CMC)表述指南
- 船用齿轮箱基础知识培训讲义
- 古建筑屋面瓦拆除与修复方案
- DB22T 2091-2014 国境空港口岸检验检疫设施建设规范
评论
0/150
提交评论