gzyueqian
13352868059

嵌入式开发:如何选择嵌入式系统操作系统—操作系统特性

更新时间: 2022-12-29 10:30:36来源: 粤嵌教育浏览量:5624

如今,嵌入式系统开发人员可以使用各种各样的操作系统。当然最直白的操作系统就是没有操作系统!然而,今天的许多系统是复杂的、相互连接的系统,其中可能需要操作系统。当需要时,嵌入式开发人员通常会使用实时操作系统(RTOS)Linux来帮助他们管理复杂性。是,如何在裸机、RTOSLinux之间做出选择并不总是一目了然的。每种选择都有其优点和缺点。

 

这篇文章将探讨你在选择操作系统时应该考虑的系统特性

 

产品的生命周期成本

为嵌入式系统选择操作系统首先要了解产品的生命周期成本和需求。需要在产品的材料清单(BOM)成本和软件维护成本之间进行权衡。例如,使用Linux的嵌入式系统发现更容易利用开源软件,并找到可以编写系统软件的开发人员。然而,基于Linux的系统比基于微控制器的系统具有更复杂的硬件要求,并且可能具有更高的BOM成本。基于微控制器的系统可能成本更低,但能够成功设计和维护这些系统的开发人员也更少。

 

设计师需要权衡硬件和软件成本,以确定他们的产品使用可以运行Linux的硬件是否有意义,或者是否有一个更便宜、CPU占用更少的解决方案更适合。

 

要考虑的物理特征

说到硬件能力和要求,嵌入式开发人员在选择嵌入式操作系统时,检查硬件选择的物理特性也很重要。应当考虑的微处理器或微控制器的物理因素包括

外围特征集

CPU时钟速度

可用的闪存

可用RAM

 

硬件对系统的物理限制可能会立即限制可以使用的选项。例如,运行嵌入式Linux通常需要处理器包含一个内存管理单元(MMU)是,微控制器没有MMU。因此,要运行Linux,设计人员至少需要一个Cortex-A系列的应用处理器,而不是Cortex-M系列的微控制器(尽管情况变化很快,有些人可能拥有带MMU和合理时钟速率的微控制器)

 

要运行嵌入式Linux,硬件还必须至少有8 GB的存储空间、16 GBRAM8–16mb的内部闪存。像Linux这样的内核可能也需要至少500 MHz的处理器。这远远高于运行RTOS所需的容量,后者至少需要4 kBRAM64 kB的闪存和24 MHzCPU


实时性能

根据经验,探索裸机、RTOS和基于Linux的系统之间的实时性能特征是一个棘手的问题。专注于基于微控制器的实时系统的嵌入式开发工程师经常会告诉你,你无法从Linux系统获得真正的实时性能。Linux工程师会告诉你这不是真的;有实时补丁,它提供实际的实时行为。从那时起,争论通常会变得激烈。

 

无论你站在哪一边,看看实时需求并利用它们来选择你的操作系统是很重要的。评估系统需要有多确定,并根据这些需求评估的操作系统。

 

软件库集成

使用裸机、RTOSLinux之间的一个重要区别是开发人员可用的软件库的可用性和集成程度。在裸机领域,你只能靠自己。你要么从头开始编写软件,要么自己集成第三方库。另一方面,RTOS将附带一套已经与RTOS集成的库。例如,人们可能会发现循环缓冲区、内存管理工具、文件系统等。更多的库是可用的和集成的,但是可能仍然需要自己做一些工作。

 

当你看Linux时,感觉开发者有几乎无限的可用库,并且已经与系统集成。嵌入式Linux最吸引人和增值的特点是软件库的可用性和集成性。嵌入式开发者有一个完整的操作系统供他们使用。这很强大,但也有潜在的危险。

 

不要忘记安全性

如今,许多设计师都在构建互联系统,这些系统必须具备安全的解决方案。操作系统在安全解决方案中扮演着重要的角色。例如,如果在Linux内核使用的标准库中发现了一个漏洞,那么每个Linux设备在打补丁之前都有这个漏洞。裸机或基于RTOS的系统不存在同样漏洞的可能性很高。特定的操作系统比其他操作系统更容易成为黑客攻击的目标,因为黑客可以利用这些工具来攻击这些设备。在Linux系统防御中,我相信仍然设置了默认密码,但它表明,如果你不花时间正确配置你的操作系统,那么破解它也不需要太多时间。

 

结论

嵌入式开发人员在选择操作系统时应该考虑很多特性。第一个特征更多地与成本和建筑产品的商业方面有关。然而,更重要的属性,如可用的库、安全性、可维护性等也起着至关重要的作用。

免费预约试听课