wang0614xing 发表于 2021-1-22 13:01:26

FETMX6ULL-S核心板移植uboot读取内核分区失败

本帖最后由 wang0614xing 于 2021-1-22 13:04 编辑

核心板配置:

DRAM: 256 MiB
NAND: 256 MiB

U-Boot启动打印信息:

U-Boot 2016.03 (Jan 21 2021 - 18:34:00 -0800)

CPU: Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 33C
Reset cause: POR
Board: MX6ULL 14x14 EVK
I2C: ready
DRAM: 256 MiB
NAND: 256 MiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
NAND read from offset 3c00000 failed -74
*** Warning - readenv() failed, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In: serial
Out: serial
Err: serial
Net: FEC1
Error: FEC1 address not set.

Normal Boot
Hit any key to stop autoboot: 0

NAND read: device 0 offset 0xa00000, size 0x800000
NAND read from offset a00000 failed -74
0 bytes read: ERROR

NAND read: device 0 offset 0x780000, size 0x40000
NAND read from offset 780000 failed -74
0 bytes read: ERROR
Kernel image @ 0x80800000 [ 0x000000 - 0x6c3ba8 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300c040
fdt_find_or_add_subnode: memory: FDT_ERR_BADSTRUCTURE
ERROR: arch-specific fdt fixup failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board ###


NXP官方uboot-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2uboot内核源码uboot-imx-rel_imx_4.1.15_2.1.0_ga\include\configs\mx6ullevk.h修改内容如下:
#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \
      CONFIG_MFG_ENV_SETTINGS \
      "panel=TFT43AB\0" \
      "fdt_addr=0x83000000\0" \
      "fdt_high=0xffffffff\0"          \
      "console=ttymxc0\0" \
      "bootargs=console=ttymxc0,115200 ubi.mtd=5 "\
                "root=ubi0:rootfs rootfstype=ubifs "                     \
                CONFIG_BOOTARGS_CMA_SIZE \
                "mtdparts=gpmi-nand:4m(boot),2m(logo),1m(env),3m(dtb),8m(kernel),-(rootfs) \0"\
      "bootcmd=nand read ${loadaddr} 0xa00000 0x800000;"\
                "nand read ${fdt_addr} 0x780000 0x40000;"\
                "bootz ${loadaddr} - ${fdt_addr}\0"
.
.
.
                "findfdt="\
                        "if test $fdt_file = undefined; then " \
                              "if test $board_name = EVK && test $board_rev = 9X9; then " \
                                        "setenv fdt_file imx6ull-9x9-evk.dtb; fi; " \
                              "if test $board_name = EVK && test $board_rev = 14X14; then " \
                                        "setenv fdt_file imx6ull-S-gpmi-1024x600c7.dtb; fi; " \
                              "if test $fdt_file = undefined; then " \
                                        "echo WARNING: Could not determine dtb to use; fi; " \
                        "fi;\0" \帮我看一下什么地方出现问题,谢谢


zhichao 发表于 2021-1-22 16:23:57

您自己移植的uboot我们不清楚里边具体内容,出现的问题没法确定是什么原因,您可以咨询nxp官方,确定问题原因

wang0614xing 发表于 2021-1-22 17:09:51

zhichao 发表于 2021-1-22 16:23
您自己移植的uboot我们不清楚里边具体内容,出现的问题没法确定是什么原因,您可以咨询nxp官方,确定问题原 ...
官方uboot源码肯定是没有问题的,此源码我在友商的核心板是可以正常运行的,只是分区大小不同而已!你们的核心板分区是这个吗?4m(boot),2m(logo),1m(env),3m(dtb),8m(kernel),-(rootfs)

    "bootcmd=nand read ${loadaddr} 0xa00000 0x800000;"\
      "nand read ${fdt_addr} 0x780000 0x40000;"\

zhichao 发表于 2021-1-25 09:05:05

您是1gnand还是256mnand,256maddr还是512maddr,不同参数的核心板地址是不同的

wang0614xing 发表于 2021-1-25 12:29:56

zhichao 发表于 2021-1-25 09:05
您是1gnand还是256mnand,256maddr还是512maddr,不同参数的核心板地址是不同的

DRAM: 256 MiB
NAND: 256 MiB

zhichao 发表于 2021-1-25 15:25:04

是一样的,${fdt_addr}是0x83000000
页: [1]
查看完整版本: FETMX6ULL-S核心板移植uboot读取内核分区失败