MSS ISP (SmartFusion2 Only)
UG0451 User Guide Revision 7.0 24
6 MSS ISP (SmartFusion2 Only)
In this mode, programming is performed under the control of the Cortex-M3 firmware that fetches the
programming bitstream directly from one of the communication ports (such as, USB, MMUART, SPI, and
I
2
C) and feeds to the system controller through the COMM_BLK.
The fabric is not operational during programming or verification operations. Downloading the
programming bitstream and programming the fabric and/or the eNVM with that bitstream are done in a
single step. SmartFusion2 devices must be preprogrammed with the user firmware that calls the ISP
service of the system controller to execute programming.
6.1 Design Implementation
MSS ISP service enables programming SmartFusion2 devices directly in a single step via any of the
dedicated communication ports. As shown in the following figure, the programming bitstream is received
from the remote PC through a USB connection. During programming, the fabric enters into F*F mode.
During ISP, the communication I/O port used to fetch the bitstream must be enabled. This option can be
set in the I/O Attributes menu in the Libero SoC software (see Use of Flash Freeze Mechanism in Device
Programming, page 45). The MSS must continue to operate for the entire duration of the programming
operation. The programming recovery features can be implemented to provide a recovery mechanism in
case a power failure occurs during programming. For more information, see Programming Recovery,
page 37.
The MSS ISP service call has three modes:
• Authentication
• Programming
• Verification
For more information, see In-Application Programming, page 29.
The target board must provide power to the VPP, VPPNVM, VDD, and VDDIOx (where x =
communication port bank number) pins.
For the recommended voltage ranges and pin locations, see the SmartFusion2 and IGLOO2 Datasheet
and the corresponding package pin assignment table.
For information about the I/O states during MSS ISP programming, see State of SmartFusion2 and
IGLOO2 Components During Programming, page 42.