logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

第 123 天:RTOS 空闲钩子 + Tickless Idle 实战——从 WFI 到微安级待机

本篇以“能跑、能测、能复用”为目标:在 FreeRTOS 上同时启用 Idle Hook 与 Tickless Idle,使空闲时暂停系统节拍中断并通过 WFI 进入低功耗,利用 EXTI/RTC 等外部事件精确唤醒;面向常见的平台给出 STM32 与 ESP32 的实现与差异化注意事项,并用 Nordic PPK2 实机量化“启用前/后”的电流与唤醒时延。

文章图片
#嵌入式硬件
第 119 天:RTOS 中的内存越界检测方法实战解析

内存越界是嵌入式 RTOS 系统中最隐蔽但最危险的运行时错误之一,常因栈溢出、指针误操作或数组越界引发系统崩溃、任务异常甚至数据篡改。在资源受限的 MCU 平台中,传统的内存保护机制受限,开发者需借助 RTOS 提供的栈检查机制、GDB 调试技巧、手动哨兵位保护等手段构建健壮的越界防线。本文将结合 STM32 和 ESP32 平台的 FreeRTOS 实战项目,系统讲解 RTOS 中的内存越界检测

文章图片
#网络#c++#嵌入式
RTOS 内存分配模型实战详解:heap\_1 到 heap\_5 的工程选型与优化策略

在嵌入式系统中,RTOS 的内存分配策略直接决定了系统稳定性与资源使用效率。本文基于 FreeRTOS 提供的五种内存管理模型(heap\_1 到 heap\_5),结合实际项目中的工程实践,全面解析各模型的分配机制、适用场景、运行代价及其在 STM32、ESP32 等平台上的优化策略。我们将以真实代码与调试案例出发,剖析每种模型的底层结构、性能差异与典型用法,为开发者提供系统性选择与优化参考。

文章图片
#linux#运维#服务器 +2
第 115 天:项目实战:多线程传感器采集与调度同步

在复杂嵌入式应用中,面对多种传感器(如温湿度、气体、光照、姿态等)并发采集需求,如何设计稳定、高效的多线程架构成为系统性能的关键。本篇聚焦一个典型项目实战场景,深入剖析在 RTOS 下如何通过信号量、消息队列和任务调度机制,构建可维护、易扩展的多线程采集系统,并结合 STM32 和 ESP32 实际平台,提出同步与调优策略。

文章图片
#c++#嵌入式
第 111 天:队列的中断安全使用技巧

在实时嵌入式系统中,任务与中断之间的安全通信尤为关键。队列作为线程间通信的核心机制,其在中断上下文中的使用要求更为严格。本文将结合 FreeRTOS 与 RT-Thread 两大主流内核,从中断安全操作接口设计、系统调用限制、典型工程错误到可验证的实践模型,系统分析如何确保队列操作在中断环境下既安全又高效,避免因滥用导致系统崩溃或优先级调度失衡。

文章图片
#安全#spring#java +2
第 108 天:多任务串口发送队列设计示例

在嵌入式系统中,多个任务并发向同一 UART 外设发送数据是常见需求,但直接调用 `uart_write()` 等阻塞式接口常导致系统调度失衡、任务阻塞或数据错乱。本篇基于 FreeRTOS 与 RT-Thread,系统讲解一种“串口输出单任务化 + 多任务入队”的工程设计思路,通过消息队列缓冲发送内容、互斥机制保障访问一致性、可扩展支持多个串口实例,是工业场景中极具参考价值的串口通信模型。

文章图片
#单片机#嵌入式硬件
第 107 天:消息队列(Queue)基础与应用场景详解

在多任务嵌入式系统中,消息队列(Queue)是实现任务间**异步通信与数据传递**的关键机制。相比信号量和互斥锁,消息队列不仅能传递事件,还能携带有效数据,极大地增强了系统的模块解耦能力与调度灵活性。本文结合 FreeRTOS 与 RT-Thread 的实际开发实践,深入分析消息队列的工作机制、典型接口、工程应用场景及调试策略,帮助开发者构建更加健壮、高效的任务通信架构。

文章图片
#c++#嵌入式
第 102 天:信号量(Semaphore)基础原理与用法精解 —— 面向嵌入式 RTOS 多任务系统的实战应用

信号量(Semaphore)是嵌入式实时操作系统中最基础也是最常用的线程同步工具之一,广泛应用于任务唤醒、中断通知、资源互斥等多种并发控制场景。本文将从工程实战角度出发,系统讲解信号量的基本原理、分类与使用方式,深入解析其在 FreeRTOS 和 RT-Thread 等主流 RTOS 中的实际应用方法与差异,并通过典型案例展示如何利用信号量实现任务调度、数据保护与高效事件驱动架构。结合目前主流芯片

文章图片
#单片机#嵌入式硬件#c++ +1
第 98 天:任务切换上下文保存原理剖析 —— 从寄存器压栈到任务恢复的全过程

任务切换的本质是**上下文切换**,它确保操作系统能够在多个任务之间安全切换执行而不丢失任何计算状态。本文以 FreeRTOS 为例,深入剖析上下文保存与恢复的全过程,包括关键的寄存器压栈机制、PendSV 中断触发流程、任务栈帧结构以及在 Cortex-M 架构下的硬件协助机制。通过配套的汇编分析与 STM32 实战验证,本篇为理解 RTOS 多任务调度的底层机制奠定扎实基础。

文章图片
#c++#嵌入式
第 97 天:任务堆栈大小的选择与调试 —— FreeRTOS 中任务栈空间的合理分配与溢出排查实战指南

在 FreeRTOS 等嵌入式实时操作系统中,任务堆栈是关键的资源分配指标。栈太小可能引发系统奔溃或数据损坏,栈太大则会浪费宝贵的 SRAM 空间。本文将深入解析任务堆栈的工作机制、配置参数、溢出检测技术与实际工程中如何调试栈使用情况。同时结合 STM32 等主流平台的调试工具,给出可落地的栈空间分配策略与异常排查路径,帮助开发者构建稳定且资源高效的多任务系统。

文章图片
#c++#嵌入式
    共 78 条
  • 1
  • 2
  • 3
  • 8
  • 请选择