0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何实现i.MX8MPlus的rpmsg调试

启扬ARM嵌入式开发 2025-03-20 17:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

我司IAC-IMX8MP-Kit开发板搭载NXP i.MX8MPlus SOC,该芯片采用4颗Arm Cortex-A53核心以及1颗Arm Cortex-M7核心。很多客户需求在M核心运行实时操作系统,而在A核心上运行Linux,实现双核心通信,那么今天就给大家分享一下相关技巧。

6196e374-056d-11f0-9434-92fbcf53809c.jpg

首先,我们需要在A核心,也就是Linux系统上把M核心打开,并且为M核心提供一定的硬件资源,如运行空间等。同时,如果需要核心间通讯,也需要增加一个节点,让两颗核心在节点间进行信息交互,具体修改如下图所示:

61be9c2a-056d-11f0-9434-92fbcf53809c.png61d67246-056d-11f0-9434-92fbcf53809c.png 

将编译好的设备树重新烧写到开发板中,这样M核心就正常启动了。

接下来需向NXP官方获取一份关于M核心的测试代码,以及相对应的编译器。编译器网址如下:https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads。测试代码的网址如下:https://mcuxpresso.nxp.com/zh,选择对应教育评估版,就可以下载对应SOC的测试代码了,如下图所示:

61f7c5f4-056d-11f0-9434-92fbcf53809c.png 

6208b65c-056d-11f0-9434-92fbcf53809c.png 

这里我们获取的源码包名为:SDK_24_12_00_EVK-MIMX8MP.zip。在PC Ubuntu环境中将源码包解压,内容如下:

62180aee-056d-11f0-9434-92fbcf53809c.png 

进入到

boards/evkmimx8mp/multicore_examples/rpmsg_lite_str_echo_rtos/remote/armgcc/下,并且声明上面提到的编译器,直接运行./build_all.sh即可生成三个bin文件,分别在debug/release、ddr_debug/ddr_release、flash_debug/flash_release文件下。它们对应着不同的加载位置,我们需要的是ddr_release下的bin文件。

最后,我们将bin文件更名为m7.bin,在uboot阶段将其加载到指定位置,具体命令如下(注意路径):

setenv loadimage 'fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}; ext4load mmc 2:2 0x80000000 /home/root/m7.bin; dcache flush; bootaux 0x80000000',接下来启动完成后就可以在M核心调试串口上查看到启动信息,如下图所示:

622dfc32-056d-11f0-9434-92fbcf53809c.png 

同时在Linux端需要加载rpmsg的驱动,insmod imx_rpmsg_tty.ko,加载成功后会默认向M核心发送一条消息,如下图所示:

62427536-056d-11f0-9434-92fbcf53809c.png 

并且生成用于交互的设备节点/dev/ttyRPMSG30。如果需要与M核心通讯,只需要向节点发送信息,就可以在M核心收到所发来的串口信息了,如下图所示:

6258c7dc-056d-11f0-9434-92fbcf53809c.png6278cbf4-056d-11f0-9434-92fbcf53809c.png

