實時操作系統(RTOS)已經進入超過50%的嵌入式項目。RTOS可以幫助你管理系統時間、資源、內存等等。它們為嵌入式開發人員提供了高效調度的工具,如時間片和線程搶占,同時簡化了任務間的通信。
隨著越來越多的團隊轉向32位微控制器并繼續采用物聯網技術,對RTOS的需求只會越來越大。如果你正在過渡到RTOS或者最近已經這樣做了,選擇RTOS是一個重大的挑戰。那么,你如何選擇RTOS呢?
避免常見的選擇錯誤。
選擇RTOS時,有幾個常見的錯誤應該避免。
首先,嵌入式開發團隊立即排除商業RTOS的情況并不少見。既然有如此多的開源實時操作系統可用,為什么還會有人追求商業RTOS呢?原因通常歸結為認證、質量、安全和支持等考慮因素。出于這些原因,你不應該立即排除商業RTOS。
第二,不要因為你的芯片供應商直接支持你的RTOS就選擇它。你會發現它們通常落后于最新版本的RTOS。發生這種情況時,你可能無法像直接從源頭獲取安全更新那樣快速獲得關鍵的安全更新。
RTOS評選的正確方法
選擇RTOS應該是一項工程追求。這意味著你要以科學的、以工程為中心的方式去做。首先,你需要確定RTOS中需要的關鍵功能。這可能是性能、代碼大小、安全特性等。從列表開始是個好主意。
接下來,檢查你的清單,給它們的重要性一個數值。例如,如果許可成本是必不可少的,你可以將它定為5。如果許可成本不重要,就給它一個值,甚至為零。這些排名讓我們了解了什么是選拔過程的關鍵。它告訴你什么樣的特點和特性是你想要的RTOS。畢竟,沒有兩個RTOS是相同的,或者以相同的方式提供相同的功能。
只有當你確定了功能列表并對其進行排序后,你才可以評估哪種RTOS適合你的應用。每個嵌入式開發人員自己的偏見會扭曲選擇過程。我經常建議團隊使用KT矩陣進行評估。每個開發人員都可以評估每個RTOS與所需特性列表的匹配程度。它們可以提供一個介于0-5之間的評級,然后可以與功能排名一起使用,以生成一個加權值。然后,加權特征和可用于比較每個RTOS符合應用需求的程度。
結果是一個不偏不倚的決定,選擇一個符合你的團隊需要的RTOS。你可能會發現基于你的應用程序有不止一個RTOS。當這種情況發生時,你可以用你的個人偏好來選擇你想用的。
結論
選擇一個能與你的應用程序一起工作并在可預見的未來繼續工作的RTOS并不容易。選擇了RTOS,幾個月后或幾個季度后發現它并不完全符合你的期望,這是很常見的。正如我們所見,提前多花一點時間,明確你對RTOS的期望是至關重要的。一旦了解了你的需求,你就可以仔細評估哪些RTOS最能滿足你的應用需求。
只有這樣,你才能真正適應你的RTOS選擇。如果你選擇最流行、最時尚或最受歡迎的RTOS,你可能會發現你未來的發展有點困難。