找回密码
 注册
关于网站域名变更的通知
查看: 304|回复: 1
打印 上一主题 下一主题

“双系统”出炉!瑞芯微RK3562J非对称AMP:Linux+RTOS/裸机

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2024-11-25 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
“非对称AMP”双系统
  Y' u1 Y& w0 t4 q6 iAMP(Asymmetric Multi-Processing),即非对称多处理架构。“非对称AMP”双系统是指多个核心相对独立运行不同的操作系统或裸机应用程序,如Linux + RTOS/裸机,但需一个主核心来控制整个系统以及其它从核心。每个处理器核心相互隔离,拥有属于自己的内存,既可各自独立运行不同的任务,又可多个核心之间进行核间通信。
: l9 M# d% J2 O. r

7 B4 ?. t3 O, S9 ?
图 1 RK3562J AMP异构多核框架示意图
7 d% B% G9 ?( G# q) r0 a; L: k
“非对称AMP”对工业有何意义: s: K/ I, v# b8 e
“系统实时性”更强9 U) U6 N" j7 @+ ]2 x8 Y
非对称AMP架构拥有更强的系统实时性,可使用固定的核心进行实时任务处理。在工业自动化控制领域中,非对称AMP架构可以兼顾复杂功能与实时性需求。AMP架构提高了系统实时性、执行效率、计算能力及响应速度。
( Y4 w5 L0 C+ |8 M3 I6 G4 g6 F“系统稳定性”更高
+ o( S* c  f+ o7 \: s5 j非对称AMP架构拥有更高的系统稳定性,核心之间独立且无需频繁交互数据,每个处理器核心拥有属于自己的内存,核心之间互不干扰。开发者可灵活分配任务或指定核心间通信,从而增强系统稳定性,减少崩溃风险,保障数据完整。! b  r( V9 a; r& N% \; n; o
“系统硬件成本”更低& n+ A( F- v/ L* Z. m# r( ~* q
非对称AMP架构通过优化内部通信,仅需一套硬件电路即可实现复杂功能,显著降低系统硬件成本。其各核心能运行不同操作系统,并行处理多任务,无需额外硬件支持,高效且经济。3 }. Q0 N. l5 m  b0 P! A& x9 L. R7 t
" h+ ^: r7 M" R7 u/ ^1 x' w
图 2

" d% `0 v9 l) [0 V5 }6 ]
“非对称AMP”双系统的应用领域# e- R$ W2 T, @6 o4 q7 s( r
随着对嵌入式系统要求的不断提高,非对称AMP架构如今已成为一种新选择,主要应用于工业领域,如工业PLC、运动控制器、机器人控制器、继电保护装置、小电流选线设备等。
* v( E  E; w& U$ s8 j
) F, `+ H' Y9 }% E; d  `4 [
图 3
/ k% _4 \! m& z0 l/ o& _) R
RK3562J非对称AMP开发案例
- c' J! m' d7 A; k  p7 e1 w本文主要介绍基于RK3562J的非对称AMP开发案例,适用开发环境如下。/ M# p# r. R7 f  V7 t2 t8 R- z" n! C
Windows开发环境:Windows 7 64bit、Windows 10 64bit
0 m3 s) ~( P: _5 T  X5 U7 q9 FLinux开发环境:VMware16.2.5、Ubuntu20.04.6 64bit
8 a$ o# d3 ]3 l8 uU-Boot:U-Boot-2017.09
+ D: U( R, N/ U* VKernel:Linux-5.10.198
# n( U: P. T; |  B2 U4 pLinuxSDK:LinuxSDK-[版本号](基于RK3562_LINUX_SDK_RELEASE_V1.1.0_20231220)
. D: U, D' G* d硬件平台:创龙科技RK3562J工业评估板(TL3562-EVM)
  u6 b' E! }. r* C! a( d4 T为了简化描述,本文仅摘录部分方案功能描述与测试结果。7 b2 L. H9 l8 y, K: V6 J1 [+ }0 T1 v
案例说明; Z: w& P& `5 t8 }. S
案例功能:
0 N! G6 S+ k3 Y$ g(1)Cortex-A53(CPU0、CPU1、CPU2、CPU3)核心运行Linux系统与rpmsg_echo应用程序;Cortex-M0(mcu)核心运行RT-Thread或Baremetal程序,实现Linux端的rpmsg数据的接收与发送功能。" [2 J' F3 t5 D+ L$ x2 R
(2)Cortex-A53(CPU0、CPU1、CPU2)核心运行Linux系统与rpmsg_echo应用程序;Cortex-A53(CPU3)核心运行RT-Thread或Baremetal程序,实现Linux端的rpmsg数据的接收与发送功能。# s. d* V% u+ w2 I% n8 q
案例程序流程图如下所示:% r7 I$ X6 V- [
$ O8 a8 t/ c+ |0 q( o9 p: }+ V
图 4
案例演示
7 n8 ~' T& ~/ }' g4 T# ~6 X1 s下文以Cortex-A53(CPU0、CPU1、CPU2、CPU3)核心运行Linux系统与rpmsg_echo应用程序,Cortex-M0(MCU)核心运行Baremetal程序为例进行演示。( M8 ]+ ~) f: c4 r: _9 D' e
参考产品资料,固化案例的amp.img镜像至评估板并替换案例的评估板系统内核镜像。U-Boot启动后,将加载运行amp.img镜像,Baremetal程序的串口终端将打印程序运行信息。" c/ r: V% E4 m! S- [: g

8 O) ]! i1 ^" R: m$ J: J
图 5
执行如下命令运行Linux应用程序rpmsg_echo,发送8个rpmsg数据包至运行Baremetal程序的Cortex-M0核心,当Cortex-M0核心每收到1个rpmsg数据包就会将数据包发送回Linux端。rpmsg数据包内容为"hello there x!"(x是rpmsg数据包序号,每发送一次加1)。$ C" ^1 l* m+ N5 m) u
Target# ./rpmsg_echo -n 8
, H9 T2 w# I8 s" j( `$ z; ]2 F
$ ^: V9 F7 N$ Q7 ]8 ~# T0 m' B4 d
图 6
查看更多RK3562J相关的案例演示,各位工程师可以通过公众号(Tronlong创龙科技)下载,快来试试吧!" i/ p' a( j# r( ^. T! _1 S: e7 B

该用户从未签到

2#
发表于 2024-11-25 17:30 | 只看该作者
案例程序流程图很详细
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 14:42 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表