小型操作係統控製的嵌入式係統一般指的是硬件主體由8位/16位單片機或者32位處理器構成。其控製軟件主要由一個小型嵌入式操作係統內核(例如,μc/OS-II或TinyOS)和一個小規模的應用程序組成。小型嵌入式操作係統內核的源代碼一般不超過一萬行。這類嵌入式係統的操作係統功能模塊不齊全,並且無法為應用程序開發提供一個較為完備的應用程序編程接口。此外,它沒有圖形用戶界麵(GUI)或者圖形用戶界麵功能較弱,數據處理和聯網通信功能也比較弱。
大型操作係統控製的嵌入式係統的硬件主體通常由32位/64位處理器、32位軟核處理器或者32位片上係統組成。控製軟件通常包含一個功能齊全的嵌入式操作係統(例如,VxWorks、RTLinux、Symbian、WindowsCE、Ecos等)以及封裝良好的API,其實時性能較強,具備DSP處理能力,還具備良好的圖形用戶界麵和網絡互聯功能,可運行多種數據處理功能較強的應用程序。
2.按嵌入式係統的用途分類
按照應用領域可以把嵌入式係統分為軍用、工業用和民用三大類。其中,軍用和工業用嵌入式係統對運行環境的要求比較苛刻,往往要求耐高溫、耐濕、耐衝擊、耐強電磁幹擾、耐粉塵、耐腐蝕等。民用嵌入式係統的需求特點往往體現在另外一些方麵,如易於使用、易維護和標準化程度高等。
3.6.4 嵌入式係統的基本組成
嵌入式係統通常是由嵌入式硬件係統和嵌入式軟件係統兩部分組成的。由於嵌入式係統的應用相關性特點,不同嵌入式係統的具體硬件和軟件構成具有一定的差異性,但從宏觀上來看,一般嵌入式係統的軟硬件組成具備一定的共性。
1.嵌入式係統的硬件組成
嵌入式係統的硬件一般包括嵌入式微處理器(或嵌入式微控製器)、外圍電路和外部設備。其中嵌入式微處理器是核心,有微處理器(Micro Processing Unit,MPU)、微控製器(MCU)、數字信號處理器(DSP)等幾種類型。
外圍電路主要包括:各種I/O接口控製器電路(例如中斷控製器、DMA控製器、液晶屏控製器、JTAG調試接口、串口、以太網口、USB、A/D或D/A轉換器等)、時鍾電路、各式總線等。外部設備主要包括:RAM、ROM、閃存(Flash Memory)、鍵盤、發光二極管(LED)、液晶屏(LCD)、觸摸屏、手寫筆等。
隨著半導體技術的迅猛發展,硬件設計越來越多地采用SoC技術和專用集成電路(Application Specific Integrated Circuit,ASIC)技術來實現,或者采用具有知識產權的標準部件或半定製設計來實現,特別是市場容量大的產品更是如此。在許多嵌入式硬件設計中,一些專用控製邏輯越來越多地采用現場可編程門陣列或複雜可編程邏輯器件芯片來設計。一些專用功能,如加密、圖像壓縮、視頻編解碼,也采用基於SoC技術的芯片實現。從板級電路設計到處理器加ASIC或SoC已成為硬件設計的潮流和發展趨勢。現在,許多嵌入式產品,如PDA、手機、數碼相機、MPEG播放器等雖然體積小巧,但功能強大,其中很重要的原因在於使用了ASIC和SoC技術。
2.嵌入式係統的軟件組成
嵌入式軟件可以分為兩大類:含操作係統的嵌入式軟件與不含操作係統的嵌入式軟件。
不含操作係統的嵌入式軟件結構中,監控程序循環執行各個例程,如果外部設備發出中斷請求信號,則立即停止監控程序的運行,轉而執行中斷服務子程序(ISR)。中斷服務子程序在運行過程中,如果需要訪問硬件,則通過驅動程序、硬件初始化指令(段)、硬件使能指令段(段)或者硬件激活指令(段)進行。
SOSES和LOSES的嵌入式軟件結構都包含操作係統,但兩者的不同點是LOSES對硬件驅動接口進行了標準化處理,在操作係統和硬件之間構成了一個硬件抽象層,例如WindowsCE和VxWorks,而SOSES的硬件驅動通常沒有標準化,其驅動程序與低端嵌入式係統的基本相同。
LOSES軟件一般由板級支持包(Board Support Packet,BSP)、硬件驅動程序、嵌入式操作係統(Real Time Operating System,RTOS)、嵌入式中間件(Embedded Middleware)、應用程序編程接口API、組件(構件)庫以及嵌入式應用軟件組成。其中RTOS是核心,是嵌入式係統軟件的基礎和開發平台,BSP和硬件驅動程序屬於同一層。LOSES軟件體係結構可以分為以下幾個層次: