各位尊敬的FAE
以前我问过类似的问题,是关于5.0的烧写。
当时发现如果修改对应的vbs,加上-ldo参数,即可顺利烧写Android5.0并启动。
(只是boot和recovery的文件名要去掉ldo)
这次我下载了5.1专用的mfgtools准备烧写5.1.1,
并按照之前5.0的做法,修改对应的vbs,加上-ldo参数。
根据ucl2.xml,没有去掉boot和recovery文件名中的ldo。
mfgtools可以启动,
但是烧写到Jumping to OS image.
时,烧写停止,串口输出如下内容:
U-Boot 2015.04-imx_v2015.04_3.14.52_1.1.0_ga+g53e6f33 (Nov 01 2015 - 14:00:23)
CPU: Freescale i.MX6DL rev1.1 at 792 MHz
CPU: Temperature 46 C
Reset cause: POR
Board: MX6-SabreSD
I2C: ready
DRAM: 1 GiB
Can't find PMIC:PFUZE100
initcall sequence 4ff93250 failed at call 17803664 (err=-19)
### ERROR ### Please RESET the board ###
mfgtools的log如下:
DLL version: 2.6.2
Tuesday, January 19, 2016 10:10:32 Start new logging
ModuleID[2] LevelID[10]: CMyExceptionHandler thread is running
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: new MxHidDevice[00673A28]
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: new MxHidDevice[00673EF8]
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: new MxHidDevice[04179458]
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: new MxHidDevice[04179050]
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: new MxHidDevice[03FED700]
ModuleID[2] LevelID[1]: new MxHidDeviceClass
ModuleID[2] LevelID[10]: new MxHidDevice[03FEDBD0]
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]: 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 E:\mfgtools51\Profiles\linux\OS Firmware\firmware\u-boot-imx6dlsabresd_sd.imx
ModuleID[2] LevelID[10]: ExecuteCommand--Load[WndIndex:0], File is E:\mfgtools51\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]: ExecuteCommand--Load[WndIndex:0], File is E:\mfgtools51\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]: ExecuteCommand--Load[WndIndex:0], File is E:\mfgtools51\Profiles\linux\OS Firmware\firmware\zImage-imx6dl-sabresd-ldo.dtb, address is 0x18000000
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[03FEDBD0] 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]: 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 E:\mfgtools51\Profiles\linux\OS Firmware\firmware\u-boot-imx6dlsabresd_sd.imx
ModuleID[2] LevelID[1]: MxHidDevice::Write() Error writing to device 0x79.
ModuleID[2] LevelID[1]: Failed to initialize memory!
ModuleID[2] LevelID[1]: PortMgrDlg(0)--MxHidDevice--Command Boot excute failed
ModuleID[2] LevelID[10]: CmdOperation[0], current command executed failed, 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[03FEDBD0]
ModuleID[2] LevelID[10]: Device Manager thread is closed
我试着
1,替换之前5.0的uboot
2,全部替换成5.0的四个img文件
均没有改善,错误依旧
有人知道为什么吗?该如何修改?
已解决! 转到解答。
这个估计要根据错误提示修改uboot的源码,但是如何编译得到mfgtool专用的uboot,请参考我发的问题
如何获得mfgtool下的u-boot-imx6dlsabresd_sd.imx?
FAE给了答复,但我还没时间去测试,哪位有兴趣可以试一下。
并希望能告诉我结果。
Hi jiang,
Here I want to know which board are you using, the board you buy from our company or you design yourself? Besides, which flash are you download the images to, the SD card or EMMC?
Have a great day,
Dan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
是的,5.0和5.1.1都是从飞思卡尔官网下载源码,自己编译得到的image。
5.0和5.1.1,都是修改BoardConfig.mk,得到
boot-imx6dl-ldo.img
recovery-imx6dl-ldo.img
system.img
u-boot-imx6dl.imx
然后修改mfgtool2-android-mx6dl-sabresd-emmc.vbs
增加-ldo参数
5.0去掉以下两个文件名中的-ldo,可以烧写,启动
boot-imx6dl-ldo.img
recovery-imx6dl-ldo.img
5.1.1不用去掉文件名中的-ldo,烧写途中出现上述错误
Hi Jiang,
你这里使用android5.1.1版本的BSP的话,烧写的时候,也是要将-ldo去掉的。而且你要使用官网提供的IMX6_L5.1_2.1.0_MFG_TOOL.tar.gz版本的MFGTOOL来烧写。
Have a great day,
Dan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
感谢回答
首先,我在烧写5.1.1的时候使用的就是官网提供的IMX6_L5.1_2.1.0_MFG_TOOL.tar.gz
您所说的要将-ldo去掉,是指img的文件名要去掉-ldo吗?
那样的话会出错的,因为ucl2.xml来看,若vbs中指定了-ldo参数,它就会去寻找
带-ldo的文件
<LIST name="eMMC-Android" desc="Choose eMMC as media">
:
<CMD state="Updater" type="push" body="send" file="files/android/%folder%/boot-imx%soc%%plus%%ldo%.img" >Sending and writting boot.img</CMD>
:
<CMD state="Updater" type="push" body="pipe dd of=/dev/mmcblk%mmc%p2 bs=512" file="files/android/%folder%/recovery-imx%soc%%plus%%ldo%.img">Sending and writting recovery.img</CMD>
:
Hello Jiang,
我这边试过了,我烧写的是
u-boot-imx6dl.imx
boot-imx6dl.img
recovery-imx6dl.img
system.img
是不用带 ‘-ldo’ 的,你这里写到emmc上使用的是 mfgtool2-android-mx6dl-sabresd-emmc.vbs
你这里通过Edit该脚本,你可以看到该脚本里烧写配置是:
Set wshShell = CreateObject("WScript.shell")
wshShell.run "mfgtool2.exe -c ""linux"" -l ""eMMC-Android"" -s ""board=sabresd"" -s ""folder=sabresd"" -s ""soc=6dl"" -s ""mmc=3"" -s ""data_type="""
Set wshShell = Nothing
是没有‘-ldo’的设置的。
新版本的mfgtool工具是把所有系列都放在一起,不是单独的,有的产品是需要的,有的不需要。需要的话,烧写的时候配置与一下就OK的了。不需要就不需要设置的。
你再试一下,有问题的话我们再沟通。
Have a great day,
Dan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Jiang,
请问你这里使用的板子是参考我们官网开发板自己设计的么,哪里做了改动, DDR有做改动吗?你这里是直接使用官网的mfgtool,对于mfgtool使用的u-boot-imx6dlsabresd_sd.imx 你也是用官网提供的么?
还有一点你提到的 需要在mfgtool2-android-mx6dl-sabresd-emmc.vbs中追加-ldo, 我认为暂时没有必要这么做。
Have a great day,
Dan
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
1、我们的板子是参照sabresd设计的,在Android 4.2和4.3的时候可以直接烧写sabresd的官版image
2、但是我们的硬件设计比较早,所以把PMIC给省了,直接DC/DC驱动,因此涉及到PMIC的程序都会有错,经过我们测试,在android 5.0版本上,devices tree参考sabresd 的sabresd-ldo.dts可以跑通,没有问题。
3、现在在测试5.1,5.1的u-boot一跑起来就会测试pmic,报错停止,没法进行下一步工作。我们想修改u-boot适应我们的板子。但是找不到编译mfgtools固件使用的u-boot的相关说明,请您提供帮助。