Eclipse开放式开发平台

嵌入式新闻

6人已加入

描述

嵌入式领域一直都在致力于为软件和系统工程师提供一个通用的开放式开发界面。工具则一向与实时系统(RTOS)或处理器紧密相关,而这二者的具体特性都需要专有环境来予以支持,这一点造成了开发人员在为了满足不断变化的设计需要而更换环境时,不可避免地会遭遇陡峭的学习曲线和额外的工具开销。
通过使用Eclipse开放式开发平台,嵌入式软件开发人员就有机会实现环境的标准化,使之在新的层次上提供不同工具之间的一致性。

简介
对于那些习惯于使用极度重视调试的工具环境的嵌入式开发人员来说,Eclipse乍看起来有些另类,因为这个环境是以代码开发和项目管理作为出发点的。
根据以往经验,Eclipse新用户大约需要半天的时间来熟悉这套环境。之后,开发人员的工作效率会迅速超过使用较传统的工具时的工作效率,并开始发挥出完全集成的开发环境的真正威力。以上的经验数据是通过与许多经历过这种转变的嵌入式开发人员交流后得到的,现在他们非常满意基于Eclipse的产品所提供的自由和灵活性。

平台
Eclipse不是嵌入式环境,而是从企业开发领域衍生出的平台,它使得各公司能够通过使用标准的机制将自己的工具作为插件集成在这套平台上,并提供标准用户界面。这套工具如何工作以及做何工作,根据处理器或RTOS的不同,这个问题可能会有各种各样的答案,但是集成开发环境(IDE)保持不变,而总体感观也非常类似。对供应商和用户而言,这一点都是非常有利的。
供应商不再需要开发和维护并非嵌入式领域所特有的IDE技术。他们可以利用第三方插件,使得他们的用户能够根据自己的特定需求来建立一流的软件开发环境。这些开发环境可以是嵌入式开发环境或企业开发环境,可以使用商业许可或开源许可。

通用界面
现在,嵌入式开发人员能够从通用用户界面来启动自己的工具。 无论使用什么工具,IDE的感观都保持不变。


只要在选择工具供应商的时候略微注意一点,开发人员就能够使用各种类型的工具和实时系统而无须做出折衷。 选择开放式标准的IDE也使得开发人员不必过分依赖于那些曾经一度是选择RTOS时必不可少的工具和IDE。通过使用基于Eclipse的IDE,用户现在能够选择自己的RTOS。而且他们知道,如果这个RTOS不能满足自己下一个项目的需求,那么只需要换个新插件就可以了。

插件
Eclipse框架可以容纳任意数量的插件,这些插件可以是完整的环境,独立的应用程序或者仅仅在现有插件中新增几个窗口。通过API来编写插件有严格的准则,这确保了不同应用程序之间的一致性。不过,Eclipse也以向导、模板、菜单和示例的形式提供了大量的帮助,使得实际的API部分相对简单。
Eclipse框架和插件的GUI部分都是使用Java编写的(易于编程和移植),而Eclipse开发环境(用于创建Eclipse插件)也提供了几个有用的工具包。被称为Standard Widget Toolkit (SWT)的工具包是用来创建按钮和对话框等低层次功能的,而更高层次的JFace提供了一个工具包,用来帮助创建视图、列表和树(见图1)。
只有GUI部分必须使用Java编写,而插件的其他部分不一定使用Java编写。因此,遗留的C或C++应用程序无须重写全部代码就能够移植为Eclipse插件。这对嵌入式供应商是有利的,并且对那些拥有专利工具的开发人员也有帮助。这些现在都能够运行在相同的环境中。

项目和子项目
除了Eclipse平台之外,开源社区仍然在开发许多项目和子项目。这些项目的开发人员是由不同层次的Eclipse成员组成的:战略开发人员、战略用户、扩展服务提供商以及开源项目领导者。无须成员资格就能够参与甚至是领导这些项目。


项目需要满足一般或特定需求,该需求会影响软件的开发,并且这些项目通常由在该特定领域有专业技术的公司来管理或领导。然后,这些项目可以作为示例或基础供其他公司设计自己的商用(或免费)产品,这些产品通常被用来辅助其核心技术。


CDT和DSDP这两个项目或者与嵌入式开发直接相关,或者被嵌入式供应商广泛使用。许多嵌入式公司(通常是竞争对手)都参与到这些项目,并为之添砖加瓦。

Eclipse

图1 Eclipse平台架构提供了插件式的开发方法


C/C++开发工具(CDT项目)是许多基于Eclipse的嵌入式软件开发工具的基础。该项目使用Eclipse平台和相应的项目浏览器作为其IDE,包含了一个具有构建(build)和生成(make)功能的GUI,这个GUI包含了GNU C/C++编译器并提供了到其他嵌入式交叉编译器的简单连接。该项目提供了一个C和C++上下文相关的编辑器。并且,为了便于嵌入式调试,它包含了基于Eclipse的GUI,此外,还包含了GNU GDB调试引擎——可以提供软件的编辑、构建(build)和调试之间的无缝式交互。


因为CDT本身就是标准Eclipse平台的插件,提供了构建(build)和调试透视图,所以其他工具很容易就能够“插入”。这样它就能够成为完整的嵌入式系统开发环境。


设备软件开发平台(DSDP)是相对较新的项目,它关注嵌入式系统调试的许多方面。最初,DSDP主要关注用于目标管理、设备调试、移动Java和嵌入式GUI的构建基础设施。它包括了eRCP,后者是一个正在移植简化版Eclipse的项目,该Eclipse适合用于真正地运行在嵌入式系统上, eRCP还提供基于Java的平台来运行嵌入式应用程序。这个项目的其他部分围绕着调试器如何与嵌入式目标系统通信,并尝试着为这种通信引入一些新的开放式标准到这个Eclipse项目中。

生命周期
考虑到嵌入式软件设计的生命周期,Eclipse为开发人员额外增加了广泛应用于嵌入式开发但是并非针对该任务设计的工具,这些工具通常都能够集成到Eclipse中,并能够以插件方式无缝地与嵌入式专有工具共同工作。 因此,从设计到部署,嵌入式开发人员可以从非嵌入式特有的需求和高层次设计工具着手,然后生成能够用在构建(build)带有嵌入式编译器和连接器的透视图中的代码。


一旦完成了代码的建立,开发人员就可以点击某个按钮,切换到调试透视图,连接到目标设备,下载代码并调试应用程序。为了更加详细的测试和分析,可以使用其他Eclipse透视图,它们提供了性能剖析(profiling)、分析以及测试工具,以便在部署之前真正地对代码进行全面的测验。


真正集成化的工具直接集成在Eclipse框架中,或者插入到某个项目中。例如,直接插入Eclipse框架的工具的优势在于,它们通常能够与任何其他插件共同工作,这些插件不依赖于Eclipse项目,但是要实现紧密的集成,工具供应商还需要进行额外的工作。集成在某个项目(如CDT)中的工具的优势在于,它们通常与那些基于CDT的工具有更加紧密的集成,而且只需要较少的(或完全不需要)集成工作。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分