多核系统架构介绍
本文主要面向基于 Luckfox Lyra 系列开发板的多核异构系统(AMP,Asymmetric Multi-Processing)开发场景,涵盖从开发环境搭建、镜像编译,到实际 AMP 应用示例运行的完整流程。
文档内容适用于 Linux + Baremetal/RT-Thread 混合运行环境,帮助用户快速了解 RK3506 平台上的多核任务分工、子系统协作以及异构多核开发方式。
提示
Luckfox Lyra 系列开发板中的基础版 Luckfox Lyra 不包含在 AMP 支持范围内。该版本默认未搭载 Flash 或 eMMC,因此无法支持本章节介绍的 AMP 方案。
1. 系统框图
RK3506 核心资源示意图如下。更多详细信息请参考 RK3506 Datasheet 手册。

2. 相关术语
| 术语 | 说明 |
|---|---|
| SMP(Symmetric Multi-Processing,对称多处理) | 多个相同架构的 CPU 核心运行同一个操作系统,例如 Linux。任务由操作系统统一调度,所有核心地位对等,适用于通用计算和多任务并行处理。 |
| AMP(Asymmetric Multi-Processing,非对称多处理) | 不同 CPU 核心可以运行不同操作系统或独立程序,例如 Linux + RT-Thread。各核心职责分工明确、相对独立,适用于需要实时性、功能隔离或专用控制任务的场景。 |
| 多核异构系统(Heterogeneous Multi-Core System) | 指在同一颗 SoC 中集成不同架构的处理器核心,例如 ARM Cortex-A7 核心与 Cortex-M0 核心。不同核心可运行不同操作系统或运行环境,例如 Cortex-A7 运行 Linux,Cortex-M0 运行 Baremetal 固件。 |
| 多核同构系统(Homogeneous Multi-Core System) | 指 SoC 内所有 CPU 核心采用相同架构,例如多核 ARM Cortex-A7。该架构既可通过 SMP 模式统一运行单一操作系统,也可以通过 CPU 隔离,将部分核心划分给 RT-Thread 等 AMP 子系统。 |
| Baremetal(裸机) | 无操作系统内核的开发模式。程序直接运行在硬件上,由开发者自行完成初始化、调度和资源管理。该模式开销小、响应快,适用于实时性要求高且功能相对简单的任务。 |
| RT-Thread | 一种轻量级实时操作系统(RTOS)内核,提供任务调度、时间管理和基础同步机制,适用于多任务并发及实时性要求较高的嵌入式系统开发。 |
| Rpmsg | 一种用于异构多核系统中核间通信(IPC)的标准通信框架,定义了不同处理器核心之间进行消息传输时使用的标准二进制接口,常用于 Linux 与 RT-Thread/Baremetal 之间的数据交互。 |
3. RK3506 AMP 默认支持方案
RK3506 拥有三个 ARM Cortex-A7 CPU 核心,其中可以将一个 CPU 分配给 RTOS,实现两个 CPU 运行 Linux、一个 CPU 运行 RT-Thread 的混合模式。
RK3506 的 MCU 目前仅支持 Baremetal,可实现三个 Cortex-A7 CPU 运行 Linux,同时 MCU 运行 Baremetal 固件的应用场景,用于低功耗任务或辅助控制。
| 方案 | 核心 | 操作系统 | 典型应用 / 说明 |
|---|---|---|---|
| 方案 1 | Cortex-A7(CPU1/2/3) | Linux + RT-Thread | 两个 CPU 运行 Linux 主系统,另一个 CPU 运行 RTOS 子系统;MCU 不使用。 |
| 方案 2 | Cortex-A7(CPU1/2/3)+ MCU | Linux + Baremetal | 三个 CPU 运行 Linux,MCU 运行 Baremetal 固件,用于低功耗任务或辅助控制。 |