iMX93 - how to boot both A55 and M33 from SD card

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

iMX93 - how to boot both A55 and M33 from SD card

2,968 次查看
KHL
Contributor I

Hi,

I had prepare a SD card that can boot the A55 using the source from Yocto project.

I had also compile a M33 demo project from the SDK that confirmed can run on M33 using jtag/gdb.

I wish to boot both A55 and M33 from POR through SD card, how do achieve it ?

What I did was

1) copy the m33 demo bin file to imx-mkimage/iMX9 folder and rename it to m33_image.bin

2)then generate flash.bin using SOC=iMX93 flash_singleboot_m33

3) write the flash.bin using sudo dd if=flash.bin of=/dev/mmcblk0 bs=1k seek=32 conv=fsync

4) copy the m33_image.bin into the boot partition of SD.

Result : A55 can boot up but not M33 core.

 

Thanks.

0 项奖励
回复
8 回复数

2,931 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

Are you using the demo images or the images you build yourself?

0 项奖励
回复

2,909 次查看
KHL
Contributor I

Hi,

All images used are from NXP linux BSP except the M33 firmware is re-compile from source, it is a slightly modified from freertos_hello demo project provided by SDK.

What I did is just to add some simple codes to continuously stream some debug logs to console.

KHL_0-1688343652935.png

If the iMX93evk is boot to M33 only, the PRINTF is working continuously

if the evk is boot to A55 and M33, the M33 PRINTF is called around 4 cycles only, then the output stop, A55 is working fine in this scenario.

0 项奖励
回复

2,897 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

Could you share the details steps in your side, then I can try in my side to reproduce it?

0 项奖励
回复

2,881 次查看
KHL
Contributor I

Hi 

What I did in general.

1) Get the source from Yocto Project,

repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-langdale -m imx-6.1.1-1.0.0.xml

Create the distro of DISTRO-fsl-imx-fb MACHINE=imx93evk

bitbake core-image-base

2) Download LF_v6.1.1_1.0.0 default imx93 images, then uuu -b emmc_all imx-image-full-imx93evk.wic

3) Generate the iMX93 M33 SDK from https://mcuxpresso.nxp.com/en/welcome

4) Downloaded ARM gnu toolchain version 12.2 for M33

5) Compile the freertos_hello demo project from the SDK, connect to gdb confirmed it can run

6) Modified the freertos_hello demo to continuously stream debug logs to console for sign of life, confirmed the change using gdb.

7) Get the necessary files to generate the flash.bin from the baked yocto project in ~/tmp/deploy/images/imx93evk/imx-boot-tools/

Refer to document Getting Started with MCUXpresso SDK for MCIMX93-EVK section 7.3 Run  an example application. Follow the steps to generate and flash the flash,bin using uuu for boot from emmc

Thanks.

 

0 项奖励
回复

2,522 次查看
gongyaxuan
Contributor I

Hello, where can I find the document Getting Started with MCUXpresso SDK for MCIMX93-EVK

0 项奖励
回复

2,953 次查看
KHL
Contributor I

I tried again to boot both A55 and M33 from eMMC.

What I did

1) use uuu to flash the default full image from LF_v6.1.1_1.0.0 release

2) compile the M33 freertos_helloworld project, added in a printf at 3s interval to output some logs.

3) compile and use imx-mkimage to generate flash.bin for single_boot_m33 and lpboot

4) use uuu tool to write those flash.bin to emmc

Results

- for the case of lpboot, M33 is running fine, the logs are streaming out to the console continuously

- for the case of single_boot_m33, A55 can power up to kernel space, however on M33, the logs stop after ~5 to 6s from POR, when the log stalled, A55 is still alive. Tried M33 debug and release build, same results.

What went wrong ?

All images are from the linux bsp release and MCUExpresso SDK.

Thanks.

0 项奖励
回复

1,209 次查看
usharip
Contributor I

Hi @KHL ,

 

I just started to bring up an iMX93 board and facing the same issue with M33 stopping once kernel on A55 starts.

 

Did you figure this out?

0 项奖励
回复

1,194 次查看
KHL
Contributor I

I add the clk_ignore_unused param to the uboot mmcargs

setenv mmcargs 'setenv bootargs ${jh_clk} console=${console} root=${mmcroot} clk_ignore_unused'

 

0 项奖励
回复