I am facing some problems with booting from
My infrastructure is like this:
ISE 10.1 with serviece pack 3.
Platform Cable USB II
I have followed the instruction explained in
xapp1106 and “Using the Intel Parallel NOR Flash on the Spartan-3A
Platform” by AVNET and realized booting a simple application from BPI flash. I
use the flash to configure the FPGA with a bootloader that bootloads the
application code to the DDR2 and begins executing.
However, my current design has to use the
BRAM which is also needed by the bootloader code, so I could not use the
solution above directly. How can I solve it?
I once had an idea to solve the problem by
using double BRAM. One BRAM is used for bootloader code, the other one for my
design. When doing this, I found that I had to know the address of all the
sections in the flash because the “memcpy” function used in bootloader code
needs the address to copy some sections from flash to BRAM and others from
flash to DDR2. But how can I know the address of every section stored in flash?