嵌入式系统死锁防御: 从有序锁到无锁架构的工程实践

死锁是嵌入式多线程系统中最隐蔽的故障之一。本文从一个典型的双锁死锁场景出发,逐步演示有序锁、lock_guard、try_lock、无锁队列四种防御策略,分析各方案在嵌入式实时系统中的工程权衡。

February 15, 2026 · 9 min · 1783 words · map[name:DeguiLiu]

嵌入式消息总线的回调优化: 从 std::function 到零开销分发

在嵌入式 C++ 消息总线中,std::function 回调看似方便,实则是延迟抖动和代码膨胀的隐性来源。本文分析回调链路的逐层开销,给出三个递进式优化方案:std::visit 编译期分发、CRTP 静态组件、FixedFunction 栈上类型擦除,最终在保留动态订阅能力的同时,为编译期确定的场景实现零开销分发。

February 15, 2026 · 4 min · 683 words · map[name:DeguiLiu]

C++17 vs C 二进制体积: 嵌入式场景的实测与分析

基于 GCC 13 / x86-64 实测数据,面向 ARM-Linux 工业嵌入式开发者

February 15, 2026 · 5 min · 933 words · map[name:DeguiLiu]

C++11 线程安全消息总线: 从零实现 Pub/Sub 模型

消息总线(Message Bus)作为一种重要的通信模式,被应用于解耦系统中的组件,实现异步通信和事件驱动架构。本文介绍如何使用 C++11 实现一个基于 mutex 保护的消息总线。

February 15, 2026 · 1 min · 202 words · map[name:DeguiLiu]

ARMv8 CRC 性能实测: 硬件指令快 8 倍, NEON 反而更慢

对比两组实验: ARMv8 CRC32 硬件指令 (crc32cx) vs 软件查表法,以及 NEON SIMD vs 简单 C 循环的字节累加校验和。结果表明 CRC32 硬件指令比查表快 8 倍以上,而 NEON 手写的字节累加在 -O2 下反而比编译器自动优化的标量代码慢。

February 15, 2026 · 3 min · 607 words · map[name:DeguiLiu]

ARM-Linux 锁竞争性能实测: Spinlock/Mutex/ConcurrentQueue 对比

本文通过严格的基准测试方法,对比多线程高竞争场景下三种同步策略的性能表现:自旋锁 (atomic_flag)、互斥锁 (std::mutex) 和无锁队列 (moodycamel::ConcurrentQueue)。

February 15, 2026 · 4 min · 655 words · map[name:DeguiLiu]

C 语言如何实现面向对象: Nginx 模块化架构源码解读

面向对象编程(OOP)以其强大的封装、继承和多态特性,成为构建复杂系统的关键范式。然而,在研读 Nginx 和 Linux 内核等高性能 C 语言项目源码时,可以观察到一个显著现象:尽管 C 语言原生不支持 OOP,但其设计架构中却深刻体现了面向对象的思想精髓。

February 15, 2026 · 2 min · 412 words · map[name:DeguiLiu]

RTOS vs Linux 异构选型: 三核 SoC 上的双系统设计

三核 ARM SoC (3x Cortex-A7 @ 1.2 GHz) + Cortex-M0 支持 Linux + RTOS 异构部署。面向激光雷达和工业控制器,分析 AMP 核间通信 (Mailbox/共享内存)、实时性保障 (硬件定时器 + 中断隔离) 与资源分区策略。

February 15, 2026 · 5 min · 943 words · map[name:DeguiLiu]

FPGA + ARM 双核 SoC 处理激光雷达点云的可行性分析

在 FPGA + ARM 双核 SoC (双核 Cortex-A9 @ 667 MHz) 上处理 30 万点/秒激光雷达数据流。PL (FPGA) 负责传感器接口和 DMA 搬运,PS (ARM) 运行 Linux 处理点云算法和网络输出,目标端到端延迟 P99 < 5 ms。

February 15, 2026 · 5 min · 894 words · map[name:DeguiLiu]

双核 ARM SoC 上跑 RT-Thread SMP: MMU、Cache 与调度实战

将 RT-Thread SMP 移植到 Zynq-7000 双核 Cortex-A9 平台,解决 MMU 页表配置、L1/L2 Cache 一致性、双核调度器初始化三个核心问题。实测表明带宽不是瓶颈,CPU 处理延迟和调度抖动才是端到端延迟的主导因素。

February 15, 2026 · 6 min · 1182 words · map[name:DeguiLiu]

嵌入式 C 语言深度面试题: 系统与架构

高级嵌入式 C 语言面试题集,涵盖 volatile 本质、内存对齐、链接脚本、中断安全、DMA 一致性等底层核心知识。

January 2, 2025 · 4 min · 811 words · map[name:DeguiLiu]

高级嵌入式软件工程师面试题: 架构设计与工程深度

20 道精选高级嵌入式软件工程师面试题,考察消息总线架构、RTOS 调度、内存管理、多核同步等核心能力。

January 1, 2025 · 11 min · 2172 words · map[name:DeguiLiu]