1.4 嵌入式软件的发展历程
嵌入式系统和嵌入式软件的历史可以上溯到20世纪70年代初期。随着微处理器芯片的问世,也开启了嵌入式系统和嵌入式软件的新纪元,至今,已经历了30多年。按照嵌入式软件的发展水平,可将这个过程分为3个阶段:基于应用程序阶段、基于操作系统阶段、基于支撑环境阶段。
1. 基于应用程序阶段
基于应用程序阶段是嵌入式软件发展的初级阶段。这一阶段始于20世纪70年代初,基本上与第一个微处理器芯片Intel 4004的问世同步。这一阶段,嵌入式系统的硬件之上没有操作系统,仅有很少一些用于控制外部设备的监控程序,应用软件直接建立在硬件之上。从开发的角度讲,也没有功能比较完整的嵌入式软件开发环境,而只有交叉编译等一些最基本的工具。
造成这种情况的原因主要有三个:一是这时嵌入式系统还处在其发展的初期,软件规模小、功能不完整是比较自然的现象。二是这时嵌入式系统的硬件资源比较有限。比如,内存的容量一般只有几千字节。CPU的时钟频率一般在4MHz以下,字长一般是8位和4位,甚至是1位。如果系统软件很多,要占用很多硬件资源,是当时的条件所不许可的。三是这时嵌入式系统的应用范围也比较有限,主要是用在控制领域,对操作系统和支撑软件的需求还不是十分强烈。
2. 基于操作系统阶段
到20世纪80年代,嵌入式软件进入了基于操作系统的阶段。这一阶段的标志是操作系统出现在了嵌入式系统上,应用程序是在操作系统之上编写,嵌入式软件开发环境也得到了一定的应用。这使嵌入式软件的开发效率得到提高,开发成本得到降低,缩短了开发周期。世界上第一个商用嵌入式操作系统是Microtec Research公司开发的VRTX。在功能上VRTX已具备了一般操作系统应有的绝大部分功能,如任务管理、任务通信、中断管理、内存管理等。现在已有多种操作系统可供嵌入式软件开发者选择,如VxWorks、Symbian、PalmOS、Nucleus、Win-dows CE、嵌入式Linux和Hopen等。
3. 基于支撑环境阶段
进入20世纪90年代以后,世界上很多计算机制造厂商陆续推出了多种基于微处理芯片的非PC类产品。比如,Apple公司在1993年发布了世界上第一个PDA产品Newton MessagePad;1996年1月,Oracle公司首次提出了网络计算机的概念,Sun公司于同年10月29日推出了名为JavaStation的网络计算机产品。基于微处理芯片的非PC类产品虽然不是直到90年代才出现,但与以往相比,在90年代情况有了很大的变化,这类产品的生产规模很大,应用范围很广,对社会生活产生了很深的影响,形成了一类完全可与PC产品相匹敌的新兴产品。它们的出现对计算机界有划时代的意义,使计算机产业进入了后PC时代。
在后PC时代,对嵌入式应用软件提出了更多的需求,要求应用软件功能更强,应用面更广,并且能更快地投入使用。这种需求又进一步带动了嵌入式操作系统和嵌入式支撑软件的发展,使操作系统的种类更多,功能更完善。并在一些操作系统之上出现了窗口系统、网络系统、数据库管理系统、Java虚拟机等一系列支撑软件。反过来,这些支撑软件又大大地改变了应用软件的开发条件,使应用软件的开发进入了一个新的阶段。在这一阶段,编写嵌入式应用程序时不再是仅能调用操作系统所能提供的一些基本功能。人机交互、网络通信、数据存取等方面的很多工作都可以通过调用支撑软件来完成。这使嵌入式应用软件的开发效率与基于操作系统阶段相比较又有了很大的提高。目前在VxWorks、Symbian、PalmOS、Windows CE、嵌入式Linux和Hopen等嵌入式操作系统上都有功能比较齐全的支撑软件。