• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025全景工博会
工业连接

IDE确实能够提高软件开发生产力

  2004年02月29日  

由于对嵌入式应用程序上市时间的要求已经成为创造竞争优势的一个源泉,所以嵌入式软件供应商们所面临的一个严峻挑战就是要用能够显著提高生产力的工具来装备他们的软件开发人员。

集成开发环境(IDE)产品为软件开发人员以最有效率的形式进行产品开发提供了一种无缝的方式。通过将大部分软件开发中所需的相关工具结合到一个集成环境中,IDE能明显缩短设计、实现、调试、测试和部署经优化的应用程序所需的时间。很明显,IDE是嵌入式软件开发人员工具库中的一个价值无法衡量的提高生产力的工具。

早期的嵌入式开发要涉及几个不同的部分,分别针对一个典型开发周期中的“编码、编译、执行、测试和调试”阶段。文本编辑器原始而又不直观的,程序员需要精通编辑器命令。程序必须使用出错率很高的命令行界面进行编译、运行和测试。程序的调试则要通过各种不包含图形用户界面的独立调试器进行。除了这些局限之外,嵌入式开发的特性决定了它要面对具有最少开发工具支持的定制目标硬件,这通常会导致开发周期的进一步延长。随着嵌入式应用程序复杂性的增长,这种软件开发方法暴露的几种功能缺陷成为影响上市时间的严重瓶颈。

专门的目的

几年前就已经开始流行的IDE是专门为提高开发人员的生产力从而提高软件开发效率而产生的。从一个面向编辑、编译、测试与调试以及图形用户界面前端的基本功能集合开始,IDE始终向着提供更有效软件开发能力的方向发展。今天,IDE占据了软件开发人员工作平台的中心地位,拥有的一些高级特性已经深入到了软件开发的所有方面。今天的商业IDE产品都包括一些显著的功能。

几乎所有针对嵌入式应用程序的IDE都支持从主机操作系统到运行嵌入式目标操作系统的嵌入式硬件的交叉开发。既然目标硬件通常不适合开发工作,因此大部分嵌入式开发工作是使用交叉开发环境完成的。最流行的主机开发操作系统是Windows、Linux 和 Solaris.

所有的IDE都提供了开发过程中要用到的基本开发工具。其中包括文本编辑器、多语言支持工具、自动创建工具、对编译后的二进制代码的执行和调试工具等。不过,IDE的文本编辑器提供了更高级的功能,如语法的高亮显示、自动缩进和更好可配置性等;对用于嵌入式开发中的大多数流行语言,像C、C++和Java,也提供完全的支持,这是通过高级的交叉编译器实现的,它能够生成高度优化的代码。自动创建和执行工具基于“makefile”概念有了显著的改进,可产生一种无缝机制用于创建包含上千个文件的大型软件程序。调试器能够提供源码级调试以及应用崩溃后的反向跟踪调试。

在IDE中最值得注意的进步之一是引入了“工程向导”(project wizard),它能够根据开发者的需要创建源文件模板。例如,一个应用程序开发者需要创建一个程序,其中包含多个独立运行的线程,线程间通过信号量进行同步。根据这个信息,向导就能够创建一个具备上述功能的样例程序,该程序能真正在目标操作系统上被编译通过并执行。在许多IDE中,这个概念也已被扩展到创建设备驱动程序范例。通过这种向导功能,甚至不熟悉嵌入式操作系统API或其驱动程序模型的开发人员也能够很快上手。

嵌入式开发周期中最重要的阶段之一是在目标硬件上创建和执行操作系统的映像和嵌入式应用程序。嵌入式应用程序及其操作系统的一些关键需求,如目标代码的静态规模和存储器使用情况能够通过IDE提供的相应目标分析工具来分析。这些IDE工具也支持通过某种通信方式如串口或以太网口将目标映像下载到硬件上。一旦目标映像被下载,IDE工具还能连接到目标硬件上,以支持对应用程序或正在运行的操作系统的实时调试。

另外一个新近加入到IDE中的扩展功能是分析和优化工具。这些工具可实现在基本的开发和调试完成后对软件程序进行完整分析以确定软件性能的瓶颈,并调节系统的行为甚至在广泛的测试分析中起辅助作用。

此分析工具使用专门的方法对软件程序的执行进行深入分析。这对于确定运行开销最大的代码段或是跟踪特殊的代码执行路径都是非常有帮助的。事件跟踪工具提供了一个观察整个系统行为的窗口,它可跟踪外部对系统的中断及其对应用程序执行的影响。使用这些事件跟踪工具能够将整个系统的行为优化到一种没有这些IDE工具情况下很难达到的水平。

自然扩展

将配置管理工具集成到IDE中是对开发环境的一个自然扩展。任何涉及到多个软件版本的商业软件开发都需要适当的配置管理,主要用来确保一个特定源文件的各个版本能够在配置库中被维护,这可帮助确定与不同软件版本相对应的特定文件。IDE中的配置管理工具支持对一组源文件(一般称之为“Project”)的无缝存储和获取,从而支持多个软件版本的无缝开发。

这些增加的IDE功能已经极大地提高了软件开发的效率。实际上,没有推行有效使用IDE工具的组织将在竞争中处于十分不利的地位。有几个商业IDE产品可以从嵌入式操作系统供应商处获得。一种来自于LynuxWorks公司的此类IDE工具是VisualLynux,它构建于微软公司VisualStudio集成开发环境的基础上,通过在主PC机上运行Windows操作系统实现基于LynxOS和Bluecat Linux操作系统的嵌入式软件开发。另一种重要的IDE就是 Eclipse框架,它是一个用Java编写的源代码公开的IDE工具,支持在Linux、Windows 和Solaris操作系统上进行Java、C 和C++应用程序开发。其它值得注意的IDE产品包括Metrowerks公司的CodeWarrior、面向Windows CE的微软VisualStudio、风河系统公司的Tornado、QNX Systems公司的Momentics以及GreenHills Software公司的Multi等。

作者: Arun Subbarao


软件工程总监


LynuxWorks有限公司


最新视频
欧姆龙机器人高速多点检查 | 统合控制器实现一体化控制,可实现2ms扫描周期,提升运行节拍   
欧姆龙机器人高速多点检查 | 通过设备统合仿真实现整机模拟,效率、竞争力双提升   
研祥智能
施耐德电气EAE
魏德米勒麒麟专题
魏德米勒
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
AVEVA InTouch Unlimited重塑HMI/SCADA的无限可能
AVEVA InTouch Unlimited重塑HMI/SCADA的无限可能

12月18日,《AVEVA InTouch Unlimited重塑HMI/SCADA的无限可能》在线研讨会即将开播。

电子半导体行业的数字化未来
电子半导体行业的数字化未来

为助力广大电子半导体企业洞悉行业数智化发展趋势,并提供切实可行、可靠的解决方案,推动整个行业繁荣发展,剑维软件的专家团队

在线会议

社区