TQMLS1028A 错误,Open Industrial Linux“无法读取文件 fsl-ls1028a-mbls1028a.dtb”
TQMLS1028A error with Open Industrial Linux " Unable to read file fsl-ls1028a-mbls1028a.dtb "
我正在尝试构建 Open Industrial Linux 映像,当我尝试 运行 TQMLS1028A
中的构建映像时遇到了一些问题
我尝试使用内核为 5.0.21-rt16 的 Linux Mint 19.3 和内核为 4.15.0-112 通用的 Ubuntu 16.04.7 LTS 构建映像。当我用 Linux 制作图像时,在电路板启动
时会出现相同的错误
我使用 Rufus 3.11 将 SDCard 格式化为引导设备,因为某些原因我在使用命令时不理解
sudo dd if=./sdcard.img of=/dev/mmcblk0
SD卡不识别图像,根本不工作。所以这就是为什么我使用 Rufus 来复制 SDCard 内部的图像。
将图像放入 SDCard 后,我尝试启动我的 MBLS1028A-IND,但出现错误“无法读取文件 fsl-ls1028a-mbks1028a.dtb”
这里是给板的错误的完整日志。
Error give in the board boots Page1/2
Error give when the board boots Page1/2
此外,当我使用命令“make all”构建图像时,我还有输出日志。如果您需要它们,请告诉我,我可以发送给它们。
如果有任何提示我还能做什么?如果您需要任何其他信息,请告诉我。
根据要求这里是图片上的文字
U-Boot SPL 2018.03 (Dec 23 2020 - 02:20:50 +0100)
Initialzing DDR using fixed setting
Configuring DDR for 1600 MT/s data rate
Trying to boot from MMC1
U-Boot 2018.03 (Dec 23 2020 - 02:20:50 +0100)
SoC: LS1028AE Rev1.0 (0x870b0010)
Clock Configuration:
CPU0(A72):1300 MHz CPU1(A72):1300 MHz
Bus: 400 MHz DDR: 1600 MT/s
Reset Configuration Word (RCW):
00000000: 34004010 00000030 00000000 00000000
00000010: 00000000 008e0000 0030c000 00000000
00000020: 00a03150 00002580 00000000 00008096
00000030: 00000000 00000010 00000000 00000000
00000040: 00000000 00000000 00000000 00000000
00000050: 00000000 00000000 00000000 00000000
00000060: 00000000 00000000 000e7000 00000000
00000070: eb580000 03000000
Model: TQMLS1028A on MBLS1028A
Board: MBLS1028A Booting from: SD
I2C: ready
DRAM: 958 MiB (DDR4, 32-bit, CL=11, ECC on)
FSL_SDHC: 0, FSL_SDHC: 1
PPA Firmware: Version ebbd1ea
Using SERDES1 Protocol: 60248 (0xeb58)
PCIe0: pcie@3400000 disabled
PCIe1: pcie@3500000 Root Complex: no link
MMC: Loading Environment from MMC... *** Warning - bad CRC, using default environment
Failed (-5)
In: serial
Out: serial
Err: serial
TQMLS1028A EEPROM:
ID: TQMLS1028A-P1.103
SN: 72927904
MAC: 00:d0:93:4a:77:f6
Net: phy path: /pcie@1f0000000/netc_mdio/phy@3
phy path: /pcie@1f0000000/netc_mdio/phy@0
eth0: enetc#0, eth1: enetc#1 [PRIME], eth2: enetc#2, eth3: netc_mdio
Warning: enetc#3 (eth4) using random MAC address - fa:4f:8a:fa:a8:bd
, eth4: enetc#3
trying to set up RGMII
trying to set up QSGMII for SERDES x5xx!!!!
Hit any key to stop autoboot: 3 2 1 0
Booting from sd card ...
102464 bytes read in 22 ms (4.4 MiB/s)
Loading hdp firmware from 0x0000000082000000 offset 0x0000000000002000
Loading hdp firmware Complete
9721536 bytes read in 679 ms (13.7 MiB/s)
Uncompressed size: 22053376 = 0x1508200
** Unable to read file fsl-ls1028a-mbls1028a.dtb **
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Setting bus to 5
Setting bus to 5
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
Booting from emmc ...
** No partition table - mmc 1 **
Loading hdp firmware from 0x0000000082000000 offset 0x0000000000002000
Loading hdp firmware Complete
** No partition table - mmc 1 **
Uncompressed size: 22053376 = 0x1508200
** No partition table - mmc 1 **
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Setting bus to 5
Setting bus to 5
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
Booting from SPI NOR flash...
SF: Detected mx66u51235f with page size 256 Bytes, erase size 64 KiB, total 64 MiB
device 0 offset 0x480000, size 0x80000
SF: 524288 bytes @ 0x480000 Read: OK
Loading hdp firmware from 0x0000000082000000 offset 0x0000000000002000
Loading hdp firmware Complete
SF: Detected mx66u51235f with page size 256 Bytes, erase size 64 KiB, total 64 MiB
device 0 offset 0x500000, size 0xa00000
SF: 10485760 bytes @ 0x500000 Read: OK
Error: Bad gzipped data
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Setting bus to 5
Setting bus to 5
Bad Linux ARM64 Image magic!
No boot device !!! reset
=>
这里是u-bootprintenv
命令的输出
=> printev nv
addemmc=setenv bootargs ${bootargs} root=/dev/mmcblk1p2 rootfstype=ext4
addsd=setenv bootargs ${bootargs} root=/dev/mmcblk0p2 rootfstype=ext4
addspi=setenv bootargs ${bootargs} root=ubi0_0 rw rootfstype=ubifs ubi.mtd=7
addtty=setenv bootargs ${bootargs} console=ttyS0,115200
addvideo=setenv bootargs ${bootargs} cma=256M video=1920x1080-32@60
arch=arm
baudrate=115200
board=tqmls1028a_mbls1028a
board_name=tqmls1028a
boardinit=run resetusb; run resetphy;
boot=SD
bootargs=console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256
bootcmd=run sdboot; run emmcboot; run spiboot; run panicboot
bootdelay=3
cpu=armv8
emmcargs=run addemmc addtty addvideo
emmcboot=echo Booting from emmc ...; setenv bootargs; run emmcargs; run emmchdpload; run emmcimageload; run emmcfdtload;run setmacaddr;run boardinit;booti ${loadaddr} - ${fdtaddr}
emmcfdtload=fatload mmc 1:1 ${fdtaddr} ${fdt_file};
emmchdpload=fatload mmc 1:1 ${loadaddr} ls1028a-dp-fw.bin; hdp load ${loadaddr};
emmcimageload=fatload mmc 1:1 ${fdtaddr} Image.gz; unzip $fdtaddr $loadaddr
eth1addr=00:d0:93:4a:77:f7
eth2addr=00:d0:93:4a:77:f8
eth3addr=00:d0:93:4a:77:f9
ethact=enetc#1
ethaddr=00:d0:93:4a:77:f6
ethprime=enetc#1
fdt_file=fsl-ls1028a-mbls1028a.dtb
fdtaddr=0x88000000
fdtcontroladdr=bba199d0
firmwarepart=1
gpio_expander_1_addr=0x25
gpio_expander_2_addr=0x70
gpio_expander_i2c_bus=5
hwconfig=fsl_ddr:bank_intlv=auto
kernel_file=Image.gz
loadaddr=0x82000000
mmcdev=1
mmcsddev=0
panicboot=echo No boot device !!! reset
rcw_emmc_file=rcw_1300_emmc.bin
rcw_max_size=1024
rcw_qspi_file=rcw_1300_spi_nor.bin
rcw_sd_file=rcw_1300_sd.bin
rcw_sd_offset=0x8
resetphy=i2c dev ${gpio_expander_i2c_bus}; i2c mw ${gpio_expander_2_addr} 0x3 0xd5; i2c mw ${gpio_expander_2_addr} 0x1 0xd5; sleep 0.1; i2c mw ${gpio_expander_2_addr} 0x1 0xff;
resetusb=i2c dev ${gpio_expander_i2c_bus}; i2c mw ${gpio_expander_1_addr} 0x6.1 0xfd; i2c mw ${gpio_expander_1_addr} 0x2.1 0xfd; sleep 0.1; i2c mw ${gpio_expander_1_addr} 0x2.1 0xff;
rootfs_mtddev=RootFS
sdargs=run addsd addtty addvideo
sdboot=echo Booting from sd card ...; setenv bootargs; run sdargs; run sdhdpload; run sdimageload; run sdfdtload;run setmacaddr;run boardinit;booti ${loadaddr} - ${fdtaddr}
sdfdtload=fatload mmc 0:1 ${fdtaddr} ${fdt_file};
sdhdpload=fatload mmc 0:1 ${loadaddr} ls1028a-dp-fw.bin; hdp load ${loadaddr};
sdimageload=fatload mmc 0:1 ${fdtaddr} Image.gz; unzip $fdtaddr $loadaddr
set_getcmd=if test "${ipmode}" != static; then setenv getcmd dhcp; setenv autoload yes; else setenv getcmd tftp; setenv autoload no; fi
setmacaddr=fdt addr ${fdtaddr}; fdt resize 4;fdt set /soc/pcie@1f0000000/pci@0,5/port@0/ mac-address ${switch_mac_addr};
soc=fsl-layerscape
spiargs=run addspi addtty addvideo
spiboot=echo Booting from SPI NOR flash...; setenv bootargs; run spiargs; run spihdpload spikernelload spifdtload ; run setmacaddr;run boardinit;booti ${loadaddr} - ${fdtaddr};
spifdtload=sf probe 0; sf read ${fdtaddr} DTB
spihdpload=sf probe; sf read ${loadaddr} HDP; hdp load ${loadaddr};
spikernelload=sf probe 0; sf read ${fdtaddr} Linux; unzip ${fdtaddr} ${loadaddr}
stderr=serial
stdin=serial
stdout=serial
switch_mac_addr=[00 d0 93 4a 77 fb]
uboot_emmc_file=u-boot-with-spl_emmc.bin
uboot_max_size=0x300000
uboot_qspi_file=u-boot-with-spl_qspi.bin
uboot_sd_file=u-boot-with-spl_sdcard.bin
uboot_sd_offset=0x800
update_fdt_emmc=run set_getcmd; if ${getcmd} ${fdt_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; echo Write fdt image to mmc ${mmcdev}:${firmwarepart}...; save mmc ${mmcdev}:${firmwarepart} ${loadaddr} ${fdt_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd
update_fdt_qspi=run set_getcmd; if ${getcmd} ${fdt_file}; then if itest ${filesize} > 0; then sf probe; sf update ${loadaddr} DTB ${filesize};fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_fdt_sd=run set_getcmd; if ${getcmd} ${fdt_file}; then if itest ${filesize} > 0; then mmc dev ${mmcsddev}; mmc rescan; echo Write fdt image to mmc ${mmcsddev}:${firmwarepart}...; save mmc ${mmcsddev}:${firmwarepart} ${loadaddr} ${fdt_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd
update_kernel_emmc=run set_getcmd; if ${getcmd} ${kernel_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; echo Write kernel image to mmc ${mmcdev}:${firmwarepart}...; save mmc ${mmcdev}:${firmwarepart} ${loadaddr} ${kernel_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd
update_kernel_qspi=run set_getcmd; if ${getcmd} ${kernel_file}; then if itest ${filesize} > 0; then sf probe; sf update ${loadaddr} Linux ${filesize};fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_kernel_sd=run set_getcmd; if ${getcmd} ${kernel_file}; then if itest ${filesize} > 0; then mmc dev ${mmcsddev}; mmc rescan; echo Write kernel image to mmc ${mmcsddev}:${firmwarepart}...; save mmc ${mmcsddev}:${firmwarepart} ${loadaddr} ${kernel_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd
update_rcw_emmc=run set_getcmd; if ${getcmd} ${rcw_emmc_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${rcw_max_size}; then mmc write ${loadaddr} ${rcw_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_rcw_qspi=run set_getcmd; if ${getcmd} ${rcw_qspi_file}; then if itest ${filesize} > 0; then if itest ${filesize} <= ${uboot_max_size}; then sf probe; sf update ${loadaddr} RCW ${filesize};fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_rcw_sd=run set_getcmd; if ${getcmd} ${rcw_sd_file}; then if itest ${filesize} > 0; then mmc dev 0; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${rcw_max_size}; then mmc write ${loadaddr} ${rcw_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_uboot_emmc=run set_getcmd; if ${getcmd} ${uboot_emmc_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${uboot_max_size}; then mmc write ${loadaddr} ${uboot_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_uboot_qspi=run set_getcmd; if ${getcmd} ${uboot_qspi_file}; then if itest ${filesize} > 0; then if itest ${filesize} <= ${uboot_max_size}; then sf probe; sf update ${loadaddr} U-Boot-PBL ${filesize};fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_uboot_sd=run set_getcmd; if ${getcmd} ${uboot_sd_file}; then if itest ${filesize} > 0; then mmc dev ${mmcsddev}; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${uboot_max_size}; then mmc write ${loadaddr} ${uboot_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
vendor=tqc
Environment size: 7098/524284 bytes
=>
SDCard各部分图片
Partions of the SD Card
Partion of 268 Mb
Partion of 3.1 Gb
提前致谢
根据 sdfdtload=fatload mmc 0:1 ${fdtaddr} ${fdt_file};
fsl-ls1028a-mbls1028a.dtb
预计居住在 mmc 0:1
。它可能只是丢失或具有不同的名称 - 我最近在基于 Marvell 的 SBC 上遇到了类似的问题。另一种方法是用等效命令替换 sdfdtload=fatload mmc 0:1 ${fdtaddr} ${fdt_file};
,该命令将从您找到它的 268 MB 分区的根目录加载它,如果它不是 mmc 0:1
.
如果您必须修改当前的 u-boot 环境,您应该能够使用 saveenv
u-boot 命令使您的更改持久化。副作用应该是使与 CRC 相关的警告消息消失:发出它可能是因为当前没有有效的 u-boot 环境保存在闪存中应该存储的位置。
我正在尝试构建 Open Industrial Linux 映像,当我尝试 运行 TQMLS1028A
中的构建映像时遇到了一些问题我尝试使用内核为 5.0.21-rt16 的 Linux Mint 19.3 和内核为 4.15.0-112 通用的 Ubuntu 16.04.7 LTS 构建映像。当我用 Linux 制作图像时,在电路板启动
时会出现相同的错误我使用 Rufus 3.11 将 SDCard 格式化为引导设备,因为某些原因我在使用命令时不理解
sudo dd if=./sdcard.img of=/dev/mmcblk0
SD卡不识别图像,根本不工作。所以这就是为什么我使用 Rufus 来复制 SDCard 内部的图像。
将图像放入 SDCard 后,我尝试启动我的 MBLS1028A-IND,但出现错误“无法读取文件 fsl-ls1028a-mbks1028a.dtb”
这里是给板的错误的完整日志。
Error give in the board boots Page1/2
Error give when the board boots Page1/2
此外,当我使用命令“make all”构建图像时,我还有输出日志。如果您需要它们,请告诉我,我可以发送给它们。
如果有任何提示我还能做什么?如果您需要任何其他信息,请告诉我。
根据要求这里是图片上的文字
U-Boot SPL 2018.03 (Dec 23 2020 - 02:20:50 +0100)
Initialzing DDR using fixed setting
Configuring DDR for 1600 MT/s data rate
Trying to boot from MMC1
U-Boot 2018.03 (Dec 23 2020 - 02:20:50 +0100)
SoC: LS1028AE Rev1.0 (0x870b0010)
Clock Configuration:
CPU0(A72):1300 MHz CPU1(A72):1300 MHz
Bus: 400 MHz DDR: 1600 MT/s
Reset Configuration Word (RCW):
00000000: 34004010 00000030 00000000 00000000
00000010: 00000000 008e0000 0030c000 00000000
00000020: 00a03150 00002580 00000000 00008096
00000030: 00000000 00000010 00000000 00000000
00000040: 00000000 00000000 00000000 00000000
00000050: 00000000 00000000 00000000 00000000
00000060: 00000000 00000000 000e7000 00000000
00000070: eb580000 03000000
Model: TQMLS1028A on MBLS1028A
Board: MBLS1028A Booting from: SD
I2C: ready
DRAM: 958 MiB (DDR4, 32-bit, CL=11, ECC on)
FSL_SDHC: 0, FSL_SDHC: 1
PPA Firmware: Version ebbd1ea
Using SERDES1 Protocol: 60248 (0xeb58)
PCIe0: pcie@3400000 disabled
PCIe1: pcie@3500000 Root Complex: no link
MMC: Loading Environment from MMC... *** Warning - bad CRC, using default environment
Failed (-5)
In: serial
Out: serial
Err: serial
TQMLS1028A EEPROM:
ID: TQMLS1028A-P1.103
SN: 72927904
MAC: 00:d0:93:4a:77:f6
Net: phy path: /pcie@1f0000000/netc_mdio/phy@3
phy path: /pcie@1f0000000/netc_mdio/phy@0
eth0: enetc#0, eth1: enetc#1 [PRIME], eth2: enetc#2, eth3: netc_mdio
Warning: enetc#3 (eth4) using random MAC address - fa:4f:8a:fa:a8:bd
, eth4: enetc#3
trying to set up RGMII
trying to set up QSGMII for SERDES x5xx!!!!
Hit any key to stop autoboot: 3 2 1 0
Booting from sd card ...
102464 bytes read in 22 ms (4.4 MiB/s)
Loading hdp firmware from 0x0000000082000000 offset 0x0000000000002000
Loading hdp firmware Complete
9721536 bytes read in 679 ms (13.7 MiB/s)
Uncompressed size: 22053376 = 0x1508200
** Unable to read file fsl-ls1028a-mbls1028a.dtb **
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Setting bus to 5
Setting bus to 5
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
Booting from emmc ...
** No partition table - mmc 1 **
Loading hdp firmware from 0x0000000082000000 offset 0x0000000000002000
Loading hdp firmware Complete
** No partition table - mmc 1 **
Uncompressed size: 22053376 = 0x1508200
** No partition table - mmc 1 **
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Setting bus to 5
Setting bus to 5
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
Booting from SPI NOR flash...
SF: Detected mx66u51235f with page size 256 Bytes, erase size 64 KiB, total 64 MiB
device 0 offset 0x480000, size 0x80000
SF: 524288 bytes @ 0x480000 Read: OK
Loading hdp firmware from 0x0000000082000000 offset 0x0000000000002000
Loading hdp firmware Complete
SF: Detected mx66u51235f with page size 256 Bytes, erase size 64 KiB, total 64 MiB
device 0 offset 0x500000, size 0xa00000
SF: 10485760 bytes @ 0x500000 Read: OK
Error: Bad gzipped data
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
Setting bus to 5
Setting bus to 5
Bad Linux ARM64 Image magic!
No boot device !!! reset
=>
这里是u-bootprintenv
命令的输出
=> printev nv
addemmc=setenv bootargs ${bootargs} root=/dev/mmcblk1p2 rootfstype=ext4
addsd=setenv bootargs ${bootargs} root=/dev/mmcblk0p2 rootfstype=ext4
addspi=setenv bootargs ${bootargs} root=ubi0_0 rw rootfstype=ubifs ubi.mtd=7
addtty=setenv bootargs ${bootargs} console=ttyS0,115200
addvideo=setenv bootargs ${bootargs} cma=256M video=1920x1080-32@60
arch=arm
baudrate=115200
board=tqmls1028a_mbls1028a
board_name=tqmls1028a
boardinit=run resetusb; run resetphy;
boot=SD
bootargs=console=ttyS0,115200 root=/dev/ram0 earlycon=uart8250,mmio,0x21c0500 ramdisk_size=0x2000000 default_hugepagesz=2m hugepagesz=2m hugepages=256
bootcmd=run sdboot; run emmcboot; run spiboot; run panicboot
bootdelay=3
cpu=armv8
emmcargs=run addemmc addtty addvideo
emmcboot=echo Booting from emmc ...; setenv bootargs; run emmcargs; run emmchdpload; run emmcimageload; run emmcfdtload;run setmacaddr;run boardinit;booti ${loadaddr} - ${fdtaddr}
emmcfdtload=fatload mmc 1:1 ${fdtaddr} ${fdt_file};
emmchdpload=fatload mmc 1:1 ${loadaddr} ls1028a-dp-fw.bin; hdp load ${loadaddr};
emmcimageload=fatload mmc 1:1 ${fdtaddr} Image.gz; unzip $fdtaddr $loadaddr
eth1addr=00:d0:93:4a:77:f7
eth2addr=00:d0:93:4a:77:f8
eth3addr=00:d0:93:4a:77:f9
ethact=enetc#1
ethaddr=00:d0:93:4a:77:f6
ethprime=enetc#1
fdt_file=fsl-ls1028a-mbls1028a.dtb
fdtaddr=0x88000000
fdtcontroladdr=bba199d0
firmwarepart=1
gpio_expander_1_addr=0x25
gpio_expander_2_addr=0x70
gpio_expander_i2c_bus=5
hwconfig=fsl_ddr:bank_intlv=auto
kernel_file=Image.gz
loadaddr=0x82000000
mmcdev=1
mmcsddev=0
panicboot=echo No boot device !!! reset
rcw_emmc_file=rcw_1300_emmc.bin
rcw_max_size=1024
rcw_qspi_file=rcw_1300_spi_nor.bin
rcw_sd_file=rcw_1300_sd.bin
rcw_sd_offset=0x8
resetphy=i2c dev ${gpio_expander_i2c_bus}; i2c mw ${gpio_expander_2_addr} 0x3 0xd5; i2c mw ${gpio_expander_2_addr} 0x1 0xd5; sleep 0.1; i2c mw ${gpio_expander_2_addr} 0x1 0xff;
resetusb=i2c dev ${gpio_expander_i2c_bus}; i2c mw ${gpio_expander_1_addr} 0x6.1 0xfd; i2c mw ${gpio_expander_1_addr} 0x2.1 0xfd; sleep 0.1; i2c mw ${gpio_expander_1_addr} 0x2.1 0xff;
rootfs_mtddev=RootFS
sdargs=run addsd addtty addvideo
sdboot=echo Booting from sd card ...; setenv bootargs; run sdargs; run sdhdpload; run sdimageload; run sdfdtload;run setmacaddr;run boardinit;booti ${loadaddr} - ${fdtaddr}
sdfdtload=fatload mmc 0:1 ${fdtaddr} ${fdt_file};
sdhdpload=fatload mmc 0:1 ${loadaddr} ls1028a-dp-fw.bin; hdp load ${loadaddr};
sdimageload=fatload mmc 0:1 ${fdtaddr} Image.gz; unzip $fdtaddr $loadaddr
set_getcmd=if test "${ipmode}" != static; then setenv getcmd dhcp; setenv autoload yes; else setenv getcmd tftp; setenv autoload no; fi
setmacaddr=fdt addr ${fdtaddr}; fdt resize 4;fdt set /soc/pcie@1f0000000/pci@0,5/port@0/ mac-address ${switch_mac_addr};
soc=fsl-layerscape
spiargs=run addspi addtty addvideo
spiboot=echo Booting from SPI NOR flash...; setenv bootargs; run spiargs; run spihdpload spikernelload spifdtload ; run setmacaddr;run boardinit;booti ${loadaddr} - ${fdtaddr};
spifdtload=sf probe 0; sf read ${fdtaddr} DTB
spihdpload=sf probe; sf read ${loadaddr} HDP; hdp load ${loadaddr};
spikernelload=sf probe 0; sf read ${fdtaddr} Linux; unzip ${fdtaddr} ${loadaddr}
stderr=serial
stdin=serial
stdout=serial
switch_mac_addr=[00 d0 93 4a 77 fb]
uboot_emmc_file=u-boot-with-spl_emmc.bin
uboot_max_size=0x300000
uboot_qspi_file=u-boot-with-spl_qspi.bin
uboot_sd_file=u-boot-with-spl_sdcard.bin
uboot_sd_offset=0x800
update_fdt_emmc=run set_getcmd; if ${getcmd} ${fdt_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; echo Write fdt image to mmc ${mmcdev}:${firmwarepart}...; save mmc ${mmcdev}:${firmwarepart} ${loadaddr} ${fdt_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd
update_fdt_qspi=run set_getcmd; if ${getcmd} ${fdt_file}; then if itest ${filesize} > 0; then sf probe; sf update ${loadaddr} DTB ${filesize};fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_fdt_sd=run set_getcmd; if ${getcmd} ${fdt_file}; then if itest ${filesize} > 0; then mmc dev ${mmcsddev}; mmc rescan; echo Write fdt image to mmc ${mmcsddev}:${firmwarepart}...; save mmc ${mmcsddev}:${firmwarepart} ${loadaddr} ${fdt_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd
update_kernel_emmc=run set_getcmd; if ${getcmd} ${kernel_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; echo Write kernel image to mmc ${mmcdev}:${firmwarepart}...; save mmc ${mmcdev}:${firmwarepart} ${loadaddr} ${kernel_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd
update_kernel_qspi=run set_getcmd; if ${getcmd} ${kernel_file}; then if itest ${filesize} > 0; then sf probe; sf update ${loadaddr} Linux ${filesize};fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_kernel_sd=run set_getcmd; if ${getcmd} ${kernel_file}; then if itest ${filesize} > 0; then mmc dev ${mmcsddev}; mmc rescan; echo Write kernel image to mmc ${mmcsddev}:${firmwarepart}...; save mmc ${mmcsddev}:${firmwarepart} ${loadaddr} ${kernel_file} ${filesize}; fi; fi; setenv filesize; setenv getcmd
update_rcw_emmc=run set_getcmd; if ${getcmd} ${rcw_emmc_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${rcw_max_size}; then mmc write ${loadaddr} ${rcw_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_rcw_qspi=run set_getcmd; if ${getcmd} ${rcw_qspi_file}; then if itest ${filesize} > 0; then if itest ${filesize} <= ${uboot_max_size}; then sf probe; sf update ${loadaddr} RCW ${filesize};fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_rcw_sd=run set_getcmd; if ${getcmd} ${rcw_sd_file}; then if itest ${filesize} > 0; then mmc dev 0; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${rcw_max_size}; then mmc write ${loadaddr} ${rcw_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_uboot_emmc=run set_getcmd; if ${getcmd} ${uboot_emmc_file}; then if itest ${filesize} > 0; then mmc dev ${mmcdev}; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${uboot_max_size}; then mmc write ${loadaddr} ${uboot_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_uboot_qspi=run set_getcmd; if ${getcmd} ${uboot_qspi_file}; then if itest ${filesize} > 0; then if itest ${filesize} <= ${uboot_max_size}; then sf probe; sf update ${loadaddr} U-Boot-PBL ${filesize};fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
update_uboot_sd=run set_getcmd; if ${getcmd} ${uboot_sd_file}; then if itest ${filesize} > 0; then mmc dev ${mmcsddev}; mmc rescan; setexpr blkc ${filesize} + 0x1ff; setexpr blkc ${blkc} / 0x200; if itest ${filesize} <= ${uboot_max_size}; then mmc write ${loadaddr} ${uboot_sd_offset} ${blkc}; fi; fi; fi; setenv filesize; setenv blkc; setenv getcmd
vendor=tqc
Environment size: 7098/524284 bytes
=>
SDCard各部分图片
Partions of the SD Card
Partion of 268 Mb
Partion of 3.1 Gb
提前致谢
根据 sdfdtload=fatload mmc 0:1 ${fdtaddr} ${fdt_file};
fsl-ls1028a-mbls1028a.dtb
预计居住在 mmc 0:1
。它可能只是丢失或具有不同的名称 - 我最近在基于 Marvell 的 SBC 上遇到了类似的问题。另一种方法是用等效命令替换 sdfdtload=fatload mmc 0:1 ${fdtaddr} ${fdt_file};
,该命令将从您找到它的 268 MB 分区的根目录加载它,如果它不是 mmc 0:1
.
如果您必须修改当前的 u-boot 环境,您应该能够使用 saveenv
u-boot 命令使您的更改持久化。副作用应该是使与 CRC 相关的警告消息消失:发出它可能是因为当前没有有效的 u-boot 环境保存在闪存中应该存储的位置。