嵌入式软件开发单一开发数据模型逐步统一到应用系统
软件开发经历了漫长的编程语言和系统发展道路,归根结底都是为了使软件开发人员避免与汇编语言的纠缠。使用现在常见的编程接口、代码语法和编译器的实现方式,软件开发通过广泛的编程语言(从Pascal直到面向对象的语言和C++)实现了高层次抽象。作为PC应用软件的“小弟”,用于电子设备的嵌入式软件的开发也大体运用同样的原则和系统。
无论软件工程师使用哪一种高层次系统(流程图、示意图或C语言转化)来开发嵌入式硬件,他们都有机会创造相对复杂的大型“软”硬件系统来支持其自己的软件例程和功能,甚至可能在最后创造出完整的产品开发。
为将开发抽象概念提高到新的水平,我们需要一个产品开发系统,可以将各个开发领域整合为使用单一开发数据模型的统一应用系统,这样嵌入式软件、可编程硬件和物理硬件可共用一个跨越所有开发领域的开发界面和开发数据模型,使产品开发成为统一、连贯的任务。
嵌入式软件开发即可成为开发流程的一部分,进入硬件与应用软件领域。任何开发领域的变动都将引起单一数据集合的改动,并可立即用于其他领域,且任何高层次开发流程都可被开发系统的其余部分自然而然地“理解”。嵌入式硬件开发领域的开发抽象已经从位于常规过程顶端的一个简单、孤立的层面变为一个交互式地渗透到整个开发系统的层面。
对于所有工程师特别是软件软件开发人员来说,可以使用高层次系统在实际硬件的基础上实时开发和研究开发方案。在一些情况(例如简单产品生产过程)中,该硬件很可能成为成品,这使软件工程师能迅速开发出完整的产品,或者至少开发出概念证明设备。此外,你用来开发和测试产品的开发软件和硬件开发平台可直接支持使用现成硬件。在该环境中开展的开发可以直接而平滑地转变为基于兼容OTS硬件的成品。
采用这种方法,开发周期中的关键开发决定可以大大推迟,并且可在任何时候对开发的规定软要素进行更新,甚至在产品已开始实际使用之后。开发过程的早期阶段不再需要立即做出硬件决定,这使软件开发师能够将精力集中于开发中定义功能的嵌入式硬件和软件。硬件选择可以留到最后以满足开发的“软”要素的需要,而非采用相反的方式。