0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RTOS学习(1)—引言

人间小苦瓜2021 来源:人间小苦瓜2021 作者:人间小苦瓜2021 2023-01-15 21:36 次阅读

为什么学习RTOS

单片机这条路上很难避免RTOS,除非你止步不前,或者另谋生计。学习RTOS是进阶之路,对于编程能力是一个很大提升。

很多人刚开始接触嵌入式的时候,首先去了解到的可能是单片机编程,肯恩是51入门,也可能是直接学习STM32,但是这里指的编程都是裸机编程,是没有加入RTOS(Real Time Operation System)也就是实时操作系统的编程。常见的RTOS有UCOSFreeRTOSRT-Thread,其中RT-Thread是国产操作系统。这其中FreeRTOS的市场占有率最高,因为他是免费的。UCOS的资料相对来说比较全,但是很多公司没有选择使用UCOS,因为商业使用,需要支付版权费。其中RT-Thread最近几年的热度也比较高。

值得一提的是,UCOS最近好像要免去商业版权费,不知是真是假。

传统的单片机编程,属于逻辑编程,几乎所有的程序都在while(1)循环里面,剩余的程序在中断里面。对于功能简单、外设较少的产品使用逻辑编程没有问题,但是随着社会的发展,人们对电子产品的要求越来越高,这就要求电子产品有更多的功能,更多的外设。

上述的原因势是比较官方的原因,相信大家了解、学习RTOS,并不是为了将来做产品,而是比赛或者项目需要。同时学习RTOS对于自己的编程能力也会有一定的提升,这也是一部分同学学习RTOS的动力。

怎么学习RTOS

关于怎么去学习,如果你有RTOS的基础的话,去掌握另一个操作系统,只需要去看相关的手册即可,不需要去看视频从头开始。但是如果你没有基础,那我还是建议从头看视频,不要急功近利,世界上没有速成的知识,速成都是假象。当然不包括学习能力特别强的人。

因为我学习的是UCOS,所以只能从这一类操作系统的角度来说。看视频的话,市面上比较主流的有野火和正点原子,野火的视频讲的比较基础,前面几节课几乎学不到实用的东西,但是去打下了理论基础,比较适合入门,从头学习(是真的从头学习),前几节课的学习反馈真是少的可怜,以至于你真的很想放弃。正点原子却不是这样,直接学习移植,然后就进入正题,但学起来有时候会比较废力,也是某种意义上的速成。

这两个视频比较适合结合起来看,学完之后,再去看技术文档,注重源码,会有很多收获,但也会很痛苦,对链表的要求真的很高。

RTOS选择

学习RTOS首先面临的选择就是选择哪一种RTOS,市面上的有很多。实际上,所有的RTOS都是在链表和定时器的基础上来实现相应的功能,只不过是代码风格不同,或者是安全性上不同(对于咱们来说,好像这个原因和没有一样)。所以说,只要掌握了一款RTOS,以后换到其他型号的 RTOS,使用起来自然也得心应手。

我学习的是UCOS,主要原因是看到文档里说他比较安全,发展历史比较早,相关资料比较全,组件也很丰富,更重要的是里面还说UCOS上过太空,我当时下定决心就学它^_^。FreeRTOS也很合适,相关资料也这几年也完善了起来(谁不喜欢白嫖呢)。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18281

    浏览量

    288380
  • 操作系统
    +关注

    关注

    37

    文章

    6284

    浏览量

    121872
  • RTOS
    +关注

    关注

    20

    文章

    776

    浏览量

    118786
  • uCOS
    +关注

    关注

    7

    文章

    177

    浏览量

    77947
