RPMsg介绍
RPMsg全称为 remote processor messages,是一种基于virtio的消息传递总线,专为异构处理器系统之间的通信设计。
主要特点:
1.标准化接口:RPMsg定义了一个标准化接口,用于在异构多核系统中的多个核之间进行通信。
2.高效通信:利用virtio管理机制实现高效数据传输。
IMX8MM平台优势
高速性能 稳定好用
迅为-i.MX8M Mini核心板采用了先进的14LPC FinFET工艺,提供更快的速度和更高的电源效率。支持工业控制设备和消费电子设备,在恶劣环境中运行应用程序。
强大的视频处理能力
迅为iMX8MM 开发板支持 H264,VP8 格式的视频编码,最大支持1080p60fps。支持H264,H265,VP8,VP9 视频硬解码,最大支持1080p60fps,并提供相关历程。
H265编码更流畅,您可以随时随地查看你所关心场景的监控视频。
功耗更低 更稳定
迅为i.MX8M Mini采用PCA9450A电源管理,拒绝老旧方案,采用NXP全新研制配套i.MX8M Mini的电源管理芯片,有六个降压稳压器、五个线性稳压器和一个负载开关,为整个系统的稳定运行提供了更可靠的保证。
丰富接口配置 满足多种使用场景
齐全的接口配置,千兆工业级以太网、PDM接口、SAI接口、SpeakerMIPI-DSI、CAMERA、USB HOST、WIFI/BT、4G模块等一应俱全。
方案演示
演示demo为 rpmsg_lite_pingpong_rtos
代码位于SDK中:drivers/rpmsg/imx_rpmsg_pingpong.c
实现功能:Cortex -A53 与 Cortex-M4 二者使用共享内存实现数据收发。
Demo测试平台:iTOP-IMX8MM开发板
测试步骤
将SDK包 SDK_2_9_1_EVK-MIMX8MM.zip 拷贝到 ubuntu 的任意路径下, 并使用命令 unzipSDK_2_9_1_EVK-MIMX8MM.zip 解压 sdk 包, 解压完成后如下图所示:
解压源码包并进入
boards/evkmimx8mm/multicore_examples/rpmsg_lite_pingpong_rtos/linux_remote/armgcc/路径下通过build_debug.sh进行编译
将编译得到的rpmsg_lite_pingpong_rtos_linux_remote.bin 文件拷贝到 TF 卡, 拷贝完成后将 TF 卡插到开发板的 TF 卡座子, 接着启动开发板并进到 uboot 模式。
输入命令 fatload mmc 0 0x7e0000 rpmsg_lite_pingpong_rtos_linux_remote.bin 将 bin 文件拷贝到0x7e0000, 如下图所示
拷贝完成后使用 bootaux 0x7e0000 命令启动程序, 同时我们可以看到连接串口 4 的控制台输出了打印信息, 如下图所示
串口 4 输出打印如下图所示:
使用boot命令启动内核, 如下图所示:
内核启动成功以后在串口 4 会输出打印连接成功的信息, 如下图所示:
然后在串口终端加载以下内核模块:modprobe imx_rpmsg_pingpong模块加载之后, Cortex A53 开始跟 Cortex M4 进行数据传输, 此时可以在 Cortex M4 的串口终端看到以下输出:
-
处理器
+关注
关注
68文章
19334浏览量
230188 -
接口
+关注
关注
33文章
8633浏览量
151369 -
通信
+关注
关注
18文章
6039浏览量
136117 -
Cortex-M
+关注
关注
2文章
229浏览量
29780 -
Cortex-A
+关注
关注
0文章
20浏览量
34277
原文标题:异构多核架构 | 基于IMX8MM处理器Crotex-A核&Crotex-M核的RPMsg通信方案
文章出处:【微信号:迅为电子,微信公众号:迅为电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论