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

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

3天内不再提示

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

RTThread物联网操作系统 来源:未知 2023-07-28 20:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在讨论“如何学习和掌握RTOS“这件事情之前,我们首先要明确一点:我们是否有必要学习RTOS?

关于这一点,可以看我18年的时候写的一篇文章《该不该用RTOS?我们只做对的选择》。这篇文章里的一些观点放在今天,仍然是适用的。比如:裸机在并发性、模块化、实时性、可重用性以及生态上的缺陷。当你使用裸机写的软件越多,功能越复杂,你所遇到的问题也会越来越多。

这次主要是想跟大家分享一下”如何学习和掌握RTOS”,为什么会有这个想法呢,其实动机也很巧合,是因为我看到一个群友的观点和我的观点非常相似,也看到大家都有这样的需求,所以总结了之前学习RTOS的经验,跟大家做个分享。

2dd4075e-2d44-11ee-815d-dac502259ad0.png2dee574e-2d44-11ee-815d-dac502259ad0.png

自上而下:先用起来再向下学习

我们在学习一款RTOS时,由于RTOS都是包含各种模块的复杂系统,学习时,首先要先建立宏观认识,了解RTOS的整体架构,掌握RTOS上的应用开发。

最好的方式是选择一个有丰富文档和例程的RTOS,基于RTOS系统的一整套示例代码进行学习是一个非常好的方法。通过使用这些示例代码,可以深入了解RTOS系统的设计和实现方式,学会如何使用RTOS来开发应用程序,也使我们的学习过程不会那么枯燥。

具体怎么实操呢?以RT-Thread新出的星火1号学习板为例。”星火1号”是RT-Thread专门为初学者设计的一套学习板,包含了丰富的例程,从内核到外设、从组件到各种各样的Demo。通过学习这样的示例程序,直接运行就可以看到现象,并且每个例程都有对应的说明文档,这样就可以比较轻松的掌握RTOS的应用开发。掌握应用开发之后,再慢慢的深入下去,深入到内核、架构、底层。

2e256d6a-2d44-11ee-815d-dac502259ad0.png

2e39997a-2d44-11ee-815d-dac502259ad0.png2e5e911c-2d44-11ee-815d-dac502259ad0.png

循序渐进

RTOS是一个复杂的系统,学习RTOS时,不能心急,”一口吃不成大胖子“,要按照方法循序渐进的学习。一个RTOS的SDK通常会提供多种示例项目,包括内核、外设、文件系统、网络等,这些示例项目可以帮助你更好地理解RTOS系统的各个方面。可以从简单的示例开始,逐步深入到更复杂的项目中,以便更好地掌握RTOS的开发技能。

同样以星火1号的SDK为例,就包括了内核、基础外设、高级外设、组件、IoT、综合demo 6个级别的示例程序,难度从易到难。学习时,可以遵循SDK的难度梯度,一个阶段一个阶段的学习。

勤动手多做实验

编写代码和进行内核实验是学习RTOS的重要方法之一。通过编写代码,可以更深入地了解RTOS的API函数、内核机制以及如何使用RTOS来开发实时应用程序。

在进行内核实验时,针对同一个应用场景,可以使用不同的系统API来实现,对比不同API使用上的差异,以及实现效果下的差别,更好的加深对内核机制的理解。

星火1号,针对内核的学习需求,单独准备了一个内核学习例程01_kernel,这个例程里包含一个基本的内核工程,以及一套内核实验手册。根据内核实验手册,可以自己动手做一些针对内核的API试验,比如两个同优先级的线程相互切换、高优先级线程抢占低优先级的线程等,借助这些有趣的实验,不知不觉的就掌握了RTOS内核的精髓。可以更好的掌握RTOS应用开发。

多借助工具

此外,还可以借助一些工具来辅助RTOS的学习,比如仿真平台或者硬件调试器。通过仿真平台或者硬件调试器来进行内核实验,就可以单步程序的运行。单步应用程序,可以从应用代码直接深入到内核代码,从而更好地了解RTOS的内核机制。

这方面常见的RTOS一般都支持QEMU的方式,借助QEMU可以直接单步程序深入理解内核机制。但是仿真平台也有缺点,就是无法很好的仿真硬件外设,比如嵌入式中常用的I2C、SPI、CAN通信协议,或者一些温湿度传感器等外部模块,就不适合使用仿真平台了。这一点,星火1号做的也很不错,它板载了ST-Link调试器,可以直接借助RT-Thread Studio来下载调试程序。单步程序的运行,非常适合初学者入门。

总结下来:学习和掌握RTOS最好的方法,就是自上而下的学习。按照难易程度循序渐进的学习的同时,也要多动手多做实验。还可以多借助调试工具深入到RTOS内部,可以更好的理解RTOS内部机制。

最后给大家推荐一下我们最近新出的“星火1号“学习板,这款开发板是专为初学者而设计的,内置例程丰富而且按照难度分成了6个模块,非常适合初学者入门RTOS。

2ea04850-2d44-11ee-815d-dac502259ad0.jpg

抢购地址:https://m.tb.cn/h.5YPNnmU?tk=uUvYdFTuOct

下面是星火1号的交流群 QQ1群839583041(如1群已满,请加2群)、QQ2群852752783 ,这里都是学习RTOS的小伙伴,大家在这里交流RTOS的学习方法与学习经验,欢迎来加入我们,一起学习,共同成长!


点击阅读原文进入官网


原文标题:朱天龙:学习和掌握RTOS最好的方法

文章出处:【微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。


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

    关注

    32

    文章

    1540

    浏览量

    44286

