针对RK3506J 开发嵌入式固件架构选型:RT-Thread SMP 与 Linux 部署方案对比
摘要
激光雷达等传感器固件既要“硬实时”地采集和控制硬件,又要有足够算力做点云处理和网络通讯。
RK3506J 提供 3 个 Cortex‑A7 和 1 个 Cortex‑M0 的异构多核硬件,对这类产品非常有吸引力。
本文使用通俗的语言,比较两种在 RK3506J 上常见的系统部署思路,给出各自优缺点。
平台与术语
- CPU 架构:3×Cortex‑A7(称为 A 核组)+1×Cortex‑M0(称为 M0)。
- SMP:A 核组之间的对称多核运行,能把计算任务分给多个 A 核。
- M0 的角色:小核,适合高频率、确定性强的控制任务(比如电机或前置传感器处理)。
- IPC(跨核通信):核间可以通过 Mailbox、共享内存加 Spinlock 等机制交换数据和信号。

嵌入式固件的需求
- 实时采集:传感器产生高频数据流,需要零丢帧、可预测的中断响应。
- 低延迟控制:电机控制与闭环必须有确定性响应(纳秒/微秒级别)。
- 高强度处理:解算、滤波、坐标变换等需要并行算力来处理点云。
- 高吞吐输出:通过以太网或 USB 向上游推流,要求稳定的网络栈与驱动支持。
两种架构方案与适用场景

方案一:A 核跑 Linux,M0 跑 RT-Thread(混合部署,推荐)
- 适合:需要快速开发、依赖成熟网络驱动或上层生态(如 ROS、Web 界面)的产品。
- 如何分工:M0 承担所有硬实时任务(电机、必要的采集);A 核上的 Linux 负责点云高级处理、网络与调试工具。通过 Mailbox/共享内存把数据传给 Linux。
- 优点:利用 Linux 生态、驱动和调试工具;实时任务与应用隔离,降低整体风险。
- 缺点:M0 的算力可能成为瓶颈;核间带宽要设计慎重以避免成为瓶颈。
方案二:A 核全部跑 RT-Thread SMP(全 RTOS 硬实时)
- 适合:对延迟、抖动有严格要求的高端 Lidar;需要最短启动和最小内存占用。
- 如何分工:M0 做电机控制;一个 A 核专责数据采集,另外两个 A 核并行处理点云。核间用共享内存环形缓冲传数据。
- 优点:最小的调度延迟;时序可控;启动快。
- 缺点:需要自行实现或移植网络/USB 协议栈,开发成本高。
建议
- 首选(快速可交付):方案一 — A 核跑 Linux,M0 负责硬实时。适合需要成熟驱动、快速集成上层生态和短时间验证的项目。
- 目标(极致性能或量产降本):方案二 — 全部使用 RT-Thread SMP,在团队有能力实现网络/USB 驱动时采用。优点是最低延迟和更小的软硬件成本。
- 实践路径:先用混合方案做原型,把关键瓶颈(M0 算力、核间带宽、外设中断分配)作为度量指标;如果需要,再把热点迁移到 RT-Thread A 核组以优化延迟和成本。
参考
https://www.eet-china.com/mp/a437640.html
https://blog.csdn.net/Industio_CSDN/article/details/144776623
