freeRTOS学习

总结

1.总结任务调度算法之间的区别

调度算法:抢占式调度:优先级高的任务可以打断低优先级任务的执行,适用于不同优先级任务的执行。
时间片轮换:分配时间片(1ms),时间片耗尽时,任务必须退出,适用于相同优先级之间
协作式调度:主要运用osDelay实现,两个任务协商运行。


2.静态创建任务和动态创建任务的区别,以及动态创建任务和静态创建任务的源码分析步骤。

静态创建任务一般用于确任务数量确定的场景,静态创建任务时会创建一个数组,数组太大会导致内存不足
需要具体的栈(通过数组指定),还需要提供栈的大小
使用 xTaskCreateStatic函数创建动态创建任务不需要指定具体的栈,只需要指出栈的大小,展会通过pvPortMalloc动态创建
动态创建需要消耗更多的系统资源
动态创建适用于需要随时申请和随时释放的场景
使用 xTaskCreate函数创建

3.总结任务的状态,以及任务状态之间的转换关系。

4种状态:就绪(Ready)、挂起(Suspended)、运行(Running)、阻塞(Blocked)

就绪->运行:调度器选择了当前任务,让当前任务代码执行。
就绪->挂起:使用vTaskSuspend函数让任务进入挂起态。

运行->就绪:当任务执行结束后,重新进去就绪态。
运行->挂起:使用vTaskSuspend函数让任务进入挂起态。
运行->阻塞:等待时间进入阻塞态。

阻塞->就绪:当等待事件完成后,就进入就绪态。
阻塞->挂起:使用vTaskSuspend函数让任务进入挂起态。

挂起->就绪:使用vTaskResume函数让任务进入就绪态。

思维导图

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言_第一轮笔记_指针

8.1 密码开锁 地址和指针 一般以变量所在的内存单元的第一个字节的地址作为他的地址NULL的值为0,代表空指针 指针变量的定义 类型名 *指针变量名类型名指定指针变量所指向变量的类型指针声明符*在定义指针变量时被使用,说明被定义的那个变量是指针指针变…

【Algorithms 4】算法(第4版)学习笔记 23 - 5.4 正则表达式

文章目录 前言参考目录学习笔记1:正则表达式1.1:表示1.2:快捷表示2:正则表达式与非确定有限状态自动机 REs and NFAs2.1:二元性2.2:模式匹配实现2.3:非确定有限状态自动机 Nondeterministic fin…

mysql 判断一张表是否存在的方法

查询表是否存在 使用 SHOW TABLES SHOW TABLES LIKE %tbl_tabl%;结果: 查询 INFORMATION_SCHEMA // like 匹配 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA test AND TABLE_NAME like %tbl%; // 完全匹配 SELECT TABLE_NAME FROM INFORMATION_SC…

一个简单的Demo展示fastapi+tortoise-orm+celery如何搭配

1. 创建并激活虚拟环境 python3 -m venv venv source venv/*/activate 2. 安装依赖包 pip install fastapi uvicorn[standard] tortoise-orm celery[redis] fastapi-cdn-host 3. 配置数据库连接参数 - config.py from typing import TypedDictclass TortoiseInitParam(Ty…

HarmonyOS NEXT应用开发之ForEach:循环渲染

ForEach接口基于数组类型数据来进行循环渲染,需要与容器组件配合使用,且接口返回的组件应当是允许包含在ForEach父容器组件中的子组件。例如,ListItem组件要求ForEach的父容器组件必须为 List组件 。 说明: 从API version 9开始&a…

计算机网络|谢希仁版|数据链路层

数据链路层 数据链路层研究的是什么?数据链路层的几个共同问题数据链路与链路帧通信规程 三个基本问题封装成帧透明传输差错检测可靠传输 点对点协议PPPPPP协议应满足的需求PPP协议的组成PPP协议帧的格式各字段的意义字节填充零比特填充PPP协议的工作状态 使用广播信…

恒创科技:Windows 服务器关闭防火墙的两种方法

​  防火墙是在Windows服务器中的一项安全功能,可监视所有网络流量(传入和传出),并根据一组旨在保护系统免受黑客攻击的规则允许或阻止流量。然而,在某些情况下,您可能需要暂时关闭防火墙以进行特定的网络配置或测试。本文将介绍…

03 Python进阶:MySQL - mysql-connector

mysql-connector安装 要在 Python 中使用 MySQL 数据库,你需要安装 MySQL 官方提供的 MySQL Connector/Python。下面是安装 MySQL Connector/Python 的步骤: 首先,确保你已经安装了 Python,如果没有安装,可以在 Python…

mac、windows 电脑安装使用多个版本的node

我们为啥要安装多个不同版本的node? 开发旧项目时,使用低版本Nodejs。开发新项目时,需使用高版本Node.js。可使用n同时安装多个版本Node.js,并切换到指定版本Node.js。 mac电脑安装 一、全局安装 npm install -g n 二、mac电脑…

如何优化TCP?TCP的可靠传输机制是什么?

在网络世界中,传输层协议扮演着至关重要的角色,特别是TCP协议,以其可靠的数据传输特性而广受青睐。然而,随着网络的发展和数据量的激增,传统的TCP协议在效率方面遭遇了挑战。小编将深入分析TCP的可靠性传输机制&#x…

LeetCode_394(字符串解码)

双栈法 public String decodeString(String s) {String res "";Stack<Integer> countStack new Stack<>();Stack<String> resStack new Stack<>();int idx 0;while (idx < s.length()){char cur s.charAt(idx);//处理数字if(Charact…

2024第八届全国青少年无人机大赛暨中国航空航天科普展览会

2024第八届全国青少年无人机大赛暨中国航空航天科普展览会 邀请函 主办单位&#xff1a; 中国航空学会 重庆市南岸区人民政府 招商执行单位&#xff1a; 重庆港华展览有限公司 为更好的培养空航天产业人才&#xff0c;汇聚航空教育产业创新科技&#xff0c;丰富和完善航…