靜網PWA視頻評論

嵌入式系統關鍵技術分析與開發應用

2023年10月04日

- txt下載

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

收藏

相關推薦

清純唯美圖片大全

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.