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