[RTOS]rtthread,freeRTOS,uCOS等系统简单对比

这篇具有很好参考价值的文章主要介绍了[RTOS]rtthread,freeRTOS,uCOS等系统简单对比。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在上一篇《嵌入式操作系统浅谈》中,大概介绍了我自己再工作中使用到的如rt-thread,freeRTOS,uCOS,luatos等系统,在这一篇文章中,我简单说一下这些操作系统一些特点,还有就是我们平时的工作中什么场景下用哪种系统比较好。

csdn里面很多大神对上面的一些系统都做过了一些对比和总结:
比如:
1.[RTOS]uCOS、FreeRTOS、RTThread、RTX等RTOS的对比之特点
2.嵌入式操作系统RT-Thread和Freertos资源对比总结
3.rtthread-ucosii-freertos三系统学习总结
等等文章还是很多的,如果你是刚入门的开发者,建议不要去看,因为你目前没有经验;如果你使用过其中某一个操作系统,想了解一下其他的系统不妨认真的看一下。

1.使用(移植)上的流程对比

1.1 uCOS的使用(移植)流程

可以参考一下uCOS系统移植(hal库)这篇文章,我自己以前也是大概的流程,或者就是直接下载别人做好的一些工程模板,因为uCOS使用的人非常多,往往你使用的mcu一般都会得到支持。

1.2 freeRTOS的使用(移植)流程

这边csdn上也有很多参考,但是我一般都是通过cubemx来直接移植和使用freertos的,这样非常方便快捷,只要够选中间件中的freeRTOS就可以了
[RTOS]rtthread,freeRTOS,uCOS等系统简单对比

1.3 rt-thread的使用(移植)流程

因为rt-thread是国内开发的,官网也是中文的,大部分资料也是中文的,所以这一块对国人的支持是最友好的。

目前rt-thread 大致的开源版本大类有三种rt-thread标准版,rt-thread-nano版,还有rt-thread smart版,可以通过官网资料看一下三个版本的区别

三个版本的区别
标准版 目前是使用最多的版本,涵盖了rt-thread内核,组件,软件包等等
nano版 只有rt-thread内核,没有组件和软件包,当然可以自己移植,可以看做就是freertos
smart版 这个版本我自己还有身边的人都只是根据实际的教程走过,没有出来过产品,可以简单的当做是Linux,但是api接口等风格还都是rt-thread的

不同的版本有都有自己不同的使用流程,以标准版为例,以新手为例rt-thread要比freeRTOS和uCOS难上手很多,因为他不光要移植内核,还需要移植设备框架,而且还需要用到env工具,好在后来rt-thread自己出了他们的IDE(rt thread studio),这个IDE类似eclipse,对于只熟悉keil或者IAR的嵌入式工程师来说,学习成本有点高,所以很多初学者或者入门的人都会在这边劝退。但是如果熟悉了他的流程,在开发过程当中使用rt-thread还是相当有趣的,所以如果你正好也卡在移植BSP的阶段,不妨多尝试几次,移植不通过多到rt-thread社区问一下小伙伴,那边的社区还是挺活跃的。

一般情况下,如果是使用stm32直接看官方的BSP制作流程就可以简单的把rt-thread跑起来,后面再根据教程添加对应的驱动或者软件包等。

1.4 luatos使用教程

目前luatos主要支持的还是他们自家的芯片或者是产品,所以使用上跟着教程走就可以了,非常方便,开发其实也挺简单的,但是要掌握lua,lua我大概前后花了1个月时间去学习,现在也能够大概写一些简单的脚本。

小结

使用freeRTOS是比较简单的,使用rt-thread标准版是最复杂的,简单有简单的好处,复杂也有复杂的特点,最好的情况就是都自己动手尝试一遍。

2. 开发过程中的一些对比

2.1 freeRTOS和uCOS

这两个系统都只是提供了实时内核,所以相对来说会简单一点,一般的情况就是把以前while(1)中的1个任务,分成多个任务task来执行,配合一些系统提供的任务间通信的API来实现,数据传递,同步等等功能。

