619|3

86

帖子

4

资源

一粒金砂(中级)

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

本篇测评由电子工程世界的优秀测评者“bloong”提供。

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

MYD-JX8MPQ配备了一颗异构的Cortex-M7协处理器,可以同时运行Linux和RTOS。本文主要介绍协处理器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根线就可以。

 

81aeed4510512f87d465415d04e8050c.png

25c6351a2df6817efe526c2aad8c7339.png

查看分区信息

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


 
  • u-boot=> fatls mmc 2

  • 29209088 Image

  • 8208 imx8mp_m7_TCM_hello_world.bin

  • 19040 imx8mp_m7_TCM_rpmsg_lite_pingpong_rtos_linux_remote.bin

  • 18528 imx8mp_m7_TCM_rpmsg_lite_str_echo_rtos.bin

  • 40948 imx8mp_m7_TCM_sai_low_power_audio.bin

  • 62815 myd-jx8mp-atk-10.dtb

  • 61702 myd-jx8mp-base.dtb

  • 62815 myd-jx8mp-hontron-7.dtb

  • 62846 myd-jx8mp-lt8912.dtb

  • 62555 myd-jx8mp-m190etn01-19.dtb

  • 62619 myd-jx8mp-rpmsg.dtb

  • 2113024 tee.bin

  •  

  • 12 file(s), 0 dir(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=> 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=> 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!

  •  

 

 

想要了解优秀测评者“bloong”关于MYD-JX8MPQ开发板测评原文的可以复制下方链接查看:

http://bbs.eeworld.com.cn/thread-1198858-1-1.html

 

此帖出自编程基础论坛

回复

6900

帖子

0

资源

五彩晶圆(中级)

关于如何使用M7,以及编译M7程序的方法,讲的很全面

 


回复

5530

帖子

18

资源

五彩晶圆(中级)

对嵌入式软件工程师要求越来越高了。

个人签名

默认摸鱼


回复

1812

帖子

3

资源

版主

嵌入式功能强大,就是学习的东西要求越来越多!


回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    推荐帖子
    镀层分离与哪个制程有关联?

    镀层分离与哪个制程有关联? 镀层分离必然是电镀金属与底材结合力不佳所致,如何找出导致结合力不佳的肇因就是您问 ...

    去耦电容器真的是你所需的吗?

    在担任应用工程师之前,我是 IC 测试开发工程师。我的项目之一是对 I2C 温度传感器进行特性描述。在编写一些软件之后,我手工焊 ...

    步进电机控制

    这里介绍的是一个非常简单的步进电机的动作控制,并且适合没有使用过步进电机的朋友们。在使用步进电机中会遇到很多问题, ...

    工作总结

    作为STM32的初学者,今天终于把初步Keil+STM32 GPIO看完了,买了开发板,实践了一下,还不错。startup.s也大致看了一遍。 下 ...

    Qorvo PAC系列高集成度电机控制芯片及应用

    Qorvo是一家专注于创新射频解决方案的提供商,公司针对移动设备、网络基础设施、国防和航天等市场提供一整套的射频解决方案,全 ...

    FPGA学习心得

    学习了三个月FPGA,现在觉得很有用,对以后的工作有很大的帮助

    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表