Hello @dtran11,
It would be nice to know what you’re trying to achieve. Are you trying to just boot U-Boot for testing or are you trying to flash a new U-Boot on the eMMC?
I don’t want to use the Easy Installer program. Is there a faster way to just use uuu in recovery mode?
For recovery (maybe even faster development), you can use uuu
to send a new U-Boot image without flashing it and boot it from RAM. That’s what we do with the Easy Installer booting from USB. To see exactly what we do, you can download the easy installer package from here and uncompress it. Inside the uncompressed folder, you’ll see a recovery
directory that contains both the uuu
binary and the uuu.auto
file which is automatically loaded when uuu
is called with no arguments.
This file contains the uuu
script we use to load a u-boot binary and boot it from RAM. You can use it as reference for what’s needed to boot from RAM. Flashing stuff to eMMC from uuu
is not something we do internally, but as far as I know, nothing is preventing you from doing it.
You’ll need to set up the uuu
script to write everything to the proper locations. When you call uuu -b emmc
, you’re instructing uuu
to use a specific script that comes bundled with the binary. You can check the contents of this script by running:
uuu -bshow emmc
On my setup here it showed:
~ toradex easy_installer Apalis-iMX8X_ToradexEasyInstaller_5.3.0+build.3 1 ./recovery/uuu -bshow emmc
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.127-0-g08c58c9
uuu_version 1.2.39
# @_flash.bin | bootloader
# @_image [_flash.bin] | image burn to emmc, default is the same as bootloader
# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f _flash.bin
# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM
SDPS: boot -f _flash.bin
# 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 _flash.bin -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 _flash.bin -skipspl
SDPV: jump
# }
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
FB: flash bootloader _image
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
As you can see from this script, a U-Boot image is being loaded to RAM, booted and then fastboot
commands are being used to send commands directly to u-boot, and it’s u-boot that’s writing to the eMMC.
If you want to go this route, you’ll have to write the uuu
script that does the same thing. You could start with our uuu.auto
script and our U-Boot image from Easy Installer, as this will get you a working U-Boot loaded from RAM. From there you could customize the fastboot commands to achieve the U-Boot flashing you need.
Additionally, it should be possible to use the Easy Installer to install your VxWorks image. Easy installer supports writing RAW images to partitions and to create partition tables. You just need to create your custom image.json
to execute the operations you need. Here’s a reference of the options that are available in image.json
:
By taking the easy installer route you will be able to install your images automatically on the factory, given that all our modules come preinstalled with the Easy Installer.
Please let me know if you have more questions,
Rafael