If you check the uuu script inside the binary demo image or you check the build-in script of uuu
you will find the "jump".
The script lines before "jump", it is ROM code use SDP(Serial Download Protocol) to download data(bootloader).
Then "jump" to run the bootloader. The bootloader is running on the board,
The script lines after "jump" is the command send to the board, which has bootloader already runnning.
The script "jump" should be mapped to SDP jump command.
uuu.auto
uuu_version 1.2.39
# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f imx-boot-imx8mmevk-sd.bin-flash_evk
# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM
SDPS: boot -f imx-boot-imx8mmevk-sd.bin-flash_evk
# These commands will be run when use SPL and will be skipped if no spl
# SDPU will be deprecated. please use SDPV instead of SDPU
# {
SDPU: delay 1000
SDPU: write -f imx-boot-imx8mmevk-sd.bin-flash_evk -offset 0x57c00
SDPU: jump
# }
# These commands will be run when use SPL and will be skipped if no spl
# if (SPL support SDPV)
# {
SDPV: delay 1000
SDPV: write -f imx-boot-imx8mmevk-sd.bin-flash_evk -skipspl
SDPV: jump
# }
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
FB: flash -raw2sparse all imx-image-multimedia-imx8mmevk.wic
FB: flash bootloader imx-boot-imx8mmevk-sd.bin-flash_evk
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;
FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0
FB: done
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
FB: flash -raw2sparse all imx-image-multimedia-imx8qxpc0mek.wic
FB: flash bootloader imx-boot-imx8qxpc0mek-sd.bin-flash
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;
FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0
FB: done
delete
If you check the uuu script inside the binary demo image or you check the build-in script of uuu
you will find the "jump".
The script lines before "jump", it is ROM code use SDP(Serial Download Protocol) to download data(bootloader).
Then "jump" to run the bootloader. The bootloader is running on the board,
The script lines after "jump" is the command send to the board, which has bootloader already runnning.
The script "jump" should be mapped to SDP jump command.
uuu.auto
uuu_version 1.2.39
# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f imx-boot-imx8mmevk-sd.bin-flash_evk
# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM
SDPS: boot -f imx-boot-imx8mmevk-sd.bin-flash_evk
# These commands will be run when use SPL and will be skipped if no spl
# SDPU will be deprecated. please use SDPV instead of SDPU
# {
SDPU: delay 1000
SDPU: write -f imx-boot-imx8mmevk-sd.bin-flash_evk -offset 0x57c00
SDPU: jump
# }
# These commands will be run when use SPL and will be skipped if no spl
# if (SPL support SDPV)
# {
SDPV: delay 1000
SDPV: write -f imx-boot-imx8mmevk-sd.bin-flash_evk -skipspl
SDPV: jump
# }
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
FB: flash -raw2sparse all imx-image-multimedia-imx8mmevk.wic
FB: flash bootloader imx-boot-imx8mmevk-sd.bin-flash_evk
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;
FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0
FB: done
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
FB: flash -raw2sparse all imx-image-multimedia-imx8qxpc0mek.wic
FB: flash bootloader imx-boot-imx8qxpc0mek-sd.bin-flash
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;
FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0
FB: done
Hi @Anonymous,
I hope you are doing well.
UUU first loads the bootloader image (e.g. imx-boot-* )into the ddr and once u-boot starts it flashes images (u-boot , linux , rootfs...) into flash device (eMMC) using fastboot commands mentioned in uuu script.
Above step can be achieved using below command.
uuu -b emmc_all <bootloader> <wic image>
Now, if we boot using emmc (selected by DIP switches), It loads u-boot from emmc to RAM.
Thanks & Regards,
Dhruvit Vasavada
Hi @Anonymous,
I hope you are doing well.
UUU download u-boot to a specific device (emmc) and then downloads other images to the device using fastboot.
Now, when you change bootmode to internal boot & emmc boot . then it will boot the u-boot image from emmc.
(Is there a way to use the bootloader on the eMMC?)
[Ans]: One can use emmc mode to use the bootloader on emmc & then one can use fastboot and custom uuu script to flash further images.
Thanks & Regards,
Dhruvit Vasavada