一般使用freeRTOS的都喜欢用他提供的Tickless来做低功耗功能,有兴趣的朋友可以自己动手尝试一下,但是先说明低功耗是一个比较复杂的开发过程,一般情况都是裸机开发先通过后,再转向系统的开发,因为不光是涉及软件的问题,同样也涉及到硬件,外设,电源,使用环境场景等等因素。

2.2 rt-thread

前面也提到了,rt-thread想要真正跑起来,为自己所用,有一定的难度,好在目前资料都是中文的,认真看完,再参考一些案例,应该没什么太大的问题。
使用rt-thread的大致流程一般是:
1.BSP制作
2.添加外设驱动
3.系统配置和裁剪
4.添加和配置软件包

2.3 LuatOS

LuatOS当然是最简单的了,所有自带的外设都有对应的demo程序可以做参考,需要添加的其他常见外设或者通信其他的芯片也会找到官方提供的demo,作为开发者还是挺舒服的,但是里面难免会有一些bug,建议要是自己做产品的话,一定要一步一步验证好。

小结

虽然freeRTOS和uCOS使用起来很方便,但是他们只提供了实时内核。
而像rt-thread和luatOS的话,已经提供了十分丰富外设和软件包,让你在开发的过程中避免了重复造轮子。

3.系统维护上的区别

3.1 freeRTOS

从目前使用下来的情况,在选定好系统版本,并且开发认证完成后,一般情况下不需要对内核进行升级,还是比较稳定的。

3.2 uCOS

因为一些情况下经常使用的是别人制作好的模板,往往达不到自己要求的效果,搭建demo和简单的多任务开发还可以,但是对于比较复杂的应用来说往往修改的地方还是挺多的,维护起来还是有点吃力的。

3.3 rt-thread

rt-thread的话其实是经常需要对系统进行维护的,还好因为其特性,小版本之前的维护还是比较方便的,但是大版本的升级,或者代码迁移还是挺麻烦的比方最近把一年前做的(4.0.3的版本升级到4.1.1)就比较麻烦,很多源码结构和目录都变了,需要一个模块一个模块来迁移。迁移完成后,还需要大量的时间和精力来测试,当然如果之前使用的版本没有特殊的问题,而且产品是稳定的,就不要去升级。

3.4 LuatOS

LuatOS 维护起来是最方便的,因为他本身提供了远程升级的功能,而且还设计的时候已经设计好了升级底层和用户层脚本的方式,而且更好的是支持了差分升级,有兴趣的朋友可以看一下官网的远程升级教程。

小结

在维护的层面来看LuatOS又是维护起来最方便的,其次是freeRTOS和uCOS这样的内核级的系统,而像是rt-thread这样比较庞大的系统维护起来还是挺麻烦的,既要会维护系统内核,又要会维护一些软件包的更新,如果有一些软件本身有一些小的问题,修改起来也许是会比较费时间的。

4. 总结

根据上面简单写的从系统的使用,开发到后续的维护过程的简单分析文章来源地址https://www.toymoban.com/news/detail-413580.html

使用(移植) 开发过程 维护过程
freeRTOS 简单 复杂 简单
uCOS 简单 复杂 简单
rt-thread 入门后简单 简单 复杂
LuatOS 简单 简单 简单

