关于不同版本的mfgtool (About different Mfgtool)

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

关于不同版本的mfgtool (About different Mfgtool)

4,118 次查看
jiangshao
Contributor V

各位尊敬的FAE

我有一块带PMIC的imx6dl sabre-sd,非原装板。

现在发现这样一个问题,

在用M6.0.1_2.1.0专用的制造工具烧写后,再改用Android4.2.2的制造工具烧写,

该开发板无法正常工作。例如:HDMI或LVDS无输出。

串口输出如下:

ERROR: Did not find a cmdline Flattened Device Tree

Could not find a valid device tree

resetting ...

也就是因为找不到devicetree,在反复重启

有哪位知道如何处理吗?

Dear FAE

I have a imx6dl sabre-sd board(with PMIC)(not fsl original).

After burning with M6.0.1_2.1.0 Mfgtool, When I use Android4.2.2 Mfgtool to burn it,

the board can NOT work. For example: no output over HDMI or LVDS

Over serial port can get the following messages:

ERROR: Did not find a cmdline Flattened Device Tree

Could not find a valid device tree

Resetting...

just because can NOT find devicetree, the board restarts again and again。

Anyone know how to deal with it?

标签 (4)
0 项奖励
回复
7 回复数

3,134 次查看
jiangshao
Contributor V

我大概知道原因了,可能是因为4.2.2的mfgtool的ucl2.xml中注释掉了下面这句:

<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0boot0 bs=512 seek=2 skip=2">write U-Boot to sd card</CMD> 

0 项奖励
回复

3,134 次查看
jiangshao
Contributor V

这是串口输出的完整信息:

我怀疑是6.0的uboot.imx和4.2.2的uboot.bin的区别导致的,

但是如何消除uboot.imx的影响呢?

4.2的mfgtool下的ucl2.xml中有如下语句:

<CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1536 count=16">clean up u-boot parameter</CMD>

我试着把seek=1536 改为seek=0,但是无济于事

---------以下串口输出----------

U-Boot 2015.04 (Aug 09 2016 - 09:11:30)

CPU:   Freescale i.MX6DL rev1.1 at 792 MHz

CPU:   Temperature 51 C

Reset cause: WDOG

Board: MX6-SabreSD

I2C:   ready

DRAM:  1 GiB

PMIC:  PFUZE100 ID=0x10

MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2

*** Warning - bad CRC, using default environment

No panel detected: default to Hannstar-XGA

Display: Hannstar-XGA (1024x768)

In:    serial

Out:   serial

Err:   serial

check_and_clean: reg 0, flag_set 0

Fastboot: Normal

flash target is MMC:2

Net:   FEC [PRIME]

Error: FEC address not set.

Normal Boot

Hit any key to stop autoboot:  0

boota mmc2

kernel   @ 10808000 (4411156)

ramdisk  @ 11800000 (325632)

## Booting Android Image at 0x12000000 ...

Android's image name: mx6q_sabresd

Kernel load addr 0x10808000 size 4308 KiB

Kernel command line: init=/init console=ttymxc0,115200 androidboot.console=ttymxc0 video=mxcfb0:dev=hdmi,1280x720@60,bpp=32 video=mxcfb1:off video=mxcfb2:off fbmem=28M vmalloc=400M androidboot.hardware=freescale fec.macaddr=0x00,0x01,0x02,0x03,0x04,0x05

ERROR: Did not find a cmdline Flattened Device Tree

Could not find a valid device tree

resetting ...

0 项奖励
回复

3,134 次查看
BiyongSUN
NXP Employee
NXP Employee

The  uboot for Android 6.0 will look for the dtb file as secondary image if the flag CONFIG_OF_LIBFDT is enabled during the build.

You can disable CONFIG_OF_LIBFDT in  uboot

0 项奖励
回复

3,134 次查看
jiangshao
Contributor V

补充,我用M6.0.1的mfgtool烧写的是内核版本4.1的Android6.0.1的img,

用Android4.2.2的mfgtool烧写的是内核版本3.0.35的Android4.2.2的img。

理论上4.2.2不需要device tree,为何仍要去寻找device tree?这是我想搞清楚的。

0 项奖励
回复

3,134 次查看
BiyongSUN
NXP Employee
NXP Employee

In 3.0.35 kernel for Android 4.2.2. it is using platform matching in kernel.

The big changes in 3.10 and about is using device tree.

No device tree, the Linux kernel 3.10 and above can not run.

Please check what is device tree for Linux kernel.

0 项奖励
回复

3,134 次查看
jiangshao
Contributor V

这点我是理解的,但是我用Android4.2.2的Mfgtool烧写的就是4.2.2(内核3.0.35)的img,为何还需要device tree?

0 项奖励
回复

3,134 次查看
Rita_Wang
NXP TechSupport
NXP TechSupport

Hi jiang shao,

请问你这里重新烧写android 4.2.2的images后,在u-boot启动后,command line 中的启动参数有设置OK么?建议你检查一下。
Have a great day,
Dan

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Mark Correct  button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复