EDA365电子论坛网

标题: “双系统”出炉!瑞芯微RK3562J非对称AMP:Linux+RTOS/裸机 [打印本页]

作者: Tronlong123    时间: 2025-1-25 14:41
标题: “双系统”出炉!瑞芯微RK3562J非对称AMP:Linux+RTOS/裸机
本帖最后由 Heaven_1 于 2025-2-5 14:32 编辑
) L4 m# ^) a. D  o* u( U& P# |% ~$ B% ?' v& O8 C
“非对称AMP”双系统
- g2 G6 h0 ?# ]- I3 oAMP(Asymmetric Multi-Processing),即非对称多处理架构。“非对称AMP”双系统是指多个核心相对独立运行不同的操作系统或裸机应用程序,如Linux + RTOS/裸机,但需一个主核心来控制整个系统以及其它从核心。每个处理器核心相互隔离,拥有属于自己的内存,既可各自独立运行不同的任务,又可多个核心之间进行核间通信。
7 w8 d( D2 _% F# m/ G+ X  p
图 1 RK3562J AMP异构多核框架示意图

$ ^9 p$ Z' E4 e6 j) O/ C
“非对称AMP”对工业有何意义
  _, a! y2 m# S, f4 b* y, a“系统实时性”更强
5 k0 T+ W! w$ t# t! n. X2 ]- V+ e非对称AMP架构拥有更强的系统实时性,可使用固定的核心进行实时任务处理。在工业自动化控制领域中,非对称AMP架构可以兼顾复杂功能与实时性需求。AMP架构提高了系统实时性、执行效率、计算能力及响应速度。
- }& ~% ~3 \; U& ]“系统稳定性”更高4 ~- m0 s# b4 K$ }
非对称AMP架构拥有更高的系统稳定性,核心之间独立且无需频繁交互数据,每个处理器核心拥有属于自己的内存,核心之间互不干扰。开发者可灵活分配任务或指定核心间通信,从而增强系统稳定性,减少崩溃风险,保障数据完整。* B5 g; t, E% s9 v. D, X
“系统硬件成本”更低
6 O& a2 j6 V8 q. I) X8 o2 \非对称AMP架构通过优化内部通信,仅需一套硬件电路即可实现复杂功能,显著降低系统硬件成本。其各核心能运行不同操作系统,并行处理多任务,无需额外硬件支持,高效且经济。
2 Q) s5 V" n+ j. c% J, A) y
图 2

# ^9 r% I2 j8 i/ B' ~' T/ t7 g
“非对称AMP”双系统的应用领域
* A9 o4 Z7 O' t% c随着对嵌入式系统要求的不断提高,非对称AMP架构如今已成为一种新选择,主要应用于工业领域,如工业PLC、运动控制器、机器人控制器、继电保护装置、小电流选线设备等。
( h0 t+ S' L$ `1 l# L  H
图 3
. L, s9 A$ ]- k/ R
RK3562J非对称AMP开发案例, Q0 M" G" {' G  ~: S( p* b. `
本文主要介绍基于RK3562J的非对称AMP开发案例,适用开发环境如下。
: Y5 k9 @8 [) T$ h4 S# K: ?Windows开发环境:Windows 7 64bit、Windows 10 64bit
; W$ K5 b- T) cLinux开发环境:VMware16.2.5、Ubuntu20.04.6 64bit
8 w5 m/ i5 ~! o6 B: g6 i4 w7 e5 N2 tU-Boot:U-Boot-2017.09
% q5 _4 [0 l! `. iKernel:Linux-5.10.198& u$ J$ V# P9 @" H2 V; P+ B% `
LinuxSDK:LinuxSDK-[版本号](基于RK3562_LINUX_SDK_RELEASE_V1.1.0_20231220)/ [6 h( N0 v. |: R
硬件平台:创龙科技RK3562J工业评估板(TL3562-EVM)+ E+ ]4 t0 b+ o5 c
为了简化描述,本文仅摘录部分方案功能描述与测试结果。8 F4 D6 l  r7 L8 R; n5 q
案例说明- @/ L! z( O: y7 I2 R% a* S
案例功能:
# U$ ~1 G& F. E6 B2 J(1)Cortex-A53(CPU0、CPU1、CPU2、CPU3)核心运行Linux系统与rpmsg_echo应用程序;Cortex-M0(MCU)核心运行RT-Thread或Baremetal程序,实现Linux端的rpmsg数据的接收与发送功能。' w( @. ~8 _& T) V3 u
(2)Cortex-A53(CPU0、CPU1、CPU2)核心运行Linux系统与rpmsg_echo应用程序;Cortex-A53(CPU3)核心运行RT-Thread或Baremetal程序,实现Linux端的rpmsg数据的接收与发送功能。& V2 X7 R3 e. f' K  a
案例程序流程图如下所示:
3 o+ R: j3 y% R8 l) a3 y. @
图 4
案例演示
5 Z5 d! g( P0 Z% `& g下文以Cortex-A53(CPU0、CPU1、CPU2、CPU3)核心运行Linux系统与rpmsg_echo应用程序,Cortex-M0(MCU)核心运行Baremetal程序为例进行演示。2 Z4 I  e4 |& q. C* @
参考产品资料,固化案例的amp.img镜像至评估板并替换案例的评估板系统内核镜像。U-Boot启动后,将加载运行amp.img镜像,Baremetal程序的串口终端将打印程序运行信息。
9 ]$ X. q9 p& D: A! Z9 x* {: Y
图 5
执行如下命令运行Linux应用程序rpmsg_echo,发送8个rpmsg数据包至运行Baremetal程序的Cortex-M0核心,当Cortex-M0核心每收到1个rpmsg数据包就会将数据包发送回Linux端。rpmsg数据包内容为"hello there x!"(x是rpmsg数据包序号,每发送一次加1)。( E0 {& P2 o2 O5 p$ ]
Target# ./rpmsg_echo -n 8- A& _- W( M+ E: I- V
图 6
查看更多RK3562J相关的案例演示,各位工程师可以通过公众号(Tronlong创龙科技)下载,快来试试吧!
7 i3 `' k4 V2 i, k4 X* A2 A
作者: Heaven_1    时间: 2025-2-5 14:32
开发板的程序都包含哪些?




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2