【学习FreeRTOS】第1章——FreeRTOS入门

news2024/11/26 16:42:06

1.裸机与RTOS介绍

1.1.裸机与RTOS引入(举例)

设定情景:小明同学一边打游戏一边恢复女友消息,中途突然肚子疼要上医院

  • 裸机的抽象表达
    当紧急情况时,如果当前正在打游戏,那么小明只能打游戏和回复信息的流程完成后才能去医院。
    在这里插入图片描述

  • RTOS的抽象表达
    当紧急情况时,高优先级任务先进行,可以及时处理紧急事件。
    在这里插入图片描述

1.2.裸机与RTOS的特点

裸机:又称为前后台系统,前台系统指的中断服务函数,后台系统指的大循环,即应用程序

  • 实时性差:应用程序轮流执行
  • delay空等待:CPU不执行其他代码
  • 结构臃肿:实现功能都放在无限循环
    在这里插入图片描述

RTOS:全称为Real Time OS,实时操作系统,强调的是实时性

  • 分而治之:实现功能划分为多个任务
  • 延时函数:任务调度
  • 抢占式:高优先级任务抢占低优先级任务
  • 任务堆栈:每个任务都有自己的栈空间
  • 中断可以打断任意任务
  • 任务可以同等优先级

【注】如果高优先级任务一直运行,就会一直占用CPU,知道任务完成、阻塞或被挂起才会交出CPU使用权。
在这里插入图片描述

2.FreeRTOS简介

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

  • 免费开源:商业产品中使用,无潜在商业风险,无须担心
  • 可裁剪:FreeRTOS的核心代码9000+行,包含在3个.c文件中
  • 简单:简单易用,可移植性非常好
  • 优先级不限:任务优先级分配没有限制,多任务可同一优先级(一般设置0-31)
  • 任务不限:可创建的实时任务数量没有软件限制(要考虑硬件内存大小)
  • 抢占/协程/时间片:支持抢占式,协程式、时间片流转任务调度

FreeRTOS官网:https://www.freertos.org/,学习流程循序渐进,由浅入深

  • Freertos基础知识:了解任务调度器,以及RTOS的特性,打好基础
  • Freertos内核任务:启动流程,中断管理、任务切换… …
  • Freertos各功能:列表、队列、信号量、内存管理 … …

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

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

相关文章

$bus的emit和on执行顺序

需求: 但是发现弹框组件第一次打开时,接收不到信息,第二次再摊开,就收到消息了。 原因是因为: 是因为全局事件总线必须先执行$on,再执行$emit 所以我们在使用$bus.$emit发送消息时,要使用nextTick包裹&…

删除的照片如何恢复?4个方法图文详解!

“刚刚和男朋友吵架不小心把我们的合照都删除了,照片是保存在电脑里的,现在真的很后悔。有什么方法能帮我恢复这些照片吗?真的求求了!” 照片承载着人们的美好回忆和愉快过往。当我们把照片导入电脑中,可以更清晰地查看…

JavaScript应用:五子棋游戏实战开发

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责…

在数据链路层扩展以太网

为了避免上一节中形成更大的碰撞域,所以从数据链路层来扩展: 网桥工作在数据链路层,因此网桥具备属于数据链路层范畴的相关能力。   网桥可以识别帧结构。   网桥可以根据帧首部中的目的MAC地址和网桥自身的帧转发表来转发或丢弃所收到的…

IT运维:使用数据分析平台监控PowerStore存储

概述 存储在企业中一直承担着重要的角色,保证数据的安全性更是重中之重。存储的运行是否正常?我们的数据是否安全?存储管理人员的操作是否规范?这些都是企业需要关注的问题。那么该如何确保这些问题能够有效的解决?我们…

STM32基于CubeIDE和HAL库 基础入门学习笔记:蓝牙 WIFI STM32连接阿里云

