【STM32F407】第3章 RTX5操作系統介紹


論壇原始地址(持續更新):http://www.armbbs.cn/forum.php?mod=viewthread&tid=93149

第3章   RTX5操作系統介紹

本章節介紹一下RTX5操作系統,讓大家對RTX5有一個整體的了解,RTX5是開源免費的確定性實時操作系統,適用於 ARM 和 Cortex-M 設備。

3.1 RTX5系統特性

3.2 RTX5系統規格

3.3 RTX5系統性能

3.4 RTX5系統內存要求

3.5 RTX5系統優勢

3.6 使用RTX5 VS 裸機方式的優勢

3.8 總結

 

 

3.1   初學者重要提示

  1.   現在RTX4和RTX5屬於CMSIS軟件包的一部分,Apache2.0授權,幾乎隨意商用。Github開源地址:https://github.com/ARM-software/CMSIS_5
  2.   RTX4/RTX5不僅提供了MDK的移植文件,也提供了IAR和GCC移植文件。

3.2   RTX5系統特色

 

  •   開源免費的確定性RTOS。
  •   支持時間片,搶占式和合作式調度。
  •   以低的中斷延遲執行高速實時操作(對於M3/M4/M7內核可以實現零中斷延遲)。
  •   小的空間占用適用於資源受限的系統。
  •   不限制數量的信號量,互斥信號量,消息郵箱和軟定時器。
  •   支持多線程和線程安全操作。
  •   通過MDK的RTE開發環境可以一鍵添加。
  •   使用MDK基於對話框的配置向導,可以很方便的完成MDK的配置。
    •   零中斷延遲

這里的零中斷延遲是指ISR的中斷相應時間和沒有使用RTX5系統是一樣的,也就是說用於Cortex-M3/M4/M7的RTX5內核庫中沒有關閉中斷的操作,這點應該算是RTX5一個很大的優勢,像Ucos-II,Ucos-III和FreeRTOS內核的很多地方關中斷操作,關中斷操作對實時性有哪些危害呢?比如此時某個任務正在調用系統API函數,而且此時中斷正好關閉了,也就是進入到了臨界區中,這個時候如果有一個緊急的中斷事件被觸發,這個中斷就不能得到及時執行,必須等到中斷開啟才可以得到執行,如果關中斷時間超過了緊急中斷能夠容忍的限度,危害是可想而知的。

    •   確定性

確定性是指在在定義的時間內處理事件和中斷,RTX5 提供完全確定性的行為,這意味着在預定義時間內(期限)處理事件和中斷,這個主要得益於RTX5的零中斷延遲特性。(注:另外根據CMSIS RTOS RTX的說明,RTX系統的任務切換時間也是確定的)

    •   線程安全.

線程安全涉及到的問題較多,詳情請看: http://www.keil.com/rl-arm/rl_threadsafe.asp

3.3   RTX5安全認證

TX5的汽車級,工業級,醫療和鐵路安全認證已經通過:

  •   ISO 26262 (ASIL D)   汽車級最高安全認證
  •   IEC 61508 (SIL 3)     工業級認證
  •   IEC 62304 (Class C)   醫療認證
  •   EN 50128 (SIL 4)     運輸/鐵路安全認證

 

支持的內核:

  •   Cortex-M0/M0+
  •   Cortex-M3
  •   Cortex-M4
  •   Cortex-M7

 

除了RTX5,他們家的Event Recorder,CMSIS-Core,還有C  Library也通過了安全認證。認證后的這些組件起了個新名字叫Functional Safety Run-Time System (Arm FuSa RTS),另外注意,這個安全認證是基於MDK的AC6測試通過的。

 

對應的安全認證證書

 

3.4   RTX5系統性能(實時性)

反映RTOS實時性的兩個重要指標:一個是中斷延遲時間,另一個是任務切換時間,其中中斷延遲時間方面,使用CM內核的話,RTX系統可以實現零中斷延時,也就是跟裸機情況是一樣的。

3.5   RTX5系統內存要求

RTX5的典型需求是5KB的ROM空間和500字節的RAM。

3.6   RTX5系統優勢

RTX5 實時操作系統提供許多高級功能,其他供應商的RTOS產品中並不總是提供這些功能。在選擇RTOS時,應考慮以下幾點:

  •   RTX5開源免費

