AnsweredAssumed Answered

iMX6UL won't flash, stuck at "jumping to OS" in mfgtool

Question asked by Mitch Hodges on Aug 4, 2016
Latest reply on Sep 22, 2016 by Mitch Hodges


Hi,

 

We just made a custom iMX6UL based board and are not able to flash the board completely.  We are able to connect the device to USB, however the mfgtool freezes at "Jumping to OS".  We've tried to replicate this on an iMX6UL EVB by removing components (i.e. DDR and the SDcard) and always see the processor go past this point.

 

What we don't see which is present on the EVB is a restart/ reinitialisation of USB.  Our board hangs at this point while the EVB can move past this and gets stuck at loading u-boot which makes sense with no DDR present.

 

The log from the mfgtool is attached below.  We've copied the DDR interface onto our board, however the lack of re-enumeration has us thinking what we need to probe.  Any ideas?

 

DLL version: 2.6.2

Thursday, August 04, 2016 13:05:12   Start new logging

ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running

ModuleID[2] LevelID[1]: new MxHidDeviceClass

ModuleID[2] LevelID[10]: Device Manager thread is running

ModuleID[2] LevelID[1]: Can't set m_hStopEvent before it initialized or it already stop

 

 

ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_ARRIVAL_EVT(\\?\USB#VID_15A2&PID_007D#5&106a1f17&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed})

ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - end

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT(\\?\USB#VID_15A2&PID_007D#5&106a1f17&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed})

ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, _devices.size: 0

ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--index: 0

ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--devPath: \\?\hid#intc816&col0f#3&36a7043c&0&000e#{4d1e55b2-f16f-11cf-88cb-001111000030}

ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--index: 1

ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--devPath: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&00021532_pid&0039#8&24fb0c9e&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}

ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--index: 2

ModuleID[2] LevelID[1]: DeviceClass::FindDeviceByUsbPath() - DeviceListType_New--devPath: \\?\hid#vid_15a2&pid_007d#6&34ac3257&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}

ModuleID[2] LevelID[10]: new MxHidDevice[00E5D4E8]

ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_New, devInstPathToFind: USB\VID_15A2&PID_007D\5&106A1F17&0&2, _deviceInstanceID: USB\VID_15A2&PID_007D\5&106A1F17&0&2

ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_New, Find the device, Port: 2

ModuleID[2] LevelID[10]: DeviceClass::AddUsbDevice() successful USB#VID_15A2&PID_007D#5&106A1F17&0&2#{A5DCBF10-6530-11D2-901F-00C04FB951ED} add to current list, retrycount: 0

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT,[MxHidDeviceClass] vid_15a2&pid_007d, Hub:1-Port:2

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT, Notify

ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume Arrive/Remove or Device Arrive/Remove

ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, m_p_usb_port is not NULL, so only refresh

ModuleID[2] LevelID[10]: CmdOpreation[0]--OnDeviceChangeNotify, Volume/Device Arrive

ModuleID[2] LevelID[1]: CmdOpreation[0]--set m_hDeviceArriveEvent.

ModuleID[2] LevelID[10]: CmdOpreation[0]--WaitforEvents device arrive1

ModuleID[2] LevelID[10]: CmdOperation[0] device chagned and reset to state 0

ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is C:\Users\Chris\Desktop\mfgtools-lp\Profiles\linux\OS Firmware\mfg\u-boot-mfgtool-2015.04-r0.imx

ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is C:\Users\Chris\Desktop\mfgtools-lp\Profiles\linux\OS Firmware\mfg\zImage_mfgtool, address is 0x80800000

ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0

ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is C:\Users\Chris\Desktop\mfgtools-lp\Profiles\linux\OS Firmware\mfg\initramfs_mfgtool.cpio.gz.u-boot, address is 0x83800000

ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0

ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is C:\Users\Chris\Desktop\mfgtools-lp\Profiles\linux\OS Firmware\mfg\imx6ul-14x14-evk.dtb, address is 0x83000000

ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0

ModuleID[2] LevelID[10]: ExecuteCommand--Jump[WndIndex:0]

ModuleID[2] LevelID[10]: *********MxHidDevice[00E5D4E8] Jump to Ramkernel successfully!**********

ModuleID[2] LevelID[10]: CmdOperation[0], current state command has been finished and the last command is successful, so SetEvent(hDevCanDeleteEvent)

ModuleID[2] LevelID[10]: CCmdOpreation[0] thread is Closed

ModuleID[2] LevelID[10]: CCmdOpreation[0] thread is Closed

ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - EVENT_KILL

ModuleID[2] LevelID[10]: CMyExceptionHandler::OnMsgExceptionEvent() - KillExceptionHandlerThread

ModuleID[2] LevelID[10]: Exception Handler thread is closed

ModuleID[2] LevelID[1]: delete MxHidDeviceClass

ModuleID[2] LevelID[10]: delete MxHidDevice[00E5D4E8]

ModuleID[2] LevelID[10]: Device Manager thread is closed

Outcomes