一、RTOS入门

news2024/11/16 3:38:14

目录

一、裸机与RTOS介绍

1、裸机

2、 RTOS

二、FreeRTOS简介

1、FreeRTOS 特点

2、关于FreeRTOS学习资料


一、裸机与RTOS介绍

1、裸机

        简介:裸机又称为前后台系统前台系统指的中断服务函数后台系统指的大循环(While循环),即应用程序。
        例子:打游戏和回复信息,需要打完游戏才可回复信息,或者回复完信息才可打游戏。

        特点:① 实时性差        应用程序,轮流执行,只有打完游戏才能回复消息。

                   ② delay              空等待,CPU不执行其他代码(浪费资源)。

                   ③ 结构臃肿        实现功能都放在while循环里。

图1 裸机程序逻辑

2、 RTOS

        简称: RTOS全称为:Real Time OS,就是实时操作系统,强调的是:实时性。
        例子:打游戏和回复信息,不需要等某一件事做完,可每间隔1ms(一个时间片时钟节拍),然后交替做这两件事,因为速度很快,从宏观的意义上来看,类似同步执行!   

         特点:① 分而治之        实现功能划分为多个任务。打游戏和回复信息每间隔1ms交替执行。

                    ② 延时函数        不会空等待,会让出CPU的使用权给其他任务,即任务调度。

                    ③ 抢占式            高优先级任务抢占低优先级任务。

                    ④ 任务堆栈        每个任务都有自己的栈空间,用于保存局部变量以及任务的上下文信息。任务被高优先级的任务打断时,把局部变量和打断处地址保存到堆栈空间,当高优先级任务执行完毕后,根据堆栈空间的局部变量和打断处地址,继续执行之前被打断的任务。

图2 RTOS程序逻辑

                    注意1:中断可以打断任意任务。
                    注意2:任务可以同等优先级。
                    问题:如果高优先级的任务一直在运行,会怎么样? 会一直运行,使得低优先级任务无法运行。

二、FreeRTOS简介

1、FreeRTOS 特点

       FreeRTOS 是一个免费的嵌入式实时操作系统。具有以下特点:  

       ① 免费开源。商业产品中使用,无潜在商业风险,无须担心。

       ② 可裁剪。FreeRTOS的核心代码9000+行,包含在3.c文件中。

       ③ 简单。简单易用,可移植性非常好。

       优先级不限。任务优先级分配没有限制,多任务可同一优先级。但受制于硬件,STM32优先级范围是0~31。

       ⑤ 任务不限。可创建的实时任务数量没有软件限制。但是会受到芯片内存的现在,因为每创建一个任务,则会分配一个堆栈。

       ⑥ 抢占/协程/时间片。 支持抢占式、协程式、时间片流转任务调度。

2、关于FreeRTOS学习资料

资料整理:FreeRTOS官网:https://www.freertos.org/

                  正点原子学习资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2151132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于PHP的新闻管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于phpMySQL的新闻管理系统。…

数据结构—(java)反射,枚举,lambda表达式

文章目录 反射反射的定义:反射相关的类:反射相关的方法:反射示例:获取Class类对象创建指定类的对象反射私有属性:反射私有方法:反射私有的构造方法 枚举枚举的意义枚举类的实现枚举类的使用:Enu…

JVM面试知识点手册

第一部分:JVM 概述 1.1 JVM 简介 Java Virtual Machine(JVM) 是 Java 语言的核心组件,负责将 Java 程序编译后的字节码(bytecode)转换为机器指令,并在目标机器上执行。JVM 提供了硬件和操作系…

创客匠人案例故事|闭关 20 天,私域大爆发,高额发售秘诀是什么?

不是你的能力决定了你的命运,而是你的决定改变了你的人生 王龙老师心赏教养法创始人心赏家园家庭“心生态”发起人国家二级心理咨询师 他是一名致力于解决家庭困境的老师,通过心赏转化五步法,帮助身陷家庭困境的父母,解决自我关系…

Linux——k8s认识

计算资源隔离 - 更方便进行高并发架构的维护和升级 - 架构管理的灵活性更高,不再以单个节点的物理资源作为基础 技术: - 硬件辅助虚拟化 - 容器技术 在企业部署方案中,很少以单节点实现虚拟化和容器技术,一般以集群状态来运…

翻唱技巧:AU和Cubase翻唱录制对轨技巧

分享和记录一下个人翻唱的经验和技巧!防止后续自己忘了!同时如果有大佬看到,希望可以帮我指出其中的错误!个人推荐用Cubase12录制翻唱,因为Cubase12可以做乐段的标记,翻唱时有助于学习一些歌曲的层次设计。…

