In-Application Programming
UG0451 User Guide Revision 7.0 29
7 In-Application Programming
In-application programming (IAP) is a two-step process:
1. The first step of the IAP is different for SmartFusion2 and IGLOO2 devices.
SmartFusion2:
The user application in the Cortex-M3 processor receives the new bitstream from any of the dedi-
cated communication ports such as USB, as shown in Figure 16, page 31. The Cortex-M3 processor
writes the new bitstream into the external SPI flash that is attached to the MSS SPI_0 port.
Note: The system controller cannot write to the external SPI flash.
IGLOO2:
The first step can be accomplished in one of these two ways for IGLOO2 devices:
• The user application programs the bitstream into the external SPI flash attached to the HPMS
SPI_0 port using an external programmer such as FTDI.
• The user logic in the FPGA fabric implemented using the soft microcontroller such as CoreABC
pushes the bitstream from the fabric I/O to the SPI_0 port, as shown in the following figure.
Figure 15 • IGLOO2 In-Application Programming Interface
Note: The system controller cannot write to the external SPI flash.
2. In this step, the new bitstream must be verified in the external SPI flash by requesting
AUTHENTICATE from the IAP system service call. The user application then initiates a
FTDI
Port B
External SPI Flash
SPI_0
HPMS
Step 1
Step 2
eNVM
System Controller
Fabric
IGLOO2
APB Bus
AHB Bus Matrix
COMM_BLK
User logic to download
bitstream to exit Flash
and/or call IAP service
FIC
Fabric I/O
ALT Step 1