官术网_书友最值得收藏!

1.1 嵌入式系統

1.1.1 嵌入式系統的定義

隨著科學技術的高速發展,嵌入式設備在我們的生產生活中占據越來越重要的地位。從廚房的電飯煲、微波爐、電冰箱到客廳的家庭多媒體中心,嵌入式設備已經遍布我們的周圍?,F在,嵌入式設備已經成為信息技術產業的重點技術,為當今社會帶來了巨大的工業產值。目前,嵌入式系統的應用主要分布在電信、醫療、汽車電子、安全和消費等領域。而恰恰由于這種范圍的擴大,使得“嵌入式系統”更加難以明確定義。

根據IEEE(電氣和電子工程師協會)的定義,嵌入式系統是“控制、監視或者輔助裝置、機器和設備運行的裝置”(devices used to control,monitor,or assist the operation of equipment,machinery or plants)。從中可以看出嵌入式系統是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。

目前,普遍被認同的定義是:以應用為中心、以計算機技術為基礎、軟件硬件可配置、適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。

嵌入式系統是面向用戶、面向產品、面向應用的,它必須與具體應用相結合才會具有生命力、才更具有優勢。因此可以這樣理解上述三個面向的含義,即嵌入式系統是與應用緊密結合的,它具有很強的專用性,必須結合實際系統需求進行合理的裁減利用。

嵌入式系統是一種專用計算機系統,它和通用計算機系統使用的技術是一樣的,都包含硬件和軟件兩部分,但對兩者的性能評價指標是不同的。嵌入式系統往往只是一個大系統中的組成部分,控制大系統的工作,它的價值在于它所控制的大系統。

嵌入式系統主要由嵌入式硬件系統和嵌入式軟件系統組成。

嵌入式硬件系統主要包括嵌入式處理器、存儲器、外圍接口電路與接插件、模擬電路和電源部分等。嵌入式處理器是嵌入式系統的核心,是控制、輔助系統運行的硬件單元。目前,常用的嵌入式外圍接口電路主要有串口、以太網接口、USB接口、音頻接口、液晶顯示屏、攝像頭等。針對不同的應用,具體的嵌入式設備所需的外圍接口電路不同。

嵌入式軟件系統包括底層驅動、操作系統軟件和應用程序等。底層驅動用于實現嵌入式系統硬件和軟件之間的接口,操作系統實現系統的進程調度、任務處理,應用程序實現系統功能的應用。應用程序是根據具體的應用環境由設計人員自行編寫的,有時設計人員會把操作系統和應用軟件兩部分組合在一起:應用軟件控制系統的運作和行為,操作系統控制應用程序與硬件的交互。

1.1.2 嵌入式系統的特點

近年來掀起了嵌入式系統應用熱潮的原因主要有兩個方面:一方面是芯片技術的發展,使得單個芯片具有更強的處理能力,而且使集成多種接口已經成為可能,眾多芯片生產廠商已經將注意力集中在這方面。另一方面的原因就是應用的需要,由于對產品可靠性、成本、更新換代要求的提高,使得嵌入式系統逐漸從純硬件實現和使用通用計算機實現的應用中脫穎而出。

與通用計算機系統相比,嵌入式系統一般具有如下特點:

① 系統內核小。由于嵌入式系統一般是應用于小型電子裝置的,系統資源相對有限,所以內核較之傳統的操作系統要小得多。

② 專用性強。嵌入式系統的個性化很強,一般要針對硬件進行系統的移植,即使在同一品牌、同一系列的產品中也需要根據系統硬件的變化和增減不斷進行修改。

③ 系統精簡。嵌入式系統一般沒有系統軟件和應用軟件的明顯區分,不要求其功能設計及實現上過于復雜,這樣利于控制系統成本,同時也利于實現系統安全。

④ 高實時性系統軟件需求。嵌入式系統軟件需要高實時性以實現任務調度、資源分配等功能。

⑤ 面向特定的應用。與通用CPU相比,嵌入式的CPU是為特定用戶群設計的。如ARM系列CPU多用于手機產品開發。應用需求決定了嵌入式系統的設計,而決定嵌入式應用環境的主要因素是其提供的接口功能和處理速度。

⑥ 嵌入式系統需要專門的軟、硬件開發工具和環境。由于其本身不具備自主開發能力,即使設計完成以后用戶通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發,這些工具和環境一般是基于通用計算機上的軟、硬件設備,以及各種邏輯分析儀、混合信號示波器等。開發時往往有主機和目標機的概念,主機用于程序的開發,目標機作為最后的執行機,開發時需要交替結合進行。

1.1.3 嵌入式實時操作系統概述

操作系統的基本思想是隱藏底層不同硬件的差異,向在其上運行的應用程序提供一個統一的調用接口。應用程序通過這一接口實現對硬件的使用和控制,不必考慮不同硬件操作方式的差異。

嵌入式操作系統(Embedded Operation System,EOS)是一種專用于嵌入式設備的操作系統。EOS負責嵌入系統的全部軟、硬件資源的分配、任務調度,控制、協調并發活動。嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固化及應用的專用性等方面具有較為突出的特點。嵌入式操作系統核心通常要求體積很小,因為硬件ROM容量有限,除了應用程序之外,不希望操作系統占用太大的存儲空間。

