如何選擇一個實時操作系統(tǒng)
實時操作系統(tǒng)已經(jīng)進入了50%以上的嵌入式項目。實時操作系統(tǒng)可以幫助您管理系統(tǒng)的時間、資源、內(nèi)存等等。它們?yōu)槟峁┝烁咝д{(diào)度的工具,如時間切片和線程搶占,同時簡化任務(wù)間的通信。
隨著越來越多的團隊轉(zhuǎn)向32位微控制器,并繼續(xù)采用iot技術(shù),對實時操作系統(tǒng)的需求只會增加。如果你正在過渡到一個RTOS或者最近已經(jīng)這樣做了,你知道選擇RTOS是一個重大的挑戰(zhàn)。那么,你如何選擇一個RTOS?
避免常見的選擇錯誤。
當你選擇一個RTOS時,你應(yīng)該避免一些常見的錯誤。
首先,對于團隊來說,立即排除商業(yè)性轉(zhuǎn)軌并不少見。既然有這么多的開源ROS,為什么會有人追求商業(yè)的RTOS操作系統(tǒng)呢?原因通常歸結(jié)為認證、質(zhì)量、安全和支持等方面的考慮。由于這些原因,你不應(yīng)該馬上排除商業(yè)慣例。
第二,不要僅僅因為你的mcu供應(yīng)商直接支持而選擇你的實時操作系統(tǒng)。雖然這種支持通常是令人鼓舞的,但你會發(fā)現(xiàn)它們往往落后于最新版本的RTOS。當這種情況發(fā)生時,您可能無法像直接訪問源那樣快速地獲得關(guān)鍵的安全更新。
最后,不要僅僅因為當前的潮流而選擇RTOS。在我的職業(yè)生涯中,我看到了許多潮流的來來往往。在某些情況下,它們會以年度遞增或更少的方式變化??萍枷矚g他們新的閃亮玩具,但是如果你正在開發(fā)一個需要支持多年的產(chǎn)品,你可能無法采用時尚的,未經(jīng)證實的解決方案。
選擇實時操作系統(tǒng)的正確方法
選擇實時操作系統(tǒng)應(yīng)該是一項工程上的追求。這意味著你要以科學的、以工程為中心的方式去做這件事。首先,您可以識別RTOS系統(tǒng)中需要的關(guān)鍵特性??赡苁切阅堋⒋a大小、安全特性等。從清單開始是個好主意。
接下來,回顧你的列表,給他們一個數(shù)字的重要性。例如,如果授權(quán)成本是必要的,您可能會將其排在第5位。如果許可成本不重要,給它一個甚至零值。這些級別使人了解什么是甄選過程的關(guān)鍵。它告訴你,你希望在RTOS中有什么特性和特性。畢竟,沒有任何兩個轉(zhuǎn)軌是相同的或以相同的方式傳遞相同的特性。
只有當您確定了一個功能列表,然后對它們進行排序之后,您才準備好評估哪個RTOS適合您的應(yīng)用程序。每個開發(fā)人員自己的偏見會扭曲選擇過程。我經(jīng)常建議團隊使用kt矩陣來進行評估。每個開發(fā)人員都可以對考慮中的每個RTOS與所需特性列表的匹配程度進行評估。它們可以提供0-5之間的評級,然后與功能排序一起使用,生成加權(quán)值。然后,可以使用加權(quán)特性和來比較每個RTOS如何很好地滿足應(yīng)用程序的需要。
結(jié)果是一個公正的決定,選擇適合你的團隊需要的實時操作系統(tǒng)。您可能會發(fā)現(xiàn),有不止一個RTOS工作基于您的應(yīng)用程序。當這種情況發(fā)生時,你可以使用你的個人偏見來選擇你想使用的東西。
結(jié)論
選擇一個與您的應(yīng)用程序一起工作并在可預(yù)見的將來繼續(xù)這樣做的RT操作系統(tǒng)并非易事。通常情況下,只在幾個月或幾個季度之后才會發(fā)現(xiàn)RTOS并不完全符合你的期望。正如我們所看到的,提前花一點時間,并定義您對從實時操作系統(tǒng)中需要什么的期望是至關(guān)重要的。一旦您了解了您的需求,您就可以仔細地評估哪些機制最能滿足您的應(yīng)用程序需求。
只有這樣,你才能真正地滿意你的RTOS選擇。如果你選擇了最流行的,時尚的,或提供的RTOS,你可能會發(fā)現(xiàn)你未來的開發(fā)努力有點不穩(wěn)定。