C++对象拷贝时的优化编译

在现代编译器中,当我们在 C中进行对象的拷贝操作时,编译器并非只是机械地执行逐字节的复制。相反,它会进行优化,避免不必要的拷贝构造等等,这种优化包括“返回值优化”(RVO),“拷贝省…

JavaSE——String类

一、字符串构造 注意:String是引用类型,内部并不存储字符串本身。 有三种方式: public class Test1 {public static void main(String[] args) {// 使用常量串构造String s1 "hello java";System.out.println(s1);// 直接newSt…

JavaEE:探索网络世界的魅力——玩转UDP编程

文章目录 UDPUDP的特点UDP协议端格式校验和前置知识校验和具体是如何工作的? UDP UDP的特点 UDP传输的过程类似于寄信. 无连接: 知道对端的IP和端口号就直接进行传输,不需要建立连接.不可靠: 没有确认机制,没有重传机制,如果因为网络故障导致该段无法到达对方,UDP协议也不会…

Linux:make,Makefile

hello,各位小伙伴,本篇文章跟大家一起学习《Linux:make,Makefile》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞&…

技术成神之路:设计模式(十四)享元模式

介绍 享元模式(Flyweight Pattern)是一种结构性设计模式,旨在通过共享对象来有效地支持大量细粒度的对象。 1.定义 享元模式通过将对象状态分为内部状态(可以共享)和外部状态(不可共享)&#xf…

为什么我不建议你考CCNA/HCIA这种初级认证

CCNA和HCIA,这两个证书可能是许多刚入门的网络工程师第一个听说的认证。作为入门级网络认证,CCNA是思科公司推出的,提供了网络基础的全面知识,而HCIA则是华为的基础认证,覆盖了网络技术的基本原理。 这些认证的目的是帮…

2023-03 GESP Python一级试卷

一、单选题(每题 2 分,共 30 分) 1.以下不属于计算机输入设备的有( )。 ​ A.键盘 ​ B.音箱 ​ C.鼠标 ​ D.传感器 2.计算机系统中存储的基本单位用 B 来表示&am…

用友U8二次开发工具KK-FULL-*****-EFWeb使用方法

1、安装: 下一步,下一步即可。弹出黑框不要关闭,让其自动执行并关闭。 2、服务配置: 输入服务器IP地址,选择U8数据源,输入U8用户名及账号,U8登录日期勾选系统日期。测试参数有效性,提示测试通过…

洞悉市场先机,Vatee万腾平台助力企业精准决策

在瞬息万变的商业环境中,每一个市场动向都可能成为企业兴衰的关键。因此,洞悉市场先机,做出精准决策,成为了企业持续发展和保持竞争力的核心要素。Vatee万腾平台,凭借其强大的数据分析能力和智能化技术,正成…

对象检测边界框损失 – 从IOU到ProbIOU

1.概述 目标检测损失函数的选择在目标检测问题建模中至关重要。通常,目标检测需要两个损失函数,一个用于对象分类,另一个用于边界框回归(BBR)。本文将重点介绍 IoU 损失函数(GIoU 损失、DIoU 损失和 CIoU 损…

【补码运算】设x=FEH,当x分别为下列情况时写出其对应的十进制真值(写出计算过程):(1)为原码(2)为补码。

欢迎来到我的技术博客! 🎉 这里不仅有满满的编程干货和学习资源,我的某站账号也为你准备了更多实用的技术视频和知识分享。 👉 点击关注我的小破站账号,获取更多编程技巧和学习资源! 小破站主页 题目&…

搜索引擎onesearch3实现解释和升级到Elasticsearch v8系列(三)-文档

文档 文档服务负责写入,包括批量;id获取文档;nested写入 写入文档 写入文档主要是构建IndexRequest,索引请求 Elasticsearch v8构建文档索引请求简单很多,可以直接接受Map数据 批量写入文档 批量操作可以融合增删改…

肥胖成因:饮食之外,消耗吸收慢是关键因素

肥胖问题一直被现代社会所关注,不可否认,饮食是影响胖瘦的重要因素之一。高热量、高油脂的食物摄入过多,也确实会导致热量油脂过剩,堆积储存进身体内进而养肥身体。可在正常情况中,就算是消耗吸收率一般的人&#xff0…

从源码看透 Ptmalloc:堆内存分配与释放的背后

🛸0. 前言 内存管理是个很复杂的东西,一般的程序员在写应用层代码的时候根本就不会关注内存的使用,尤其是 GC 语言自带垃圾回收机制,很多同学都使用过 C 语言中的 malloc,但很少有人能知道 malloc 其实是个很复杂的实现…