激光雷达高吞吐数据处理 Pipeline: 模块化架构与 NEON 向量化
用 newosp C++17 基础设施库构建激光雷达等传感器的 DAG 处理 Pipeline:数据面用 SPSC 直连和 Handle 传递实现零拷贝,控制面用 AsyncBus 处理诊断与扇入/扇出,配合 SoA 布局和 Stage 融合,在 ARM Cortex-A53 上达到 100 Hz。
用 newosp C++17 基础设施库构建激光雷达等传感器的 DAG 处理 Pipeline:数据面用 SPSC 直连和 Handle 传递实现零拷贝,控制面用 AsyncBus 处理诊断与扇入/扇出,配合 SoA 布局和 Stage 融合,在 ARM Cortex-A53 上达到 100 Hz。
面向激光雷达、工业视觉、机器人等 ARM-Linux 场景,设计一套 C++17 header-only 的流式数据处理架构。覆盖数据流 (10-100 Hz 大块帧) 与控制流 (低频高可靠消息) 的分离处理、零堆分配内存管理、多级流水线调度,基于 newosp 基础设施库实现。
面向 4 核 ARM-Linux (32-256MB RAM) 的工业级 A/B 分区固件升级引擎。osp::StateMachine 驱动 8 状态流程,raw 分区状态持久化、U-Boot 冗余 env 切换与 bootcount 回滚三层保护保证掉电安全,全程零堆分配。
从分支管理到历史整理,从团队协作到高级技巧,系统掌握 Git 工作流中的关键操作:rebase、cherry-pick、bisect、reflog、worktree 等核心命令的实战应用与最佳实践。
串口协议解析是嵌入式系统中最基础也最容易被忽视的工程问题。本文基于一个完整的 Linux 模拟工程,深入对比缓冲区滑窗扫描与层次状态机(HSM)两种解析架构,覆盖粘包处理、ISR 设计、环形缓冲区、无锁 SPSC 队列、CRC-CCITT 校验、错误恢复等工程细节,并分别讨论裸机(super-loop)和 RT-Thread RTOS 平台的集成方案。
perf 是 Linux 内核自带的性能分析利器,但多数开发者只停留在 perf top 层面。本文以嵌入式 ARM-Linux 实战为背景,从 PMU 硬件计数器原理出发,系统讲解 perf stat(IPC/缓存/分支预测)、perf record + 火焰图(On-CPU/Off-CPU)、perf sched(调度延迟)三大核心工作流,并给出 ARM 平台缓存访存分析方法和自动化监控脚本。
以 perf lock 为主线的锁竞争诊断实战。从 Linux mutex 的三条路径(fast/mid/slow)和 futex 内核机制出发,详解 perf lock contention 的每个输出字段含义,演示调用栈分析、锁持有者追踪、类型过滤等进阶用法,通过一个完整案例展示从「发现 95% 竞争率」到「无锁架构 3.6x 吞吐提升」的诊断全过程。
newosp ospgen 是一个约 200 行的 Python 生成器,把 YAML 消息定义转成嵌入式 C++17 代码:trivially_copyable 结构体、enum class、std::variant 载荷、sizeof 断言和 Validate()/Dump()。
嵌入式 Linux 开发中频繁需要在宿主机和目标板之间传输文件、远程调试。本文从实际需求出发,对比 Expect 脚本、sshpass、SSH 密钥认证三种自动化方案的实现与安全性,然后介绍 SSH Config、ProxyJump 跳板机、rsync 增量同步等进阶技术,构建一套完整的嵌入式远程开发工具链。
嵌入式设备的配置数据需要在 Flash/NvM 与内存之间可靠存取。本文从最简的裸 struct memcpy 出发,逐级递进到自定义 TLV、nanopb (Protocol Buffers C 实现) 和 c-capnproto (零拷贝固定布局),形成四档方案对比。重点分析各方案在版本兼容、读写性能、维护成本上的取舍,并结合 Flash 扇区擦除特性论证为何整体重写并非性能瓶颈。
QP/C 是面向嵌入式实时系统的事件驱动框架,核心是 Active Object 并发模型与层次状态机。本文剖析它的三大支柱:HSM 的冒泡-继承-覆盖机制与 QHsm/QMsm 双实现、QActive 零拷贝无锁事件队列的 SPSC 设计,以及在 RT-Thread 上的移植方案。
以 dbpp 对 DatabaseLayer 的现代化重写为案例,系统展示如何将一个 C++03 风格的数据库封装库改造为符合 MISRA C++ 标准的 C++14 实现。涵盖 RAII 资源管理、move-only 语义替代 const_cast hack、零异常错误处理、零全局状态等关键改造点,附完整前后对比代码。
把两篇 clang-tidy 教程整合扩展为嵌入式 C++17 实战指南:精选 check 集合、嵌入式专属 check、HeaderFilterRegex 限制范围、CMake 与 CI 集成、parallel 加速和 NOLINT 用法。
行为树凭借 Tick 心跳和 RUNNING 状态,在单核 MCU 上实现无需多线程的协作式并发。本文从 Tick 运行模型出发,以 newosp 的 osp::BehaviorTree 为主线,结合 HSM+BT 组合模式和视觉平台预览服务重构案例,给出嵌入式落地路径。
面向嵌入式 ARM-Linux 的 UDS 实时性优化指南。从内核数据路径出发,覆盖 socket 类型选择、epoll 边缘触发、抽象命名空间、fd 传递、memfd 大块传输、eventfd 通知、实时调度与 CPU 隔离、缓冲区调优和 io_uring 异步路径。