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

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

3天内不再提示

通过i.MX8MPlus开发板实现异构处理器间的相互通讯

米尔MYIR 来源:米尔MYIR 作者:米尔MYIR 2022-07-22 15:25 次阅读

此次测试的项目,是异构处理器间相互通讯项目。

MYD-JX8MPQ配备了一颗异构的Cortex-M7协处理器,可以同时运行LinuxRTOS。本文主要介绍协处理器M7使用方法。M7在运行时可能会涉及到和A53核共用资源,这里列举出会冲突资源如下:

ECSPI0/ECSPI2,FLEXCAN,GPIO1/GPIO5,GPT1,I2C3,I2S3,UART4,PWM4,SDMA1/SDMA2,所以在一起使用时,需要将A53的这些资源关闭,这里就需要用到myd-jx8mp-rpmsg.dtb设备树。这里的M7使用uart4 作为串口。

下文介绍如何使用M7,以及编译M7程序的方法:

M7使用方法

接两个串口:1个是开发板的Debug串口,另一个是M7的UART4串口。

1、Debug口为J4及TYPE-C Debug;

2、UART4口为J6,下图中红色箭头指示位置为pin1即UART4_TXD,据此pin2即UART4_RXD,pin3为GND。接这3根线就可以。

pYYBAGLaUPaAVurSAAgSKEXwIaY045.pngpoYBAGLaUPaAKt6XAABTWmNImRk854.png


查看分区信息

启动开发板按任意键进入uboot模式,查看vfat分区中存在的文件。

u-boot=> fatls mmc2

29209088Image

8208imx8mp_m7_TCM_hello_world.bin

19040imx8mp_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin

18528imx8mp_m7_TCM_rpmsg_lite_str_echo_rtos.bin

40948imx8mp_m7_TCM_sai_low_power_audio.bin

62815myd-jx8mp-atk-10.dtb

61702myd-jx8mp-base.dtb

62815myd-jx8mp-hontron-7.dtb

62846myd-jx8mp-lt8912.dtb

62555myd-jx8mp-m190etn01-19.dtb

62619myd-jx8mp-rpmsg.dtb

2113024tee.bin

12file(s),0dir(s)

设置M7设备树

kernel加载的设备树由fdt_file变量决定,这里设置成M7专用设备树。

u-boot=> printenv fdt_file

fdt_file=myd-jx8mp-base.dtb

u-boot=> setenv fdt_file myd-jx8mp-rpmsg.dtb

u-boot=> save

Saving Environment to MMC... Writing to MMC(2)... OK

u-boot=> printenv fdt_file

fdt_file=myd-jx8mp-rpmsg.dtb

u-boot=>


设置M7启动参数

M7启动流程也是加载M7程序到内存,用bootaux命令启动, 正常kernel启动也一样,只是最后用bootm启动。

u-boot=> save

Saving Environment to MMC... Writing to MMC(2)... OK

u-boot=> printenv fdt_file

fdt_file=myd-jx8mp-rpmsg.dtb

u-boot=> setenv m7_image imx8mp_m7_TCM_rpmsg_lite_str_echo_rtos.bin

u-boot=> setenv m7_boot_temp_addr 0x48000000

u-boot=> setenv m7_boot_addr 0x7E0000

u-boot=> setenv m7_run 'fatload mmc ${mmcdev}:${mmcpart} ${m7_boot_tem

> p_addr} ${m7_image};cp.b ${m7_boot_temp_addr} ${m7_boot_addr} 0x20000; bo

> otaux ${m7_boot_addr}'

u-boot=> setenv m7_run 'fatload mmc ${mmcdev}:${mmcpart} ${m7_boot_tem p_addr} ${m7_image};cp.b ${m7_boot_temp_addr} ${m7_boot_addr} 0x20000; bootaux ${m7_boot_addr}'

u-boot=> setenv mmcboot "run m7_run;${mmcboot}"

u-boot=> save

Saving Environment to MMC... Writing to MMC(2)... OK

u-boot=>


测试M7程序

此时已经设置好了M7启动,只需要重启开发板,那么在A53启动kernel同时,也会启动M7中的程序。启动之后A53的串口执行如下2句,既可以看到M7中串口出现对应的打印。

myd-jx8mp login: root

root@myd-jx8mp:~# modprobe imx_rpmsg_tty

root@myd-jx8mp:~# [ 33.759911] can1-stby: disabling

[ 33.763151] can2-stby: disabling

[ 33.766408] VSD_3V3: disabling

[ 33.769489] m2_keyb_pwr: disabling

echo "hi m7!" > /dev/ttyRPMSG30

root@myd-jx8mp:~# cat /dev/ttyRPMSG30

hi m7!

审核编辑 黄昊宇


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

    关注

    9

    文章

    919

    浏览量

    35210
  • 编程
    +关注

    关注

    88

    文章

    3648

    浏览量

    94312
  • 异构处理器
    +关注

    关注

    0

    文章

    9

    浏览量

    6470
  • 米尔科技
    +关注

    关注

    5

    文章

    227

    浏览量

    21206
