什么是嵌入式系統
嵌入式系統(Embedded system),是一種“完全嵌入受控器件內部,為特定應用而設計的專用計算機系統”,根據英國電氣工程師協會( U.K. Institution of Electrical Engineer)的定義,嵌入式系統為控制、監視或輔助設備、機器或用于工廠運作的設備。
與個人計算機這樣的通用計算機系統不同,嵌入式系統通常執行的是帶有特定要求的預先定義的任務。由于嵌入式系統只針對一項特殊的任務,設計人員能夠對它進行優化,減小尺寸降低成本。嵌入式系統通常進行大量生產,所以單個的成本節約,能夠隨著產量進行成百上千的放大。[1]
嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。與通用計算機能夠運行用戶選擇的軟件不同,嵌入式系統上的軟件通常是暫時不變的;所以經常稱為“固件”。
國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。[3]
嵌入式系統是面向用戶、面向產品、面向應用的,它必須與具體應用相結合才會具有生命力、才更具有優勢。因此可以這樣理解上述三個面向的含義,即嵌入式系統是與應用緊密結合的,它具有很強的專用性,必須結合實際系統需求進行合理的裁減利用。
◆嵌入式系統是將先進的計算機技術、半導體技術和電子技術和各個行業的具體應用相結合后的產物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。所以,介入嵌入式系統行業,必須有一個正確的定位。例如Palm之所以在PDA領域占有70%以上的市場,就是因為其立足于個人電子消費品,著重發展圖形界面和多任務管理;而風河的Vxworks之所以在火星車上得以應用,則是因為其高實時性和高可靠性。
◆嵌入式系統必須根據應用需求對軟硬件進行裁剪,滿足應用系統的功能、可靠性、成本、體積等要求。所以,如果能建立相對通用的軟硬件基礎,然后在其上開發出適應各種需要的系統,是一個比較好的發展模式。目前的嵌入式系統的核心往往是一個只有幾K到幾十K微內核,需要根據實際的使用進行功能擴展或者裁減,但是由于微內核的存在,使得這種擴展能夠非常順利的進行。
實際上,嵌入式系統本身是一個外延極廣的名詞,凡是與產品結合在一起的具有嵌入式特點的控制系統都可以叫嵌入式系統,而且有時很難以給它下一個準確的定義。現在人們講嵌入式系統時,某種程度上指近些年比較熱的具有操作系統的嵌入式系統,本文在進行分析和展望時,也沿用這一觀點。
一般而言,嵌入式系統的構架可以分成四個部分:處理器、存儲器、輸入輸出(I/O)和軟件(由于多數嵌入式設備的應用軟件和操作系統都是緊密結合的,在這里我們對其不加區分,這也是嵌入式系統和一般的PC操作系統的最大區別)。
嵌入式系統(Embedded system),是一種“完全嵌入受控器件內部,為特定應用而設計的專用計算機系統”,根據英國電氣工程師協會( U.K. Institution of Electrical Engineer)的定義,嵌入式系統為控制、監視或輔助設備、機器或用于工廠運作的設備。與個人計算機這樣的通用計算機系統不同,嵌入式系統通常執行的是帶有特定要求的預先定義的任務。由于嵌入式系統只針對一項特殊的任務,設計人員能夠對它進行優化,減小尺寸降低成本。嵌入式系統通常進行大量生產,所以單個的成本節約,能夠隨著產量進行成百上千的放大。
嵌入式系統是用來控制或者監視機器、裝置、工廠等大規模設備的系統。國內普遍認同的嵌入式系統定義為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。通常,嵌入式系統是一個控制程序存儲在ROM中的嵌入式處理器控制板。事實上,所有帶有數字接口的設備,如手表、微波爐、錄像機、汽車等,都使用嵌入式系統,有些嵌入式系統還包含操作系統,但大多數嵌入式系統都是由單個程序實現整個控制邏輯。
嵌入式系統的核心是由一個或幾個預先編程好以用來執行少數幾項任務的微處理器或者單片機組成。與通用計算機能夠運行用戶選擇的軟件不同,嵌入式系統上的軟件通常是暫時不變的;所以經常稱為“固件”。
歷史發展
從20世紀七十年代單片機的出現到各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。
嵌入式系統的出現最初是基于單片機的。70年代單片機的出現,使得汽車、家電、工業機器、通信裝置以及成千上萬種產品可以通過內嵌電子裝置來獲得更佳的使用性能:更容易使用、更快、更便宜。這些裝置已經初步具備了嵌入式的應用特點,但是這時的應用只是使用8位的芯片,執行一些單線程的程序,還談不上“系統”的概念。
最早的單片機是Intel公司的 8048,它出現在1976年。Motorola同時推出了68HC05,Zilog公司推出了Z80系列,這些早期的單片機均含有256字節的RAM、4K的ROM、4 個8位并口、1個全雙工串行口、兩個16位定 時 器。之后在80年代初,Intel又進一步完善了8048,在它的基礎上研制成功了8051,這在單片機的歷史上是值得紀念的一頁,迄今為止,51系列的單片機仍然是最為成功的單片機芯片,在各種產品中有著非常廣泛的應用。
從80年代早期開始,嵌入式系統的程序員開始用商業級的“操作系統”編寫嵌入式應用軟件,這使得可以獲取更短的開發周期,更低的開發資金和更高的開發效率,“嵌入式系統”真正出現了。確切點說,這個時候的操作系統是一個實時核,這個實時核包含了許多傳統操作系統的特征,包括任務管理、任務間通訊、同步與相互排斥、中斷支持、內存管理等功能。
其中比較著名的有Ready System 公司的VRTX、Integrated System Incorporation (ISI)的PSOS和IMG的VxWorks、QNX公司的QNX 等。這些嵌入式操作系統都具有嵌入式的典型特點:它們均采用占先式的調度,響應的時間很短,任務執行的時間可以確定;系統內核很小,具有可裁剪,可擴充和可移植性,可以移植到各種處理器上;較強的實時和可靠性,適合嵌入式應用。這些嵌入式實時多任務操作系統的出現,使得應用開發人員得以從小范圍的開發解放出來,同時也促使嵌入式有了更為廣闊的應用空間。
90年代以后,隨著對實時性要求的提高,軟件規模不斷上升,實時核逐漸發展為實時多任務操作系統(RTOS),并作為一種軟件平臺逐步成為目前國際嵌入式系統的主流。這時候更多的公司看到了嵌入式系統的廣闊發展前景,開始大力發展自己的嵌入式操作系統。除了上面的幾家老牌公司以外,還出現了Palm OS,WinCE,嵌入式Linux,Lynx,Nucleux,以及國內的Hopen,Delta Os等嵌入式操作系統。隨著嵌入式技術的發展前景日益廣闊,相信會有更多的嵌入式操作系統軟件出現。
特點
嵌入式系統是面向用戶、面向產品、面向應用的,它必須與具體應用相結合才會具有生命力、才更具有優勢。因此可以這樣理解上述三個面向的含義,即嵌入式系統是與應用緊密結合的,它具有很強的專用性,必須結合實際系統需求進行合理的裁減利用。
◆嵌入式系統是將先進的計算機技術、半導體技術和電子技術和各個行業的具體應用相結合后的產物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。所以,介入嵌入式系統行業,必須有一個正確的定位。例如Palm之所以在PDA領域占有70%以上的市場,就是因為其立足于個人電子消費品,著重發展圖形界面和多任務管理;而風河的Vxworks之所以在火星車上得以應用,則是因為其高實時性和高可靠性。
◆嵌入式系統必須根據應用需求對軟硬件進行裁剪,滿足應用系統的功能、可靠性、成本、體積等要求。所以,如果能建立相對通用的軟硬件基礎,然后在其上開發出適應各種需要的系統,是一個比較好的發展模式。目前的嵌入式系統的核心往往是一個只有幾K到幾十K微內核,需要根據實際的使用進行功能擴展或者裁減,但是由于微內核的存在,使得這種擴展能夠非常順利的進行。
實際上,嵌入式系統本身是一個外延極廣的名詞,凡是與產品結合在一起的具有嵌入式特點的控制系統都可以叫嵌入式系統,而且有時很難以給它下一個準確的定義。現在人們講嵌入式系統時,某種程度上指近些年比較熱的具有操作系統的嵌入式系統,本文在進行分析和展望時,也沿用這一觀點。
一般而言,嵌入式系統的構架可以分成四個部分:處理器、存儲器、輸入輸出(I/O)和軟件(由于多數嵌入式設備的應用軟件和操作系統都是緊密結合的,在這里我們對其不加區分,這也是嵌入式系統和一般的PC操作系統的最大區別)。
這些年來掀起了嵌入式系統應用熱潮的原因主要有幾個方面:一是芯片技術的發展,使得單個芯片具有更強的處理能力,而且使集成多種接口已經成為可能,眾多芯片生產廠商已經將注意力集中在這方面。另一方面的原因就是應用的需要,由于對產品可靠性、成本、更新換代要求的提高,使得嵌入式系統逐漸從純硬件實現和使用通用計算機實現的應用中脫穎而出,成為近年來令人關注的焦點。
從上面的定義,我們可以看出嵌入式系統的幾個重要特征:
1.系統內核小。由于嵌入式系統一般是應用于小型電子裝置的,系統資源相對有限,所以內核較之傳統的操作系統要小得多。比如Enea公司的OSE分布式系統,內核只有5K,而Windows的內核?簡直沒有可比性。
2.專用性強。嵌入式系統的個性化很強,其中的軟件系統和硬件的結合非常緊密,一般要針對硬件進行系統的移植,即使在同一品牌、同一系列的產品中也需要根據系統硬件的變化和增減不斷進行修改。同時針對不同的任務,往往需要對系統進行較大更改,程序的編譯下載要和系統相結合,這種修改和通用軟件的“升級”是完全兩個概念。
3.系統精簡。嵌入式系統一般沒有系統軟件和應用軟件的明顯區分,不要求其功能設計及實現上過于復雜,這樣一方面利于控制系統成本,同時也利于實現系統安全。
4.高實時性的系統軟件(OS)是嵌入式軟件的基本要求。而且軟件要求固態存儲,以提高速度;軟件代碼要求高質量和高可靠性。
5.嵌入式軟件開發要想走向標準化,就必須使用多任務的操作系統。嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行;但是為了合理地調度多任務、利用系統資源、系統函數以及和專家庫函數接口,用戶必須自行選配RTOS(Real-Time Operating System)開發平臺,這樣才能保證程序執行的實時性、可靠性,并減少開發時間,保障軟件質量。
6.嵌入式系統開發需要開發工具和環境。由于其本身不具備自舉開發能力,即使設計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發,這些工具和環境一般是基于通用計算機上的軟硬件設備以及各種邏輯分析儀、混合信號示波器等。開發時往往有主機和目標機的概念,主機用于程序的開發,目標機作為最后的執行機,開發時需要交替結合進行。
7.嵌入式系統與具體應用有機結合在一起,升級換代也是同步進行。因此,嵌入式系統產品一旦進入市場,具有較長的生命周期。
8.為了提高運行速度和系統可靠性,嵌入式系統中的軟件一般都固化在存儲器芯片中。
-
嵌入式系統
+關注
關注
41文章
3593瀏覽量
129476 -
計算機系統
+關注
關注
0文章
282瀏覽量
24115 -
機器
+關注
關注
0文章
782瀏覽量
40729
發布評論請先 登錄
相關推薦
評論