RT-Thread和Freertos的区别?

关注「嵌入式大杂烩」,选择「星标公众号」一起进步!

Freertos是一个国外推出的一个迷你的实时操作系统内核,开源,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。

RT-Thread是中国人自己推出的一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,开源os,RT-Thread除了有常规RTOS的功能,还具备一个IoT OS平台所需的所有关键组件。

例如GUI、网络协议栈、安全传输、低功耗组件等等。

下面比较一下Freertos和RT-Thread 在内核、支持的组件、驱动:

freertos简称FR,rt-thread简称RT。首先FR和RT基本定位都是IoT系统

1 、背景

FR是亚马逊旗下,RT背景和应用相对较弱。而国内没有大企业支持RT,而是各自开发IoT系统,华为-liteOS、腾讯TencentOS tiny、阿里AliOS Things。群雄割据,RT生存空间可想而知。

2、软件包和组件

FR和亚马逊IoT云服务结合是比较好的,国内组件结合度应该RT占优,例如阿里云。

3 、学习资料

RT有中文文档,FR有正点原子等众多视频4 文件:确实如下面RT介绍的,RT是一个包含组件的包,包含的东西很多,打开就能用。FR不是很清楚。从文件大小来说,RT 一百多MB,FR只有几MB。

RT-Thread 与其他很多 RTOS 如 FreeRTOS、uC/OS 的主要区别之一是,它不仅仅是一个实时内核,还具备丰富的中间层组件。

内核层:RT-Thread 内核,是 RT-Thread 的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等;libcpu/BSP(芯片移植相关文件 / 板级支持包)与硬件密切相关,由外设驱动和 CPU 移植构成。

组件与服务层:组件是基于 RT-Thread 内核之上的上层软件,例如虚拟文件系统、FinSH 命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合。

RT-Thread 软件包:运行于 RT-Thread 物联网操作系统平台上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。RT-Thread 提供了开放的软件包平台,这里存放了官方提供或开发者提供的软件包,该平台为开发者提供了众多可重用软件包的选择,这也是 RT-Thread 生态的重要组成部分。

软件包生态对于一个操作系统的选择至关重要,因为这些软件包具有很强的可重用性,模块化程度很高,极大的方便应用开发者在最短时间内,打造出自己想要的系统。RT-Thread 已经支持的软件包数量已经达到60+,如下举例:

  • 物联网相关的软件包:Paho MQTT、WebClient、mongoose、WebTerminal 等等。

  • 脚本语言相关的软件包:目前支持 JerryScript、MicroPython。

  • 多媒体相关的软件包:Openmv、mupdf。

  • 工具类软件包:CmBacktrace、EasyFlash、EasyLogger、SystemView。

  • 系统相关的软件包:RTGUI、Persimmon UI、lwext4、partition、SQLite 等等。

  • 外设库与驱动类软件包:RealTek RTL8710BN SDK。

来源:https://blog.csdn.net/u013184273/article/details/103805733

本文来源网络,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

往期干货:

往期推荐

干货 | 浅析程序开机自启动

程序如何运行?编译、链接、装入?

串口通信 | 简单明了的基础知识

一种无OS的MCU实用软件框架

### 回答1: RT-ThreadFreeRTOS是两款开源的实时操作系统,两者都可用于嵌入式系统的开发。 RT-Thread是一款国产的实时操作系统,支持多种CPU架构,具有轻量级、高可靠性高可移植性。它提供了丰富的组件模块,可以方便地进行系统配置扩展。 FreeRTOS是一款轻量级的实时操作系统,支持多种CPU架构,主要用于嵌入式系统。它提供了线程调度、内存管理、中断管理等基本功能。 总的来说,RT-Thread更适合嵌入式系统的大型项目开发,而FreeRTOS更适合小型项目或者系统资源有限的场景. ### 回答2: rtthreadfreertos都是常用的嵌入式操作系统,它们在实时性、可靠性开发效率等方面都各有优劣。 首先,rtthread重点是实时性小巧性,它的代码库不大,所需的资源较少,适合用于内存资源有限的嵌入式设备中,而且即使在小型处理器上也能提供良好的实时性能。rtthread也支持多任务,可以处理多个任务,如果合理分配优先级,可以实现较高的并发性能。 相比而言,freertos的代码库更大、更复杂,能够提供强大的实时性能多任务处理能力。它的任务处理机制极其灵活,支持多种调度算法,如抢占式调度、时间片轮转、优先级继承等,能够处理多个任务的时限与优先级。 另外,两者都提供了丰富的API中断处理方式,以适应不同的应用场合的需要。 总的来说,如果开发者需要一个小且快速的嵌入式OS,且内存处理器资源有限,那么选择rtthread会更加合适;如果需要处理大量任务且需要高度的稳定性,就可以考虑freertos。当然,这并不意味着一方比另一方更好,选择哪种OS也是根据具体应用的需求而定。 ### 回答3: RT-ThreadFreeRTOS都是常用的实时操作系统,它们在很多方面都很相似,比如都支持裸机嵌入式系统的设计开发,都提供了基本的线程、队列、信号量等实时操作机制,并且它们都是基于开源软件的。同时,两种实时操作系统都有很好的可移植性,支持跨平台使用。不过,它们在一些细节方面还是有些区别的。 首先,在内核结构功能上的区别RT-Thread是一个轻量级的、纯粹的C语言内核,非常适用于低端嵌入式系统一些小型应用场景。而FreeRTOS相对比较复杂,底层使用汇编语言实现,这使得它更加适合开发复杂的实时嵌入式系统高要求应用场景。此外,RT-Thread相对来说比FreeRTOS更加易用,开发效率也更高一些。 其次,在互联网应用方面的应用也有差别。由于RT-Thread有自己的互联网协议套件物联网通信协议,所以在物联网工业控制等领域有着广泛的应用。而FreeRTOS则更多地应用于网络安全、保密性较高的领域,如航天航空等。 总体上来说,相比较而言,RT-Thread更适合一些小型、单功能的应用场景,而FreeRTOS则更适合在大型工程中作为操作系统适配层使用,提供更多的扩展性可定制化的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值