Typically, you can program the following in Flash:
Executable and bootloadable images of applications
Hardware bitstreams for your FPGA
File system images; data files such as sample data and algorithmic tables
The first use case is most common. When the processor in your design comes out of reset, it starts executing code stored in block RAM at the processor reset location. Typically, block RAM is too small (by a few kilobytes or so) to accommodate your entire software application image. Therefore, you must store your software application image in Flash memory (typically in the order of megabytes). A small bootloader is then designed to fit in block RAM. Upon reset the bootloader reads the software application image from Flash memory, copies it over to larger and more available external memory, and then transfers control to your software application. The application then continues.
The software application you build from your project is
in Executable and Linkable Format (ELF). Storing and bootloading the ELF
image itself is not usually done because bootloading an ELF image increases the
complexity of the bootloader. Instead, the ELF image is converted to one of the
common bootloadable image formats, such as SREC (Motorola S-record). The
bootloader then becomes simple and therefore smaller.
You can program
external Common Flash Interface (CFI) compliant parallel Flash devices on your
board, connected through the external memory
controller (EMC) IP cores. The programming
solution is designed to be generic and targets a wide
variety of Flash hardware and layouts.
Refer to the "Flash Memory Programming" chapter of the Embedded System Tools Reference Manual for a list of supported Flash configurations, a discussion of customizing Flash programming, and other information about tool functionality.
Programming parallel Flash memory
Program Flash Memory dialog box
Copyright © 1995-2010 Xilinx, Inc. All rights reserved.