We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎09-14-2016

Bad fit image - Picozed Board

Hello :-)


I have built all the Picozed needs from YOCTO:

- kernel

- ramdisk

- dtb


Load all files through JTAG:

XMD%uImage 0x23200000
XMD%core-image-minimal-picozed-zynq7.cpio.gz.u-boot 0x20000000
XMD%picozed-zynq7.dtb 0x26400000


u-boot> bootm 0x23200000 0x20000000 0x26400000


And the board boot normally :)


I am now trying to switch to using a custom FIT image to add my bistream inside. Someone has successfully build a FIT image from Yocto outputs ? because I can't load mine in RAM without trouble.


The attached file contains its file for mkimage input.


I can read the idb file after loading it in the RAM with iminfo command but the board doesn't want to boot :


Zynq> fatload mmc 0 3000000 fit-test.itb && bootm 3000000
reading fit-test.itb
10837640 bytes read in 982 ms (10.5 MiB/s)
## Loading kernel from FIT Image at 3000000 ...
   Using 'config@1' configuration
   Trying 'linux_kernel@1' kernel subimage
     Description:  Linux Image
     Type:         Kernel Image
     Compression:  uncompressed
     Data Start:   0x180000d4
     Data Size:    3704016 Bytes = 3.5 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: 0x00008000
     Entry Point:  0x00008000
     Hash algo:    crc32
     Hash value:   73c0d810
   Verifying Hash Integrity ... crc32+ OK
## Loading ramdisk from FIT Image at 3000000...
   Using 'config@1' configuration
   Trying 'ramdisk@1' ramdisk subimage
     Description:  Yocto Ramdisk
     Type:         RAMDisk Image
     Compression:  gzip compressed
     Data Start:   0x18388680
     Data Size:    7110279 Bytes = 6.8 MiB
     Architecture: ARM
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha1
     Hash value:   99b2c2c528525c3283f8cdc27541a70637bcc599
   Verifying Hash Integrity ... sha1+ OK
## Loading fdt from FIT Image at 3000000...
   Using 'config@1' configuration
   Trying 'fdt@1' fdt subimage
     Description:  Device tree blob 1
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x18a505d4
     Data Size:    21900 Bytes = 21.4 KiB
     Architecture: ARM
     Hash algo:    sha1
     Hash value:   5bda316c6c4873eedf8392fa83fcdd421a05114b
   Verifying Hash Integrity ... sha1+ OK
   Booting using the fdt blob at 0x18a505d4
   Loading Kernel Image ... OK
   Loading Ramdisk to 1f938000, end 1ffffe87 ... OK
   Loading Device Tree to 1f92f000, end 1f93758b ... OK

Starting kernel ...

undefined instruction
pc : [<00008028>]          lr : [<3ff39ef4>]
reloc pc : [<c40ce028>]    lr : [<03fffef4>]
sp : 3f319ca8  ip : 0000000c     fp : 3ff3a8c8
r10: 3f31aa4c  r9 : 3f319ef0     r8 : 00000000
r7 : 00000000  r6 : 00008000     r5 : 00000000  r4 : 3ff9bad8
r3 : dfa9bad8  r2 : 1f92f000     r1 : 00000000  r0 : 00000000
Flags: nZCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...


Note: I think it's problably about a bad address because there is no trouble with petalinux image.ub


Please let me know if you have a question or suggestion about that ? :)





Tags (2)
0 Kudos
1 Reply
Registered: ‎09-14-2016

Re: Bad fit image - Picozed Board

Hello :)


Ok now I can load kernel, ramdisk and dtb successfully from RAM !! For information my mistake was to use load_address entry point and not Data_start. So according to the previous post it's possible to boot from RAM with the following command:


#bootm <kernel-loadaddr> <ramdisk-loadaddr> <devicetree-loadaddr>

Zynq > bootm 0x180000d4 0x18388680 0x18a505d4


But I would like to make an automatic boot, someone know how to load "Data start" address from FIT image ?


Thank you for having read my post,


Tags (2)
0 Kudos