- 相關推薦
嵌入式系統(tǒng)關鍵技術分析與開發(fā)應用
摘要:基于嵌入式系統(tǒng)的概念,闡述嵌入式系統(tǒng)的關鍵技術、嵌入式開發(fā)以及廣泛的應用。首先,分析嵌入式系統(tǒng)的技術特點,分別從嵌入式處理器和嵌入式操作系統(tǒng)兩方面介紹,著重說明它不同于其它操作系統(tǒng)的一些處理方法和過程;在此基礎上闡述嵌入式軟件的開發(fā)過程,并結合作者嵌入式軟件開發(fā)的實踐,著重闡述嵌入式軟件的一些開發(fā)技巧。接著,介紹目前嵌入式系統(tǒng)一些流行的應用,以及南京東大移動互聯(lián)技術有限公司自行研制的基于藍牙技術的嵌入式產(chǎn)品。最后,給出作者的體會,展望嵌入式系統(tǒng)的前景。引 言
在當前數(shù)字信息技術和網(wǎng)絡技術高速發(fā)展的后PC(Post-PC)時代,嵌入式系統(tǒng)已經(jīng)廣泛地滲透到科學研究、工程設計、軍事技術、各類產(chǎn)業(yè)和商業(yè)文化藝術以及人們的日常生活等方方面面中。隨著國內(nèi)外各種嵌入式產(chǎn)品的進一步開發(fā)和推廣,嵌入式技術越來越和人們的生活緊密結合。
1970年左右出現(xiàn)了嵌入式系統(tǒng)的概念,此時的嵌入式系統(tǒng)很多都不采用操作系統(tǒng),它們只是為了實現(xiàn)某個控制功能,使用一個簡單的循環(huán)控制對外界的控制請求進行處理。當應用系統(tǒng)越來越復雜、利用的范圍越來越廣泛的時候,每添加一項新的功能,都可能需要從頭開始設計。沒有操作系統(tǒng)已成為一個最大的缺點了。
C語言的出現(xiàn)使操作系統(tǒng)開發(fā)變得簡單。從上世紀80年代開始,出現(xiàn)了各種各樣的商用嵌入式操作系統(tǒng)百家爭鳴的局面,比較著名的有VxWorks、pSOS和Windows CE等等,這些操作系統(tǒng)大部分是為專有系統(tǒng)而開發(fā)的。另外,源代碼開放的嵌入式Linux,由于其強大的網(wǎng)絡功能和低成本,近來也得到了越來越多的應用。
1 嵌入式系統(tǒng)的技術特點
嵌入式系統(tǒng)通常包括構成軟件的基本運行環(huán)境的硬件和操作系統(tǒng)兩部分。嵌入式系統(tǒng)的運行環(huán)境和應用場合決定了嵌入式系統(tǒng)具有區(qū)別于其它操作系統(tǒng)的一些特點。
(1)嵌入式處理器
嵌入式處理器可以分為三類:嵌入式微處理器、嵌入式微控制器、嵌入式DSP(Digital Signal Processor)。嵌入式微處理器就是和通用計算機的微處理器對應的CPU。在應用中,一般是將微處理器裝配在專門設計的電路板上,在母板上只保留和嵌入式相關的功能即可,這樣可以滿足嵌入式系統(tǒng)體積小和功耗低的要求。目前的嵌入式處理器主要包括:PowerPC、Motorola 68000、ARM系列等等。
嵌入式微控制器又稱為單片機,它將CPU、存儲器(少量的RAM、ROM或兩者都有)和其它外設封裝在同一片集成電路里。常見的有8051。
嵌入式DSP專門用來對離散時間信號進行極快的處理計算,提高編譯效率和執(zhí)行速度。在數(shù)字濾波、FFT、譜分析、圖像處理的分析等領域,DSP正在大量進入嵌入式市場。
(2)微內(nèi)核結構
大多數(shù)操作系統(tǒng)至少被劃分為內(nèi)核層和應用層兩個層次。內(nèi)核只提供基本的功能,如建立和管理進程、提供文件系統(tǒng)、管理設備等,這些功能以系統(tǒng)調(diào)用方式提供給用戶。一些桌面操作系統(tǒng),如Windows、Linux等,將許多功能引入內(nèi)核,操作系統(tǒng)的內(nèi)核變得越來越大。內(nèi)核變大使得占用的資源增多,剪裁起來很麻煩。
大多數(shù)嵌入式操作系統(tǒng)采用了微內(nèi)核結構,內(nèi)核只提供基本的功能,比如:任務的調(diào)度、任務之間的通信與同步、內(nèi)存管理、時鐘管理等。其它的應用組件,比如網(wǎng)絡功能、文件系統(tǒng)、GUI系統(tǒng)等均工作在用戶態(tài),以系統(tǒng)進程或函數(shù)調(diào)用的方式工作。因而系統(tǒng)都是可裁減的,用戶可以根據(jù)自己的需要選用相應的組件。
(3)任務調(diào)度
在嵌入式系統(tǒng)中,任務即線程。大多數(shù)的嵌入式操作系統(tǒng)支持多任務。多任務運行的實現(xiàn)實際是靠CPU在多個任務之間切換、調(diào)度。每個任務都有其優(yōu)先級,不同的任務優(yōu)先級可能相同也可能不同。任務的調(diào)度有三種方式:可搶占式調(diào)度、不可搶占式調(diào)度和時間片輪轉調(diào)度。不可搶占式調(diào)度是指,一個任務一旦獲得CPU就獨占CPU運行,除非由于某種原因,它決定放棄CPU的使用權;可搶占式調(diào)度是基于任務優(yōu)先級的,當前正在運行的任務可以隨時讓位給優(yōu)先級更高的處于就緒態(tài)的其它任務;當兩個或兩個以上任務有同樣的優(yōu)先級,不同任務輪轉地使用CPU,直到系統(tǒng)分配的CPU時間片用完,這就是時間片輪轉調(diào)度。
目前,大多數(shù)嵌入式操作系統(tǒng)對不同優(yōu)先級的任務采用基于優(yōu)先級的搶占式調(diào)度法,對相同優(yōu)先級的任務則采用時間片輪轉調(diào)度法。
(4)硬實時和軟實時
有些嵌入式系統(tǒng)對時間的要求較高,稱之為實時系統(tǒng)。有兩種類型的實時系統(tǒng):硬實時系統(tǒng)和軟實時系統(tǒng)。軟實時系統(tǒng)并不要求限定某一任務必須在一定的時間內(nèi)完成,只要求各任務運行得越快越好;硬實時系統(tǒng)對系統(tǒng)響應時間有嚴格要求,一旦系統(tǒng)響應時間不能滿足,就可能會引起系統(tǒng)崩潰或致命的錯誤,一般在工業(yè)控制中應用較多。
(5)內(nèi)存管理
針對有內(nèi)存管理單元(MMU)的處理器設計的一些桌面操作系統(tǒng),如Windows、Linux,使用了虛擬存儲器的概念。虛擬內(nèi)存地址被送到MMU。在這里,虛擬地址被映射為物理地址,實際存儲器被分割為相同大小的頁面,采用分頁的方式載入進程。一個程序在運行之前,沒有必要全部裝入內(nèi)存,而是僅將那些當前要運行的部分頁面裝入內(nèi)存運行。
大多數(shù)嵌入式系統(tǒng)針對沒有MMU的處理器設計,不能使用處理器的虛擬內(nèi)存管理技術,采用的是實存儲器管理策略。因而對于內(nèi)存的訪問是直接的,它對地址的訪問不需要經(jīng)過MMU,而是直接送到地址線上輸出,所有程序中訪問的地址都是實際的物理地址;而且,大多數(shù)嵌入式操作系統(tǒng)對內(nèi)存空間沒有保護,各個進程實際上共享一個運行空間。一個進程在執(zhí)行前,系統(tǒng)必須為它分配足夠的連續(xù)地址空間,然后全部載入主存儲器的連續(xù)空間。
由此可見,嵌入式系統(tǒng)的開發(fā)人員不得不參與系統(tǒng)的內(nèi)存管理。從編譯內(nèi)核開始,開發(fā)人員必須告訴系統(tǒng)這塊開發(fā)板到底擁有多少內(nèi)存;在開發(fā)應用程序時,必須考慮內(nèi)存的分配情況并關注應用程序需要運行空間的大小。另外,由于采用實存儲器管理策略,用戶程序同內(nèi)核以及其它用戶程序在一個地址空間,程序開發(fā)時要保證不侵犯其它程序的地址空間,以使得程序不至于破壞系統(tǒng)的正常工作,或導致其它程序的運行異常;因而,嵌入式系統(tǒng)的開發(fā)人員對軟件中的一些內(nèi)存操作要格外小心。
(6)內(nèi)核加載方式
嵌入式操作系統(tǒng)內(nèi)核可以在Flash上直接運行,也可以加載到內(nèi)存中運行。Flash的運行方式,是把內(nèi)核的可執(zhí)行映像燒寫到Flash上,系統(tǒng)啟動時從Flash的某個地址開始執(zhí)行。這種方法實際上是很多嵌入式系統(tǒng)所采用的方法。內(nèi)核加載方式是把內(nèi)核的壓縮文件存放在Flash上,系統(tǒng)啟動時讀取壓縮文件在內(nèi)存里
【嵌入式系統(tǒng)關鍵技術分析與開發(fā)應用】相關文章:
嵌入式系統(tǒng)開發(fā)要素的選擇分析嵌入式處理器(一)03-07
基于DSP的Bluetooth嵌入式系統(tǒng)應用03-20
嵌入式Linux系統(tǒng)下Microwindows的應用03-19
電子通信系統(tǒng)關鍵技術問題分析11-22
ARM嵌入式在通信領域的應用分析03-03