至此,i.MX8MPlus的rpmsg就调试成功了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9611

    浏览量

    394278
  • 开发板
    +关注

    关注

    26

    文章

    6506

    浏览量

    121351
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    i.mx8mplus 的 JTAG 检测失败的原因?

    我们一直在开发 i.mx8mplus EVK,同时调试无法连接到目标错误。在调试时,我们在示波器中观察到 JTAG 的每个引脚,然后我们发现 TDO 引脚连续为 0.5v。这会产生任何问题
    发表于 03-23 06:11

    无法连接到 i.MX8MPLUS EVK如何解决?

    我们有一个 i.mx8mplus 评估板。我们正在尝试使用裸机示例代码通过调试连接电路板,但在调试时,我们收到了以下附加错误。 we using Arm Development Studio
    发表于 04-23 06:22

    使用i.MX8MPlus运行Windows 10 IoT系统,遇到了三星eMMC的兼容性问题如何解决?

    我们使用i.MX8MPlus运行Windows 10 IoT系统,遇到了三星eMMC的兼容性问题。如何解决?详情如下:1.使用三星/KLMAG1JETD-B041/16GB eMMC5.1无法运行
    发表于 03-17 09:03

    i.MX8MM-BSP 5.15.52 linux-imx构建因从imx8mm.dtsi中删除rpmsg节而失败?

    评论是什么意思,“i.MX8 RPMSG 支持已切换到远程 proc”?BSP 5.15 中的 RPMSG 实现和配置是否发生了变化,如果是,我们如何执行我们之前在 DTS 文件中所做
    发表于 03-21 06:34

    请问I.MX8MPlus板在网络中是否可以作为节点或路由器或两者兼而有之?

    我正在尝试使用节点(MIMXRT1170)和交换机(LS1028A)建立本地网络。我也有 I.MX8MPlus 板,但它究竟有什么用。它可以用作两个网络之间的网桥/路由器吗?或者它也是一个节点,就像 MIMXRT1170 一样?
    发表于 03-21 07:14

    使用pingpong示例调试rpmsg时遇到的问题求解

    我正在开发基于 i.MX8M mini 的定制板,带有 Eclipse、GNU Arm Embedded 工具链和 Segger J-Link。我在使用 pingpong 示例调试 rpmsg
    发表于 03-31 06:51

    如何构建OpenVG程序并在i.MX8MPlus上运行它们?

    与 OpenVG 相关的示例代码,但我不确定如何将它与i.MX8M Plus 的 SDK。如果您有关于如何在 i.MX8M Plus 平台上构建和运行此示例代码的说明或资源
    发表于 05-31 12:16

    一文读懂NXP i.MX 8M Plus有多优秀

    有一款NXP推出的处理器,一经问世便备受业界瞩目,这便是i.MX中首款集成专用神经处理引擎(NPU)的i.MX8MPlus。NXP官方给这颗处理器的定位是“能够在工业和物联网等领域实现边缘端高级机器
    的头像 发表于 09-13 19:02 2022次阅读
    一文读懂NXP <b class='flag-5'>i.MX</b> <b class='flag-5'>8</b>M Plus有多优秀

    启扬i.MX8M Plus核心板、开发板编解码性能测试

    到底如何?i.MX8MPlus特点CPU:4个Cortex-A53+1个Cortex-M7;GPU:16GFLOPS(高精度)OpenGLES3.1/3.0、Vul
    的头像 发表于 08-07 16:53 1941次阅读
    启扬<b class='flag-5'>i.MX8</b>M Plus核心板、开发板编解码性能测试

    技术分享 | 启扬i.MX8M Plus开发板适配LVDS屏幕

    i.MX8MPlus是NXP推出的一款具有高可靠性,适合用于机器学习和视觉、高级多媒体和工业物联网的处理器。为发挥其强大的多媒体性能,启扬在i.MX8MPlus配套底板上引出1路4通道
    的头像 发表于 09-30 09:27 2100次阅读
    技术分享 | 启扬<b class='flag-5'>i.MX8</b>M Plus开发板适配LVDS屏幕

    i.MX 8M Plus加持的AI领域的里程碑开发板长什么样?

    优惠让你的开发更丝滑~~今天隆重登场的开发板是基于i.MX8MPlus的MYD-JX8MPQ开发板不仅拥有异常强悍的高性能处理器还有丰富的开发资源完善的软件开发生态
    的头像 发表于 10-31 14:44 1848次阅读
    <b class='flag-5'>i.MX</b> <b class='flag-5'>8</b>M Plus加持的AI领域的里程碑开发板长什么样?

    技术分享 | i.MX8M Plus开发板支持ov5640

    在安防、工业物联、机器人、多媒体等领域的产品开发过程中,都需要进行图像采集,这要求硬件具备摄像头接口来实现i.MX8MPlus是NXP推出的一款具有高可靠性,适合用于机器学习和视觉、高级多媒体
    的头像 发表于 11-03 09:37 2688次阅读
    技术分享 | <b class='flag-5'>i.MX8</b>M Plus开发板支持ov5640

    技术分享 | i.MX8M Plus开发板交叉编译qt5.15.2

    为了满足客户在启扬i.MX8MPlus开发板使用过程中编译qt版本的需求,这里小编出一期关于i.MX8MPlus开发板交叉编译qt5.15.2的教程。如果因为yocto工程过于繁琐而不想拉去工程去
    的头像 发表于 11-18 09:35 3308次阅读
    技术分享 | <b class='flag-5'>i.MX8</b>M Plus开发板交叉编译qt5.15.2

    技术分享 | i.MX8MPlus Journal日志管理系统

    我司IAC-IMX8MP-Kit开发板搭载NXPi.MX8MPlusSOC,该芯片采用4颗ArmCortex-A53核心以及1颗ArmCortex-M7核心。目前开发板默认搭载Yocto文件系统
    的头像 发表于 05-08 17:23 822次阅读
    技术分享 | <b class='flag-5'>i.MX8MPlus</b> Journal日志管理系统

    【项目实战】基于i.MX8M Plus的人工智能小车(AGV导航、视觉避障、自动跟随、颜色识别、防跌落)有教程代码

    今天给大家分享一款人工智能AGV自主导航小车,该款小车主要是基于NXPi.MX8MPlus主控。i.MX8MPlus应用处理器是NXP推出的一款致力于推动机器学习(ML),机器视觉,多媒体与工业边缘
    的头像 发表于 09-10 17:04 1146次阅读
    【项目实战】基于<b class='flag-5'>i.MX8</b>M Plus的人工智能小车(AGV导航、视觉避障、自动跟随、颜色识别、防跌落)有教程代码