FreeRTOS源码探析之——消息队列 1 消息队列基础 1.1 消息队列的运作机制 创建消息队列时FreeRTOS会先给消息队列分配一块内存空间,这块内存的大小等于消息队列控制块大小加上(单个消息空间大小与消息队列长度的乘积),接着再初始化消息队列,此时消息队列为空。 任务或者中断服务程序都可以给消息队列发送消息,当发送消息时...
1.1、FreeRTOS的源码下载 学习一个操作系统前,首先要下载对应的源码,用于研究和学习。FreeRTOS的源码下载链接如下: https://sourceforge.net/projects/freertos/files/FreeRTOS/ 页面图示如下: 下载之后的文件为:FreeRTOSv202012.00-LTS.exe.qbl 1.2、FreeRTOS在线API指南 ...
freeRTOS源码解析4--tasks.c 4 4.2.9 周期任务用的延迟--xTaskDelayUntil 接口:BaseType_t xTaskDelayUntil( TickType_t * const pxPreviousWakeTime, const TickType_t xTimeIncrement ) 形参1:pxPreviousWakeTime,上一次唤醒时间,第一次需要用接口xTaskGetTickCount()获取;...
FREERTOS系统源码架构 freertos源码解析 一、前言 本期文章讲解FreeRTOS实时操作系统源码,主要是源码分析,实操很少。FreeRTOS在嵌入式领域中应用越来越多,在硬件资源有限的情况下,使用FreeRTOS可以做到实时响应时间,实时处理事件。相比传统的轮询系统和前台系统有着不一样的性能。
第一步:下载rt-thread的源码,可以在github或者gitee下载: github AI检测代码解析 git clone https:///RT-Thread/rt-thread.git 1. gitee AI检测代码解析 git clone https://gitee.com/RT-Thread/rt-thread.git 1. 第二步:切换到 bsp 根目录:打开控制台后,可以在命令行模式下使用 cd 命令切换到你想要配置...
本期文章FreeRTOS源码采用V9.0.0版本,源码可以在sourceforge上找到。下节讲解FreeRTOS的就绪列表和调度。二、实现FreeRTOS任务 1、任务栈 根据需求量定义,这里定义两个测试任务,用作交替运行。任务栈其实就是一个预先定义好的全局数据,大小由 TASK1_STACK_SIZE 这个宏来定义,默认为 128,单位为字,即 512...
除了事件标志组变量之外,FreeRTOS 还使用了一个链表来记录等待事件的任务,所有在等待此事件的任务均会被挂载在等待事件列表 xTasksWaitingForBits。想了解更多精彩内容,快来关注嵌入式的那点事儿 「FreeRTOS源码解析(一)」链表 「FreeRTOS源码解析(二)」任务 「FreeRTOS源码解析(三)」就绪列表和调度 「Free...
freeRTOS源码解析4--tasks.c 6 4.2.14 退出阻塞--xTaskAbortDelay 接口: BaseType_t xTaskAbortDelay( TaskHandle_t xTask ) 形参1:xTask ,想要退出阻塞态的任务; 返回:pdPASS:退出成功;pdFAIL:退出失败。 xTaskAbortDelay 这个接口主要就是强制将在阻塞态的任务变成就绪态。
FreeRTOS处理器利用率 处理器利用率 1. 处理器利用率统计的作用 处理器利用率其实就是系统运行的程序占用的CPU资源,表示机器在某段时间程序运行的情况,如果这段时间中,程序一直在占用CPU的使用权,那么可以认为CPU的利用率是… 阅读全文 FreeRTOS任务堆栈 ...
1 消息队列基础 1.1 消息队列的运作机制 创建消息队列时FreeRTOS会先给消息队列分配一块内存空间,这块内存的大小等于消息队列控制块大小加上(单个消息空间大小与消息队列长度的乘积),接着再初始化消… 阅读全文 FreeRTOS源码探析之——任务调度相关 FreeRTOS可以运行多任务,在于其内核的任务调度功能,本篇介绍任务调...