Hi,
I am having troubles using MFGTools for an i.MX6sll EVK.
Context:
I have two eval board :
I tried :
Windows binaries does not works inside a VM (crash when the USB device is plug), so I used a physical machine.
On Linux, with a binary built from Git, I needed to patch MfgToolLib/DeviceManager.cpp to correct a segfault in DevChange_callback() as g_devClasses[DeviceClass::DeviceTypeMsc] is not allocated but used.
The problem:
Running mfgtools.exe, the right board is detected and I can "start" update. There is "Loading U-boot" displayed and nothing happen. The log seems normal and ends with :
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is C:\...\firmware\u-boot-imx6sllevk_sd.imx
On Linux, same behavior but I got more information :
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is .../firmware/u-boot-imx6sllevk_sd.imx
ModuleID[2] LevelID[1]: RunPlugIn(): TransData(0x877FF400, 0x5FC00,0x6B933010) failed.
ModuleID[2] LevelID[1]: PortMgrDlg(0)--MxHidDevice--Command Boot excute failed
As I am able to debug on Linux, I checked that :
I suspected DCD data does not works for the i.MX6SLL-EVL REVA, so I tried :
How did you test MFGTools with the EVK ? Have you experienced a similar problem ?
Regards,
Vincent
I used MfgTools.exe directly with the provided cfg.ini et ucl2.xml. As the program tries to send the right u-boot.imx, I assumed the configuration is good.
I can try launching a .vbs file, but I don't know which one. There is no "*mx6sll-evk*" in the archive.
I find out that I selected wrong boot_mode (BOOT_MODE[1:0]=11 => Reserved) but this was the only way to trigger the Serial Download mode (in other mode, I don't see USB device on Windows).
If I set boot_mode to 01 (Serial Downloader) and I have a working U-boot on SD1, U-boot is executed and USB device is not seen in MFGTools. If I remove the card, this seems to work (but our future board will have something on mmc).
Do you know why selecting "Serial Download" is not working ? I need an hardware switch to force this mode (not using fuses, recovery mode, etc.)
Also, if I set boot_mode to 10 (internal boot) and I configure to boot from SD3 or eMMC, the board boot from SD1 if there is something on SD1.