I'm trying to program the i.MX6UL EVK board with the new mfgtool command uuu.
I'm using the BSP version Linux 5.4.3_1.0.0.
If I use the standard command described in the i.MX_Linux_User's_Guide:
uuu -b emmc_all <bootloader> <rootfs.wic>
all works fine.
But I would like to use the new mfgtool as before (e.g. Mfgtool for L4.9.88_2.0.0), i.e. by passing the uboot, kernel and rootfs.tar.bz2 files to program the board.
Can anyone help me please to use the new uuu mfgtool?
For example, indicating a correct command like the following:
uuu -b emmc u-boot.imx zImage rootfs.tar.bz2
or in alternative by calling a script with uuu.
I've already tried with the NXP scripts "example_kernel_emmc.uuu" or "uuu.auto-imx6ulevk" but without success.
Thanks in advance for any help.
We found the solution to our problem.
If you modify and use the example_kernel_emmc.uuu script included in the precompiled binaries of NXP to program the SD card or the emmc of the i.MX6UL EVK it causes a non-functioning and the board does not start.
So if you want to recover the situation first you need to edit the following line within the script:
FB: ucmd setenv emmc_cmd mmc bootbus ${emmc_dev} 2 2 1;
as follows:
FB: ucmd setenv emmc_cmd mmc bootbus ${emmc_dev} 0 0 1;
Then, I attach a script with which we correctly program both the EVK and a custom board that we developed.
Obviously in the case of the custom board it is appropriate to have made the appropriate SW changes to have the kernel, dtb and filesystem files compatible with the hardware made.
Thanks, ftosoratti for sharing the solution. It will help others.
Hi ftosoratti,
Please provide the full logs while flashing using uuu.
Also please make sure your board should be in serial download mode while flashing through UUU and run uuu command with sudo.
Regards,
Shivani
Hi Shivani,
the board is in serial download mode and we run UUU with sudo.
How can I show the log of uuu? Or do you mean the output on serial port?
Regards,
Francesco.
Yes, when you run the command of UUU, the logs coming in serial com (minicom /dev/ttyUSB). Please provide those full logs.
Regards,
Shivani
Dear Shivani,
I attached the serial log and the programming script.
After programming the emmc, I'm no longer able to restart the board even programming the board using the command that always worked before, i.e.
sudo ./uuu -b emmc_all u-boot.imx imx-image-project-imx6ulevk.wic.bz2/*
Is it possible that the script damage the emmc, (I only edited the nxp example script example_kernel_emmc.uuu with my files)?
The uuu running the script program_emmc_all.uuu reports:
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.3.171-24-gee04dc5
Success 0 Failure 1
1:1 23/26 [Bulk(W):LIBUSB_ERROR_TIMEOUT ] FBK: ucp imx-image-project-imx6ulevk.tar.bz2 t:-
1:2 15/15 [ ] FB: acmd ${kboot} ${loadaddr} ${initrd_addr} ${fdt_addr}
Regards,
Francesco.
Hi ftosoratti,
Can you please try prebuilt images for i.MX6UL EVK? You can download it from this link.
To flash image in eMMC using UUU, use uboot image for eMMC (u-boot-imx6ul14x14evk_emmc.imx).
And make sure your DIP switch for eMMC should be as per below:
SW601:: D1-OFF D2-OFF D3-ON D4-OFF
For serial download mode, SW602: D1-OFF D2-ON
Please try to flash uboot first and check whether board is booting or not.
Please try below-mentioned commands in sequence to narrow down the issue.
Hope this will help you.
Let us know in case of any concerns.
Regards,
Shivani
Hi shivanipatel,
I carried out the tests on EVK card.
The serial outputs are attached.
After the second test that seemed to have ended correctly, I would have expected the board to boot.
Instead, after a few seconds (after a reset), leaving the programming USB connected to the PC, an USB gadget device is seen and we have no output on serial port.
I performed the same tests on a custom board developed by our company and the results are the same.
In particular:
The strange thing is that during programming, everything seems to work correctly, it seems like the script was going to write or delete an emmc memory area incorrectly making it unusable.
Or does the script write some microprocessor register that sets it in a particular boot state from which it does not recover?
Regards,
Francesco.