01-23-2013 02:04 PM
I noticed on the wiki for 14.4 that the flash partitions (item 3 below) were listed as being changed to better allow for the bitstream.
I looked inside the u-boot source and commit for the changes and the first partition has not been increased in size.
zynq: Updated flash offsets in Linux autoboot
Changed flash layout to include u-boot environments.
Updated flash layout:
part1[0x000000 - 0x100000]: 1MB, fsbl+uboot+uboot_env
part2[0x100000 - 0x600000]: 5MB, kernel
part3[0x600000 - 0x620000]: 128kiB, devicetree
part4[0x620000 - 0xC00000]: 5.896MB, ramdisk
Is the bitstream still supposed to be part of the boot.bin which still only has 1MB of allocated space, or is the bitstream supposed to be put by itself in another partition? The bitstream is ~4.2MB, so the numbers above don't really leave enough room for the bitstream above the other partitions anyway.
It looks like I still need to increase partition1 to keep things working even though the release notes hint otherwise.
03-21-2013 08:32 AM
I generated the system.bit unfortunately when I want export hardware for sdk I can't check the box include bitstream I don't understand. I use the ise 14.4. Do you have ideas of the problem ?
03-21-2013 03:31 PM
As the note next to "Include bitstream" says, you need to open the implemented design first then the bitstream checkbox will be active.
05-30-2013 01:07 AM
Looking at the partition table, the bitstream will never fit anyway as it occupies ~4MB.
Basically, the thing to do here is completely ignore this and create your own partition table tailored to your needs. After all, you wouldn't really want to load a ramfs into a SPI flash, just to name one. I've never been able to produce a Zynq kernel that's over 3MB in size, let alone 5MB.
Basically, build it as you'd want to have it, change the partition table in the devicetree, and optionally change u-boot if you've moved the environment location. For example, mine looks like this (booting and running a UBI root fs from the flash)
root@zynq-zc702:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00060000 00010000 "qspi-bootloader"
mtd1: 00010000 00010000 "qspi-u-boot-env"
mtd2: 00010000 00010000 "qspi-device-tree"
mtd3: 00400000 00010000 "qspi-linux"
mtd4: 00b80000 00010000 "qspi-rootfs"
As you may notice, there's no bitstream partition. The bitstream is in the rootfs.