嵌入式實時操作系統是嵌入式操作系統最主要的組成部分。實時操作系統是指具有實時性,能從硬件方面支持實時控制系統工作的操作系統。其中實時性是第一要求,需要調度一切可利用的資源完成實時控制任務,其次才著眼于提高計算機系統的使用效率,重點是要滿足對時間的限制和要求。下面將介紹兩種嵌入式實時操作系統。

1.μC/OS-Ⅱ

μC/OS是Jean J.Labrosse在1990年前后編寫的一個嵌入式多任務實時操作系統。經過近10年的應用和修改,在1999年Jean J.Labrosse推出了μC/OS-Ⅱ,并在2000年得到了美國聯邦航空管理局對用于商用飛機的、符合RTCA/DO178B標準的認證,從而證明μC/OS-Ⅱ具有足夠的穩定性和安全性。

μC/OS-Ⅱ是一個可裁減、源代碼開放、結構小巧、可搶占式的實時多任務內核,是專為微控制器系統和軟件開發而設計的,是控制器啟動后首先執行的背景程序,并作為整個系統的框架貫穿系統運行的始終。它具有執行效率高、占用空間小、可移植性強、實時性能良好和可擴展性強等特點。采用μC/OS-Ⅱ實時操作系統可以有效地對任務進行調度;對各任務賦予不同的優先級可以保證任務及時響應,而且采用實時操作系統,降低了程序的復雜度,方便程序的開發和維護。

嚴格來講,μC/OS-Ⅱ只是一個實時操作系統內核,它僅僅包含了任務調度、任務管理、時間管理、內存管理和任務間通信與同步等基本功能,沒有提供輸入/輸出管理、文件管理、網絡等額外的服務。但由于μC/OS-Ⅱ良好的可擴展性和源碼開放,這些功能完全可以由設計人員根據需求自己實現。

μC/OS-Ⅱ獲得廣泛使用不僅是因為它的源碼開放,還有它較強的可移植性。μC/OS-Ⅱ的代碼大部分是用C編寫的,只有與處理器硬件相關的一部分代碼是用匯編編寫的。μC/OS-Ⅱ在最初設計時即考慮了系統的可移植性,為其廣泛應用奠定了良好的基礎。

2.實時線程操作系統

實時線程操作系統(RT-Thread)是一款來自國內的開源實時操作系統,并且商業許可證非常寬松,由國內RT-Thread開發團隊進行開發與維護。它不僅是一款高效、穩定的實時操作系統內核,也是一套面向嵌入式系統的軟件平臺。起初RT-Thread只有一個實時的內核,但在發展過程中,RT-Thread實時操作系統得到了來自全國嵌入式開發工程師的鼎力支持,為RT-Thread添磚加瓦,現在它已慢慢變成一個完善的、全功能的操作系統。目前,RT-Thread已經被國內十多所企業所采用,被證明是一款能夠穩定持續運行的操作系統。

RT-Thread不僅是一個單一的實時操作系統內核,它也是一個完整的應用系統,包含了嵌入式系統相關的各個組件:TCP/IP協議棧,文件系統,圖形用戶界面RTGUI,Finsh Shell等。

RT-Thread內核部分包括了RT-Thread的核心代碼,包括對象管理器,線程管理及調度,線程間通信等的微小內核實現。內核C庫是為了保證內核能夠獨立運作的一套小型C庫(在RealView MDK等系統自帶部分C庫函數的情況下,這部分不會被使能)。CPU及板級支持包包含了RT-Thread支持的各個平臺移植代碼,通常會包含兩個匯編文件,一個是系統啟動初始化文件,一個是線程進行上下文切換的文件,其他的都是C源文件。

RT-Thread是基于面向對象的方式開發的實時內核,標準內核體積為9KB左右,主要有如下特點:

① 面向對象方式的實時核心(但依然保留了C語言的優雅、小巧風格);

② 默認32線程優先級的全搶占式實時內核(也可配置成256線程優先級),相同優先級線程時間片輪轉調度;

③ 相同優先級線程實施時間片可配置的分時時間片輪轉調度;

④ 線程間同步機制——信號量和防止優先級翻轉的互斥鎖;

⑤ 完善高效的線程間通信機制,包括郵箱、消息隊列和事件;

⑥ 支持線程掛起和喚醒的固定內存塊管理及線程安全的動態內存堆管理;

⑦ 向上層提供基于名字的統一接口設備驅動模型;

⑧ 支持各個內核對象(如信號量對象、消息隊列對象)的裁減;

⑨ 支持可嵌套的中斷;

⑩ 支持線程堆棧溢出檢測。

主站蜘蛛池模板: 钦州市| 江口县| 阿克苏市| 色达县| 渭源县| 宁津县| 郎溪县| 安康市| 邵武市| 蓝田县| 旬邑县| 慈溪市| 兴和县| 烟台市| 高平市| 滕州市| 曲周县| 南部县| 红桥区| 新乐市| 微山县| 高州市| 温宿县| 遵义市| 潼南县| 清涧县| 新绛县| 清河县| 清水县| 东光县| 壶关县| 策勒县| 杭锦旗| 寿光市| 奉新县| 牙克石市| 安阳县| 平邑县| 宁德市| 丽江市| 凤凰县|