• 2024-09-16龙芯+FreeRTOS+LVGL实战笔记(新)——08RGB闪烁灯
            本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了完善与优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前
  • 2024-09-10freeRTOS源码解析4--tasks.c 4
    4.2.9周期任务用的延迟--xTaskDelayUntil接口:BaseType_txTaskDelayUntil(TickType_t*constpxPreviousWakeTime,constTickType_txTimeIncrement)形参1:pxPreviousWakeTime,上一次唤醒时间,第一次需要用接口xTaskGetTickCount()获取;形参2:xTimeIncrement,想要延迟的时间。
  • 2024-09-08freeRTOS源码解析4--task.c 3
    4.2.6任务删除--vTaskDelete这个接口并不复杂,主要是在判断是否要放到xTasksWaitingTermination列表里,还是直接处理。1voidvTaskDelete(TaskHandle_txTaskToDelete)2{3TCB_t*pxTCB;4BaseType_txDeleteTCBInIdleTask=pdFALSE;5BaseTyp
  • 2024-09-08龙芯+FreeRTOS+LVGL实战笔记(新)——03完成驱动的移植
            本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前
  • 2024-09-08FreeRTOS 队列 Queue 源码解析
    目录一、队列1、队列结构体2、队列类型二、队列相关操作1、初始化1.1静态创建队列1.2动态创建队列1.3队列的初始化1.4队列的重置2、队列的发送2.1任务级入队函数2.1.1入队函数2.1.2队列锁2.1.3portYIELD_WITHIN_API2.2中断级入队函数3、任务的读取3.1任务
  • 2024-09-07深入剖析 FreeRTOS:实时操作系统的卓越之选
    摘要: 本文全面深入地探讨了FreeRTOS,这一广泛应用于嵌入式系统的实时操作系统。详细阐述了FreeRTOS的起源与发展历程,介绍其基本概念、特点及工作原理。深入分析了FreeRTOS的内核架构、任务管理、内存管理、中断处理等关键组成部分。探讨了FreeRTOS在物联网、工业控制、
  • 2024-09-06FreeRTOS实现命令交互行的功能
    背景说明:   在实际工作中,有时候我们希望打印系统信息,但是太多信息会导致很乱看不清,或者我们希望设备一般情况下不要打印信息,所以我们的需求就是可以通过发送一条指令给设备,然后设备打印对应的信息。一.添加文件首先將ZNS文件夹中的上述文件复制到自己
  • 2024-09-05freeRTOS面试题目 面经 单片机面经汇总MCU RTOS常见面试经验汇总 freeRTOS消息队列 信号量 源码等题目
    常见rtos部分Linux题目汇总FreeRtos面经30题前后台程序与实时操作系统的区别是什么?实时系统的基本特性有哪些?什么是不可剥夺型内核?它的特点是什么?可剥夺型内核的定义及适用场景是什么?什么是可重入型函数?它有什么特点?使用可剥夺型内核时,为什么不应直接使用不可重入型函数
  • 2024-09-05FreeRtos实时系统:基础知识
    FreeRtos实时系统:基础知识一.任务调度简介1.抢占式调度2.时间片调度二.任务状态1.FreeRtos中任务存在4种状态2.任务状态列表一.任务调度简介调度器就是使用相关的调度算法来决定当前需要执行的哪个任务FeeeRtos一共支持三种任务调度方式:抢占式调度:主要针对优
  • 2024-09-05【FreeRTOS】事件组实验-改进姿态控制
    目录0前言1事件组实验_改进姿态控制2改进思路2.1创建事件2.2等待事件2.3设置事件2.4Debug2.5设置MPU6050寄存器3总结0前言学习视频:【FreeRTOS入门与工程实践--由浅入深带你学习FreeRTOS(FreeRTOS教程基于STM32,以实际项目为导向)】【精准空降到00
  • 2024-09-04freeRTOS源码解析4--task.c 2
    4、task.c解析时隔两年,还是决定继续把这个系统解析完成,有始有终。不过这次源码又从官网上下载了最新的,可能和我以前看的略有区别,但应该基本不影响理解。接下来正式开始。4.1.3新增或是遗漏的两个宏1/*ReturnspdTRUEifthetaskisactivelyrunningandnotsch
  • 2024-09-03【FreeRTOS】事件组的本质
    目录0前言1事件组讲解2事件组概念与操作2.1事件组的概念2.2事件组的操作3事件组函数3.1创建3.2删除3.3设置事件3.4等待事件3.5同步点4示例:广播5示例:等待任意一个事件6示例:等待多个事件都发生0前言学习视频:【FreeRTOS入门与工程实践--由浅
  • 2024-08-28【FreeRTOS+CubeMX】入门(三)--文件结构与参数配置
    文章目录FreeRTOS文件组成和基本原理文件构成基础知识![请添加图片描述](https://i-blog.csdnimg.cn/direct/a7a87a1201a448bb9ffa1dcd1e58a8ab.png)FreeRTOS配置及功能裁剪configparamters参数讲解FreeRTOS文件组成和基本原理此文章将详细讲解FreeRTOS的文件结构
  • 2024-08-27FreeRTOS不同内存管理策略的区别
    来源于正点原子《STM32F1FreeRTOS开发手册V1.1》第二十章内存管理20.7heap_5内存分配方法(P391):heap_1最简单,但是只能申请内存,不能释放。heap_2提供了内存释放函数,用户代码也可以直接调用函数pvPortMalloc()和vPortFree()来申请和释放内存,但是heap_2会导致内存碎片的
  • 2024-08-27FreeRTOS+CubeMX入门(二)--使用cubemx生成FreeRTOS工程
    目录CubeMX创建FreeRTOS入门实例基础配置第一个项目-驱动OLED中断配置文件的简单认识主函数代码简单分析编写业务函数实验效果CubeMX创建FreeRTOS入门实例该笔记记录使用CubeMX创建FreeRTOS工程的粗略讲解,快速构建一个工程,对FreeRTOS有一个初步认识选择CubeID
  • 2024-08-26FreeRTOS 快速入门(八)之任务通知
    目录一、任务通知1、基本概念2、优势及限制3、通知状态和通知值二、任务通知的使用1、xTaskNotifyGive/ulTaskNotifyTake2、xTaskNotify/xTaskNotifyWait3、xTaskNotifyAndQuery一、任务通知1、基本概念FreeRTOS从V8.2.0版本开始提供任务通知这个功能,每个任务
  • 2024-08-25基于STM32F103的FreeRTOS系列(十一)·信号量·二值信号量与计数信号量详细使用以及移植教程
    目录1. 信号量简介1.1 同步和互斥1.1.1 同步1.1.2 互斥1.1.3 总结1.2 分类1.2.1 二值信号量1.2.2 计数信号量1.2.3 互斥信号量1.2.4 递归信号量2. 信号量控制块3. 常用信号量API函数3.1 创建信号量函数3.1.1 创建二值信号量 xSe
  • 2024-08-22队列操作(深入理解FreeRTOS队列之队列实战)
    文章目录一、队列的操作二、学习总结在FreeRTOS中,队列的本质是环形缓冲区。一、队列的操作1、创建队列2、写队列3、读队列详细可看此篇博客:FreeRTOS——队列(基于百问网DshanMCU-F103实现挡球板游戏改造)-CSDN博客基于链表解析队列的使用:代码示例:#include"
  • 2024-08-22【FreeRTOS】任务调度与任务状态的介绍(二)
    一、任务调度调度器就是使用相关的调度算法来决定当前需要执行的哪个任务FreeRTOS一共支持三种任务调度方式:抢占式调度主要是针对优先级不同的任务,每个任务都有一个优先级,优先级高的任务可以抢占优先级低的任务。时间片调度主要针对优先级相同的任务,当多个任务的优先
  • 2024-08-22FreeRTOS--列表和列表项
    目录1列表(Lists)2列表项(ListItems)3使用列表和列表项4使用实例在FreeRTOS中,列表和列表项是非常重要的数据结构,用于实现任务管理和调度。以下是关于这两个概念的详细介绍:1列表(Lists)列表是FreeRTOS中的一种数据结构,用于存储任务状态的信息。主要有两种类型的
  • 2024-08-22FreeRTOS 快速入门(五)之信号量
    目录一、信号量的特性1、信号量跟队列的对比2、两种信号量的对比二、信号量1、二值信号量1.1二值信号量用于同步1.2二值信号量用于互斥2、计数信号量三、信号量函数1、创建2、删除3、give/take一、信号量的特性信号量(Semaphore)是一种实现任务间通信的机制,可以
  • 2024-08-18FreeRTOS 任务相关API函数
    FreeRTOS任务相关API函数函数描述uxTaskPriorityGet()获取任务优先级vTaskPrioritySet()设置任务优先级uxTaskGetNumberOfTasks()获取系统中任务的数量uxTaskGetSystemState()获取所有任务状态信息vTaskGetInfo()获取指定单个的任务信息xTaskG
  • 2024-08-18从 FreeRTOS 到 Zephyr
    从FreeRTOS到Zephyr前言什么是RTOS?RTOS到底有什么?为什么要用RTOS?FreeRTOSframework调度器任务现场任务切换运行时机调度算法任务/线程任务组成任务优先级任务栈线程安全通信机制数据的同步机制:信号量资源的保护机制:互斥量多任务同步机制:事件标志任务或中断间的数
  • 2024-08-18FreeRTOS学习:任务调度
     注:在使用大多数功能时,FreeRTOS都要将对应的宏置为1,具体的需要查看FreeRTOS官方文档。 任务堆栈相关寄存器如下,启动第一个任务FreeRTOS中启动第一个任务的流程总结如下,启动任务调度器vTaskStartScheduler()在该函数中会创建空闲任务prvIdleTask和软件定时器任务xTimerC
  • 2024-08-14基于STM32的边缘计算实时数据处理可视化系统:嵌入式C++、 FreeRTOS、Kafka、Spring Boo、 InfluxDB、Grafana(代码示例)
    一、项目概述本项目旨在设计并实现一个基于STM32的边缘计算实时数据处理系统。该系统能够在边缘设备端进行数据采集、预处理,并将处理后的数据实时传输到后端服务器进行进一步分析和存储。本项目主要解决以下问题:减轻后端服务器的数据处理负担,提高系统整体效率降低