广告

米尔基于NXP i.MX 93开发板的M33处理器应用开发笔记

2024-07-11 米尔电子 阅读:
本文主要介绍M33核的两种工程调试开发,第一种方式是通过板子自带的固件进行开发,第二种方式是使用 IAR Embedded Workbench 来构建可移植的Freertos文件进行开发。

1.概述eQtednc

本文主要介绍M33核的两种工程调试开发,第一种方式是通过板子自带的固件进行开发,第二种方式是使用 IAR Embedded Workbench 来构建可移植的Freertos文件进行开发。eQtednc

2.硬件资源eQtednc

MYD-LMX9X 开发板(米尔基于NXP i.MX 93开发板)eQtednc

eQtednc

3.软件资源eQtednc

Windows7及以上版本eQtednc

软件 :IAR Embedded WorkbencheQtednc

板载固件调试M33eQtednc

4.1环境准备eQtednc

在A55 Debug(J14)和M33 Debug(J15)上分别接上串口,我这里COM25连接A55核,COM7接的M33核,上电开机进入系统,在目录/run/media/root-mmcblk0p2/lib/firmware下有调试M33核的五个固件,如图4-1所示。eQtednc

图4-1. 固件图eQtednc

接下来本章将以str_echo为例进行调试。eQtednc

4.2调试eQtednc

首先将固件加载到开发板当中,然后将M33核打开,命令如下eQtednc

root@myd-lmx9x:/run/media/root-mmcblk0p2/lib/firmware# echo imx93-11x11-evk_m33_TCM_rpmsg_lite_str_echo_rtos.elf > /sys/devices/platform/imx93-cm33/remoteproc/remoteproc0/firmwareeQtednc

root@myd-lmx9x:/run/media/root-mmcblk0p2/lib/firmware# echo start > /sys/devices/platform/imx93-cm33/remoteproc/remoteproc0/stateeQtednc

此时M33的终端COM7口会出现打印如下eQtednc

Connecting to COM7...eQtednc

Connected.eQtednc

RPMSG String Echo FreeRTOS RTOS API Demo...eQtednc

Nameservice sent, ready for incoming messages...eQtednc

Get Message From Master Side : "hello world!" [len : 12]eQtednc

此时还不能发送字符,还需要将驱动装好命令如下eQtednc

root@myd-lmx9x:/run/media/root-mmcblk0p2/lib/firmware# modprobe imx_rpmsg_ttyeQtednc

[  272.516722] imx_rpmsg_tty virtio1.rpmsg-virtual-tty-channel.-1.30: new channel: 0x400 -> 0x1e!eQtednc

[  272.526155] Install rpmsg tty driver!eQtednc

此时就能看到目录/dev下多了一个ttyRPMSG30,可以通过这个端口向M33核发送字符串eQtednc

root@myd-lmx9x:/run/media/root-mmcblk0p2/lib/firmware# echo 1234 > /dev/ttyRPMSG30eQtednc

然后在M33串口端接收到字符eQtednc

Connecting to COM7...eQtednc

Connected.eQtednc

RPMSG String Echo FreeRTOS RTOS API Demo...eQtednc

Nameservice sent, ready for incoming messages...eQtednc

Get Message From Master Side : "hello world!" [len : 12]eQtednc

Get Message From Master Side : "1234" [len : 4]eQtednc

Get New Line From Master SideeQtednc

4.3切换固件eQtednc

如果想要切换固件必须先暂停M33核,命令如下eQtednc

root@myd-lmx9x:/run/media/root-mmcblk0p2/lib/firmware# echo stop > /sys/devices/platform/imx93-cm33/remoteproc/remoteproc0/stateeQtednc

[ 1956.373753] imx_rpmsg_tty virtio1.rpmsg-virtual-tty-channel.-1.30: rpmsg tty driver is removedeQtednc

[ 1956.384837] remoteproc remoteproc0: stopped remote processor imx-rproceQtednc

然后才能往板子里装固件,如4.2章节所示。eQtednc

5.IAR Embedded Workbench调试M33eQtednc

5.1.环境准备eQtednc

下载SDk,下载地址为eQtednc

eQtednc

图5-1. SDK示例工程eQtednc

安装IAR Embedded Workbench,安装地址为ded-workbench-for-arm-free-trial-version/"eQtednc

5.2. 导入工程文件eQtednc

打开 IAR Embedded Workbench 软件,点击界面 [File]>[Open Workspace] 并选择导入所下载的sdk,我这里选择的是freertos_hello,在下载目录MCIMX93-EVK-freertos_hello\freertos_hello下的freertos_hello.eww,如下图所示eQtednc

eQtednc

图 5-2. 选择导入文件eQtednc

选择完之后,然后点击[打开]导入,然后确认,即导入成功。eQtednc

5.3. 环境配置eQtednc

选择芯片 eQtednc

右键单击freertos_hello-debug文件夹选择Options,在General Options一栏中点击Target选择选择芯片,这里没有9352芯片所以选择NXP MIMXRT595S_M33,如下图所示eQtednc

图 5-3. 选择芯片eQtednc

选择库函数eQtednc

eQtednc

图 5-4. 选择库函数 eQtednc

设置优化等级eQtednc

eQtednc

图 5-4. 设置优化等级eQtednc

选择下载器eQtednc

eQtednc

图 5-5. 选择下载器eQtednc

设置输出文件和输出名字eQtednc

eQtednc

图 5-6. 设置输出文件和输出名字eQtednc

5.3.编译eQtednc

右键单击freertos_hello-debug文件夹先点击make,成功后点击RebuildAll。eQtednc

图 5-7. 构建项目eQtednc

成功后在目录MCIMX93-EVK-freertos_hello\freertos_hello\Debug下生成hello-world.bin文件。eQtednc

图 5-8. 生成bin文件eQtednc

5.4.烧录                                                                                                               eQtednc

  这里我们选择SD卡烧录,首先把生成的hello-world.bin文件放到SD卡里面,选择SD卡启动(具体参考),分别接上A55 Debug串口(J14)和M33 Debug串口(J15),本章所示COM25接的A55,COM7接的M33,在上电之后A55端进入uboot,输入以下指令eQtednc

COM25:eQtednc

Hit any key to stop autoboot:  0eQtednc

u-boot=>eQtednc

u-boot=>  fatload mmc 1:1 80000000 hello-world.bin; cp.b 0x80000000 0x201e0000 0x1014424 bytes read in 3 ms (4.6 MiB/s)eQtednc

u-boot=> bootaux 0x1ffe0000 0eQtednc

## Starting auxiliary core addr = 0x1FFE0000...eQtednc

此时在M33的终端COM7上会出现打印eQtednc

Connecting to COM7eQtednc

Connected.eQtednc

hello world.eQtednc

6.参考资料eQtednc

MCUXpresso SDK for MCIMX93-EVK快速入门eQtednc

Getting Started with MCUXpresso SDK for MCIMX93-EVK.pdf (nxp.com)eQtednc

《MYD-LMX9X Linux软件评估指南》eQtednc

《MYD-LMX9X Linux软件开发指南》eQtednc

责编:Demi
文章来源及版权属于米尔电子,EDN电子技术设计仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系Demi.xia@aspencore.com
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了