眺望电子Core-RK3568核心板实时性再升级-【AMP双系统架构加持】

802
发表时间:2024-04-24 16:59作者:广州眺望电子科技有限公司

近期,眺望电子Core-RK3568系列核心板再度迎来新升级——支持“AMP”双系统


1、什么是“AMP”:

AMP(非对称多处理)简单来说就是:多核处理器的每个核之间相互隔离,可以相对独立地运行不同的操作系统或裸机程序。这种运行模式比较适合高实时性的应用。


2、Core-RK3568核心板 AMP

广州眺望电子Core-RK3568核心板搭载的RK3568处理器采用四核Cortex-A55架构,从架构上看属于“同构多核架构”。 RK3568的AMP SDK与Linux SDK相比,区别在于Linux SDK中使用的是SMP(对称多处理)模式,即只运行一个Linux操作系统,在该操作系统中管理全部四个核;

而AMP SDK使用AMP的模式,四个核心中的三个核心共同运行一个Linux操作系统,另一个核心单独运行裸机程序。 由于高实时性任务是由运行裸机程序的核心专门处理的,所以这种运行模式可以很好地满足如电力互联网、电网继电保护、电力系统安全控制、工业自动化等领域的高实时性需求。


RK3568 AMP


3、更低成本,更高实时性,更具优势

(1) 更低成本: 为了解决Linux系统主控实时性不足的问题,在传统应用中通常会采取外挂单片机的方式专门执行高实时性的程序。 而采用AMP系统就可以舍弃掉外置的单片机,在Core-RK3568核心板上,可以将四个A55核中的一个核心分离出来作为实时核单独运行RT-Thread或裸机程序——只用一颗芯片就能够完成所有的工作,降低了硬件成本。

(2) 高实时性: 由于Linux系统实时性较低,所以无法用来执行对实时性要求高的任务。而裸机程序或者实时操作系统的实时性远高于Linux系统,同时也得益于Core-RK3568核心板最高2.0GHz的高主频,运行实时操作系统的A55核也可以拥有很强的实时性。


4、核间通信

与其它多核异构架构的处理器相同,AMP也使用共享内存的方式在A核(Linux)与实时核(裸机或实时操作系统)之间进行数据传输。 通过物理内存DDR分配,将硬件层分为了两部分:TXVring Buffer(发送虚拟环状缓冲区)和RXVring Buffer(接收虚拟环状缓冲区);其中实时核从TXVring区发送数据,从RXVring区读取接收数据,A核反之。


AMP模块框图.png


5、AMP使用示例

目前广州眺望电子Core-RK3568核心板已提供GPIO、UART、SPI接口的使用示例,使用RPMSG进行核间通信。其它接口还在适配中,之后会陆续开放。裸机程序可以在提供的工具中使用JLINK仿真调试。

下面简要介绍一下裸机程序中UART接口的使用示例:

(1) 硬件连接

本示例使用的是UART5,使用跳线帽将EVM-RK3568开发板上的TX5与RX5短接。

(2) 设备树配置

为了防止Linux占用UART5的资源导致实时核无法使用UART5,需要先在设备树上的rockchip_amp节点添加对UART5的资源保护,包括时钟和pinctrl。

clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>, pinctrl-names = “default”, ”uart5”; pinctrl-1 = <&uart5m1_xfer>;

(3) 裸机程序的配置

UART接口使用介绍:


RK3568 AMP双系统架构.jpg


RK3568 AMP.jpg



示例使用:

根据EVM-RK3568开发板产品资料中提供的手册,在裸机程序的main函数中调用我们编写好的使用例程。

实验现象:

按照手册编译烧写完程序后,打开串口调试助手,打开对应串口,可以看到EVM-RK3568开发板开机后程序发出的数据。

在串口调试助手,输入任何数据并发送,触发接收中断,从实时核调试串口(uart4)就可以看到输入的数据了。



关于我们
产品中心
项目定制
技术支持
联系我们
专业嵌入式技术服务商
广州眺望电子科技有限公司

020-32167606

sales@talowe.com

广东省广州市黄埔区东明三路18号智造谷创新园D栋903

官方微信公众号