iMX6DL has problem when using mfgtools

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6DL has problem when using mfgtools

1,211 Views
liujin
Contributor I

Hi community

I developed a board with the reference of SPF-27417_C5(Board: MCIMX6DL-SDP), It seems everything is OK, except the Serial download mode  with mfgtools(Using L4.9.11_1.0.0.0-ga_mfg-tools). It always stopped at "Jumping to OS image".  And I can't get anything from serial port. It looks like the uboot is not running.

By the way, I swapped the LDM and UDM of two DDR3 chips(D16-D31, D48-D63), but I can run the uboot and Linux from SD card, and also can copy the image to eMMC from SD card, and run them. maybe this mistake is not the reason why mfg_tools can't download imges.

Can anybody tell me how shall I do to get the mfg_tools work?

Thanks a lot.

Here is the log from mfg_tools:

DLL version: 2.7.0
Friday, February 09, 2018 14:51:48 Start new logging
ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[1]: new MxHidDeviceClass
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_0061#6&35c31b9d&0&3#{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_0061#6&35c31b9d&0&3#{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#vid_046d&pid_c05a#7&2ca4ada0&0&0000#{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#vid_15a2&pid_0061#7&351c8d35&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
ModuleID[2] LevelID[10]: new MxHidDevice[00B5D050]
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_New, devInstPathToFind: USB\VID_15A2&PID_0061\6&35C31B9D&0&3, _deviceInstanceID: USB\VID_15A2&PID_0061\6&35C31B9D&0&3
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_New, Find the device, Port: 3
ModuleID[2] LevelID[10]: DeviceClass::AddUsbDevice() successful USB#VID_15A2&PID_0061#6&35C31B9D&0&3#{A5DCBF10-6530-11D2-901F-00C04FB951ED} add to current list, retrycount: 0
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT,[MxHidDeviceClass] vid_15a2&pid_0061, Hub:4-Port:3
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]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is G:\Development board\MFGTools\L4.9.11_1.0.0-ga_mfg-tools\mfgtools-without-rootfs\mfgtools\Profiles\Linux\OS Firmware\firmware\u-boot-imx6dlsabresd_sd.imx
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is G:\Development board\MFGTools\L4.9.11_1.0.0-ga_mfg-tools\mfgtools-without-rootfs\mfgtools\Profiles\Linux\OS Firmware\firmware\zImage, address is 0x12000000
ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is G:\Development board\MFGTools\L4.9.11_1.0.0-ga_mfg-tools\mfgtools-without-rootfs\mfgtools\Profiles\Linux\OS Firmware\firmware\fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot, address is 0x12C00000
ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is G:\Development board\MFGTools\L4.9.11_1.0.0-ga_mfg-tools\mfgtools-without-rootfs\mfgtools\Profiles\Linux\OS Firmware\firmware\zImage-imx6dl-sabresd.dtb, address is 0x18000000
ModuleID[2] LevelID[10]: PortMgrDlg(0)--Command Load excute successfully, retry count: 0
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: ExecuteCommand--Jump[WndIndex:0]
ModuleID[2] LevelID[10]: *********MxHidDevice[00B5D050] 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]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_REMOVAL_EVT(\\?\USB#VID_15A2&PID_0061#6&35c31b9d&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - end
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT(\\?\USB#VID_15A2&PID_0061#6&35c31b9d&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed})
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, _devices.size: 1
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, devInstPathToFind: USB\VID_15A2&PID_0061\6&35C31B9D&0&3, _deviceInstanceID: USB\VID_15A2&PID_0061\6&35C31B9D&0&3
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_Current, Find the device
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_EVT,[MxHidDeviceClass] vid_15a2&pid_0061, Hub:4-Port:3
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_REMOVAL_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 Remove
ModuleID[2] LevelID[1]: CmdOpreation[0]--set m_hDeviceRemoveEvent.
ModuleID[2] LevelID[10]: CmdOpreation[0]--WaitforEvents device remove1
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent()-DEVICE_REMOVAL_EVT, hDevCanDeleteEvent has been set
ModuleID[2] LevelID[10]: delete MxHidDevice[00B5D050]
ModuleID[2] LevelID[10]: DeviceManager::DevChangeWnd::OnDeviceChange() - DEVICE_ARRIVAL_EVT(\\?\USB#VID_15A2&PID_0061#6&35c31b9d&0&3#{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_0061#6&35c31b9d&0&3#{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#vid_046d&pid_c05a#7&2ca4ada0&0&0000#{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#vid_15a2&pid_0061#7&351c8d35&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
ModuleID[2] LevelID[10]: new MxHidDevice[00B603F0]
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_New, devInstPathToFind: USB\VID_15A2&PID_0061\6&35C31B9D&0&3, _deviceInstanceID: USB\VID_15A2&PID_0061\6&35C31B9D&0&3
ModuleID[2] LevelID[10]: DeviceClass::FindDeviceByUsbPath--DeviceListType_New, Find the device, Port: 3
ModuleID[2] LevelID[10]: DeviceClass::AddUsbDevice() successful USB#VID_15A2&PID_0061#6&35C31B9D&0&3#{A5DCBF10-6530-11D2-901F-00C04FB951ED} add to current list, retrycount: 0
ModuleID[2] LevelID[10]: DeviceManager::OnMsgDeviceEvent() - DEVICE_ARRIVAL_EVT,[MxHidDeviceClass] vid_15a2&pid_0061, Hub:4-Port:3
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]: CmdOperation[0], skip current command, so SetEvent(hDevCanDeleteEvent)
ModuleID[2] LevelID[10]: ExecuteCommand--Boot[WndIndex:0], File is G:\Development board\MFGTools\L4.9.11_1.0.0-ga_mfg-tools\mfgtools-without-rootfs\mfgtools\Profiles\Linux\OS Firmware\firmware\u-boot-imx6dlsabresd_sd.imx

Labels (5)
0 Kudos
4 Replies

852 Views
liujin
Contributor I

Hi Igor,

Thanks for your reply.

I have already done the DDR stress test and get the parameters. We can run the uboot and kernal with the DDR parameters.

But, after I updated the parameters to the uboot DCD header, it still can't work. 

To confirm the problem, I bought another board  referred to SPF-27417_C5, designed by  third party. My uboot can work on that board using mfgtools. 

My colleague helped to test uploading to DDR using a software named "imx_usb_loader-master", we found the data verification was failed. 

Now I am confused. Is the problem coming from the hardware? Anything I need to test?

0 Kudos

852 Views
igorpadykov
NXP Employee
NXP Employee

Hi Liu

for new board mfg tools firmware (files in ..OS Firmware/firmware folder)

should be replaced with new ones, generated using

sect.6.2 Manufacturing Tool, MFGTool attached Yocto Gude

after performing ddr test

i.MX6/7 DDR Stress Test Tool V2.80 

and changing uboot dcd header (file ../mx6sabresd/mx6q_4x_mt41j128.cfg)

with new calibration settings found from ddr test.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

852 Views
liujin
Contributor I

Hi Igor,

Thanks for your reply.

I have already done the DDR stress test and get the parameters. We can run the uboot and kernal with the DDR parameters.

But, after I updated the parameters to the uboot DCD header, it still can't work. 

To confirm the problem, I bought another board  referred to SPF-27417_C5, designed by  third party. My uboot can work on that board using mfgtools. 

My colleague helped to test uploading to DDR using a software named "imx_usb_loader-master", we found the data verification was failed. 

Now I am confused. Is the problem coming from the hardware? Anything I need to test?

And shall I need to configure the eFuses?

0 Kudos

852 Views
igorpadykov
NXP Employee
NXP Employee

Hi Liu

could you clarify meaning:

- " after I updated the parameters to the uboot DCD header, it still can't work."

- 'My colleague helped to test uploading to DDR using a software named "imx_usb_loader-master",

we found the data verification was failed. "

any logs, detailed description of steps.

Best regards
igor

0 Kudos