1.概述
本文主要介紹M33核的兩種工程調試開發,第一種方式是通過板子自帶的固件進行開發,第二種方式是使用 IAR Embedded Workbench 來構建可移植的Freertos文件進行開發。
2.硬件資源
MYD-LMX9X 開發板(米爾基于NXP iMX.93開發板)
3.軟件資源
Windows7及以上版本
軟件 :IAR Embedded Workbench
4.板載固件調試M33
4.1環境準備
在A55 Debug(J14)和M33 Debug(J15)上分別接上串口,我這里COM25連接A55核,COM7接的M33核,上電開機進入系統,在目錄/run/media/root-mmcblk0p2/lib/firmware下有調試M33核的五個固件,如圖4-1所示。
圖4-1. 固件圖
接下來本章將以str_echo為例進行調試。
4.2調試
首先將固件加載到開發板當中,然后將M33核打開,命令如下
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/firmwareroot@myd-lmx9x:/run/media/root-mmcblk0p2/lib/firmware# echo start > /sys/devices/platform/imx93-cm33/remoteproc/remoteproc0/state
此時M33的終端COM7口會出現打印如下
Connecting to COM7...Connected.RPMSG String Echo FreeRTOS RTOS API Demo...Nameservice sent, ready for incoming messages...Get Message From Master Side : "hello world!" [len : 12]
此時還不能發送字符,還需要將驅動裝好命令如下
root@myd-lmx9x:/run/media/root-mmcblk0p2/lib/firmware# modprobe imx_rpmsg_tty[ 272.516722] imx_rpmsg_tty virtio1.rpmsg-virtual-tty-channel.-1.30: new channel: 0x400 -> 0x1e![ 272.526155] Install rpmsg tty driver!
此時就能看到目錄/dev下多了一個ttyRPMSG30,可以通過這個端口向M33核發送字符串
root@myd-lmx9x:/run/media/root-mmcblk0p2/lib/firmware# echo 1234 > /dev/ttyRPMSG30
然后在M33串口端接收到字符
Connecting to COM7...Connected.RPMSG String Echo FreeRTOS RTOS API Demo...Nameservice sent, ready for incoming messages...Get Message From Master Side : "hello world!" [len : 12]Get Message From Master Side : "1234" [len : 4]Get New Line From Master Side
4.3切換固件
如果想要切換固件必須先暫停M33核,命令如下
root@myd-lmx9x:/run/media/root-mmcblk0p2/lib/firmware# echo stop > /sys/devices/platform/imx93-cm33/remoteproc/remoteproc0/state[ 1956.373753] imx_rpmsg_tty virtio1.rpmsg-virtual-tty-channel.-1.30: rpmsg tty driver is removed[ 1956.384837] remoteproc remoteproc0: stopped remote processor imx-rproc
然后才能往板子里裝固件,如4.2章節所示。
5.IAR Embedded Workbench調試M33
5.1環境準備
下載SDk,下載地址為示例工程 | MCUXpresso SDK構建工具 (nxp.com)
圖5-1. SDK示例工程
安裝IAR Embedded Workbench,安裝地址為IAR Embedded Workbench for Arm - Free trial version | IAR
5.2導入工程文件
打開 IAR Embedded Workbench軟件,點擊界面 [File]>[Open Workspace] 并選擇導入所下載的sdk,我這里選擇的是freertos_hello,在下載目錄MCIMX93-EVK-freertos_hello\freertos_hello下的freertos_hello.eww,如下圖所示
圖 5-2.選擇導入文件
選擇完之后,然后點擊[打開]導入,然后確認,即導入成功。
5.3環境配置
選擇芯片
右鍵單擊freertos_hello-debug文件夾選擇Options,在General Options一欄中點擊Target選擇選擇芯片,這里沒有9352芯片所以選擇NXP MIMXRT595S_M33,如下圖所示
圖 5-3.選擇芯片
選擇庫函數
圖 5-4. 選擇庫函數
設置優化等級
圖 5-5. 設置優化等級
選擇下載器
圖 5-6. 選擇下載器
設置輸出文件和輸出名字
圖 5-7. 設置輸出文件和輸出名字
5.4編譯
右鍵單擊freertos_hello-debug文件夾先點擊make,成功后點擊RebuildAll。
圖 5-8. 構建項目
成功后在目錄MCIMX93-EVK-freertos_hello\freertos_hello\Debug下生成hello-world.bin文件。
圖 5-9. 生成bin文件
5.5燒錄
這里我們選擇SD卡燒錄,首先把生成的hello-world.bin文件放到SD卡里面,選擇SD卡啟動(具體參考),分別接上A55 Debug串口(J14)和M33 Debug串口(J15),本章所示COM25接的A55,COM7接的M33,在上電之后A55端進入uboot,輸入以下指令
COM25:Hit any key to stop autoboot: 0u-boot=>u-boot=> fatload mmc 1:1 80000000 hello-world.bin; cp.b 0x80000000 0x201e0000 0x1014424 bytes read in 3 ms (4.6 MiB/s)u-boot=> bootaux 0x1ffe0000 0## Starting auxiliary core addr = 0x1FFE0000...
此時在M33的終端COM7上會出現打印
Connecting to COM7Connected.hello world.
-
處理器
+關注
關注
68文章
19286瀏覽量
229817 -
開發板
+關注
關注
25文章
5050瀏覽量
97456 -
米爾電子
+關注
關注
0文章
110瀏覽量
451
發布評論請先 登錄
相關推薦
評論