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

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

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

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

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

February 15, 2026 · 5 min · 953 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 · 609 words · map[name:DeguiLiu]

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

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

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

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

RK3506J 集成三核 Cortex-A7 (1.0 GHz) + Cortex-M0,支持 Linux + RTOS 异构部署。本文分析 AMP 架构下的核间通信 (RPMsg/共享内存)、实时性保障 (硬件定时器 + 中断隔离)、资源分区策略,面向激光雷达和工业控制器的部署方案。

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

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

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

February 15, 2026 · 5 min · 889 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 · 1187 words · map[name:DeguiLiu]