Boot from eMMC flash on iMX8QM MEK

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

Boot from eMMC flash on iMX8QM MEK

Jump to solution
1,916 Views
rkohli2000
Contributor III

Hi,

Can anyone share instructions to program an app image to eMMC flash on iMX8QM MEK at some address and then to boot this image from uboot-imx?

Can this be done using uboot-imx or also need a debugger like Lauterbach?

I can boot this image via TFTP from uboot-imx programmed on eMMC flash using bootm command.

Thanks.

Ravi

0 Kudos
1 Solution
1,861 Views
rweiss
Contributor IV

If I understand you correctly, your image does not contain a boot loader, only the A53 code. I think you have two options:

1. Continue using u-boot: In this case you have to program both the original u-boot image and additionally your image to a separate address in eMMC flash. Once both are programmed, boot into u-boot and configure it to copy your image from eMMC to RAM address 0xF0000000. Once this is done you can boot it using bootm 0xf0000000 as usual

2. Without u-boot: You have to create a eMMC image that follows the format expected by the iMX8QM boot ROM. The boot ROM will then read the information from the header and set up the system as defined in the header.

 

Best regards,
Reinhard

 

View solution in original post

0 Kudos
6 Replies
1,858 Views
rkohli2000
Contributor III

Understood. Thanks for clarifying. I will try the procedure.

Regards

Ravi

0 Kudos
1,908 Views
rweiss
Contributor IV

Hi Ravi,

if you want to program the EMMC flash with the Lauterbach TRACE32 debugger, you can find the eMMC flash script in your TRACE32 installation folder in

\demo\arm\flash\imx8qm-emmc.cmm

Best regards
Reinhard

 

0 Kudos
1,894 Views
rkohli2000
Contributor III

Thanks Reinhard, I could use the script and load eMMC with my binary at an address of my choice. I'd like to load this image on an A53 core now. When I run a new script to init the A53 core, I see the eMMC is no longer accessible or initialized any more. Is that expected, or is it a behavior of the Lauterbach script (imx8qm-emmc.cmm) that I used ?

Regards

Ravi

0 Kudos
1,880 Views
rweiss
Contributor IV

I assume that the image you programmed is not in the form that is expected by the boot ROM. Does everything work as before when you program the proginal image?

0 Kudos
1,866 Views
rkohli2000
Contributor III

Yes, the pre-built image I programmed works fine when I boot it using TFTP (see below) from u-boot.

I'd like to eliminate TFTP and boot from the eMMC flash instead.I'm trying to use Lauterbach to do this. I tried "uuu -b emmc_all" and I don't see an option to program it. Can you help suggest the correct steps?

Uboot:

setenv ipaddr x.x.x.x
setenv serverip x.x.x.x
tftpboot 0xf0000000 App.bin
bootm 0xf0000000

 

0 Kudos
1,862 Views
rweiss
Contributor IV

If I understand you correctly, your image does not contain a boot loader, only the A53 code. I think you have two options:

1. Continue using u-boot: In this case you have to program both the original u-boot image and additionally your image to a separate address in eMMC flash. Once both are programmed, boot into u-boot and configure it to copy your image from eMMC to RAM address 0xF0000000. Once this is done you can boot it using bootm 0xf0000000 as usual

2. Without u-boot: You have to create a eMMC image that follows the format expected by the iMX8QM boot ROM. The boot ROM will then read the information from the header and set up the system as defined in the header.

 

Best regards,
Reinhard

 

0 Kudos