工业固件 A/B 分区升级引擎: HSM 驱动 + 三层掉电保护设计

面向工业嵌入式的 A/B 分区固件升级引擎。osp::StateMachine 驱动 8 阶段流程,raw 分区状态持久化、U-Boot 冗余环境变量切换与 bootcount 回滚三层保护实现掉电安全,全程零堆分配 (~10KB 栈/静态),适合 32-256MB RAM 设备。

February 17, 2026 · 7 min · 1285 words · map[name:DeguiLiu]

设计文档画图工具选型

从部署模式、版本管理、CI/CD 集成等工程实践维度对比 Mermaid、draw.io、飞书画图,给出轻量级场景与复杂高保真场景的选型建议。

February 17, 2026 · 2 min · 319 words · map[name:DeguiLiu]

newosp 调试 Shell: 多后端架构与运行时控制命令设计

工业嵌入式设备常在 TCP telnet、串口、stdin 等不同环境下调试。newosp 的 Shell 模块用函数指针做 I/O 抽象,一套命令支持多后端,18 个命令覆盖诊断与运行时控制,全程零堆分配、兼容 -fno-exceptions。

February 17, 2026 · 9 min · 1873 words · map[name:DeguiLiu]

LMDB 在嵌入式 Linux 上的实践: 零拷贝读取与内存映射 I/O

LMDB 是基于 B+ 树 + mmap 的嵌入式 KV 数据库,编译产物 < 50KB,零拷贝读取,CoW 断电安全。本文从嵌入式 Linux 视角评估 LMDB 的适用场景(标定数据、设备配置、OTA 元数据)、架构原理、工业级代码质量、加密方案,以及跨平台 Python 工具链在工厂标定工位中的实际应用。

February 17, 2026 · 7 min · 1417 words · map[name:DeguiLiu]

newosp: 面向工业嵌入式的 C++17 Header-Only 基础设施库

newosp 是面向嵌入式 Linux 的 C++17 header-only 基础库,覆盖消息总线、层次状态机、共享内存 IPC、调度器等模块。本文介绍它的设计原则、核心模块和四个工业示例。

February 17, 2026 · 4 min · 814 words · map[name:DeguiLiu]

从 C++14 到 C++17: mccc-bus 的四项零堆分配改造

MCCC 系列第三篇。从 C++14 消息总线的四个堆分配瓶颈出发,逐项给出 C++17 替代方案: FixedFunction、VariantIndex 固定数组、Envelope 内嵌 Ring Buffer、FixedString/FixedVector,并附代码对比与性能实测数据。

February 17, 2026 · 6 min · 1220 words · map[name:DeguiLiu]

newosp 源码中的 C++17 实践: 8 项能力的工程落地

从 newosp v0.4.3 (43 headers, 1153 tests) 源码中提炼 C++17 能力的实际工程运用。每项附具体代码位置、设计决策和 C 语言对比,展示工业嵌入式库如何将语言特性转化为可靠性与性能优势。

February 17, 2026 · 4 min · 764 words · map[name:DeguiLiu]

对象池在嵌入式热路径上的三个隐性成本

对象池 (mutex + queue + shared_ptr) 比裸 malloc 快约 60%,却带来 mutex、shared_ptr 原子引用计数和动态容器三项隐性成本。本文用串口解析场景量化这三项成本,并给出预分配环形缓冲的替代方案。

February 17, 2026 · 2 min · 375 words · map[name:DeguiLiu]

内存屏障的硬件原理: 从 Store Buffer 到 ARM DMB/DSB/ISB

内存屏障是无锁编程的基础,但多数文章停留在 acquire/release 的用法上,没有解释 CPU 为什么重排序。本文从 Store Buffer、Invalidation Queue 和 MESI 三个机制出发,推导四种屏障类型的由来,并详解 ARM DMB/DSB/ISB 三条指令的语义。

February 17, 2026 · 10 min · 1928 words · map[name:DeguiLiu]

MCCC 消息总线零堆分配优化与性能实测

从 MCCC 消息总线优化中提炼 5 个零堆分配模式 (Envelope 内嵌、编译期类型索引、函数指针 RAII、定长容器、编译期配置矩阵),附实测数据: BARE_METAL 18.7 M/s,FULL_FEATURED 5.8 M/s,HIGH 优先级零丢失,E2E P99 449 ns。

February 17, 2026 · 8 min · 1672 words · map[name:DeguiLiu]

高性能系统设计的五个反直觉原则: 从消息队列优化中提炼的通用方法论

在优化无锁消息总线的过程中,我们发现五个违反直觉的性能原则: 状态机提升 100% 吞吐、上下文切换减少 99.8%、队列容量无法解决速率失衡、批处理提升 76 倍吞吐、单核自旋性能下降 91%。每个原则附带 ARM 实测数据、数学推导和适用条件分析。

February 17, 2026 · 6 min · 1195 words · map[name:DeguiLiu]

PIMPL 的三种现代实现: 从堆分配到栈内联

PIMPL 是 C++ 中最经典的编译隔离手段,但教科书只展示了 unique_ptr 一种实现。本文对比三种 C++14 兼容的 PIMPL 实现,Heap PIMPL、Fast PIMPL (栈内联)、函数指针表 PIMPL,从编译隔离、运行时成本、缓存友好性三个维度量化分析,给出不同场景的选型依据。

February 17, 2026 · 6 min · 1188 words · map[name:DeguiLiu]

C11 做不到的事: 10 项 C++17 语言级不可替代能力

筛选标准: 只保留 C11 在语言层面无法实现的能力。从类型安全、编译期计算、内存安全、类型分发四个维度,逐项对比 C++17 与 C11 的语言级差异,附完整代码对比。

February 17, 2026 · 5 min · 962 words · map[name:DeguiLiu]

如何设计嵌入式并发架构: newosp 的事件驱动 + 固定线程池方案

面向 4 核 ARM-Linux、32-256MB RAM、-fno-exceptions 的工业嵌入式场景,newosp 采用事件驱动消息总线 + 固定线程预算 + 可移植 I/O 抽象的并发架构,涵盖零堆分配、线程预算与背压控制。

February 17, 2026 · 8 min · 1629 words · map[name:DeguiLiu]

激光雷达高吞吐数据处理 Pipeline: 模块化架构与 NEON 向量化

用 newosp C++17 基础设施库构建激光雷达等传感器的 DAG 处理 Pipeline:数据面用 SPSC 直连和 Handle 传递实现零拷贝,控制面用 AsyncBus 处理诊断与扇入/扇出,配合 SoA 布局和 Stage 融合,在 ARM Cortex-A53 上达到 100 Hz。

February 17, 2026 · 9 min · 1857 words · map[name:DeguiLiu]