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]

嵌入式配置序列化选型: struct/TLV/nanopb/capnproto 对比

嵌入式设备的配置数据需要在 Flash/NvM 与内存之间可靠存取。本文从最简的裸 struct memcpy 出发,逐级递进到自定义 TLV、nanopb (Protocol Buffers C 实现) 和 c-capnproto (零拷贝固定布局),形成四档方案对比。重点分析各方案在版本兼容、读写性能、维护成本上的取舍,并结合 Flash 扇区擦除特性论证为何整体重写并非性能瓶颈。

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