rtos

都在酒里3 天前
stm32·单片机·嵌入式硬件·嵌入式·rtos·嵌入式软件
FreeRTOS 综合实战:串口命令控制 LED 闪烁模式与系统监控本系列前九篇文章依次深入了工程搭建、任务管理、队列、信号量、互斥量、软件定时器、中断管理以及调试优化。本篇将通过一个完整的实战项目——串口命令控制 LED 闪烁模式与系统状态监控,把前面所学知识全部串联起来。你可以把它作为学习 FreeRTOS 的毕业设计,也可以当作后续复杂项目的模板。
都在酒里4 天前
stm32·单片机·嵌入式·rtos·嵌入式软件
FreeRTOS 手动移植教程(七):软件定时器 —— 不占硬件 Timer 的定时回调在上一篇文章中,我们学习了互斥量,解决了共享资源保护与优先级反转问题。本篇将介绍 FreeRTOS 的软件定时器,它无需占用额外的硬件定时器资源,即可实现单次或周期性的定时回调。我们将通过实验演示如何创建、启动、停止软件定时器,并总结使用中的关键注意事项。
都在酒里4 天前
stm32·单片机·嵌入式·rtos·嵌入式软件
FreeRTOS 手动移植教程(八):中断管理 —— 优先级、临界区与任务通知前面几篇文章中,我们已经多次在中断里使用了 FromISR 函数,但并未系统梳理中断优先级与 FreeRTOS 的配合规则。本篇将深入讨论这些规则,并介绍临界区的正确使用方法。同时,我们还会引入一种更轻量级的任务通信机制——任务通知,它可以在某些场景下替代信号量或队列,进一步提升效率。最后通过实验,在按键中断中用任务通知直接唤醒任务。
都在酒里5 天前
stm32·单片机·rtos
FreeRTOS 手动移植教程(四):队列 —— 任务间通信的最佳起点前几篇文章中,我们学会了任务创建与延时管理,但任务之间仍无法传递数据。本篇将引入 FreeRTOS 最基础、最常用的 IPC(进程间通信)机制——队列。通过队列,任务与任务、中断与任务之间可以安全、高效地传递数据,彻底告别裸机全局变量带来的隐患。我们将以按键中断通知 LED 闪烁模式切换为例,完整演示队列的创建、发送、接收及阻塞等待的全过程。
都在酒里5 天前
stm32·单片机·嵌入式硬件·rtos
FreeRTOS 手动移植教程(二):任务管理——多任务创建、优先级抢占与删除上一篇我们成功搭建了标准库与 FreeRTOS 的工程,并运行了一个 LED 闪烁任务。本篇文章将在此基础上创建多个任务,直观感受 优先级抢占 与 时间片轮转,并掌握任务删除及参数传递的方法。所有代码均基于上一篇文章的工程,可直接添加运行。
都在酒里5 天前
stm32·单片机·rtos·嵌入式软件
FreeRTOS 手动移植教程(五):信号量 —— 任务同步与中断通知的优雅解决方案在上一篇文章中,我们学习了队列,实现了按键中断与任务之间的数据传递。但在很多场景下,我们只需要传递“某个事件发生了”的信号,而不需要附带具体数据。此时,更轻量、更直接的机制——信号量便派上了用场。本篇将详细讲解二值信号量与计数信号量,并通过实验展示任务同步与中断通知的实际用法。
云中飞鸿13 天前
rtos
VxWorks核心函数库分类详解VxWorks的函数库非常庞大,这里为你梳理了六大核心类别、共计数十个关键函数,这是进行VxWorks开发的核心知识。
metaRTC14 天前
音视频·webrtc·rtos
metaRTC8 freertos编程指南(bk7258/bk7259)metaRTC8已经在bk7258/bk7259 freertos适配成功,已经和bk7258/bk7259 sdk集成多个解决方案,解决方案(包含metaRTC源码)可从博通集成网站下载。
山木嵌入式18 天前
freertos·嵌入式开发·rtos·裸机编程
【嵌入式】裸机VS RTOS 核心对比+落地选型指南在嵌入式开发领域,“该用裸机还是RTOS?”是每个开发者从入门到进阶都绕不开的核心问题。选错开发范式,轻则增加调试成本、导致代码臃肿,重则无法满足产品实时性要求。本文结合实际开发经验,拆解裸机(前后台系统)与RTOS开发的核心差异,给出可落地的选型原则,帮你少走弯路。
山木嵌入式21 天前
stm32·单片机·rtos·任务调度器·裸机开发
【STM32实战】轻量级任务调度器实现在STM32裸机开发中,我们经常需要处理多个周期性任务(比如LED闪烁、按键扫描、传感器采集、串口通信)。传统的轮询方式(死循环里依次调用所有任务)很容易出现“任务阻塞”问题——比如某个任务执行时间稍长,就会导致其他任务的执行周期被打乱。
一枝小雨21 天前
单片机·架构·嵌入式·risc-v·rtos·内核原理
RISC-V架构sp寄存器 & RISC-V架构下FreeRTOS任务上下文保存与恢复目录0 相关内容1 主栈、中断栈、RTOS任务栈 与 sp、mscratch 寄存器1.1 三个栈的概念与物理存在
山木嵌入式23 天前
stm32·操作系统·嵌入式·freertos·rtos
FreeRTOS从入门到进阶:核心概念与调度原理全解析在嵌入式开发领域,实时操作系统(RTOS)是处理多任务、保障实时性的核心工具,而FreeRTOS凭借轻量化、开源(MIT许可)、易适配的特性,成为嵌入式开发者的首选。本文将从基础认知、学习路线、调度原理、核心操作四个维度,全方位拆解FreeRTOS的核心概念,帮你快速搭建FreeRTOS的知识框架。
大志出奇迹1 个月前
c语言·stm32·单片机·mcu·算法·rtos
传输协议为大端,STM32为小端,数据传输的字节序问题本系列为从零编写完整 Bootloader 项目,涵盖下位机 Bootloader、PC 端上位机(Qt)、设备端 APP 全套实现。Bootloader 与上位机支持 UART、WIFI(基于 ESP32-S3 SPI 实现)、ETH 三种通讯方式(ETH 功能当前仍在调试优化)。为统一通讯规范、保证兼容性,我设计了自定义类 MODBUS 数据帧协议,所有多字节数据均采用大端序传输。
W.W.H.1 个月前
内存管理···rtos·heap·stack
嵌入式栈堆管理与内存分配详解在 MCU(尤其是运行 FreeRTOS 的 Cortex-M)开发中,“堆栈”这个词经常让初学者混淆,因为它其实包含了四个不同的概念。下面我们把整个内存布局梳理清楚。
吃米饭1 个月前
stm32·嵌入式·freertos·rtos
HC32L021C8UB 移植 FreeRTOSFreeRTOS项目必须至少包含以下源文件([compiler] 和 [architecture] 分别是用于创建移植的编译器和移植运行的架构):
metaRTC1 个月前
单片机·嵌入式硬件·webrtc·实时音视频·rtos
metaRTC8 成功适配 RTOS:开启 MCU/嵌入式实时音视频新时代随着物联网与智能终端的快速发展,越来越多的设备正从“功能设备”迈向“智能交互终端”。在这一过程中,实时音视频通信能力逐渐成为核心能力之一。然而,传统的实时音视频技术(如 WebRTC)长期依赖 Linux、Android、iOS 等操作系统,这在资源受限的 MCU 和轻量级嵌入式设备中难以落地。
W.W.H.2 个月前
经验分享·单片机·操作系统·freertos·rtos
FreeRTOS移植(保姆级教程)FreeRTOS是一个可以基于ROM运行的、可裁剪的、抢占式、实时多任务内核,具有高度可移植性,特点:公开源代码、可移植性、可固化、可裁剪、多任务、占先式,特别适合于微处理器和控制器,适合很多商业操作系统性能相当的实时操作系统(RTOS)。在使用GD32F103单片机项目移植过FreeRTOS,这里作为一个基础教学版简单记录一下移植过程,欢迎指正!
青鱼292 个月前
单片机·嵌入式硬件·rtos·systick_handler
SysTick_Handler在裸机和RTOS中的区别SysTick_Handler()是Cortex-M 内核的系统滴答定时器中断服务函数,整个过程:硬件自动完成。
听风lighting2 个月前
linux·c·rtt·rtos·rtt-smart
RTT-SMART学习 (二):启动过程启动代码在cortex-a/start_gcc.S C文件经过预处理,编译,汇编和链接才能变成可执行文件,所以学习启动过程的第一步就是看链接文件,在这里也正好复习复习cortexM下的启动相关的文件
听风lighting2 个月前
linux·嵌入式·c·rtos·rtt-smart
RTT-SMART学习(一):环境搭建之前的学习用的都是单核的cortexM内核 感觉多少有点“落后"与现代的CPU格格不如了,还是得了解点现代一点的CPU(带个MMU 带个缓存 多核) + 现代一点的操作系统的知识,但是Linux的体系太大啃起来又容易放弃,哎正好就发现RTT去年发布的RTT-SMART了,那就基于进行进一步的学习吧.