原文标题:朱天龙:学习和掌握RTOS最好的方法

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    分享一个嵌入式开发学习路线

    操作系统(RTOS):学习FreeRTOS或RT-Thread,掌握任务创建与删除、任务调度、信号量、队列、定时器等核心概念。 物联网通信技术:掌握WiFi、Bluetooth、LoR
    发表于 12-04 11:01

    学习RTOS的意义?

    对于嵌入式软件工程师,学习RTOS非常有必要。 1. 项目需要 随着产品要实现的功能越来越多,单纯的裸机系统已经不能完美地解决问题,反而会使编程变得更加复杂,如果想降低编程的难度,就必须引入
    发表于 11-27 08:16

    嵌入式需要掌握哪些核心技能?

    嵌入式需要掌握哪些核心技能? 若想通过学习嵌入式技术提升就业竞争力,需重点掌握C语言、嵌入式硬件架构、RTOS/Linux开发、通信协议四大核心技能,并结合行业需求积累项目经验。
    发表于 10-21 16:25

    变频器维修需掌握方法

    变频器维修需要掌握方法多种多样,以下是一些关键的维修方法。   一、报警参数检查法 变频器通常会针对电压、电流、温度、通讯等故障给出相应的报错信息。维修人员应首先查看变频器的报警参数,了解故障
    的头像 发表于 08-03 07:38 1033次阅读

    ARM入门学习方法分享

    。 以下是一些入门学习方法的分享: 一、 理解基本概念:首先,了解ARM是什么以及它的基本概念是很重要的。ARM(Advanced RISC Machines)指的是一种精简指令集计算机(RISC
    发表于 07-23 10:21

    请问编译纯rtos到底是选择Linux+rtos的sdk编译only rtos还是直接使用rtos sdk?

    编译纯rtos到底是选择Linux+rtos的sdk编译only rtos还是直接使用rtos sdk?
    发表于 07-11 07:22

    【STM32单片机学习进阶路线】FreeRTOS嵌入式开发指南:从入门到智能循迹避障小车项目实战(含文档代码)

    STM32的学习路径一般是先掌握裸机开发,再进阶学习RTOS。简单的功能可通过裸机实现,而复杂产品则需借助RTOS来完成。随着
    的头像 发表于 05-29 11:46 891次阅读
    【STM32单片机<b class='flag-5'>学习</b>进阶路线】FreeRTOS嵌入式开发指南:从入门到智能循迹避障小车项目实战(含文档代码)

    详解RTOS中的Hook函数

    Hook函数是RTOS中的一个关键特性,通过该函数,用户可以增强对任务管理的控制,定义系统行为。
    的头像 发表于 03-24 16:14 839次阅读

    RTOS中的本地存储指针使用

    本地存储指针是RTOS中的一个重要特性,增强了任务管理和数据处理能力。在RTOS上下文中,本地存储是指存储在本地的特定任务或对象的数据。通常与任务本地存储(Task Local Storage,TLS)有关,其中数据存储在任务控制块(TCB)中,允许每个任务具有私有的、特
    的头像 发表于 02-28 16:33 1170次阅读
    <b class='flag-5'>RTOS</b>中的本地存储指针使用

    【入门必看】从菜鸟到大牛,嵌入式系统完整学习路线!看这篇就够了!

    嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品。本文为所有想进入嵌入式领域的初学者提供一个完整系统学习的路线图,按照“STM32单片机➡RTOS
    的头像 发表于 02-20 10:53 3190次阅读
    【入门必看】从菜鸟到大牛,嵌入式系统完整<b class='flag-5'>学习</b>路线!看这篇就够了!

    如何快速学习硬件电路

    对于想要学习硬件电路的新手来说,一开始可能感到有些困难,但只要掌握了正确的学习方法和技巧,就能够快速地成为一名优秀的硬件电路工程师。 首先,新手需要了解基本的电路知识,例如电阻、电容、电感等。这些
    的头像 发表于 01-20 11:11 1956次阅读
    如何快速<b class='flag-5'>学习</b>硬件电路

    RTOS中的错误检查机制

    在嵌入式应用中,有可能发生各种各样的错误,系统必须能够检测到这些错误并作出适当的响应。RTOS通常内置了一些错误检查功能,用于检测错误并向应用提供响应错误的方法
    的头像 发表于 01-03 14:44 1022次阅读

    传统机器学习方法和应用指导

    用于开发生物学数据的机器学习方法。尽管深度学习(一般指神经网络算法)是一个强大的工具,目前也非常流行,但它的应用领域仍然有限。与深度学习相比,传统方法在给定问题上的开发和测试速度更快。
    的头像 发表于 12-30 09:16 1982次阅读
    传统机器<b class='flag-5'>学习方法</b>和应用指导

    使用任务通知提高RTOS应用的效率

    在实时嵌入式系统中,性能和资源效率是决定设计成败的关键因素。传统的实时操作系统(RTOS)提供了如队列、信号量和事件组机制,实现任务之间的同步和通信。FreeRTOS/SAFERTOS还提供一种方法可以使这些过程更快、更轻量化,即任务通知。
    的头像 发表于 12-27 14:54 1071次阅读

    一种实现亚毫秒定时分辨率的RTOS方法

    你在使用实时操作系统(RTOS)时是否发现无法将任务调度或延迟精度降到毫秒以下?你可能不得不在RTOS之外编写大量应用代码。虽然这种方式可行,但这会让你怀疑应用程序是否满足其截止期限,是否可维护和可
    的头像 发表于 12-17 13:58 719次阅读
    一种实现亚毫秒定时分辨率的<b class='flag-5'>RTOS</b>新<b class='flag-5'>方法</b>