【STM32嵌入式系统设计与开发拓展】——16_FreeRTOS操作系统

news2024/11/25 18:59:06

参考:链接: 正点原子

一、认识裸机和RTOS

裸机是无操作系统支持,程序直接运行在硬件上,开发者要自行处理硬件细节。早期单片机常采用,优点是性能和资源利用率高,缺点是开发难、可移植性差。RTOS 是实时操作系统,对任务响应有严格要求,如汽车制动系统。它能减轻开发负担,但会占用资源影响性能。两者各适用于不同场景在这里插入图片描述

裸机特点:

1、实时性差
2、延时函数delay时候是空等待不做任何工作的
3、结构臃肿

在这里插入图片描述

RTOS特点:

1、实现功能划分为多个任务
2、任务调度
3、 高优先级任务抢占低优先级任务
4、每个任务都有自己的栈空间

FreeRTOS:

是一个免费的嵌入式实时操作系统
1、免费开源
2、可裁剪
3、简单
4、优先级不限
5、任务不限
6、 抢占/协程/时间片
7、主流

抢占式调度:

在这里插入图片描述 1、【任务设置的数值越大,优先级越高】;
2、高优先级任务不停止,低优先级任务无法执行;
3、被抢占的任务将会进入就绪态;

时间片调度:

在这里插入图片描述
1、同等优先级任务,轮流执行,时间片流转
2、一个时间大小,取决为滴答定时器中断周期
3、没有用完的时间片不会再使用

任务状态

在这里插入图片描述

在这里插入图片描述

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


二、FreeRTOS移植

1、源码获取

FreeRTOS官网:https://www.freertos.org/

2、FreeRTOS移植

链接: link

3、系统配置文件说明

三、代码分析

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

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

相关文章

vscode导入的包裹代码名称没有颜色

问题描述:代码其他染色正常,但是例如import torchtorch没有颜色,虽然能够识别(ctrl左键能够点进去看到torch代码) 解决: 下载extention pylancefile->preferences->settings, 搜索Python: Language Server, 从default改成pylance

JAVA—IO流

存储数据的方案File和文件数据的操作IO流,学习字节流和字符流,了解框架和IO框架Commons IO 目录 1.File (1)创建对象 (2)常用方法 【1】判断类型,获取信息 【2】创建文件,删除…

LNMP学习

一、LNMP—web 1. 概述 LNMP/LAMP linux/windows/unix apache/nginx mysql/pgsql php/jsp 2. nginx部署及其平滑升级 实操 3. nginx七层负载均衡及算法 算法参考文档:https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/ 实操 4…

flv格式转换mp4怎么转换?5个软件帮助你自己快速进行格式转换

flv格式转换mp4怎么转换?5个软件让你从此快速转换格式不求别人 将FLV格式的视频转换为MP4格式可以通过使用以下五款软件来轻松实现。这些工具操作简便,能够快速高效地完成视频格式的转换,让你轻松应对各种视频格式需求。 口袋视频转换器 这…

网安新声 | 网易云音乐崩了:网络安全如何守护在线体验

网安加社区【网安新声】栏目,汇聚网络安全领域的权威专家与资深学者,紧跟当下热点安全事件、剖析前沿技术动态及政策导向,以专业视野和前瞻洞察,引领行业共同探讨并应对新挑战的策略与可行路径。 8月19日,#网易云音乐崩…

“休闲化“趋势增强,IAA手游出海如何抓住增长机遇?

进入存量时代,全球手游市场正面临严峻的挑战。数据显示,2023年 App Store 和 Google Play 的全球双端下载量同比下降10%,IAP 收入也同比减少2%。而作为大盘的支柱品类,中重度手游首当其冲。以 RPG 和 SLG 品类为例,虽然…

Halo个人博客Docker部署结合内网穿透为本地站点配置公网地址远程访问

文章目录 前言1. Docker部署Halo1.1 检查Docker版本如果未安装Docker可参考已安装Docker步骤:1.2 在Docker中部署Halo 2. Linux安装Cpolar2.1 打开服务器防火墙2.2 安装cpolar内网穿透 3. 配置Halo个人博客公网地址4. 固定Halo公网地址 前言 本文主要介绍如何在Cen…

常见计算机网络协议汇总(非常详细)从零基础入门到精通,看完这一篇就够了