收藏 人收藏

    评论

    相关推荐

    i.MX8MPlus开发板实现SPI转CAN,该如何操作?

    飞凌嵌入式OKMX8MP-C开发板有两路原生CAN总线,但用户在开发产品时可能需要用到更多的CAN,这该如何解决呢?今天小编将为大家介绍一种SPI转CAN的方法,供各位工程师小伙伴参考。说明
    的头像 发表于 09-04 16:04 1024次阅读
    <b class='flag-5'>i.MX8MPlus</b><b class='flag-5'>开发板实现</b>SPI转CAN,该如何操作?

    迅为i.MX8M Mini开发板-多核异构CPU低功耗

    ,可以配置IIS,AC97,TDM,让音频接口不受限。低功耗:多核异构CPU,内置一个主频达400MHz的Cortex-M4内核,可用于低功耗,实时任务处理的应用。供货稳定:供货稳定,i.MX8
    发表于 06-29 10:29

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

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

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

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

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

    有一款NXP推出的处理器,一经问世便备受业界瞩目,这便是i.MX中首款集成专用神经处理引擎(NPU)的i.MX8MPlus。NXP官方给这颗处理器
    的头像 发表于 09-13 19:02 1254次阅读
    一文读懂NXP <b class='flag-5'>i.MX</b> <b class='flag-5'>8</b>M Plus有多优秀

    OKMX8MP操作说明 :飞凌嵌入式 iMX8MP平台系统设置

    开发设计,该系列处理器专注于机器学习与视觉、高级多媒体以及具有高可靠性的工业自动化。旨在满足智慧城市、工业互联网、智能医疗、智慧交通等应用的需求。i.MX8MPlus特点1、高性能NPU2.3TOPS算力
    的头像 发表于 12-26 22:52 2015次阅读
    OKMX<b class='flag-5'>8</b>MP操作说明 :飞凌嵌入式 iMX<b class='flag-5'>8</b>MP平台系统设置

    如何实现异构处理器相互通讯——米尔带您玩转i.MX 8M Plus开发板

    本篇测评由电子工程世界的优秀测评者“bloong”提供。此次测试的项目,是异构处理器相互通讯项目。MYD-JX8MPQ配备了一颗
    的头像 发表于 07-22 15:47 725次阅读
    如何<b class='flag-5'>实现</b><b class='flag-5'>异构</b><b class='flag-5'>处理器</b><b class='flag-5'>间</b><b class='flag-5'>相互通讯</b>——米尔带您玩转<b class='flag-5'>i.MX</b> <b class='flag-5'>8</b>M Plus<b class='flag-5'>开发板</b>

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

    启扬智能基于NXPi.MX8MPLUS处理器推出高性能、高可靠性、高扩展性的IAC-IMX8MP-CM核心板以和IAC-IMX8MP-Kit开发板
    的头像 发表于 08-07 16:53 970次阅读
    启扬<b class='flag-5'>i.MX8</b>M Plus核心板、<b class='flag-5'>开发板</b>编解码性能测试

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

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

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

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

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

    和工业物联网的处理器。启扬IAC-IMX8MP-Kit开发板基于NXPi.MX8MPlus四核ArmCortex-A53处理器,主频达1.6
    的头像 发表于 11-03 09:37 1489次阅读
    技术分享 | <b class='flag-5'>i.MX8</b>M Plus<b class='flag-5'>开发板</b>支持ov5640

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

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

    【玩转多核异构i.MX8M Plus开发板的M核SPI主从模式通讯

    基于NXPi.MX8MPlus多核异构处理器设计,它的M核有1路SPI,因而为实现SPI的相互通讯,我们就需要两块OKMX
    的头像 发表于 04-07 17:08 1191次阅读
    【玩转多核<b class='flag-5'>异构</b>】<b class='flag-5'>i.MX8</b>M Plus<b class='flag-5'>开发板</b>的M核SPI主从模式<b class='flag-5'>通讯</b>

    NXP开发板有哪些?基于NXP i.MX 6UL、i.MX 8M Mini、i.MX 8M Plus、LS1028A的开发板概述

    、可扩展性、计算性能、安全性的产品,满足客户多样化的开发需求。 赋能工业边缘计算 i.MX 8M Plus开发板 米尔MYD-JX8MPQ
    的头像 发表于 09-15 09:15 1731次阅读
    NXP<b class='flag-5'>开发板</b>有哪些?基于NXP <b class='flag-5'>i.MX</b> 6UL、<b class='flag-5'>i.MX</b> <b class='flag-5'>8</b>M Mini、<b class='flag-5'>i.MX</b> <b class='flag-5'>8</b>M Plus、LS1028A的<b class='flag-5'>开发板</b>概述

    NXP i.MX8MMini开发板规格参数,多核异构,B2B

    今日与大家分享基于NXPi.MX8MMini处理器的创龙科技-新款异构多核工业级开发板,它采用了四核ARMCortex-A53+单核ARMCortex-M4
    发表于 07-19 14:40 2次下载