Application boot code, Flash hardware image catalog – Altera Nios II Embedded Evaluation Kit Cyclone III Edition User Manual

Page 57

Advertising
background image

B–3

Development Board Version 1.0.

Altera Corporation

Nios II Embedded Evaluation Kit, Cyclone III Edition

July 2010

CFI Flash

The Application Selector software image is permanently stored in flash at
offset 0x100000

Software images for the applications being loaded get written to flash at
load time to offset 0x180000. Software images must be smaller than 4MB,
or they will overwrite the application HW images located at offset
0x580000.

Application Boot Code

All applications which are loaded by the application selector must
contain a Nios II CPU whose reset address is set to CFI flash at offset 0x0.
For this reason, a generic bit of boot code is permanently programmed at
offset 0x0 in the CFI Flash as part of the factory recovery image. This boot
code is very small and only performs the following functions

Flushes the Nios II instruction cache

Flushes the Nios II instruction pipeline

Branches to offset 0x180000

Offset 0x180000 is where the application software image is located after
being loaded by the Application Selector, so when the FPGA is
reconfigured, the Nios II CPU executes this boot code, which branches to
the boot copier of the actual application software image, which then
copies the application to program memory, then runs the application.

1

The Application Selector relies on a feature of the Cyclone III
family of FPGAs called remote update. The remote update
feature allows the Nios II CPU, to force the FPGA to reconfigure
from a specific location in a parallel flash memory, such as the
on-board CFI flash. The way the Application Selector is able to
reconfigure itself with a new hardware image is by using Nios II
to read the hardware image from the SD Card, program it to
some location in CFI flash, then force the FPGA to reconfigure
from that location using the remote update feature.

Flash Hardware Image Catalog

The CFI flash holds up to 10 of the most recently loaded application
hardware images to speed the load times of applications which are
loaded often. To keep track of which hardware images are currently

Advertising