关于Android5.1.1在6DL上的烧写(非原装板)

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

关于Android5.1.1在6DL上的烧写(非原装板)

跳至解决方案
19,648 次查看
jiangshao
Contributor V

各位尊敬的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文件

均没有改善,错误依旧

有人知道为什么吗?该如何修改?

标签 (3)
0 项奖励
回复
1 解答
15,454 次查看
jiangshao
Contributor V

这个估计要根据错误提示修改uboot的源码,但是如何编译得到mfgtool专用的uboot,请参考我发的问题

如何获得mfgtool下的u-boot-imx6dlsabresd_sd.imx?

FAE给了答复,但我还没时间去测试,哪位有兴趣可以试一下。

并希望能告诉我结果。

在原帖中查看解决方案

33 回复数
15,455 次查看
jiangshao
Contributor V

这个估计要根据错误提示修改uboot的源码,但是如何编译得到mfgtool专用的uboot,请参考我发的问题

如何获得mfgtool下的u-boot-imx6dlsabresd_sd.imx?

FAE给了答复,但我还没时间去测试,哪位有兴趣可以试一下。

并希望能告诉我结果。

10,684 次查看
chenli_2016
Contributor II

你好,请问你的问题问题解决了吗?我遇到了和你相同的问题,无法烧写:

Boot from USB for mfgtools

Use default environment for                              mfgtools

Run bootcmd_mfg: <NULL>

=>

0 项奖励
回复
10,684 次查看
chenli_2016
Contributor II

请问你的问题解决了吗,我这边遇到了相同的问题:

Boot from USB for mfgtools

Use default environment for                              mfgtools

Run bootcmd_mfg: <NULL>

=>

无法烧写

0 项奖励
回复
10,684 次查看
joezxd
Contributor I

这里是需要把mfgtool的env配置添加到uboot中的default env中,具体是把CONFIG_MFG_ENV_SETTINGS添加到env_default.h文件中的default_environment数组里。

10,685 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

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!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复
10,685 次查看
jiangshao
Contributor V

您好,使用是自己设计的sabresd 6dl,不是飞思卡尔原装板。

烧写是烧写到emmc中。

另:之前5.0是可以正常烧写,启动的。这是打算烧写5.1.1,没有成功

0 项奖励
回复
10,685 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

Hi Jiang,

你这里烧写的images是你自己编译过的, android5.1.1你也移植OK,编译好的对么?

Best Regards

Dan

0 项奖励
回复
10,685 次查看
jiangshao
Contributor V

是的,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,烧写途中出现上述错误

0 项奖励
回复
10,685 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

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!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复
10,685 次查看
jiangshao
Contributor V

感谢回答

首先,我在烧写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>

0 项奖励
回复
10,685 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

Hi Jiang,

是images文件中的ldo去掉。要不这样吧,我明天在我的板子上试一下。android5.1我这边还没有跑过。明天我试完了给你回复哈。

Have a great day,

Dan

0 项奖励
回复
10,685 次查看
jiangshao
Contributor V

您好

请问,测试有结论了吗?

0 项奖励
回复
10,685 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

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!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复
10,685 次查看
jiangshao
Contributor V

你好

我怀疑是mfgtool中uboot的问题,

但是怎么才能得到firmware下的u-boot-imx6dlsabresd_sd.imx?

在4.2.2的时候,可以在uboot下执行如下命令得到:

make distclean

make mx6dl_sabresd_mfg_config

make

但是现在不再适用了

0 项奖励
回复
10,685 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

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!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复
10,685 次查看
jiangshao
Contributor V

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的相关说明,请您提供帮助。

0 项奖励
回复
10,685 次查看
void_
Contributor I

你好,我现在也出现了和你一样的问题,板子上没有PMIC,所以也得修改MFG中uboot固件,能否告知下你制作uboot固件的方法呢?

0 项奖励
回复
10,685 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

Hi HongBo L,

Which board and BSP are you using?

Have a nice day

Dan

0 项奖励
回复
10,685 次查看
void_
Contributor I

和提问者是一样的自己根据sabresd-sd做的,没有PMIC,烧写是烧写到emmc中。

以前用的是Android4.4.2,现在升级成Android5.1,结果源码编译过了确难在了程序下载上,我想知道的是如何制作自己修改的MFG中uboot固件,这样就可以修改源码规避这个问题

0 项奖励
回复
10,684 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

你好,是这样,你这里要是使用Android5.1版本的BSP的话,你是要使用我们官网上提供的对应android5.1版本的mfgtool。如果你DDR使用的和开发一样,那么你就可以直接使用官网提供mfgtool的u-boot固件,如果不一样的话,你需要自己编译mfgtool使用的u-boot firmware。

0 项奖励
回复