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
    +关注

    关注

    31

    文章

    1285

    浏览量

    40088

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

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

收藏 人收藏

    评论

    相关推荐

    物联网学习路线来啦!

    丰富,功能越来越复杂,所以大家对嵌入式实时操作系统的需求也越来越多。了解嵌入式实时操作系统的概念及核心思想,通过一款常见的RTOS学习,比如FreeRTOS或者RT-Thread,熟练掌握操作系统
    发表于 11-11 16:03

    Pytorch深度学习训练的方法

    掌握这 17 种方法,用最省力的方式,加速你的 Pytorch 深度学习训练。
    的头像 发表于 10-28 14:05 195次阅读
    Pytorch深度<b class='flag-5'>学习</b>训练的<b class='flag-5'>方法</b>

    嵌入式学习建议

    对广大渴望学习嵌入式系统的学子提出几点基础阶段的学习建议: ①嵌入式系统软件硬件密切相关,一定要打好软硬件基础。其实,只要找到正确的方法,加上努力,任何理工科学生,甚至非理工科学生,都能学好嵌入式
    发表于 10-22 11:41

    freertos和rtos区别是什么

    FreeRTOS 和 RTOS(实时操作系统)是两个不同的概念,但它们之间有紧密的联系。FreeRTOS 是一个特定的开源实时操作系统,而 RTOS 是实时操作系统的一般概念。 概念定义 RTOS
    的头像 发表于 09-02 14:18 1172次阅读

    RTOS的特性和类型

    实时操作系统(RTOS)是一种可运行实时计算应用程序的软件平台,用于处理具有明确时间约束的事件和数据。与通用操作系统(GPOS)不同,RTOS必须在有限的硬件资源上调度应用程序之间的处理和数据共享
    的头像 发表于 08-20 11:29 572次阅读

    RTOS开发最佳实践

    基于RTOS编写应用程序时,有一些要注意事项。在本节中,您将学习RTOS开发最佳实践,例如POSIX合规性、安全性和功能安全认证。
    的头像 发表于 08-20 11:24 447次阅读

    从菜鸟到大牛!嵌入式完整学习路线:STM32单片机-RTOS-Linux

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

    深度学习中的时间序列分类方法

    的发展,基于深度学习的TSC方法逐渐展现出其强大的自动特征提取和分类能力。本文将从多个角度对深度学习在时间序列分类中的应用进行综述,探讨常用的深度学习模型及其改进
    的头像 发表于 07-09 15:54 877次阅读

    risc-v的mcu对RTOS兼容性如何

    RISC-V的MCU对RTOS(实时操作系统)的兼容性主要取决于多个因素,包括RTOS的版本、RISC-V指令集的实现、以及芯片制造商提供的支持。以下是关于RISC-V的MCU对RTOS兼容性的一些
    发表于 05-27 16:26

    请问CMSIS-RTOS怎么调试?

    如果用的是MDK的RTX组件,调试倒是很简单,问题是用CUBEMX生成的CMSIS-RTOS就不知道有什么好办法调试了。 各位有什么好的方法
    发表于 05-14 06:40

    stm32单片机学习路线

    RTOS)的基本概念:实时操作系统在一些复杂的应用中非常有用。了解RTOS的基本概念,如任务、信号量、消息队列等,可以帮助你设计和开发更加复杂的应用。 2.学习配置和使用STM32的外设:
    发表于 05-10 15:34

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

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

    嵌入式工程师需要掌握哪些技术?

    RTOS)或者一个精简版的操作系统。熟悉RTOS的概念和使用方法,能够编写多任务和实时任务调度的代码是非常重要的。此外,了解操作系统内核的工作原理以及与硬件交互的方式也是必须的。 4. 通信协议
    发表于 03-04 16:38

    请问初学者要怎么快速掌握FPGA的学习方法?

    对于初学者 FPGA的编程语言是什么? FPGA芯片的基础结构也不了解. FPGA开发工具的名称和使用方法都不知道. 要学的很多啊,请问有什么自学的学习方法么?
    发表于 01-02 23:01

    国芯科技与航天龙梦就国产Raid 芯片和板卡达成战略合作协议

    近日,国芯科技(证券简称 “ 国芯科技 ” ,证券代码688262.SH)与 江苏航天龙梦信息技术有限公司(简称“航天龙梦”) 签署了《战略合作协议》,基于国芯科技自主可控Raid芯片和板卡
    的头像 发表于 12-27 08:45 496次阅读