
Table 44.
Application Image Section Pointers
Offset
Size (in bytes)
Description
0x1F00
4
Number of sections
…
0x1F08
8
Address of 1st section
0x1F10
8
Address of 2nd section
0x1F18
8
Address of 3rd section
0x1F20
8
Address of 4th section
…
0x1FFC
4
CRC32 of 0x1000 to 0x1FFB
The section pointers must match the actual location of the FPGA image in flash. Two options are available to meet this
requirement:
•
You can generate the application image to match the actual location in quad SPI flash memory. Because different systems
may have a different sets of updates this option may not be practical.
•
You can generate the application image as if it is located at address zero, then update the pointers to match the actual
location.
Here is the procedure to update the pointers from a application image created for
INITIAL_ADDRESS
to
NEW_ADDRESS
:
1. Create the application image, targeting the
INITIAL_ADDRESS
.
2. Read the 32-bit value from offset 0xF100 of the application image to determine the number of sections.
3. For
<s>= 1 to number_of_sections
:
a.
section_pointer
= read the 64-bit section pointer from (s * 8)
b. Subtract
INITIAL_ADDRESS
from
section_pointer
c. Add
NEW_ADDRESS
to
section_pointer
d. Store updated
section_pointer
4. Recompute the CRC32 for addresses 0x1000 to 0x1FFB. Store the new value at offset 0x1FFC. The CRC32 value must be
computed on a copy of the data using the following procedure:
4. Remote System Update (RSU)
UG-20205 | 2019.10.09
Intel
®
Agilex
™
Configuration User Guide
150