在RTX4和RTX5屬於CMSIS軟件包的一部分,Apache2.0授權,幾乎隨意商用。

  •   市場領先的 RTOS - RTX 一直是嵌入式應用程序中領先的RTOS之一(2013 – 2019年嵌入式市場調查報告)。您可以信心十足地在應用程序中使用 RTX。
  •   靈活的調度 - RTX 提供三種不同的調度方式,您可以使用最適合您的調度方式:

搶占式- 每個任務都具有不同的優先級,只有在更高優先級的任務准備好運行后才會運行。此選項方式於交互式系統,在用戶輸入某些內容之前,設備可能處於待機或后台模式。

時間片 - 每個任務都將運行固定的CPU運行時間段。數據記錄器/系統顯示器通常使用時間片調度,所有傳感器或數據源都會依次進行采樣,不分優先級。

合作式 - 每個任務將一直運行,直到指示其將控制權傳遞給另一個任務或遇到阻塞式API函數。可以在要求固定執行順序的應用程序中使用這種調度方式。

  •   確定性的行為 - 並非每個 RTOS 都具有確定性。RTX 提供完全確定性的行為,這意味着在預定義時間內(期限)處理事件和中斷。您的應用程序可以依賴於一致且已知的進程計時。
  •   專為嵌入式系統而設計 – RTX5 是專門為基於 ARM 和 Cortex-M MCU 的嵌入式系統而編寫的。它並不是根據較大的操作系統或其他架構改寫的。它運行速度快,占用的 MCU 資源極少,Flash占用量為 5KB (ROM)。
  •   易於使用 - 學習周期短,產品開發速度快。µVision IDE/調試器完全支持 RTX5,其中采用 RTX 任務識別工具以便於在您的應用程序中快速方便地配置和調試 RTX5。
  •   支持 - 提供了廣泛的資源,包括示例、用戶指南以及快速入門指南。Keil 完全支持 RTX。不僅MDK,當前RTX5對GCC和IAR也進行了支持。

3.7   使用RTX5 VS 裸機方式的優勢

簡單的嵌入式系統通常使用超級循環概念,其中應用程序按固定順序執行每個函數。中斷服務例程 (ISR) 用於時間關鍵程序部分。這種方法非常適合小系統,但對較為復雜的應用程序會有限制。

3.7.1      超級循環的缺點

  •   必須在中斷(ISR)內處理時間關鍵運算:
    •   ISR 函數變得非常復雜,並且需要很長執行時間。
    •   ISR 嵌套可能產生不可預測的執行時間和堆棧需求。
  •   超級循環和ISR之間的數據交換是通過全局共享變量進行的:
    •   應用程序的程序員必須確保數據一致性。
  •   超級循環可以與系統計時器輕松同步,但:
    •   如果系統需要多種不同的周期時間,則會很難實現。
    •   超過超級循環周期的耗時函數需要做拆分。
    •   增加軟件開銷,應用程序難以理解。
  •   超級循環使得應用程序變得非常復雜,因此難以擴展:
    •   一個簡單的更改就可能產生不可預測的副作用,對這種副作用進行分析非常耗時。
    •   超級循環 概念的這些缺點可以通過使用實時操作系統 (RTOS) 來解決。

3.7.2      RTOS的優勢

RTOS將程序函數分成獨立的任務,並為其提供合理的調度方式。RTX提供以下重要優勢:

  •   任務調度 - 任務在需要時進行調用,從而確保了更好的程序執行和事件響應。
  •   多任務 - 任務調度會產生同時執行多個任務的效果。
  •   確定性的行為 - 在定義的時間內處理事件和中斷。
  •   更短的 ISR - 實現更加確定的中斷行為。
  •   任務間通信 - 管理多個任務之間的數據、內存和硬件資源共享。
  •   定義的堆棧使用 - 每個任務分配一個堆棧空間,從而實現可預測的內存使用。
  •   系統管理 - 可以專注於應用程序開發而不是資源管理。

 

3.8   總結

本章節就為大家講解這么多,主要目的是想讓大家對RTX5操作系統有一個整體的認識,從下一章我們就開始正式的進入RTX5操作系統的學習。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM