Linux 编程: 嵌入式 ARM 平台网络实时性能优化

面向工业传感器平台的 ARM Linux 网络实时优化:先讲应用层收包、poll/select、队列、内存池和零拷贝,再逐项说明 IRQ/NAPI、RPS/RFS、缓冲区、CPU 隔离和 PTP 参数的理由。

October 18, 2026 · 7 min · 1365 words · map[name:DeguiLiu]

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

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

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

嵌入式系统中的过度设计: 识别、量化与规避

设计模式、分层架构、可扩展性在桌面/服务器领域是最佳实践,但搬到资源受限的 MCU 上时,每个抽象层都有可量化的代价。本文通过一次信号处理 pipeline 重构的量化分析,提炼出三个典型的过度设计模式 (为不存在的动态性付费、凭直觉拆锁、为假想需求预留架构),并给出四维评估框架 (RAM/ROM/CPU/栈) 和轻量替代方案。

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

EWSS: 面向嵌入式 Linux 的轻量级 WebSocket 服务器

从 Simple-WebSocket-Server 重构而来,去掉 ASIO 依赖,用 poll Reactor + 固定 RingBuffer + 状态机实现一个 67KB 二进制、12KB/连接、热路径零堆分配的嵌入式 WebSocket 服务器。

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

嵌入式 C++ 远程开发环境: 从 SSH 到交叉调试

面向嵌入式 ARM-Linux 开发者的 VS Code 远程开发完整方案。涵盖 SSH 免密登录与连接复用、clangd 替代 gtags 实现精确代码索引、gdbserver 交叉调试配置、以及网络受限环境的离线部署。

February 17, 2026 · 3 min · 477 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]

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

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

February 17, 2026 · 4 min · 814 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]

内存屏障的硬件原理: 从 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]

激光雷达高吞吐数据处理 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]

嵌入式流式数据处理架构: 传感器到网络输出的全链路设计

面向激光雷达、工业视觉、机器人等 ARM-Linux 场景,设计一套 C++17 header-only 的流式数据处理架构。覆盖数据流 (10-100 Hz 大块帧) 与控制流 (低频高可靠消息) 的分离处理、零堆分配内存管理、多级流水线调度,基于 newosp 基础设施库实现。

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

perf 性能分析实战: 从硬件计数器到火焰图的完整工作流

perf 是 Linux 内核自带的性能分析利器,但多数开发者只停留在 perf top 层面。本文以嵌入式 ARM-Linux 实战为背景,从 PMU 硬件计数器原理出发,系统讲解 perf stat(IPC/缓存/分支预测)、perf record + 火焰图(On-CPU/Off-CPU)、perf sched(调度延迟)三大核心工作流,并给出 ARM 平台缓存访存分析方法和自动化监控脚本。

February 16, 2026 · 12 min · 2488 words · map[name:DeguiLiu]

newosp ospgen: YAML 驱动的嵌入式 C++17 零堆分配消息代码生成

newosp ospgen 是一个约 200 行的 Python 生成器,把 YAML 消息定义转成嵌入式 C++17 代码:trivially_copyable 结构体、enum class、std::variant 载荷、sizeof 断言和 Validate()/Dump()。

February 16, 2026 · 8 min · 1583 words · map[name:DeguiLiu]

Clang-Tidy 嵌入式 C++17 实战: 从配置到 CI 集成的完整指南

把两篇 clang-tidy 教程整合扩展为嵌入式 C++17 实战指南:精选 check 集合、嵌入式专属 check、HeaderFilterRegex 限制范围、CMake 与 CI 集成、parallel 加速和 NOLINT 用法。

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