Platform Studio

Overview of Flash Memory Programming in XPS


About Flash Memory Programming

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 (BRAM) at the processor reset location. Typically, BRAM is too small (by a few kilobytes or so) to accommodate your entire software application image. You can therefore store your software application image in flash memory (typically in the order of megabytes). A small bootloader is then designed to fit in BRAM and, upon reset, start reading the software application image from flash memory, copy it over to larger and more available external memory, and then transfer control to your software application, which then continues.

The software application you build from your project is in Executable Linked Format (ELF) format. 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.

The Program Flash Memory Dialog Box

Xilinx® Platform Studio (XPS) provides a Program Flash Memory dialog box, which allows you to program external Common Flash Interface (CFI) compliant parallel flash devices on your board, connected through the opb_emc or plb_emc external memory controller IP cores. The programming solution is designed to be generic and targets a wide variety of flash hardware and layouts.

To access the flash memory options in XPS, click Device Configuration > Program Flash Memory.

The programming is achieved through the debugger connection to a processor in your design. XPS downloads and executes a small in-system flash programming stub on the target processor. A host Tcl script drives the in-system flash programming stub with commands and data and completes the flash programming. The dialog box does not process or interpret the image file to be programmed and routinely programs the file as-is onto flash memory. Your software and hardware application setup must infer the contents of the file being programmed as desired.


See Also

The chapter "Flash Memory Programming" in the Embedded System Tools Reference Manual for a list of supported flash configurations, for a discussion of customizing flash programming, and for other information about tool functionality.

Running an Application from External Memory

Programming Flash Memory


Send any feedback on this topic to isedocs@xilinx.com.
To forward a link to this topic, click here.
Copyright © 1995-2006 Xilinx, Inc. All rights reserved.