1. 程式人生 > >【RTX作業系統教程】第2章 嵌入式實時作業系統介紹

【RTX作業系統教程】第2章 嵌入式實時作業系統介紹

第2章      嵌入式實時作業系統介紹

轉載來源: http://forum.armfly.com/forum.php?mod=viewthread&tid=16447&highlight=RTX%B2%D9%D7%F7%CF%B5%CD%B3%BD%CC%B3%CC

    本章教程為大家介紹嵌入式實時作業系統基礎知識,當前流行的小型嵌入式系統,STM32嵌入式實時作業系統解決方案以及基於時間觸發的嵌入式系統。
    2.1   嵌入式系統
    2.2   基於時間觸發的嵌入式系統
    2.3     總結

2.1  嵌入式系統



    一般嵌入式系統方面的書籍開頭部分都會做很多概念性的介紹。關於概念性的東西,大家需要有個瞭解。這裡為大家推薦兩個,講解都非常好,推薦大家看:
u 邵貝貝老師翻譯的《嵌入式實時作業系統uCOS-II》書籍,第2章:實時系統概念。
u embOS使用者手冊的第2章:Basic concepts。

2.1.1    定義

    關於嵌入式系統,至今沒有確切的定義,下面給出三個比較常用的定義:
l  系統定義
    當外界事件或資料產生時,能夠接受並以足夠快的速度予以處理,其處理的結果又能在規定的時間之內來控制生產過程或對處理系統作出快速響應,並控制所有實時任務協調一致執行的嵌入式作業系統。
    注:在工業控制、 軍事裝置、 航空航天等領域對系統的響應時間有苛刻的要求,這就需要使用實時系統。我們常常說的嵌入式作業系統都是嵌入式實時作業系統。比如μCOS-III,eCOS和Linux、HOPEN OS。故對嵌入式實時作業系統的理解應該建立在對嵌入式系統的理解之上加入對響應時間的要求。


l  IEEE
定義
    嵌入式系統是“用於控制、監視或者輔助操作機器和裝置的裝置”(Devices used to control, monitor, orassist the operation of equipment, machinery or plants)。


l  一般定義
    以應用為中心、以計算機技術為基礎、軟體硬體可裁剪、功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統
    其實還有一種通俗的理解:嵌入式作業系統是為了區別於通用的計算機系統,人們把嵌入到物件體系中,為實現物件體系智慧化控制的計算機系統,稱作嵌入式計算機系統,簡稱嵌入式系統。


2.1.2    嵌入式作業系統分類

    按對外部事件的響應能力來分類,嵌入式作業系統有分時作業系統和實時作業系統。如果作業系統能使計算機系統及時的響應外部事件請求,並能控制所有實時裝置和實時任務協調執行,且能在一個規定的時間內完成對事件的處理,那麼這種系統就稱為實時作業系統(RTOS)。
    按時間的正確程度來分,實時作業系統又分為硬體的實時作業系統和軟體的實時作業系統。系統必須在及其嚴格的時間內完成的任務叫做硬體的實時作業系統,要是不是很嚴格的話就是軟體的實時作業系統。
    分時作業系統就是按時間片輪轉完成各個任務。

2.1.3    當前流行的嵌入實時作業系統

    (說明:2013,2014和2015年度的嵌入式市場分析報告可以在這裡檢視:
http://forum.armfly.com/forum.php?mod=viewthread&tid=15616,這裡以2013年度為例進行說明)。
    在過去的2013年裡,由UBM Tech Electronics做的2013年嵌入式市場報告分析了當前比較流行的嵌入式實時作業系統,為了說明這個報告的權威性,下圖2.1是主辦方的資訊:

 

圖2.1 Embedded Market Study


    根據EETimes上面所說的測試者主要來自歐洲和北美(2015年度的調查已經是全球範圍): 
http://www.eetimes.com/document.asp?doc_id=1263083
    這裡我們主要關心的是小型的嵌入式RTOS,這個也是我們本章教程討論的重點,下面我就把相關的資訊帖出來,這樣大家也好有個瞭解。

 

圖2.2 當前正在使用的系統調查

圖2.3 未來12個月將使用的系統調查


圖2.2和圖2.3的含義解釋:
1.     圖2.2是當前正在使用的系統使用調查,圖2.3以後的12個月裡將要使用的系統。
2.     對於圖2.2,只有使用超過%2的才會在上面顯示。對於圖2.3,只有使用超過%3的才會在上面顯示。
3.     從圖2.2可以看出,Micrium(μCOS-III,II)Net,從2012年的%10下降到2013年的%6。
4.     FreeRTOS是小型嵌入式RTOS裡面最受歡迎的。
5.     RTX(由KEIL公司設計,現在KEIL已經被併入ARM公司旗下)也是榜上有名,RTX設計的也非常強勁,將基於Cortex-M3/M4架構的ARM晶片效能發揮到極致,比如那個零延遲中斷特性。而且在任務切換等效能測試方面完爆其它RTOS,在第3章中會給大家提供詳細的測試資料。
6.     embOS也非常的不錯,只是沒有上榜,可能大家對這款RTOS瞭解的比較少,說起emWin大家應該比較熟悉了,和emWin一樣都是出自Segger公司。

2.1.4    STM32嵌入式實時作業系統解決方案

    ST公司有一個手冊是專門講嵌入式解決方案的,這裡就把RTOS相關的粘貼出來。

 

 




    一般情況下是這樣的,晶片廠商推出一款新的處理器晶片後,都會做一個評估板,很多RTOS廠商都會在這個評估板的基礎上做一些相關的DEMO,比如Micrium公司為ST出的評估板配套的例子。

 

圖2.4 Micrium為ST評估板配套的例子


下圖2.5是RTX為ST的評估板配套例子(部分截圖):

 

圖2.5 RTX及其中介軟體為ST評估板配套的例子



2.2 基於時間觸發的嵌入式系統

    這裡把基於時間觸發的嵌入式系統單獨的作為一小節獨立出來是因為時間觸發方式在嵌入式領域也很重要,這種方式簡單可靠,有很好的可預測性,在一些安全關鍵的領域也得到了廣泛的應用。

           有一本時間觸發嵌入式系統設計模式(patterns for time-triggered embedded systems)的書,作者是Michael J. Pont,他在這個領域深有研究,而且有很多相關的論文發表,有興趣的可以搜尋一些他的文章進行深入的瞭解。作為入門,大家可以看一下時間觸發嵌入式系統這本書的第11頁,1.7 Time-triggered systems(建議必讀)對時間觸發做了入門性的介紹,講的非常好。如果讀英文有點吃力的話,可以選擇讀中文版。

           另外我們安富萊電子做的uCOS-III教程中有對基於時間觸合作式排程和混合式排程的講解。



2.3 總結

    本章節是一些入門性質的介紹, 從下一章節開始講解RTX作業系統。此外,在2.1小節中推薦的兩個實時作業系統概念的資料讀一下,這個會給後面RTX的學習帶來事半功倍的效果。