用一种技术统一企业级软件和嵌入式软件的方法
扫描二维码
随时随地手机看文章
嵌入式软件开发有别于企业级或桌面软件开发,而且它们采用的软件开发技术也各有不同。一些嵌入式软件公司试图采用Visual Studio这样的企业级解决方案实现用户界面友好的开发环境,但是多主机、多目标机、RTOS识别以及嵌入式连接等需求使得集成方案周期很长,难度大,而且不能被IDE制造商完全支持。另一些嵌入式软件公司选择编写或获取他们自己的IDE,而这样做又会导致私有接口,降低嵌入式供应商的核心竞争力,使支持更加困难。
要改变上述状况,就要采用一种开放源码IDE。尽管其源于并应用于企业领域,但由于具有灵活的技术和授权模式,因而能使嵌入式供应商创建用户友好的嵌入式工具。这种开放源码IDE名为Eclipse。在过去几年中,大部分嵌入式开发人员已经转向Eclipse作为他们选择的平台方案。大多数RTOS供应商拥有Eclipse开发环境,而且大多数芯片/内核供应商已经为那些希望开发自有架构的软件开发人员提供Eclipse链接。
从专有IDE向开放标准IDE转移的动力来自嵌入式软件开发人员和嵌入式供应商。嵌入式软件开发人员受挫于必须为每个芯片或每个RTOS改变开发环境,而嵌入式供应商也同样受挫于必须建立和维护IDE。Eclipse环境能提供与处理器架构、主机平台或嵌入式RTOS无关的标准接口。
Eclipse的出现在嵌入式领域中具有重要的意义,具体表现为:
1. 主机、语言和环境的独立性。大多数企业级开发工具都是专用于在某个平台上开发特定类型应用程序,通常要采用某种专用语言。而Eclipse是一种可满足多种开发需求的IDE,这也是它适合嵌入式开发的原因之一。Eclipse有此功能得益于插件概念。Eclipse平台本身不是专用于任何语言、主机或应用开发,但可通过满足特殊要求的插件工具实现专用开发。
2. 项目模板。尽管Eclipse框架不是专用于某类型的应用开发,但有很多开放源码Eclipse项目可提供很好的新产品开发切入点。这些项目利用Eclipse插件机制可进行特定应用程序开发。由于这些项目采用与Eclipse平台相同的开放源码授权方式,因此可以被下载,用作满足特殊应用要求的样例、模板或启动代码库。嵌入式样例请参考后文有关Eclipse项目的表述和图例。
3. Eclipse公共许可(EPL)。EPL允许商业公司出售集成了开放源码平台和项目的开发工具,而非暗示这些开发工具应免费提供。这意味在面临嵌入式开发需求的变化,以及嵌入式产业新技术快速发展时,那些需要不断完善和维护的复杂软件能通过销售而收回开发成本。
4. Eclipse的七大支柱。如上所述,由于企业级产品和嵌入式产品开发有所不同,因而企业级软件提供商很难支持嵌入式需求,产品也很难反映开发人员的需求。而Eclipse的情况则不然。目前,Eclipse基金会约三分之一的成员公司或是嵌入式公司,或是在积极地服务于嵌入式产业。其中包括RTOS公司、芯片公司和嵌入式工具提供商。
由于认识到嵌入式软件开发人员的需求对Eclipse基金会的重要性,嵌入式领域现已被公认为Eclipse基金会的七大支柱之一(如图1所示)。这七大支柱表明了使用Eclipse的关键应用类型。对嵌入式领域而言,关键项目中的可视性将确保这种技术能持续满足嵌入式需求。
图1:Eclipse平台的七大支柱。
Eclipse的架构被设计成可以接受任何数量的插件。插件可以是完整的环境、独立的应用程序或只是现有插件中的附加窗口。编写插件有严格的指南,以确保在不同应用中的一致性。另外还有向导、模板、菜单和例子等形式的帮助,以使实际的API部分更为简单明了。Eclipse框架和插件的GUI部分都是用Java语言编写的,而且Eclipse开发环境还提供了若干有用的工具套件。
Eclipse项目
开放源码组织正在Eclipse平台上开发大量的项目和子项目。这些项目满足软件开发的通用或特殊要求,并由这些特殊领域中拥有丰富经验的公司管理或领导。对于那些想要通过设计自己的商用(或免费)产品以补足其核心技术的公司,这些项目可用作样例或库。
C/C++ Dev工具(CDT项目)是许多基于Eclipse的嵌入式软件开发工具的基础。该项目采用Eclipse平台和相应的项目导航作为IDE,其内置的建立和生成GUI包括了GNU C/C++编译器,允许方便地连接到其它嵌入式交叉编译器。这个项目被用作标准Eclipse平台上的插件,因此其它工具易于插入,并形成完整的嵌入式系统开发环境,从而使许多构建和调试单元能够充分利用开放源码带来的好处。
图2:显示顶层项目的Eclipse机构,绿色部分与嵌入式开发的关系密切。
设备软件开发平台(DSDP)是相对较新的一个项目,该项目考虑了调试一个嵌入式系统的诸多方面。最初的DSDP专注于为目标管理、设备调试、移动Java和嵌入式GUI建立基础架构。该项目还包含eRCP,它能与运行在嵌入式系统上的Eclipse平台精简版相接,并为运行嵌入式应用提供基于Java的平台。
Enterprise插件
真正使人感兴趣的是企业级软件和嵌入式软件开发之间的交叠。由于我们确信可以使用相同的Eclipse环境,因此我们可以着眼于不专用于任何一种开发、但对嵌入式领域极有价值的开发工具。例如源码和版本管理。有许多工具能够实现代码的跟踪、版本化和管理,这些工具可以在源文件上使用,而与使用的语言、目标处理器或编译及建立工具无关。有许多工具将Eclipse插件用作前端,可被“插入”或使用,相邻嵌入式开发工具也有Eclipse前端。每个工具通常有它自己的透视图(perspective),这是Eclipse中的术语,代表Eclipse框架中的一系列窗口集合,从一个透视图移动到另一个透视图(如从建立透视图到调试)只需简单地按一下按键即可。访问Eclipse平台和Eclipse项目可登录www.eclipse.org。访问商用和开放源码插件可登录www.eclipseplugincentral.com。
本文小结
本文所述的Eclipse是实用的嵌入式开发环境。今后开发人员和嵌入式工具供应商能充分利用其真正的即插即用特性为嵌入式开发创建更多样例。企业级系统正被连接到越来越多的嵌入式系统,因此能够跨接两个系统的环境变得非常重要,企业级与嵌入式工具的结合和开发将变得更为紧密。[!--empirenews.page--]