Home - angolini/mfgtools GitHub Wiki

Welcome to the UUU (Universal Update Utility). This is an evolution of MFGTools (aka MFGTools v3).

With the time, the need for an update utility portable to Linux and Windows increased. UUU have the same usage on both Windows and Linux. It means the same script works on both OS.

Usage

uuu (Universal Update Utility) for nxp imx chips -- lib1.1.61-7-g5b4b715

uuu [-d -m -v -V] <bootloader|cmdlists|cmd>

    bootloader  download bootloader to board by usb
    cmdlist     run all commands in cmdlist file
                If it is path, search uuu.auto in dir
                If it is zip, search uuu.auto in zip
    cmd         Run one command, use -H see detail
                example: SDPS: boot -f flash.bin
    -d          Deamon mode, wait for forever.
    -v -V       verbose mode, -V enable libusb error\warning info
    -m          USBPATH Only monitor these pathes.
                    -m 1:2 -m 1:3

uuu -s          Enter shell mode. uuu.inputlog record all input commands
                you can use "uuu uuu.inputlog" next time to run all commands

uuu -h -H       show help, -H means detail helps

uuu [-d -m -v] -b[run] <emmc|emmc_all|qspi|sd|sd_all|spl> arg...
        Run Built-in scripts
        emmc    burn boot loader to eMMC boot partition
                arg0: _flash.bin
        emmc_all        burn whole image to eMMC
                arg0: _flash.bin
                arg1: _rootfs.sdcard
        qspi    burn boot loader to qspi nor flash
                arg0: _flexspi.bin  bootloader
                arg1: _image[Optional]  image burn to flexspi, default is the same as bootloader
        sd      burn boot loader to sd card
                arg0: _flash.bin
        sd_all  burn whole image to sd card
                arg0: _flash.bin
                arg1: _rootfs.sdcard
        spl     boot spl and uboot
                arg0: _flash.bin

uuu -bshow <emmc|emmc_all|qspi|sd|sd_all|spl>
        Show built-in script

 ---------------------------------------------------------------------
 Command Format PROTOCOL COMMAND ARG
 PROTOCOL
          ALL protocol supported common command
                      done        #last command for whole flow
                      delay <ms>  # delay ms
                      sh\shell <any shell command> #Run shell command, such as wget to file from network
                      <        <any shell command> #use shell command's output as uuu command
                               this command generally used for burn some sequence number, such production id, mac address
                                for example:
                                      FB:< echo ucmd print

          CFG:  Config protocol of specific usb device vid/pid
                SDPS|SDP|FB\Fastboot|FBK -chip <chip name> -pid <pid> -vid <vid> [-bcdversion <ver>]

          SDPS: Stream download after MX8QXPB0
                      boot  -f  <filename> [-offset 0x0000]

          SDP:  iMX6/iMX7 HID download protocol.
                      dcd   -f  <filename>
                      write -f  <filename> [-addr 0x000000] [-ivt 0]
                      jump  -f  <filename> [-ivt 0]
                      boot  -f  <filename> [-nojump]

          FB[-t timeout]:\Fastboot: android fastboot protocol. unit of timeout is ms
                      getvar
                      ucmd <any uboot command>
                      acmd <any never returned uboot command, like booti, reboot>
                      flash [-raw2sparse] <partition> <filename>
                      download -f <filename>

          FBK: community with kernel with fastboot protocol. DO NOT compatible with fastboot tools.
                      ucmd <any kernel command> and wait for command finish
                      acmd <any kernel command> don't wait for command finish
                      sync                      wait for acmd processs finish.
                      ucp <soure> <destinate>   copy file from/to target
                                                T:<filename> means target board file.
                                                T:- means copy data to target's stdio pipe.
                                                copy image T:/root/image ;download image to path /root/image
                                                copy T:/root/image image ;upload /root/image to file image.
                      Example for transfer big file
                              acmd tar -            ; run tar background and get data from stdio
                              ucp rootfs.tar.gz T:- ; send to target stdio pipe
                              sync                  ; wait for tar process exit.

 For example:
          SDPS: boot -f <filename>
          SDP:  boot -f <filename>
          CFG: SDP: -chip imx6ull -pid 0x1234 -vid 0x5678

 SDP: boot -f u-boot-imx7dsabresd_sd.imx -nojump
 SDP: write -f zImage -addr 0x80800000
 SDP: write -f zImage-imx7d-sdb.dtb -addr 0x83000000
 SDP: write -f fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot -addr 0x83800000
 SDP: jump -f u-boot-dtb.imx -ivt

Uboot fastboot environment

Variable Description
fastboot_dev fastboot flash device, support mmc and sata
fastboot_buffer fastboot download buffer adddress
fastboot_bytes fastboot download file size
emmc_dev eMMC device number
sd_dev sd slot device number

Example

See some examples on how to use UUU

L4.9.123_2.3.0_8MM GA

It is first official BSP release to support uuu For L4.9.123_2.3.0_8MM GA with i.MX8M Mini, see How-to-use-UUU-on-Windows

⚠️ **GitHub.com Fallback** ⚠️