Hello,
My intention is to boot just the Cortex-M4 (not the A-35s) of the iMX8QX from eMMC
I have generated a flash.bin using the imx-mkimage target: flash_cm4. Specifically, in order to generate flash.bin, I ran "make SOC=iMX8QX flash_cm4".
I then attempted to use the latest version of uuu (1.4.72) in order to download the image into eMMC. I am including my invocation and failure output below.
sudo /home/jmcdowell/bin/uuu -b emmc flash.bin
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.72-0-g8e9e189
Success 0 Failure 0
1:1 1/ 0 [ ]
Success 0 Failure 0
1:1 1/ 1 [ ] SDPS: boot -f flash.bin
Success 0 Failure 0
1:1 1/ 1 [====> 13% ] SDPS: boot -f flash.bin
Success 0 Failure 0
1:1 1/ 1 [=========> 27% ] SDPS: boot -f flash.bin
Success 0 Failure 0
1:1 1/ 1 [==============> 41% ] SDPS: boot -f flash.bin
Success 0 Failure 0
1:1 1/ 1 [=================55%> ] SDPS: boot -f flash.bin
Success 0 Failure 0
1:1 1/ 1 [=================69%=====> ] SDPS: boot -f flash.bin
Success 0 Failure 0
1:1 1/ 1 [=================83%==========> ] SDPS: boot -f flash.bin
Success 0 Failure 1
1:1 1/ 1 [HID(W):LIBUSB_ERROR_IO ] SDPS: boot -f flash.bin
Success 0 Failure 1
1:1 1/ 1 [HID(W):LIBUSB_ERROR_IO ] SDPS: boot -f flash.bin
because you need the u-boot and u-boot fast boot running for flashing the emmc.
and the image flash.bin you built only has the m4. that is why flash gets fail.
if you look at the uuu help.
you will see arg0: _flash.bin bootloader and arg1: _image[Optional] image burn to emmc, default is the same as bootloader. it is optional.
So for you case, you need two arg0 and arg1. arg0 is the bootloader flash.bin has u-boot and arg1 is what you want to burn to emmc.
So you can use the binary release to burn the flash.bin you built.
uuu -b emmc imx-boot-imx8qxpc0mek-sd.bin-flash flash.bin
here imx-boot-imx8qxpc0mek-sd.bin-flash is the flash.bin with u-boot(running on A35 and has uboot fastboot). flash.bin here is you build with "make SOC=iMX8QX flash_cm4".
uuu [-d -m -v] -b[run] <emmc|emmc_all|fat_write|nand|qspi|sd|sd_all|spl> arg...
Run Built-in scripts
emmc burn boot loader to eMMC boot partition
arg0: _flash.bin bootloader
arg1: _image[Optional] image burn to emmc, default is the same as bootloader
emmc_all burn whole image to eMMC
arg0: _flash.bin
arg1: _rootfs.sdcard
fat_write update one file in fat partition, require uboot fastboot running in board
Thank you for your quick response and for providing this clarification. I can not use the binary release since I am not using the evaluation kit but rather another System-on-Module. But I now understand that my path forward is to build u-boot for my platform with fastboot configured. I then need to generate the appropriate flash.bin using the this custom u-boot and arm trusted firmware for my board (make SOC=iMX8QX flash). Then I should be set up to use 'uuu' properly providing both arguments.
Justin