当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]对于每个嵌入式软件开发人员和团队来说,性能是关键的指标。无论您是开发资源受限的设备,高性能模块还是仅仅是普通的系统,浪费的时钟周期都会花费金钱,时间和能量。如今,许多嵌入式系统都是由RTO构建的,但是根据我的经验,团队通常几乎不考虑其性能。

对于每个嵌入式软件开发人员和团队来说,性能是关键的指标。无论您是开发资源受限的设备,高性能模块还是仅仅是普通的系统,浪费的时钟周期都会花费金钱,时间和能量。如今,许多嵌入式系统都是由RTO构建的,但是根据我的经验,团队通常几乎不考虑其性能。

团队不考虑它也就不足为奇了,因为比较不同的RTOSE的数据很少。每个RTO虽然以核心概念和工具为基础,但都提供了广泛而多样的功能。使用此类功能集,您如何以提供合理的“苹果苹果”比较的方式测试RTOS性能?

在这篇文章中,我将分享如何测试三个流行的开源RTOSE(Zephyr RTOS,Freertos和Eclipse ThreadX)和一个商业RTO(PX5 RTOS)的RTOS性能。

识别RTOS性能测试

您可能会怀疑,并非所有的RTOSE都相等。每个RTO都会牢记不同的目标。这意味着基础实施将从一个RTO到另一个RTO都不同。每个RTO都有其优势,劣势,定制和标准功能。我们如何以公平的方式比较不同的rtoses并为我们提供准确的结果?

首先,我们必须认识到我们不能测试RTO的每个功能。例如,弗雷托斯(Freertos)具有超酷的功能,可让您在无滴答模式下以低功率应用程序运行内核。尽管这是一个很棒的功能,但并非所有RTOSE都具有它,因此很难比较其他RTOSE的功能。

我们必须专注于所有rtoses所共有的功能,而不是专注于差异化者,并且有很多。例如,所有RTOSE都将至少有一个调度程序,消息队列,信号量,内存管理和其他一些。这些构成了今天几乎所有可用的RTO的基础。这些功能是应该关注的功能,然后可以使我们对不同的功能的性能有一种感觉。

RTOS性能基准

如果要比较RTOS性能,则需要进行测试安全带。测试安全带使您可以创建一组常见的测试,该测试可行任何RTO中可用的标准功能。尽管开发人员可以使用几种不同的选项,但我使用的最多和最熟悉的是Eclipse基础线程度量基准套件。

线程度量基准套件由八个测试组成,其中一项是校准测试,以确保平台的操作相似。例如,如果成功地将RTO带入测试线束,并使用类似的设置并使用GCC进行了编译,则您希望校准测试为每个RTO提供约70,000个计数。如果不是这样,那么您知道编译器或其他设置不是相同的,这意味着您不能信任任何其他测试的结果。 (至少不信任任何直接比较)。

在我的实验中,我选择了我认为每个RTO的五个最常见的功能,每个RTO应具有的线程度量基准套件,其中包括:

· 合作计划

· 预先安排

· 内存分配

· 同步处理(信号量)

· 消息传递

每个测试的时间为30秒间隔,结果提供了计数器中累积的值。值越高,该测试的性能越高。 RTO完全有可能在一个测试上粉碎它,只能在另一个测试上表现出色。

获得苹果与苹果的比较

您可能会认为,使用基准套件,您将RTO插入套件,进行一些测试,进行一些比较并完成。不幸的是,这并不是那么简单。还记得我如何提到没有同等的两个rtose?为了获得合理的比较,您需要确保以使其公平的方式配置每个RTO!

您可以清楚地看到PX5 RTOS优于开源RTOSE。实际上,如果您看开源RTOSE,则Zephyr RTO的表现似乎非常可怕!剪裁干燥吧? Zephyr RTO的表现不佳,还是这样做?

Zephyr以其默认配置进行了测试。那是什么意思?

它的意思是:

· 不启用速度优化

· 启用了记录

· 主张检查已启用

· 启用了调试优化

· 运行时错误检查已启用

· 电源管理已启用

· MPU已启用并用于堆栈保护

我们可以争辩说,默认情况下,这些是否是启用的好东西,但是在任何一种情况下,其他RTOSE是否默认启用了这些东西?

他们不!默认情况下,它们是配置的,或者通过我的一些小调整,以禁用这些功能,以确保每个RTO的配置足够接近,以便可以轻松地将它们进行比较以进行性能!

为了获得苹果到苹果的比较,我必须禁用这些Zephyr RTOS功能。当我这样做时,结果有所改变。

唯一的变化是Zephyr的表现几乎增加了两倍!它的性能仍比PX5 RTOS慢约30%,并且比ThreadX慢20%,但是我们现在可以更自信地比较其性能并得出一些初步结论。

结论

比较RTOS之间的RTOS性能并不是微不足道的!每个RTO都有独特的功能和配置,必须考虑到准确的比较。我发现,一旦您将竞争环境升级,您就可以看到每个RTO的性能,将它们相互比较,并得出结论您的RTO可能如何影响您自己的项目。

每个项目都有其需求和需求,每个RTO都有其利基市场。作为工程师,拥有数据来帮助我们了解性能特征可以帮助我们做出正确的设计决策,并确保我们不会在桌面上留下任何急需的性能。

您已经看到错误配置如何影响比较测量值。我有一个动作项目供您从今天的帖子中删除:问自己:“我的RTO是否正确配置了?”这个问题可能会使您的RTOS的性能增加一倍。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