1.4 嵌入式軟件的發展歷程
嵌入式系統和嵌入式軟件的歷史可以上溯到20世紀70年代初期。隨著微處理器芯片的問世,也開啟了嵌入式系統和嵌入式軟件的新紀元,至今,已經歷了30多年。按照嵌入式軟件的發展水平,可將這個過程分為3個階段:基于應用程序階段、基于操作系統階段、基于支撐環境階段。
1. 基于應用程序階段
基于應用程序階段是嵌入式軟件發展的初級階段。這一階段始于20世紀70年代初,基本上與第一個微處理器芯片Intel 4004的問世同步。這一階段,嵌入式系統的硬件之上沒有操作系統,僅有很少一些用于控制外部設備的監控程序,應用軟件直接建立在硬件之上。從開發的角度講,也沒有功能比較完整的嵌入式軟件開發環境,而只有交叉編譯等一些最基本的工具。
造成這種情況的原因主要有三個:一是這時嵌入式系統還處在其發展的初期,軟件規模小、功能不完整是比較自然的現象。二是這時嵌入式系統的硬件資源比較有限。比如,內存的容量一般只有幾千字節。CPU的時鐘頻率一般在4MHz以下,字長一般是8位和4位,甚至是1位。如果系統軟件很多,要占用很多硬件資源,是當時的條件所不許可的。三是這時嵌入式系統的應用范圍也比較有限,主要是用在控制領域,對操作系統和支撐軟件的需求還不是十分強烈。
2. 基于操作系統階段
到20世紀80年代,嵌入式軟件進入了基于操作系統的階段。這一階段的標志是操作系統出現在了嵌入式系統上,應用程序是在操作系統之上編寫,嵌入式軟件開發環境也得到了一定的應用。這使嵌入式軟件的開發效率得到提高,開發成本得到降低,縮短了開發周期。世界上第一個商用嵌入式操作系統是Microtec Research公司開發的VRTX。在功能上VRTX已具備了一般操作系統應有的絕大部分功能,如任務管理、任務通信、中斷管理、內存管理等?,F在已有多種操作系統可供嵌入式軟件開發者選擇,如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的網絡計算機產品?;谖⑻幚硇酒姆荘C類產品雖然不是直到90年代才出現,但與以往相比,在90年代情況有了很大的變化,這類產品的生產規模很大,應用范圍很廣,對社會生活產生了很深的影響,形成了一類完全可與PC產品相匹敵的新興產品。它們的出現對計算機界有劃時代的意義,使計算機產業進入了后PC時代。
在后PC時代,對嵌入式應用軟件提出了更多的需求,要求應用軟件功能更強,應用面更廣,并且能更快地投入使用。這種需求又進一步帶動了嵌入式操作系統和嵌入式支撐軟件的發展,使操作系統的種類更多,功能更完善。并在一些操作系統之上出現了窗口系統、網絡系統、數據庫管理系統、Java虛擬機等一系列支撐軟件。反過來,這些支撐軟件又大大地改變了應用軟件的開發條件,使應用軟件的開發進入了一個新的階段。在這一階段,編寫嵌入式應用程序時不再是僅能調用操作系統所能提供的一些基本功能。人機交互、網絡通信、數據存取等方面的很多工作都可以通過調用支撐軟件來完成。這使嵌入式應用軟件的開發效率與基于操作系統階段相比較又有了很大的提高。目前在VxWorks、Symbian、PalmOS、Windows CE、嵌入式Linux和Hopen等嵌入式操作系統上都有功能比較齊全的支撐軟件。