文章目录 前言计算机网络五层模型回顾应用层协议 DNS协议:HTTP协议HTTPS协议 传输层协议 UDP协议TCP 网络层 IP协议ICMP协议 数据链路层 ARP协议 物理层整体的网络传输流程 1️⃣网络安全零基础入门 ① 学习路线② 路线对应学习视频 2️⃣视频配套资料&国内外网…

二分+前缀和+思维,CF 1902D - Robot Queries

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1902D - Robot Queries 二、解题报告 1、思路分析 不管怎么反转: 起点终…

【新品实测】C1001毫米波人体检测传感器来了!跌倒检测、睡眠监测更准确!

我们最近推出了一款全新的60G毫米波产品:C1001毫米波人体检测传感器。在这篇文章中,我们将深入测评这款产品的性能,并详细解析C1001毫米波人体检测传感器的功能和特性。 产品链接:C1001 60GHz毫米波人体检测传感器 原文链接&…

QML ScrollView 实现自动滚动到底部

先看效果,每当有新的日志,会自动添加到Text中,主要实现了ScrollView自动滑动到底部,显示最新的日志 目录 1.思路2.position分析 1.思路 在官网中scrollview并没有关于scrollview位置的设置 但是我们可以控制右边滑动条scrollbar的位置 注意position并不是一个高度数据,你可以…

Adobe Dreamweaver(DW)网页代码编辑器win/mac软件安装下载

一、Adobe DW软件概览 1.1 DW软件简介 Adobe Dreamweaver(简称DW)是一款功能强大的网页代码编辑器,由Adobe公司开发并维护。其全称为“Adobe Dreamweaver”,中文译为“梦想编织者”。DW集网页制作和管理网站于一身,支…

Allegro PCB位号重排反标原理图步骤

第一步:也是最重要的一步,备份整个工程文件夹。 防止操作过程中误操作导致工程文件出问题,万一出问题,没有备份,调整代价比较大 第二步:确认当前PCB和原理图的网表统一。 稳妥做法: 2a:原理图…

Linux入门——07 动静态库软硬连接

1.动静态库 静态库(.a):程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库动态库(.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。一…

如何在VMware ESXI中创建Linux虚拟机并实现异地SSH远程访问

目录 ⛳️推荐 前言 1. 在VMware ESXI中创建Ubuntu虚拟机 2. Ubuntu开启SSH远程服务 3. 安装Cpolar工具 4. 使用SSH客户端远程访问Ubuntu 5. 固定TCP公网地址 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不…

抛苹果卖银行 巴菲特到底怕什么?

文|琥珀食酒社 作者 | 积溪 停不下来、根本就停不下来 94岁的巴菲特还在疯狂卖股票 他到底是看到什么我们没看到的真相 对咱们普通人到底有没有参照价值? 我先说结论 你可以不相信有钱人的人品 但一定要知道有钱人的钱去哪儿了 尤其这个人还是巴…

机房环境监控系统

随着信息技术的飞速发展,数据中心作为信息处理的核心设施,其重要性日益凸显。数据中心内部通常包含大量的服务器、存储设备以及网络设备等关键基础设施,这些设备的稳定运行直接影响到业务的连续性和数据的安全性。因此,建立一个高…

插入排序(直接插入排序和希尔排序)

先写单趟,再写整体。 一、直接插入排序 1.基本思想 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经安排好的有序序列中,直到所有的记录插入完为止,得到一个新…

2024年【起重信号司索工(建筑特殊工种)】考试题及起重信号司索工(建筑特殊工种)免费试题

题库来源:安全生产模拟考试一点通公众号小程序 起重信号司索工(建筑特殊工种)考试题是安全生产模拟考试一点通总题库中生成的一套起重信号司索工(建筑特殊工种)免费试题,安全生产模拟考试一点通上起重信号司索工(建筑特殊工种)作业手机同步练习。2024年…

自定义注解,实现字段加密解密

根据业务需求,要求多部分字段,进行加解密,想到实现方式,就是通过自定义的注解AOP来实现 首先新建一个注解,注意ElementType.FIELD类型,说明这个注解只能作用在字段上 Target({ElementType.FIELD}) Retention(RetentionPolicy.RUNTIME) public interface NeedEncrypt { }在新建…