logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

跨进程通信使用 Zenoh中间件 进行高效数据传输的测试和分析

Zenoh是一个高效的数据传输框架,核心由 Rust 编写,同时提供了 C++、Python 等多种语言绑定。支持多种部署环境和跨网络通信,实现了去中心化的自适应网络发现,最小的协议网络开销,能够满足低延迟和高吞吐量的要求,甚至它内部也实现了IPC(zero copy)。本文将探讨如何在 C++ 环境下使用 Zenoh 进行数据传输,并讨论 Zenoh 与 ROS2 的集成方式。

文章图片
#中间件#分布式
UnQLite:多语言支持的嵌入式NoSQL数据库深入解析

UnQLite 是一个嵌入式的NoSQL数据库引擎,提供一个无需编写复杂SQL语句的方案,支持任意形式的数据存储。对于需要频繁操作JSON数据的应用来说,UnQLite提供的JSON文档存储和读取特别方便,使得数据操作直观和高效,适合于各种嵌入式应用程序。

文章图片
#nosql#数据库#嵌入式
开源TinyFSM状态机适用于嵌入式工业平台吗?

在嵌入式系统开发中,TinyFSM等状态机设计模式广泛应用于控制系统和通信协议等场景,然而,开发者也需考虑性能和遵循严格的工业标准。传统 C++ 实现不仅能满足工业标准的要求,还能提供更高的性能和更低的内存开销。现代 C++ 实现虽然引入了许多新特性,可以简化代码结构,但在性能上可能不如传统 C++ 实现高效。

文章图片
#开源
针对RK3506J 开发嵌入式固件架构选型:RT-Thread SMP 与 Linux 部署方案对比

激光雷达等传感器固件既要“硬实时”地采集和控制硬件,又要有足够算力做点云处理和网络通讯。RK3506J 提供 3 个 Cortex‑A7 和 1 个 Cortex‑M0 的异构多核硬件,对这类产品非常有吸引力。本文使用通俗的语言,比较两种在 RK3506J 上常见的系统部署思路,给出各自优缺点。

#架构#linux
高级嵌入式软件工程师面试题 - 事件/消息系统设计

本文探讨了嵌入式系统架构设计的核心问题,提出了消息总线架构的解决方案。主要内容包括:1)采用分层架构设计消息总线,包含事件调度器、数据令牌等关键组件;2)分析事件系统中发布者与订阅者的耦合度设计;3)比较抢占式、协作式和事件驱动三种并发模型的适用场景;4)提出零拷贝数据传递机制,通过令牌设计避免内存拷贝;5)讨论内存管理策略,推荐实时系统使用内存池方案。文章为嵌入式系统开发提供了实用的架构设计思路

#面试
一个面向工业嵌入式的 C++17 Header-Only 基础设施库

一个面向工业嵌入式系统(传感器、机器人、边缘计算)的纯头文件基础设施库

#c++#嵌入式
Linux编程:解析EAGAIN错误 Resource temporarily unavailable

在Linux系统编程中,`EAGAIN`(错误号11)是一个常见的错误码,表示“资源暂时不可用”(Resource temporarily unavailable)。当开发者在进行网络编程、进程控制或文件I/O操作时,可能会遇到这个错误。为了确保程序的健壮性和稳定性,深入理解`EAGAIN`错误的成因和处理方法至关重要。

文章图片
#linux
如何使 git pull origin master 不出现 Merge branch ‘master‘ 提交信息?

当你执行 `git pull origin master` 时,Git 默认会执行 `git fetch` 紧接着 `git merge`,这可能会导致产生 "Merge branch 'master' of..." 样式的提交信息,尤其是在有冲突需要解决的情况下。如果你希望避免这样的 Merge 提交信息,可以采用 `git pull --rebase` 命令来替代默认的 `git pull`

文章图片
#git
vscode配置使用 cpplint和clang-format

vscode配置使用 cpplint和clang-format

文章图片
#vscode#ide#编辑器
嵌入式系统中串口通信粘包问题的解决方案(C语言)

在嵌入式系统中,串口通信常见但易出现粘包问题难。本文分析了粘包的原因,并通过代码示例介绍了在数据包中添加头部标识符、数据长度、消息类型和校验码的方法,来有效解决串口粘包问题

文章图片
#网络#linux
    共 47 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择