启动情况如下:
U-Boot 2015.04 (Oct 28 2015 - 09:23:09)
DRAM: ECC disabled 512 MiB
MMC: zynq_sdhci: 0
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: Gem.e000b000
U-BOOT for software
Gem.e000b000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Gem.e000b000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Gem.e000b000: No link.
Hit any key to stop autoboot: 0
Device: zynq_sdhci
Manufacturer ID: 1b
OEM: 534d
Name: 00000
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.9 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading image.ub
22243080 bytes read in 1856 ms (11.4 MiB/s)
## Loading kernel from FIT Image at 01000000 ...
Using 'conf@1' configuration
Verifying Hash Integrity ... OK
Trying 'kernel@1' kernel subimage
Description: PetaLinux Kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0x010000f0
Data Size: 22226754 Bytes = 21.2 MiB
Architecture: ARM
OS: Linux
Load Address: 0x00008000
Entry Point: 0x00008000
Hash algo: crc32
Hash value: 135e9555
Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 01000000 ...
Using 'conf@1' configuration
Trying 'fdt@1' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x02532918
Data Size: 15027 Bytes = 14.7 KiB
Architecture: ARM
Hash algo: crc32
Hash value: 6bbf9649
Verifying Hash Integrity ... crc32+ OK
Booting using the fdt blob at 0x2532918
Uncompressing Kernel Image ... Error: inflate() returned -5
Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover
resetting ...
DRAM: ECC disabled 512 MiB
MMC: zynq_sdhci: 0
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: Gem.e000b000
U-BOOT for software
Gem.e000b000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Gem.e000b000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Gem.e000b000: No link.
Hit any key to stop autoboot: 0
Device: zynq_sdhci
Manufacturer ID: 1b
OEM: 534d
Name: 00000
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 14.9 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading image.ub
22243080 bytes read in 1856 ms (11.4 MiB/s)
## Loading kernel from FIT Image at 01000000 ...
Using 'conf@1' configuration
Verifying Hash Integrity ... OK
Trying 'kernel@1' kernel subimage
Description: PetaLinux Kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0x010000f0
Data Size: 22226754 Bytes = 21.2 MiB
Architecture: ARM
OS: Linux
Load Address: 0x00008000
Entry Point: 0x00008000
Hash algo: crc32
Hash value: 135e9555
Verifying Hash Integrity ... crc32+ OK
## Loading fdt from FIT Image at 01000000 ...
Using 'conf@1' configuration
Trying 'fdt@1' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x02532918
Data Size: 15027 Bytes = 14.7 KiB
Architecture: ARM
Hash algo: crc32
Hash value: 6bbf9649
Verifying Hash Integrity ... crc32+ OK
Booting using the fdt blob at 0x2532918
Uncompressing Kernel Image ... Error: inflate() returned -5
Image too large: increase CONFIG_SYS_BOOTM_LEN
Must RESET board to recover
resetting ...
解决方法:
1. petalinux-config/uboot - netstart offset change from hex 0x1000000 to desired value - my image.ub ~20M, but I set it to 0x4000000.
2. In your petalinux project config files for u-boot 'platform-auto.h' change CONFIG_SYS_BOOTM_LEN from 0x1000000 to same value 0x4000000.
rebuild the whole thing.
During u-boot start stop it and verify your u-boot settings loadaddr and netstart set to 0x4000000. If not - change them and save: "set loadaddr 0x4000000",..., "saveenv" and reboot.