beautypg.com

Hardware image caching, Table b–1, Shows – Altera Nios II Embedded Evaluation Kit Cyclone III Edition User Manual

Page 58

background image

Altera Corporation

B–4

July 2010

Nios II Embedded Evaluation Kit, Cyclone III Edition

stored in flash, a flash image catalog is kept in CFI flash at offset 0x8000.
The implementation details of this catalog are described in the Hardware
Image Caching section

below.

Hardware Image
Caching

Copying data from the SD Card to flash is slow due to both the read speed
from the SD Card in SPI mode and the write speed of the CFI flash

.

However the remote update feature allows us to reconfigure the FPGA
from anywhere in flash, so we can benefit by persistently holding
(caching) a certain number of frequently used application hardware
images in flash to avoid having to copy them from the SD Card every time
the application is loaded.

The Application Selector utility can cache up to 10 application hardware
images in CFI flash. When the user chooses an application to load from
the SD Card using the Application Selector, the Application Selector first
scans through its catalog of hardware images currently stored in CFI flash
to see if any of them match the hardware image being requested. If one of
the images cached in CFI flash does match, the Application Selector
reconfigures from the offset of that cached hardware image instead of
copying the image from SD Card to flash. This significantly reduces the
load time.

Caching the hardware images requires the application selector to be able
to quickly

tell if an image in CFI flash is the same as one on the SD Card.

To determine whether a hardware image in flash matches a hardware
image on the SD Card, a 32-bit timestamp value is used as a tag. During
the file conversion process, the sof2flash utility inserts a 32-bit timestamp
in the hardware image .flash file as an S0-type record on the first line of
the file. When the Application Selector is about to load a hardware image,

Table B–1. Memory Map of CFI Flash

Flash

Size

Flash Contents

0x000000 - 0x007FFF 32K

Application Boot Code

0x008000 - 0x00FFFF 32K

HW Image Catalog

0x010000 - 0x01FFFF 64K

Unused

0x020000 - 0x0FFFFF 896K

Selector HW Image

0x100000 - 0x17FFFF 512K

Selector SW Image

0x240000-0x63FFFF 4M

Application

SW

0x640000-0xDBFFFF 7.5M

Application

HW

Images

0xD00000 - 0xFFFFFF 3M

Unused