收藏 人收藏

    评论

    相关推荐

    CMSIS-RTOS V1与V2的区别是什么?

    最近的学习FreeRTOS,看到STM32CubeMX分别用CMSIS-RTOS V1,V2进行封装,请教CMSIS-RTOS V1与V2的
    发表于 04-11 06:06

    基于RTOS的应用进程中的典型线程

    RTOS中的关键因素是最小的中断延迟和最小的线程切换延迟。RTOS的价值在于它的响应速度或可预测性,而不是它在给定时间段内可以执行的工作量。
    发表于 03-05 09:32 115次阅读
    基于<b class='flag-5'>RTOS</b>的应用进程中的典型线程

    RTOS相比裸机有什么优点?RTOS相比裸机更方便吗?

    RTOS相比裸机有什么优点?RTOS相比裸机更方便吗? RTOS代表实时操作系统,专门为需要高可靠性和可预测性的系统设计。相比之下,裸金属或“裸”系统的硬件或软件层最少,严重依赖开发人员的代码来处
    的头像 发表于 10-29 16:33 1006次阅读

    如何实现RTOS上的微秒级延时设计呢?

    通常RTOS系统滴答为1KHz,当然,也有100Hz,或者10KHz的情况。
    的头像 发表于 09-15 09:16 1443次阅读
    如何实现<b class='flag-5'>RTOS</b>上的微秒级延时设计呢?

    评估RTOS的几个重要指标

    RTOS的实时性能对您来说重要吗?根据Aspencore最近的嵌入式调查(2023年5月),49%的受访者表示,实时性能是对商业RTOS的最重要要求。
    的头像 发表于 09-12 11:06 680次阅读
    评估<b class='flag-5'>RTOS</b>的几个重要指标

    将RTX迁移到CMSIS-RTOS

    。 UMLCMSIS-RTOS提供了许多应用程序或技术(如)所需的基本功能。 是CMSIS-RTOS API的统一功能集,它简化了软件组件的共享并减少了学习工作。 使用CMSIS-RTOS
    发表于 09-04 06:37

    构建RTOS Kernel指南 (上)

    1 前言 试想与我们相伴的MCU如若只存在裸机程序,那么运行到一个包含延时的线程时,我们的CPU就开始“摸鱼”了。 为了最大化运行CPU,就需要用到RTOS(RealTime Operating
    的头像 发表于 08-03 08:45 386次阅读
    构建<b class='flag-5'>RTOS</b> Kernel指南 (上)

    STM32 RTOS知识点

    电子发烧友网站提供《STM32 RTOS知识点.pdf》资料免费下载
    发表于 08-01 14:28 2次下载
    STM32 <b class='flag-5'>RTOS</b>知识点

    朱天龙:学习和掌握RTOS最好的方法

    在讨论“ 如何学习和掌握RTOS “这件事情之前,我们首先要明确一点:我们是否有必要学习RTOS? 关于这一点,可以看我18年的时候写的一篇文章 《该不该用
    的头像 发表于 07-28 20:45 721次阅读
    朱天龙:<b class='flag-5'>学习</b>和掌握<b class='flag-5'>RTOS</b>最好的方法

    使用Zephyr RTOS的碳漫游者

    电子发烧友网站提供《使用Zephyr RTOS的碳漫游者.zip》资料免费下载
    发表于 06-28 14:54 0次下载
    使用Zephyr <b class='flag-5'>RTOS</b>的碳漫游者

    求助,什么时候用RTOS

    本菜鸟一直是用的裸机开发,也学习过操作系统,但是一直没明白什么时候用RTOS,感觉用裸 机开发一点问题没有啊,什么情况下用RTOS
    发表于 06-28 06:54

    RTOS核心:调度和分割

    对许多嵌入式项目来说,系统设计师都倾向于选择实时操作系统(RTOS)。但RTOS总是必要的吗?答案是取决于具体的应用,因此了解我们要达到什么目标是决定RTOS是必要的还是花瓶的关键。 一般来说
    的头像 发表于 06-22 10:46 434次阅读

    RTOS消息队列的应用

    基于RTOS的应用中,通常使用队列机制实现任务间的数据交互,一个应用程序可以有任意数量的消息队列,每个消息队列都有自己的用途。
    发表于 05-29 10:49 420次阅读
    <b class='flag-5'>RTOS</b>消息队列的应用

    CMSIS RTOS任务管理

    RTOS
    橙群微电子
    发布于 :2023年05月29日 10:06:26

    嵌入式RTOS的 任务栈 和 系统栈

    简介明了带你了解嵌入式RTOS的 任务栈 和 系统栈
    的头像 发表于 05-16 09:57 2054次阅读
    嵌入式<b class='flag-5'>RTOS</b>的 任务栈 和 系统栈