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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

1,598 Views
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 Kudos
6 Replies

1,561 Views
Rita_Wang
NXP TechSupport
NXP TechSupport

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

0 Kudos

1,539 Views
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 Kudos

1,527 Views
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 Kudos

1,511 Views
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 Kudos

1,152 Views
gongyaxuan
Contributor I

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

0 Kudos

1,583 Views
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 Kudos