歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 嵌入式Linux開發系列—走進嵌入式的世界

嵌入式Linux開發系列—走進嵌入式的世界

日期:2017/2/27 9:44:03   编辑:更多Linux
  一、嵌入式系統    嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬件是可裁剪的,適用於對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統。嵌入式系統最典型的特點是與人們的日常生活緊密相關,任何一個普通人都可能擁有各類形形色色運用了嵌入式技術的電子產品,小到mp3、PDA等微型數字化設備,大到信息家電、智能電器、車載GIS,各種新型嵌入式設備在數量上已經遠遠超過了通用計算機。這也難怪美國著名未來學家尼葛洛龐帝在1999年1月訪華時就預言,4~5年後嵌入式智能工具將成為繼PC機和Internet之後計算機工業最偉大的發明。    1.1 歷史與現狀    雖然嵌入式系統是近幾年才開始真正風靡起來的,但事實上嵌入式這個概念卻很早就已經存在了,從上個世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說也有了近30年的歷史。縱觀嵌入式系統的發展歷程,大致經歷了以下四個階段:    無操作系統階段    嵌入式系統最初的應用是基於單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用於各類工業控制和飛機、導彈等武器裝備中,一般沒有操作系統的支持,只能通過匯編語言對系統進行直接控制,運行結束後再清除內存。這些裝置雖然已經初步具備了嵌入式的應用特點,但僅僅只是使用8位的CPU芯片來執行一些單線程的程序,因此嚴格地說還談不上"系統"的概念。    這一階段嵌入式系統的主要特點是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶接口。由於這種嵌入式系統使用簡便、價格低廉,因而曾經在工業控制領域中得到了非常廣泛的應用,但卻無法滿足現今對執行效率、存儲容量都有較高要求的信息家電等場合的需要。    簡單操作系統階段    20世紀80年代,隨著微電子工藝水平的提高,IC制造商開始把嵌入式應用中所需要的微處理器、I/O接口、串行接口以及RAM、ROM等部件統統集成到一片VLSI中,制造出面向I/O設計的微控制器,並一舉成為嵌入式系統領域中異軍突起的新秀。與此同時,嵌入式系統的程序員也開始基於一些簡單的"操作系統"開發嵌入式應用軟件,大大縮短了開發周期、提高了開發效率。    這一階段嵌入式系統的主要特點是:出現了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各種簡單的嵌入式操作系統開始出現並得到迅速發展。此時的嵌入式操作系統雖然還比較簡單,但已經初步具有了一定的兼容性和擴展性,內核精巧且效率高,主要用來控制系統負載以及監控應用程序的運行。    實時操作系統階段    20世紀90年代,在分布控制、柔性制造、數字化通信和信息家電等巨大需求的牽引下,嵌入式系統進一步飛速發展,而面向實時信號處理算法的DSP產品則向著高速度、高精度、低功耗的方向發展。隨著硬件實時性要求的提高,嵌入式系統的軟件規模也不斷擴大,逐漸形成了實時多任務操作系統(RTOS),並開始成為嵌入式系統的主流。    這一階段嵌入式系統的主要特點是:操作系統的實時性得到了很大改善,已經能夠運行在各種不同類型的微處理器上,具有高度的模塊化和擴展性。此時的嵌入式操作系統已經具備了文件和目錄管理、設備管理、多任務、網絡、圖形用戶界面(GUI)等功能,並提供了大量的應用程序接口(API),從而使得應用軟件的開發變得更加簡單。    面向Internet階段    21世紀無疑將是一個網絡的時代,將嵌入式系統應用到各種網絡環境中去的呼聲自然也越來越高。目前大多數嵌入式系統還孤立於Internet之外,隨著Internet的進一步發展,以及Internet技術與信息家電、工業控制技術等的結合日益緊密,嵌入式設備與Internet的結合才是嵌入式技術的真正未來。    信息時代和數字時代的到來,為嵌入式系統的發展帶來了巨大的機遇,同時也對嵌入式系統廠商提出了新的挑戰。目前,嵌入式技術與Internet技術的結合正在推動著嵌入式技術的飛速發展,嵌入式系統的研究和應用產生了如下新的顯著變化:    新的微處理器層出不窮,嵌入式操作系統自身結構的設計更加便於移植,能夠在短時間內支持更多的微處理器。   嵌入式系統的開發成了一項系統工程,開發廠商不僅要提供嵌入式軟硬件系統本身,同時還要提供強大的硬件開發工具和軟件支持包。   通用計算機上使用的新技術、新觀念開始逐步移植到嵌入式系統中,如嵌入式數據庫、移動代理、實時CORBA等,嵌入式軟件平台得到進一步完善。   各類嵌入式Linux操作系統迅速發展,由於具有源代碼開放、系統內核小、執行效率高、網絡結構完整等特點,很適合信息家電等嵌入式系統的需要,目前已經形成了能與Windows CE、Palm OS等嵌入式操作系統進行有力競爭的局面。   網絡化、信息化的要求隨著Internet技術的成熟和帶寬的提高而日益突出,以往功能單一的設備如電話、手機、冰箱、微波爐等功能不再單一,結構變得更加復雜,網絡互聯成為必然趨勢。


  精簡系統內核,優化關鍵算法,降低功耗和軟硬件成本。   提供更加友好的多媒體人機交互界面。   1.2 體系結構    根據國際電氣和電子工程師協會(IEEE)的定義,嵌入式系統是"控制、監視或者輔助設備、機器和車間運行的裝置"(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。一般而言,整個嵌入式系統的體系結構可以分成四個部分:嵌入式處理器、嵌入式外圍設備、嵌入式操作系統和嵌入式應用軟件,如圖1所示。      圖1 嵌入式系統的組成  嵌入式處理器    嵌入式系統的核心是各種類型的嵌入式處理器,嵌入式處理器與通用處理器最大的不同點在於,嵌入式CPU大多工作在為特定用戶群所專門設計的系統中,它將通用CPU中許多由板卡完成的任務集成到芯片內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。    嵌入式處理器的體系結構經歷了從CISC(復雜指令集)至RISC(精簡指令集)和Compact RISC的轉變,位數則由4位、8位、16位、32位逐步發展到64位。目前常用的嵌入式處理器可分為低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高端的嵌入式微處理器(Embedded Micro Processor Unit,EMPU)、用於計算機通信領域的嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)和高度集成的嵌入式片上系統(System On Chip,SOC)。    目前幾乎每個半導體制造商都生產嵌入式處理器,並且越來越多的公司開始擁有自主的處理器設計部門,據不完全統計,全世界嵌入式處理器已經超過1000多種,流行的體系結構有30多個系列,其中以ARM、PowerPC、MC 68000、MIPS等使用得最為廣泛。    嵌入式外圍設備    在嵌入系統硬件系統中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用於完成存儲、通信、調試、顯示等輔助功能的其他部件,事實上都可以算作嵌入式外圍設備。目前常用的嵌入式外圍設備按功能可以分為存儲設備、通信設備和顯示設備三類。    存儲設備主要用於各類數據的存儲,常用的有靜態易失型存儲器(RAM、SRAM)、動態存儲器(DRAM)和非易失型存儲器(ROM、EPROM、EEPROM、FLASH)三種,其中FLASH憑借其可擦寫次數多、存儲速度快、存儲容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。    目前存在的絕大多數通信設備都可以直接在嵌入式系統中應用,包括RS-232接口(串行通信接口)、SPI(串行外圍設備接口)、IrDA(紅外線接口)、I2C(現場總線)、USB(通用串行總線接口)、Ethernet(以太網接口)等。    由於嵌入式應用場合的特殊性,通常使用的是陰極射線管(CRT)、液晶顯示器(LCD)和觸摸板(ToUCh Panel)等外圍顯示設備。    嵌入式操作系統    為了使嵌入式系統的開發更加方便和快捷,需要有專門負責管理存儲器分配、中斷處理、任務調度等功能的軟件模塊,這就是嵌入式操作系統。嵌入式操作系統是用來支持嵌入式應用的系統軟件,是嵌入式系統極為重要的組成部分,通常包括與硬件相關的底層驅動程序、系統內核、設備驅動接口、通信協議、圖形用戶界面(GUI)等。嵌入式操作系統具有通用操作系統的基本特點,如能夠有效管理復雜的系統資源,能夠對硬件進行抽象,能夠提供庫函數、驅動程序、開發工具集等。但與通用操作系統相比較,嵌入式操作系統在系統實時性、硬件依賴性、軟件固化性以及應用專用性等方面,具有更加鮮明的特點。    嵌入式操作系統根據應用場合可以分為兩大類:一類是面向消費電子產品的非實時系統,這類設備包括個人數字助理(PDA)、移動電話、機頂盒(STB)等;另一類則是面向控制、通信、醫療等領域的實時操作系統,如WindRiver公司的VxWorks、QNX系統軟件公司的QNX等。實時系統(Real Time System)是一種能夠在指定或者確定時間內完成系統功能,並且對外部和內部事件在同步或者異步時間內能做出及時響應的系統。在實時系統中,操作的正確性不僅依賴於邏輯設計的正確程度,而且與這些操作進行的時間有關,也就是說,實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序控制出現偏差將會產生嚴重後果。    實時系統主要通過三個性能指標來衡量系統的實時性,即響應時間(Response Time)、生存時間(Survival Time)和吞吐量(Throughput):    響應時間  是實時系統從識別出一個外部事件到做出響應的時間;   生存時間 是數據的有效等待時間,數據只有在這段時間內才是有效的;



但與通用操作系統相比較,嵌入式操作系統在系統實時性、硬件依賴性、軟件固化性以及應用專用性等方面,具有更加鮮明的特點。    嵌入式操作系統根據應用場合可以分為兩大類:一類是面向消費電子產品的非實時系統,這類設備包括個人數字助理(PDA)、移動電話、機頂盒(STB)等;另一類則是面向控制、通信、醫療等領域的實時操作系統,如WindRiver公司的VxWorks、QNX系統軟件公司的QNX等。實時系統(Real Time System)是一種能夠在指定或者確定時間內完成系統功能,並且對外部和內部事件在同步或者異步時間內能做出及時響應的系統。在實時系統中,操作的正確性不僅依賴於邏輯設計的正確程度,而且與這些操作進行的時間有關,也就是說,實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序控制出現偏差將會產生嚴重後果。    實時系統主要通過三個性能指標來衡量系統的實時性,即響應時間(Response Time)、生存時間(Survival Time)和吞吐量(Throughput):    響應時間  是實時系統從識別出一個外部事件到做出響應的時間;   生存時間 是數據的有效等待時間,數據只有在這段時間內才是有效的;



Copyright © Linux教程網 All Rights Reserved