嵌入式 SD 卡上电加载: 从卡检测到文件系统挂载

上电时已插入的 SD 卡不会产生检测跳变,驱动需主动查询 CDETECT,再通过检测线程、识别线程与文件系统完成挂载。

September 20, 2026 · 6 min · 1264 words · map[name:DeguiLiu]

事件循环库的定位: 中断下半部与事件管家

libev 不碰硬件中断,却为中断驱动的系统提供了完整的「慢事慢办」机制。它的定位可以一句话说清:下半部调度器。

September 8, 2026 · 2 min · 219 words · map[name:DeguiLiu]

单线程事件循环的内核设计: 机制、移植与适用边界

libev 是一个单线程的事件循环库(Reactor 模式)。使用时把要等待的事件(文件描述符可读、定时器到期、跨线程通知)注册进去,事件发生后由库调用回调函数处理。在嵌入式系统中,它可以作为一个 RT-Thread 线程运行,STM32F407 上已用 select 后端验证了 ev_io、e

September 8, 2026 · 4 min · 729 words · map[name:DeguiLiu]

Cortex-M 内存寻路: SRAM 与 CCM 的拓扑、层次与工程取舍

SRAM 面向 DMA 与外设,CCM 面向 CPU 热数据;根据访问者、执行需求和访问频率分配内存,避免 DMA 不可见与 CCM 溢出。

August 21, 2026 · 4 min · 823 words · map[name:DeguiLiu]

在 RT-Thread/MCU 上安全使用 C++:从编译器基线到零开销抽象实践

MCU 上用 C++ 不是禁忌,是有条件的工程选择。本文结合 RT-Thread v5.x 的 C++ 实际支持范围,从编译器基线、多态策略、固定大小容器、内存池 RAII、无锁 SPSC、C/C++ 互操作六个维度给出可落地的决策框架。

February 26, 2026 · 8 min · 1628 words · map[name:DeguiLiu]

嵌入式串口协议栈设计: 粘包、缓冲区滑窗与层次状态机

串口协议解析是嵌入式系统中最基础也最容易被忽视的工程问题。本文基于一个完整的 Linux 模拟工程,深入对比缓冲区滑窗扫描与层次状态机(HSM)两种解析架构,覆盖粘包处理、ISR 设计、环形缓冲区、无锁 SPSC 队列、CRC-CCITT 校验、错误恢复等工程细节,并分别讨论裸机(super-loop)和 RT-Thread RTOS 平台的集成方案。

February 16, 2026 · 11 min · 2200 words · map[name:DeguiLiu]

QPC 框架深度解析: Active Object 与层次状态机的嵌入式实践

QP/C 是面向嵌入式实时系统的事件驱动框架,核心是 Active Object 并发模型与层次状态机。本文剖析它的三大支柱:HSM 的冒泡-继承-覆盖机制与 QHsm/QMsm 双实现、QActive 零拷贝无锁事件队列的 SPSC 设计,以及在 RT-Thread 上的移植方案。

February 16, 2026 · 9 min · 1853 words · map[name:DeguiLiu]

C 语言层次状态机框架: 从过程驱动到数据驱动的重构实践

以 state_machine 框架的重构为案例,展示如何将一个过程驱动的 C 语言状态机改造为数据驱动的层次状态机 (HSM)。涵盖转换表替代 switch-case、LCA 算法消除递归、用户缓冲区替代内部分配、守卫条件与内外转换区分等关键改造点,附完整数据结构和 API 设计。

February 16, 2026 · 7 min · 1478 words · map[name:DeguiLiu]