文章目录: 一:蓝牙模块 1.蓝牙模块透传收发测试程序 bt.h bt.c usart.c main.c 2.蓝牙模块AT指令发送与回复判断程序 usart.c main.c 3.蓝牙模块APP按钮控制应用程序 main.c 4.蓝牙模块APP专业调试测试程序(操控界面:按…

2023国赛 高教社杯数学建模ABCDE题思路汇总分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

进样顺序对列排斥能的影响

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入有3个节点,训练集AB各由6张二值化的图片组成,让AB中各有1个1,排列组合所有可能 ,统计迭代次数并排序。 差值结构 A-B 迭代次数 36组平均迭代次数 - 2 1 1*0*0*0*0*0-2*…

qt在vs中编译出现link2001时,不会生成moc文件了

现象: 解决方法: 在对应头文件-属性-配置属性-常规-项类型-改为Qt Meta-Object Compiler (moc) 即可。 有时候不知道啥原因头文件类型变成普通C头文件

深入解析中国供应商API:关键字搜索接口对接与商品数据交互指南

随着电商行业的快速发展,越来越多的企业开始与中国供应商进行合作。而为了实现有效的数据交换和协作,接口对接成为了不可或缺的一环。本文将深入探讨中国供应商API,介绍如何高效地进行接口对接与数据交互,并提供实用的Python示例代…

构建之法 - 软件工程实践教学:每天都向前推进一点点

作者:福州⼤学 汪璟玢⽼师 汪老师:每次都向前推进一点点,哪怕只有一点点,也好过什么都不做。 ​邹老师:对,几个学期下来,就已经超过那些“空想”的团队很远了。坚持下去! 汪老师&…

以商业大数据技术助力数据合规流通体系建立,合合信息参编《数据经纪从业人员评价规范》团标

经国务院批准,由北京市人民政府、国家发展和改革委员会、工业和信息化部、商务部、国家互联网信息办公室、中国科学技术协会共同主办的2023 全球数字经济大会于近期隆重召开。由数交数据经纪(深圳)有限公司为主要发起单位,合合信息…

『C语言初阶』第七章 -初识指针

前言 时隔多日小羊又来给铁汁们更新C语言之初识指针,指针是C语言中一个关键且强大的概念,理解和掌握指针对于编写高效、灵活的程序至关重要。本文将详细解释C语言中的指针,帮助初学者迈出掌握编程世界的第一步。 一、指针是什么?…

无涯教程-Perl - int函数

描述 此函数返回EXPR的整数元素,如果省略则返回$_。 int函数不进行舍入。如果需要将值四舍五入为整数,则应使用sprintf。 语法 以下是此函数的简单语法- int EXPRint返回值 此函数返回EXPR的整数部分。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl$int_valint…

PromQL实现Actuator获取的JVM指标的Full GC次数监控

Spring Boot 版本需要2.0.0或更高版本。 添加Micrometer Prometheus registry依赖: <dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId> </dependency>在application.properties中开…

哪个牌子的运动耳机好、最好的运动耳机推荐

在当今快节奏的生活中&#xff0c;运动已经成为许多人追求健康与活力的重要组成部分。而在运动过程中&#xff0c;一款出色的运动耳机不仅能为我们提供激励和动力&#xff0c;还能让我们沉浸在音乐的世界中&#xff0c;享受极致的运动体验。然而&#xff0c;市场上琳琅满目的运…

[LeetCode - Python] 278.第一个错误的版本(Easy)

题目&#xff1a; 278.第一个错误的版本&#xff08;Easy&#xff09; 代码&#xff1a; # 常用的 左闭右开&#xff0c;二分法&#xff0c;要当心判断条件 到底是True还是False # The isBadVersion API is already defined for you. # def isBadVersion(version: int) -&g…

【Spring security 解决跨域】

security 跨域 概述方案方案一方案二方案三方案四 主页传送门&#xff1a;&#x1f4c0; 传送 概述 Spring Security是一个功能强大且高度可定制的&#xff0c;主要负责为Java程序提供声明式的身份验证和访问控制的安全框架。其前身是Acegi Security,后来被收纳为Spring的一个…

hcip的BGP实验

题目 拓扑图 思路&#xff1a; 1、给各个设备配置IP地址及环回接口 2、配置R2、R3、R4&#xff0c;三个设备的OSPF环境 3、将R1、R2、R3、R4、R5建立BGP对等体关系 4、建临时&#xff0c;将源地址也修改为环回接口 5、宣告时&#xff0c;将BGP路由传递给本地的邻居时修改下…

mysql一些统计实用函数

文章目录 一对多&#xff0c;多的一端只查询最新数据YEAR 年份函数MONTH 月份函数QUARTER 季度函数往前递推十年往后递推十年查询去年12月份统计身份证户籍所在地人数 一对多&#xff0c;多的一端只查询最新数据 ROW_NUMBER() over(PARTITION BY evt_id ORDER BY evt_node_rec…