到了这里,关于[RTOS]rtthread,freeRTOS,uCOS等系统简单对比的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【RTOS】快速体验FreeRTOS所有常用API(2)任务管理

    快速体验FreeRTOS所有常用API(1)工程创建 快速体验FreeRTOS所有常用API(2)任务管理 快速体验FreeRTOS所有常用API(3)同步与互斥 快速体验FreeRTOS所有常用API(4)队列 快速体验FreeRTOS所有常用API(5)信号量、互斥量 快速体验FreeRTOS所有常用API(6)事件组 快速体验FreeRTOS所有常

    2024年01月15日
    浏览(41)
  • 【RTOS】快速体验FreeRTOS所有常用API(1)工程创建

    快速体验FreeRTOS所有常用API(1)工程创建 快速体验FreeRTOS所有常用API(2)任务管理 快速体验FreeRTOS所有常用API(3)同步与互斥 快速体验FreeRTOS所有常用API(4)队列 快速体验FreeRTOS所有常用API(5)信号量、互斥量 快速体验FreeRTOS所有常用API(6)事件组 快速体验FreeRTOS所有常

    2024年01月20日
    浏览(39)
  • 简单介绍STM32上的FreeRTOS实时操作系统

    FreeRTOS是一款广泛使用的开源实时操作系统(RTOS),它为嵌入式系统提供了可靠的任务调度和并发管理。在嵌入式领域中,STM32微控制器广受欢迎,并且与FreeRTOS的结合使用可以提供强大的功能和灵活性。在本篇博客中,我们将深入探究STM32上的FreeRTOS,并了解其核心概念、任

    2024年02月16日
    浏览(61)
  • ARM-M架构移植UCOS操作系统

            最近准备面试,把本科到现在的一些比赛相关的东西整理一下。那些年在飞思卡尔在K60单片机上的UCOSII移植(哎,心酸...)         一、首先看下UCOSII的文件结构: 一些核心的文件解释:         【1、头文件】:          includes.h :每个.c文件需要包含的头

    2024年02月11日
    浏览(38)
  • 51单片机基于时间片轮转的简单rtos

    早就想写写这个了,正好赶上有点时间,写了一下基于51单片机的时间片轮转调度系统,简单的rtos,呵呵。直接上代码。 虽然简单,也可以继续学习了。

    2024年02月02日
    浏览(39)
  • 裸机和RTOS系统区别与联系

    试想一种场景,我们正在打游戏,但女朋友在你打游戏的过程中给你发送消息,你需要回复消息     1.1 裸机处理方式 玩过51或者stm32的裸机编程的人都知道,我们往往会在应用程序写一个大循环,如果你一把游戏30min,那么你就得30min后才能执行回复信息的任务,那么你女朋

    2023年04月24日
    浏览(38)
  • 物联网实时操作系统1RTOS简介(上)

    在大型计算机的世界里,操作系统(OS operating systems)已经存在了相当长的一段时间。最基本的操作系统可以追溯到20世纪50年代。到20世纪70年代中期,操作系统的概念、结构、功能和界面已经非常成熟。 微型系统大约在 1970年出现。在基于微处理器的设备中迅速应用操作系统

    2024年02月16日
    浏览(57)
  • 微控制器实时操作系统实践2了解RTOS任务

    超级循环编程范式通常是嵌入式系统工程师最先接触到的编程方法之一。用超级循环实现的程序有一个单一的顶层循环,在系统需要执行的各种功能之间循环。这些简单的while循环很容易创建和理解(当它们很小的时候)。在FreeRTOS中,任务与超级循环非常相似--主要区别在于

    2024年02月08日
    浏览(48)
  • 一天学完UCOS III(上)

    1.UCOS任务状态  2.任务控制块(OS_TCB):保存任务信息结构体 3.任务堆栈(CPU_STK):创建任务时传把任务堆栈的参树传入  4.任务优先级:高优先级任务可以抢占低优先级任务 当任务都运行while循环,高优先级任务可以打断或终止低优先级任务 5.任务调度:讲解任务调度/切换

    2023年04月27日
    浏览(33)
  • STM32 + RTThread + UGUI

    开发板:STM32F103C8T6 显示器:ST7735S RT-Thread:5.0.0 玩过 GUI 的小伙伴都知道,界面的显示是一个个像素点组合起来的,那么直接构建出来炫酷的 GUI 还是相对比较困难的,所以我们一般都会使用一些 GUI 库来实现,比如 LVGL、QT、UGUI等,这样对于驱动开发的人员来说就相对比较简

    2024年02月01日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包