Programming parallel Flash overview


Typically, you can program the following in Flash:

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.

Related tasks
Programming parallel Flash memory

Related reference
Program Flash Memory dialog box

Copyright © 1995-2010 Xilinx, Inc. All rights reserved.