1513|4

227

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【内核对比】CesiμmRTOS vs FreeRTOS [复制链接]

µC/OS的商业版Cesiμm RTOS,和FreeRTOS是嵌入式软件领域流行的两种实时内核。虽然这两款RTOS功能相似,并且具有可比较的执行指标,但它们都有各自的优点和缺点,本文将分析一下其差异。

 

 

功能区别

 

Cesiμm RTOS和FreeRTOS的API之间存在比较大的差异。以信号量创建为例,FreeRTOS提供了下列对象创建函数:

与信号量创建函数一样,互斥信号量和队列也使用类似的函数变体,而非一个统一的函数来创建这些内核对象,导致用户必须熟悉更多的API。

虽然FreeRTOS这些函数使得在应用程序中查找相应的信号量创建函数更容易,但用户需要付出更多努力理解每个函数的具体用途。相反,使用Cesiμm RTOS,信号量或互斥量创建更简单。

传递给函数的参数将决定用户创建的对象类型。这种方法非常简单,用户不需要象FreeRTOS一样,在调试时执行多个重定向创建函数。通过OSSemCreate()函数,根据参数值可以创建二值、计数或静态信号量,设置初始计数并将信号量数据对象定义为静态变量或非静态变量。通过传入创建函数的不同参数,创建与FreeRTOS相同类型的对象,而无需为每个对象单独提供函数。从使用上讲,Cesiμm RTOS的功能没有缺失,但调试时需要了解、管理和维护的API更少。

 

调试特性

 

FreeRTOS中,信号量创建函数将映射到等效队列函数实例中。例如:

随着函数嵌套深度的增加,在调试期间跟踪错误将变得更加困难。而在Cesiμm RTOS中调试信号量、队列或互斥信号量的创建更简单,更容易找到故障点或错误配置。例如xSemaphoreTake()函数将调用xQueueSemaphoreTake()函数,后者将根据调用来自信号量还是队列,实现后续操作。额外的条件处理使函数在调试时的跟踪更加复杂。相比之下,Cesiμm RTOS中的创建函数更直接、简短,并且能更快的调试并识别问题。在性能方面,两者几乎相同,但从开发人员的角度来看,Cesiμm RTOS代码将更容易跟踪。

  

特性区别

 

尽管两个内核提供的功能相似,但Cesiμm RTOS提供了更高的代码质量和一些独特的特性。其中包括更具描述性的错误返回代码、与现成的Cesiμm软件栈的兼容性以及整体代码的清洁度。

 

错误返回码

FreeRTOS函数返回码非常简单。通常会给出两个返回代码值给其调用API。大多数函数的返回值为pdPASS, pdFAIL, pdTRUE和pdFALSE。对于描述性稍强的返回代码,一些函数可能返回值errCOULD_NOT_ALLOCATE_REQUIRED_

MEMORY、errQUEUE_BLOCKED、errQUEUE_YIELD、errQUEUE_BLOCKED或errQUEUE_YIELD。当试图检测代码以实现故障恢复或更复杂的错误处理时,这些返回值无法提供更多详细的反馈。如vSemaphoreDelete(),这个函数调用了vQueueDelete(),其返回代码是void,这使得测试该函数的结果是成功还是失败变得很棘手。

相比之下,Cesiμm RTOS提供了丰富的错误返回值和消息,供开发人员在API中使用。所有用户调用的OS函数都提供了(OS_ERR *)类型参数。该变量在执行完成时被赋予一个值来反映成功或失败的原因。这些细节可以提供更精确的调试体验。当调试一个大型应用程序时,这个特性将显著影响开发时间。vSemaphoreDelete()的等效函数,在Cesiμm RTOS 为OSSemDel(),此函数接受(OS_ERR *)类型参数,该参数可以返回以下值之一。

 

支持的软件栈

Cesiμm RTOS的另一个优势是其丰富的中间件支持。中间件与RTOS基于相同的规范设计和标准。使开发人员的学习体验更加顺畅。

广泛使的用FreeRTOS,也支持许多第三方软件栈。然而,这些产品具有不同的代码设计标准,使得产品集成更具挑战性。开发人员不仅要学习新产品,还必须熟悉其代码风格。移植和集成工作更具挑战性。Cesiμm RTOS全系列软件产品在设计时考虑到了互操作性。这有助于加快开发人员在集成新软件堆栈时的学习曲线。Cesiμm RTOS提供以下产品栈:

· 文件系统Cs/FS

· 网络协议栈Cs/NET,其中应用协议如HTTP、DHCP等

· USB设备栈Cs/USBD

· USB主机栈Cs/USBH

· Modbus栈Cs/Modbus

此时,Cesiμm还支持SSL解决方案、图形用户接口和其他第三方产品。

 

洁净的代码

在查看代码时,将代码和注释混合在一起时中,将很难将两者分开并只关注其中一个。因此,Cesiμm RTOS代码被划分为左边的代码和右边的注释。当然,这并没有真正的改进性能,完全是为了用户体验。结构越清晰,就越容易学习、使用和支持。这使得理解Cesiμm RTOS代码更容易,从而节省了进入开发阶段的时间。

虽然FreeRTOS和Cesiμm RTOS解决方案在性能和功能上相似,但Cesium RTOS提供了的更佳的用户体验。为应用程序选择最佳的RTOS涉及许多因素,例如性能、功能和可靠性。对开发人员来说,同样重要的是精通RTOS特性所需的努力程度及其易用性(其中包括应用程序调试,这是开发周期中经常被忽视的阶段)。随着应用的增长,会添加新的特性集,整个项目的复杂性也会增加。Cesiμm RTOS内置的用户体验增强功能使用户在复杂应用程序中更高效,并帮助提高工作效率。需要商业授权欢迎联系info@bmrtech.com

查看本帖全部内容,请登录或者注册

最新回复

谢谢分享,threadx还是比较香的,哈哈。   详情 回复 发表于 2023-3-23 11:59
点赞 关注
个人签名

欢迎关注“麦克泰技术”


回复
举报

1万

帖子

16

TA的资源

版主

沙发
 

商业的收费吧????

点评

μc/os商业收费的  详情 回复 发表于 2023-3-22 14:46
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 

回复

227

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
ddllxxrr 发表于 2023-3-22 14:31 商业的收费吧????

μc/os商业收费的

 
个人签名

欢迎关注“麦克泰技术”

 
 

回复

6177

帖子

4

TA的资源

版主

4
 

东西是好,就是收费。

 
 
 

回复

7763

帖子

18

TA的资源

五彩晶圆(高级)

5
 

谢谢分享,threadx还是比较香的,哈哈。

 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播报名| TI 面向楼宇和工厂自动化行业的毫米波雷达解决方案
【内容简介】TI 60GHz IWRL6432和 IWRL1432毫米波雷达传感器如何帮助解决楼宇和工厂自动化应用中的感应难题
【直播时间】5月28日(周三)上午10:00
【直播礼品】小米双肩包、contigo水杯、胶囊伞、安克充电器

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 14

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表