当前位置:网站首页>嵌入式开发:如何为项目选择合适的RTOS?
嵌入式开发:如何为项目选择合适的RTOS?
2022-07-07 21:33:00 【粤嵌教育】
为一个项目选择合适的RTOS可能是一件棘手的事情。嵌入式开发人员经常带着预先设定的观点来到谈判桌前,这些观点可能会影响他们的判断,并将他们引向非最佳方向。许多人都参与过工程决策,其中的选择是由最大声、最积极的团队成员决定的。让我们来看看这种决策技巧,以及它如何为工作选择合适的RTOS。
步骤# 1–确定选择标准
为了做出公正的RTOS选择,开发团队需要首先确定可以用来评估RTOS的重要选择标准。选择RTOS时需要考虑的七个关键特征是性能、特性、成本、生态系统、中间件、供应商/销售商和开发团队中的工程师。每个特征可以分解为子特征,由每个团队成员进行评估。例如,性能特征可以包括RAM占用面积、ROM占用面积、上下文切换时间、中断等待时间和低功率能力。
第2步-确定标准的重要性
并不是RTOS评选的每一项标准都是平等的。例如,RTOS符合POSIX接口标准的事实可能没有具有最小ROM占用空间的RTOS重要。因为所有的标准并不是生来平等的,开发团队需要仔细检查每一个标准,并对它们的重要性进行排序。排名过程实质上提供了一个统计权重,该权重使一个标准比另一个标准更重要,排名有助于最重要的标准在决策过程中占据更大的权重。
第3步–选择要比较的RTOS
快速的互联网搜索显示,有超过100种不同的RTOS产品可供选择,这对于任何嵌入式开发团队来说都太多了,难以评估。相反,开发团队应该确定不超过三到五个RTOS来评估。开发团队应该确定在他们的行业中普遍使用的、他们的开发人员熟悉的并且满足他们的系统需求的RTOS。一个好的样本将包括商业可用的和开源的解决方案。
第4步–确定决策者
为了实现基于标准的公正决策,开发人员需要确定具有参与决策过程的技能和经验的团队成员。在大多数情况下,RTOS的选择应该包括团队的软件工程师和软件工程经理。项目经理可以包括在内,但前提是他们有资格评估RTOS的具体标准。RTOS标准和成本很可能具有最高的权重,因此,如果决策者无法准确衡量RTOS,结果可能会有偏差。
步骤# 5–创建KT决策矩阵
选择了重要的标准和决策者后,现在是时候创建一个表格,用于评估每个RTOS的标准,从而选出一个RTOS。可以使用的方法之一是KT决策矩阵。KT决策矩阵允许我们针对每个RTOS评估我们的标准。在本例中,标准在矩阵左侧分类列出,RTOS在顶部。每个RTOS都有多行,以便每个决策者可以评估每个标准。在下图中可以看到一个例子。
第6步-评估标准
每个决策者现在可以开始评估每个标准。在本例中,有三个不同的RTOSes正在接受评估。每项标准从最好的三级到最差的一级对每个RTOS进行评级。不应重复使用任何号码。例如,对于RTOS #3,最小的RAM占用量被评定为1,最差;对于RTOS#1,最小的RAM占用量被评定为2;对于RTOS #2,最小的RAM占用量被评定为3,最好的RAM占用量被评定为3。如果有四个RTOS需要评估,那么这些值将从1到4进行评级。
每个嵌入式开发人员填写他们自己的列,直到整个矩阵完成。在一些非常固执己见的团队中,可能需要让每个团队成员秘密地填写他们的排名。一个填好的矩阵已经准备好进行分析,更重要的是,不偏不倚的团队决策。
第7步-分析结果
有许多方法可以分析矩阵以做出决策,但最简单的方法是简单地将每个RTOSes标准的总分相加,然后乘以标准权重。然后将所有这些总数在所有标准中相加。此时,我们已经做出了决定。得分最高的RTOS是最符合项目需求的RTOS。很可能,这个决定不会让很多人高兴。这通常发生在审查冷酷的事实时。真正的问题是,我们能接受正确的决定吗?我们能不为此付出代价吗?
结论
不检查事实、要求和顾虑就选择RTOS是一件危险的事情。许多团队匆忙采购“自由”软件,却发现由于从未考虑的因素,总拥有成本比预期的要高。为了在成本、质量和支持之间取得最佳平衡,团队应该为商业RTOS付费。然而,在任何团队会议上都不可能确定正确的平衡。使用给出的决策矩阵只是一个例子,说明了嵌入式开发团队如何能够在保持关注最关键因素的同时产生公正的意见。
边栏推荐
- Usage of MySQL subquery keywords (exists)
- Actual combat: sqlserver 2008 Extended event XML is converted to standard table format [easy to understand]
- The maximum number of meetings you can attend [greedy + priority queue]
- L2:ZK-Rollup的现状,前景和痛点
- Is private equity legal in China? Is it safe?
- Addition, deletion, modification and query of sqlhelper
- Demon daddy guide post - simple version
- Take the intersection of two sets
- 国家正规的股票交易app有哪些?使用安不安全
- Redis - basic use (key, string, list, set, Zset, hash, geo, bitmap, hyperloglog, transaction)
猜你喜欢
解决使用uni-app MediaError MediaError ErrorCode -5
L2:ZK-Rollup的现状,前景和痛点
Virtual machine network configuration in VMWare
The maximum number of meetings you can attend [greedy + priority queue]
[200 opencv routines] 223 Polygon fitting for feature extraction (cv.approxpolydp)
Intelligent software analysis platform embold
The latest version of codesonar has improved functional security and supports Misra, c++ parsing and visualization
Ten thousand word summary data storage, three knowledge points
ISO 26262 - considerations other than requirements based testing
South China x99 platform chicken blood tutorial
随机推荐
The maximum number of meetings you can attend [greedy + priority queue]
Using enumeration to realize English to braille
私募基金在中國合法嗎?安全嗎?
ISO 26262 - considerations other than requirements based testing
How to meet the dual needs of security and confidentiality of medical devices?
Le capital - investissement est - il légal en Chine? C'est sûr?
Unity3d 4.3.4f1执行项目
UVA 11080 – place the guards
刚开户的能买什么股票呢?炒股账户安全吗
JNI primary contact
Open source OA development platform: contract management user manual
Implementation of mahout Pearson correlation
华泰证券可以做到万一佣金吗,万一开户安全嘛
Is embedded system really safe? [how does onespin comprehensively solve the IC integrity problem for the development team]
恶魔奶爸 B1 听力最后壁垒,一鼓作气突破
Insufficient permissions
201215-03-19—cocos2dx内存管理–具体解释「建议收藏」
Numerical method for solving optimal control problem (0) -- Definition
使用枚举实现英文转盲文
Automatic classification of defective photovoltaic module cells in electronic images