- 2024-11-21在freertos中对于分配线程栈空间的估算(建议收藏!!!)
一、宏观估算方法宏观上,依据任务函数及其调用函数来综合确定栈空间需求。任务函数的栈帧包含局部变量存储与寄存器使用等元素。例如,有如下简单的C语言代码表示的任务函数 TaskFunction(请注意:我们分析的都是任务函数,而不是线程创建函数(xTaskCreate等)):voidFunctionB(intpar
- 2024-11-20stm32f4 使用FreeRTOS例程
文章目录引言开发环境搭建配置STM32CubeMX编写FreeRTOS任务代码编译与调试结论stm32f4使用FreeRTOS例程引言随着物联网(IoT)和嵌入式系统的发展,实时操作系统(RTOS)在资源受限的嵌入式设备上得到了广泛应用。FreeRTOS作为一种开源的、可裁剪的RTOS,因其轻量级、高可靠
- 2024-11-11FreeRTOS 24:事件组EventGroup等待、清零、获取操作
等待事件标志位xEventGroupWaitBits()既然标记了事件的发生,那么我怎么知道他到底有没有发生,这也是需要一个函数来获取事件是否已经发生,FreeRTOS提供了一个等待指定事件的函数——xEventGroupWaitBits(),通过这个函数,任务可以知道事件标志组中的哪
- 2024-11-10stm32 HAL 添加 FREERTOS系统(使用stm32cubemx)
#学习笔记,留存#1.ClockConfiguration(时钟配置)HSE,LSE选择外部晶振系统时钟选择TIM6,systick(滴答时钟)给FREERTOS用根据自己的芯片配置时钟(我用的是stm32f103zet6)AHB总线72MHZAPB1总线36MHZ APB2总线72MHZ2.ADDFREERTOS(添加实时系统)在Pinout&Co
- 2024-11-10FreeRTOS
目录官网:FreeRTOS™-FreeRTOS™01基础一、任务调度简介(熟悉)1、什么是任务调度器2、FreeRTOS的任务调度方式3、抢占式调度过程4、什么是时间片5、时间片调度过程二、任务状态(熟悉)1、FreeRTOS的任务状态2、四种任务状态之间的转换关系3、任务状态列表02文件
- 2024-11-07freeRTOS学习笔记
FreeRTOS介绍官网:https://freertos.org/任务调度:FreeRTOS通过任务调度器管理多个任务,支持不同优先级的任务,实现任务的有序执行。任务通信和同步:提供了队列、信号量等机制,支持任务之间的通信和同步,确保数据的安全传递。内存管理:提供简单的内存管理机制,适用于嵌入式环
- 2024-11-06第九章 FreeRTOS 任务切换
9.1PendSV异常PendSV(可挂起的系统调用)异常对OS操作非常重要,其优先级可以通过编程设置。可以通过将中断控制和壮态寄存器ICSR的bit28,也就是PendSV的挂起位置1来触发PendSV中断。与SVC异常不同,它是不精确的,因此它的挂起状态可在更高优先级异常处理内设置,且会
- 2024-11-05FreeRtos中任务的有关理解
osThreadNew 和 xTaskCreate 都是用于创建任务(线程)的函数,但它们属于不同的接口和框架。接口层级:xTaskCreate:是FreeRTOS的原生API直接用于创建任务,属于FreeRTOS的核心函数。这是一个更低级的接口,直接与FreeRTOS的调度器交互。osThreadNew:是根据CMSIS-RTOSA
- 2024-11-04【花雕学编程】Arduino RTOS 之时间片轮转调度
Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用ArduinoIDE(集成开发环境)来编写、
- 2024-11-03FreeRTOS操作系统1,介绍
1操作系统1.1.1操作系统概述手机:点击相机(上位机顶层)---->操作系统----->打开摄像头(硬件底层)不上操作系统:相机--->打开摄像头:该情况下只有原相机可以打开摄像头,不支持第三方软件MCU:没上操作系统之前--->硬件上操作系统:MCU--->操作系统--->硬件图例:1.1.2常见操作系统Win
- 2024-11-01RTX5/FreeRTOS全家桶源码工程综合实战模板集成CANopen组件(2024-10-30)
【前言】之前的视频教程分享了两期CANopen的专题,配套的例子都是基于裸机的,为了方便大家在OS下使用,本期视频带OS下的支持。CANopen协议栈专题,实战方式系统了解NMT,PDO,SDO,时间戳,同步报文,紧急报文等(2023-10-17)https://www.armbbs.cn/forum.php?mod=viewthread&tid=121438CANopen
- 2024-10-29第六章 FreeRTOS 任务相关 API 函数
6.1任务创建和删除API函数FreeRTOS的任务创建和删除API函数如表:函数xTaxkCreate()此函数用来创建一个任务,任务需要RAM来保存与任务有关的状态信息(任务控制块),任务也需要一定的RAM来作为任务堆栈。如果使用函数xTaskCreate()来创建任务的话那么这些所需的RAM
- 2024-10-27FreeRTOS 4:任务相关数据结构
任务相关数据结构任务控制块TCB_tFreeRTOS的每个任务都有⼀些属性需要存储,FreeRTOS把这些属性集合到⼀起⽤⼀个结构体来表⽰,这个结构体叫做任务控制块:TCB_t,在使⽤函数xTaskCreate()创建任务的时候就会⾃动的给每个任务分配⼀个任务控制块。此结构体在文件tasks.c中有定
- 2024-10-26FreeRtos的移植
一.前言之前移植过freertos操作系统,涉及到计算机和操作系统的底层,特此详细记录下这些知识点。至于具体的详细步骤,就不给出了,网上有很多参考,这里只分析“重点”。笔者的cpu内核是cotex-M3.二.3个重点函数vPortSVCHandler():加载第一个任务的中断处理函数。xPortPendSVHandler()
- 2024-10-23ARM/Linux嵌入式面经(五十):tp普联
1.FreeRTOS与Linux、Windows操作系统的核心区别是什么?深入探讨实时性、资源占用、任务调度、内核可配置性等方面的差异。FreeRTOS与Linux、Windows操作系统的核心区别主要体现在实时性、资源占用、任务调度、内核可配置性等方面。以下是对这些方面的深入探讨:实时性:
- 2024-10-22FreeRTOS学习——临界段代码保护及调度器挂起与恢复及其API函数内部实现详解
FreeRTOS临界段代码保护及调度器挂起与恢复FreeRTOS临界段代码保护及调度器挂起与恢复临界保护区任务调度器挂起与恢复使用格式特点函数内部实现**vTaskSuspendAll();****==总结==**:xTaskResumeAll();FreeRTOS临界段代码保护及调度器挂起与恢复临界保护区什么
- 2024-10-22FreeRTOS:任务
目录一、简介二、任务栈三、任务控制块四、任务状态五、任务调度 五、任务间的通信六、相关API 一、简介 在裸机系统中,系统的主体就是main函数里面顺序执行的无限循环,这个无限循环里面,CPU按照顺序执行代码。在多任务系统中,我们根据功能的不同,把整
- 2024-10-17FreeRTOS - 任务调度
在学习FreeRTOS过程中,结合韦东山-FreeRTOS手册和视频、野火-FreeRTOS内核实现与应用开发、及网上查找的其他资源,整理了该篇文章。如有内容理解不正确之处,欢迎大家指出,共同进步。1.任务的调度机制(核心是链表)使用链表来管理任务谁进行调度?TICK中断!每隔固定时间,会产生
- 2024-10-17FreeRTOS - 任务管理
在学习FreeRTOS过程中,结合韦东山-FreeRTOS手册和视频、野火-FreeRTOS内核实现与应用开发、及网上查找的其他资源,整理了该篇文章。如有内容理解不正确之处,欢迎大家指出,共同进步。参考:https://rtos.100ask.net/zh/FreeRTOS/DShanMCU-F103/chapter9.html#_9-5-%E7%A4%BA%E4%
- 2024-10-17FreeRTOS - 队列
在学习FreeRTOS过程中,结合韦东山-FreeRTOS手册和视频、野火-FreeRTOS内核实现与应用开发、及网上查找的其他资源,整理了该篇文章。如有内容理解不正确之处,欢迎大家指出,共同进步。1.队列1.1队列基本概念队列(queue)可以用于"任务到任务"、“任务到中断”、"中断到任务"
- 2024-10-17Free RTOS实时操作系统
FreeRTOS实时操作系统目录FreeRTOS实时操作系统裸机和实时操作系统嵌入式操作系统的作用向裸机工程中添加FreeRTOS源码修改FreeRTOSConfig.h文件(操作系统的配置文件)--修改stm32f10x_it.c创建任务–动态内存FreeRTOS文件夹介绍更改过后的代码裸机和实时
- 2024-10-16FreeRTOS:消息队列
目录一、简介二、特点三、消息队列控制块四、相关API五、使用场景 一、简介 FreeRTOS的消息队列(MessageQueue)是任务之间通信的一种常用机制,允许任务或中断将数据发送到队列中,其他任务从队列中读取数据。 消息队列在嵌入式实时操作
- 2024-10-13FreeRTOS——空闲任务和钩子函数介绍
空闲任务在前面的学习中我们提到,空闲任务会负责释放一些被删除任务的内存,在FreeRTOS中,用户分配的内存通常也是在空闲任务中释放的。空闲任务是一个特殊的任务,当没有其他任务需要运行时,系统将会调度空闲任务来执行。在空闲任务中可以执行一些低优先级的任务,比如资源的释放和内
- 2024-10-11GD32F303移植FreeRTOS-Plus-CLI
FreeRTOS移植好是没有命令行交互的,刚好系统提供了相关的代码,那么就方便多了。示例基于FreeRTOS-Kernel-9.0.0.zip,再次之前需要把系统移植完毕。移植FreeRTOS-Plus-CLI需要干好几件事串口初始化串口终端服务函数添加自己定制的命令下面讲添加哪些文件新建一个分组,放CLI相
- 2024-10-11Freertos应用与源码分析:临界区
目录一、概述二、应用三、源码分析1、进入临界区2、退出临界区3、中断临界区(1)应用(2)进入中断临界区(3)退出中断临界区四、注意事项一、概述 当一个任务在使用某个资源的过程中,即还没有完全结束对资源的访问时,便被切出运行态,使得资源处于非一致,不完整