你是什么时候了解 RISC-V 的?
大概从2019年华为麒麟芯片被制裁开始,RISC-V 就逐渐进入大家视野,原因很简单,RISC-V是一种免费开放的指令集架构,商用也不受制裁。从手机端的SoC到嵌入式的MCU,各种处理器都加入了 RISC-V 阵营。
通过这些年的发展,RISC-V 的生态已经很完善了,所以ARM + RISC-V架构也火起来了。
ARM核心一般负责接口驱动、业务逻辑、核心算法等,RISC-V核心一般专注于实时控制、数据采集等。如何实现二者高效协同?AMP架构 + RPMsg协议给出答案,轻松实现ARM与RISC-V核间通信。

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

基于RPMsg(Remote Processor Messaging),即远程处理器消息传递,是一种专为异构多核处理系统设计的通信协议。它允许不同处理器核心之间通过共享内存高效地交换消息,为主核心和从核心之间提供了一种标准化的消息传递机制,使得这些不同架构的核心能够协同工作,最大限度地发挥它们的性能。
该方案适配多种工业应用场景,针对性解决多核协同难题:
工业网关:ARM处理网络通信,RISC-V处理数据采集。
工业PLC:ARM负责逻辑决策,RISC-V负责实时控制。
智能终端:ARM负责用户操作响应,RISC-V处理外设控制。
以下基于全志T536异构多核工业处理器,演示如何通过RPMsg实现ARM和RISC-V核心通信功能。
(1)RISC-V核心:运行RTOS程序,等待接收Linux RPMsg数据。接收到数据后,把数据发回给Linux,循环往复接收与发送RPMsg数据,实现核间通信。
(2)ARM核心:运行Linux应用程序,发送Linux RPMsg数据,并接收RISC-V程序发回的RPMsg数据。

将本案例的可执行文件amp_rv0.bin拷贝至开发板系统的"/lib/firmware/"目录下,执行如下命令,启动RISC-V核心并加载工程镜像。

RS232 S-UART1调试串口(即RISC-V的调试串口)终端将会打印如下类似信息。

将案例可执行程序rpmsg_echo拷贝至文件系统任意目录下,并赋予可执行程序rpmsg_echo执行权限。

执行如下命令运行程序,Linux端将发送5次RPMsg数据:tronlong,RISC-V端将接收并打印RPMsg数据至RS232 S-UART1串口。

RS232 S-UART1串口打印信息如下图所示。

执行如下命令,关闭RISC-V核心,程序将停止运行。

通过AMP架构+ RPMsg协议,无需复杂配置,即可快速实现ARM与RISC-V核间通信,让异构多核的优势充分发挥,助力工业、智能终端等场景的产品研发提速!
(T536异构多核工业处理器高清视频)
T536是4核ARM Cortex-A55 + RISC-V + 2TOPS NPU架构,它作为全志科技新一代明星产品,凭借其17路UART、4路CAN-FD、通信并口Local Bus、内置ECC等特点,成为现代工业场景下多接口扩展解决方案的理想选择。
为降低国产处理器的评估成本,创龙科技T536工业开发板限时优惠,原价1258元,现价仅658元起(即优惠600元),性价比直接拉满!
如需抢购,欢迎登录创龙科技官方商城,或扫描下方海报二维码!
天猫旗舰店链接:
https://detail.tmall.com/item.htm?id=885910039989
技术交流QQ群:535860770
即刻加入,与技术专家深入交流!

欢迎关注Tronlong创龙科技官方公众号
获取更多精彩产品资讯
▼