当前位置:网站首页>嵌入式开发:如何为项目选择合适的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付费。然而,在任何团队会议上都不可能确定正确的平衡。使用给出的决策矩阵只是一个例子,说明了嵌入式开发团队如何能够在保持关注最关键因素的同时产生公正的意见。
边栏推荐
- 【矩阵乘】【NOI 2012】【cogs963】随机数生成器
- GridView defines its own time for typesetting "suggestions collection"
- Devil daddy B1 hearing the last barrier, break through with all his strength
- 恶魔奶爸 A0 英文零基础的自我提升路
- Mahout-Pearson correlation的实现
- Codesonar Webinar
- UVA 12230 – crossing rivers (probability) "suggested collection"
- Do you have to make money in the account to open an account? Is the fund safe?
- 恶魔奶爸 B3 少量泛读,完成两万词汇量+
- Codeforces round 275 (Div. 2) C – diverse permutation (construction) [easy to understand]
猜你喜欢

Goal: do not exclude yaml syntax. Try to get started quickly
![Restapi version control strategy [eolink translation]](/img/65/decbc158f467ab8c8923c5947af535.png)
Restapi version control strategy [eolink translation]

Intelligent software analysis platform embold

Demon daddy B3 read extensively in a small amount, and completed 20000 vocabulary+

C language helps you understand pointers from multiple perspectives (1. Character pointers 2. Array pointers and pointer arrays, array parameter passing and pointer parameter passing 3. Function point

Magic weapon - sensitive file discovery tool

解决uni-app中uni.request发送POST请求没有反应。

你可曾迷茫?曾经的测试/开发程序员,懵懂的小菜C鸟升级......

Ten thousand word summary data storage, three knowledge points

Open source OA development platform: contract management user manual
随机推荐
UVA 12230 – crossing rivers (probability) "suggested collection"
POJ 3140 Contestants Division「建议收藏」
开户还得用身份证银行卡安全吗,我是小白不懂
私募基金在中國合法嗎?安全嗎?
神兵利器——敏感文件发现工具
sqlHelper的增删改查
Nine degree 1201 - traversal of binary sort number - binary sort tree "suggestions collection"
npm uninstall和rm直接删除的区别
Cocos2d-x game archive [easy to understand]
恶魔奶爸 A3阶段 近常速语流初接触
MySQL约束之默认约束default与零填充约束zerofill
Can Huatai Securities achieve Commission in case of any accident? Is it safe to open an account
恶魔奶爸 A0 英文零基础的自我提升路
Magic weapon - sensitive file discovery tool
Ubuntu安装mysql8遇到的问题以及详细安装过程
I have to use my ID card to open an account. Is the bank card safe? I don't understand it
What stocks can a new account holder buy? Is the stock trading account safe
Reinforcement learning - learning notes 8 | Q-learning
Implement secondary index with Gaussian redis
解决使用uni-app MediaError MediaError ErrorCode -5