ARM + RISC-V核间通信方案,基于全志T113-i的OpenAMP非对称架构

本文主要给大家分享的是基于创龙科技 TLT113-EVM 评估板(基于全志 T113-i)的 ARM + RISC-V 核间通信开发案例,适用开发环境如下。

Windows 开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware15.5.5

Linux 开发环境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2018.07

Kernel:Linux-5.4.61、Linux-RT-5.4.61

LinuxSDK:T113_Tina5.0-V1.0(Linux)

 

OpenAMP 简介

AMP(Asymmetric Multi-Processing),即非对称多处理架构。“非对称 AMP”双系统是指多个核心相对独立运行不同的操作系统或裸机应用程序,如 Linux + RTOS/ 裸机,但需一个主核心来控制整个系统以及其它从核心。每个处理器核心相互隔离,拥有属于自己的内存,既可各自独立运行不同的任务,又可多个核心之间进行核间通信。OpenAMP 框架是一个提供用于处理非对称多处理架构(AMP)系统的软件组件。

随着对嵌入式系统要求的不断提高,非对称 AMP 架构如今已成为一种新选择,主要应用于工业领域,如工业 PLC、继电保护装置、小电流选线设备等。

图 1

 

RPMsg 简介

RPMsg(Remote Processor Messaging),是一种专为异构多核处理系统设计的通信协议。它允许不同处理器核心之间通过共享内存高效地交换信息,为主核心和从核心之间提供了一种标准化的消息传递机制,使得这些不同架构的核心能够协同工作,最大限度地发挥它们的性能。

RPMsg 的主要特点包括:

(1)基于 VirtIO 管理共享内存,实现了高效的数据传输;

(2)避免额外的拷贝开销,优化了内存使用;

(3)配备同步与互斥机制,确保数据交换的高效与安全;

图 2

 

T113-i 国产平台优势

全志 T113-i 处理器可运行 Linux 操作系统、Qt 炫酷图形界面,并可支持 1080P 高清视频编解码、4G 大数据传输、2Gb 超大存储空间、LCD/LVDS/MIPI 三种显示、原生千兆网 / 双 CAN,是单片机升级的优选平台。同时,创龙科技 T113-i 工业核心板已实现国产化率 100%,并提供“赛宝实验室”国产化率证明报告,让您的产品更有特色!

另外,创龙科技全志 T113-i 双核 ARM Cortex-A7@1.2GHz + RISC-V C906@1008MHz 全国产工业核心板,含税仅 79 元起!在短短一年多时间里,已有近 2000 家企业选用创龙科技 T113-i 工业核心板用于终端产品开发,欢迎广大客户咨询!

图 3

 

T113-i 典型应用领域

图 4

 

T113-i 核间通信开发案例演示

为了简化描述,本文仅摘录部分方案功能描述与测试结果,详细产品资料请通过公众号下载。

案例功能

本期案例主要是通过使用 RPMsg 框架,来实现异构的处理器之间进行相互通信。ARM 核心运行 Linux 系统与 rpmsg_echo 应用程序,RISC-V 核心运行 RISC-V 程序,实现 ARM 端的 rpmsg 数据的接收与发送功能。

案例测试

首先,我们使用 Type-C 线连接 PC 机和评估板的 USB TO UART0 串口,使用 RS232 交叉串口母母线、USB 转 RS232 公头串口线,将评估板的 RS232 UART2 串口连接至 PC 机的 USB 接口,如下图所示。

图 5

可以看到,当我们启动 RISC-V 核心并加载工程镜像后,RISC-V 核心启动后会自动运行程序,RS232 UART2 串口终端便打印显示出如下图内容。

图 6

然后,我们执行如下命令运行 ARM 端应用程序,发送 5 次 rpmsg 数据包至 RISC-V 核心,当 RISC-V 核心每收到 1 次 rpmsg 数据包,就会将数据包发送回 ARM 端。

Target# ./rpmsg_echo -r c906_rproc\@0 -m tronlong -n 5

图 7

当 ARM 端程序运行时,RS232 UART2 串口终端将会打印如下类似信息。

图 8
到这里,ARM + RISC-V 核间通信开发案例分享就结束了,想要查看更多全志 T113-i 相关的案例演示,欢迎各位工程师通过公众号(Tronlong 创龙科技)下载,快来试试吧!