SmartFusion2 SoC FPGA In-System Programming Using UART Interface - Libero SoC v11.4 Demo Guide

SmartFusion2 SoC FPGA In-System
Programming Using UART Interface Libero SoC v11.4
Su
pe
rs
ed
ed
Demo Guide
August 2014
SmartFusion2 SoC FPGA In-System Programming Using UART Interface - Libero SoC v11.4
Revision History
Date
Revision
Change
August 18, 2014
4
Fifth release
May 3, 2014
3
Fourth release
16 December 2013
2
Third release
02 December 2013
1
Second release
27 August 2013
0
First release
Confidentiality Status
Su
pe
rs
ed
ed
This document is a non-confidential.
2
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 - Demo Guide
Table of Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
About this document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Microsemi Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
In-System Programming Using UART Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ed
ed
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Requirements and Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Demo Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Demo Design Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Demo Design Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Setting Up the Demo Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Alternate Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Board Setup Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Running the Demo Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Example command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Resetting the board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
rs
Authenticate Operation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Verify Operation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Program Operation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Checking if the fabric is programmed successfully . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Checking if the eNVM is programmed successfully . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Programming Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
pe
Appendix 1: Connecting the SmartFusion2 Device to the Host PC Through the USB to UART (FTDI) Interface . 20
Appendix 2: Board Setup when Using the USB-RS232 Serial Adapter or RS232 Cable . . . . . . . . . . . . . . . . . . . 21
Appendix 3: Board setup through the USB to UART (FTDI) interface using the USB A to Mini - B Cable . . . . . . 22
Appendix 4: Jumper Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Appendix 5: Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Appendix 6: Generating .spi Programming File using Libero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Appendix 7: Hardware Project Implementation Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Su
Configuring the I/Os for Flash*Freeze Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Standby Clock Source Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Softconsole Project Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
A List of Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
B Product Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Customer Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Customer Technical Support Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contacting the Customer Technical Support Center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
33
33
33
33
Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
My Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Outside the U.S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
ITAR Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Revision 4
3
Preface
About this document
This demo is for SmartFusion®2 system-on-chip (SoC) field programmable gate array (FPGA) devices. It
provides instructions on how to use the corresponding reference design.
Intended Audience
•
FPGA designers
•
Embedded designers
•
System-level designers
References
ed
ed
The following designers using the SmartFusion2 devices:
Microsemi Publications
SmartFusion2 Programming User Guide
•
SmartFusion2 System Controller User Guide
•
SmartFusion2 Microcontroller Subsystem User Guide
•
SmartFusion2 SoC FPGA Remapping eNVM, eSRAM, and DDR/SDR SDRAM Memories
Application Notes
•
Configuring Serial Terminal Emulation Programs Tutorial
rs
•
Su
pe
See the following web page for a complete and up-to-date listing of SmartFusion2 device documentation:
http://www.microsemi.com/products/fpga-soc/soc-fpga/smartfusion2#documents.
Revision 4
4
In-System Programming Using UART Interface
Introduction
In-system programming (ISP) can be used to reprogram for design iterations and field upgrades.
SmartFusion2 devices support ISP using the universal asynchronous receiver/transmitter (UART)
interface. This document describes how to program the following using ISP through the UART interface:
embedded Nonvolatile Memory (eNVM)
•
FPGA Fabric
•
Both the eNVM and the FPGA Fabric
ed
ed
•
For information on different programming modes supported by SmartFusion2 SoC FPGAs, see the
SmartFusion2 Programming User Guide. For information on system controller programming services,
see the SmartFusion2 System Controller User Guide.
Requirements and Details
Table 1 • Reference Design Requirements and Details
Reference Design Requirements and Details
Hardware Requirements
Rev D or later
12 V adapter
•
FlashPro4 programmer
•
USB A to Mini-B cable
rs
SmartFusion2 Development Kit
•
Description
-
Host PC or Laptop
Windows 64-bit Operating System
pe
USB-RS232 Serial adapter or RS232 cable
Software Requirements
v11.4
FlashPro Programming Software
v11.4
Host PC Drivers
USB to UART drivers
Su
Libero® System-on-Chip (SoC) for viewing the design
files
Demo Design
Introduction
The demo design files are available for download from the following path in the Microsemi® website:
http://soc.microsemi.com/download/rsc/?f=sf2_isp_using_uart_interface_demo_11p4_df. The demo
design files include:
•
Libero SoC software project
•
STAPL programming files
•
UART Host PC Loader application (M2S_UARTHost_Loader.exe)
•
Sample programming files
Revision 4
5
In-System Programming Using UART Interface
Figure 1 shows the top-level structure of the design files. For further details, see the readme.txt file.
GRZQORDGBIROGHU!
VIBLVSBXVLQJBXDUWBLQWHUIDFHBGHPRBGI
KRVWBWRROBDQGBVDPSOHV
OLEHUR
VWDSOBSURJUDPPLQJBILOH
Figure 1 •
ed
ed
UHDGPHW[W
Demo design files top level structure
Figure 2 describes the demo. The SmartFusion2 device application configures the MMUART_1
peripheral for serial communication and initializes the system controller to run the ISP service. The UART
Host PC Loader initiates the communication with the SmartFusion2 device through the UART interface
and sends the data bitstreams to the ARM® Cortex™-M3 processor. Refer to the "Appendix 7: Hardware
Project Implementation Settings" section.
6\VWHP
&RQWUROOHU
066
&200B
%/.
&200B
%/.
rs
The Cortex-M3 processor sends the received blocks of data to the system controller ISP service. The
system controller ISP service executes the ISP operation in the requested mode and reports the status to
the Cortex-M3 processor. See "Demo Design Description" on page 7 for information on modes of
operation.
&RUWH[0
&DFKH
&RQWUROOHU
008$57B
H190B
H190B
$3%B
pe
$3%B
6,,
0DVWHU
$+%6,,
0DVWHU
$+%%XV0DWUL[
8-7$*
Su
86,
)3*$)DEULF
Figure 2 •
+RVW3&
'DWD7UDQVIHUXVLQJ
8$57IURP+RVW
3&
3URJUDPPLQJH190DQGRU
)DEULFXVLQJ6\VWHP
&RQWUROOHU,636HUYLFH
6PDUW)XVLRQ
Top-Level demo diagram
There are two ways to connect the Host PC to the SmartFusion2 device:
•
Using the USB-RS232 Serial adapter or the RS232 cable.
•
Using the USB to UART (FTDI) interface.
–
–
6
See "Running the Demo Design" section on page 12.
See "Appendix 1: Connecting the SmartFusion2 Device to the Host PC Through the USB to
UART (FTDI) Interface" on page 20.
R e vi s i o n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
Demo Design Features
The demo design performs three types of programming based on the input provided by the programming
file.
•
eNVM programming: The ISP programming service programs only eNVM. In this case, the input
programming file has only eNVM content.
•
FPGA Fabric programming: The ISP programming service programs only the FPGA Fabric. In
this case, the input programming file has only the FPGA Fabric content.
•
eNVM and FPGA Fabric programming: The ISP programming service programs both the FPGA
Fabric and eNVM. In this case, the input programming file has both the FPGA Fabric and eNVM
content.
ed
ed
Demo Design Description
The ISP in SmartFusion2 devices is performed by the Cortex-M3 processor and the system controller.
The system controller manages the SmartFusion2 device programming and handles the system service
requests. The SmartFusion2 device allows the Cortex-M3 processor to directly provide a bitstream to the
system controller for programming. The Cortex-M3 processor initializes the system controller and
receives the programming bitstream from the Host PC through the UART interface. The received
bitstream is sent to the system controller to execute the ISP service in one of the following modes of
operation:
Authenticate: System controller ISP service validates the integrity of the input data bitstream and
reports the status information to the Cortex-M3 processor.
–
Program: System controller ISP service programs the following depending on the input data
bitstream:
–
eNVM
–
FPGA Fabric
–
Both the eNVM and the FPGA Fabric
pe
•
For security and reliability reasons, Microsemi recommends that the bitstream is
authenticated before the program is executed, using the Authenticate operation mode. The
SmartFusion2 device application must commit only the bitstream for programming, after
successful authentication and the integrity of the bitstream is validated.
rs
•
•
Verify: System controller ISP service verifies the contents of the SmartFusion2 device against the
input data bitstream and reports the status information to the Cortex-M3 processor.
The system controller ISP service utilizes the COMM_BLK interface to receive the entire programming
data bitstream as a continuous stream of bytes. Refer to the SmartFusion2 Microcontroller Subsystem
User Guide for more information on communication block (COMM_BLK).
Su
The Cortex-M3 processor in the SmartFusion2 device can execute an application image from embedded
SRAM (eSRAM), eNVM or DDR/SDR memories. Refer to the SmartFusion2 SoC FPGA Remapping
eNVM, eSRAM, and DDR/SDR SDRAM Memories Application Notes for more information on remapping
techniques. In this demo design, the Cortex-M3 processor executes the ISP application image from
eSRAM while the eNVM programming taking place, that is during Program operation mode. In order to
execute the application image from eSRAM, the Cortex-M3 processor copies the ISP application image
(resides in eNVM data client) to the eSRAM and remaps the eSRAM to the Cortex-M3 processor code
region. For Verify and Authenticate operation modes, the application image can be executed from either
eNVM or eSRAM since the eNVM programming is not taking place. Refer to the "Appendix 7: Hardware
Project Implementation Settings" section.
UART Host PC Loader
UART Host PC Loader (M2S_UARTHost_Loader.exe) is an executable program that transfers the
programming files (*.spi) from the Host PC to the SmartFusion2 Development Kit board.The
M2S_UARTHost_Loader.exe file is executed from the command prompt. It is located at:
<download_folder>\sf2_isp_using_uart_interface_demo_df\host_tool_and_samples.
The syntax is:
M2S_UARTHost_Loader.exe <*.spi> <COM Port number> <Operation Mode>
Revision 4
7
In-System Programming Using UART Interface
Arguments:
•
*.spi programming file.
•
COM Port number.
•
Operation Mode. See Table 2.
For more information, see "Running the Demo Design" on page 12.
Table 2 shows the ISP operation modes and the values that are supplied in the command for the modes.
Table 2 • ISP Operation Modes
Value
Authenticate
0
Program
1
Verify
2
Programming Files
ed
ed
Mode
Sample programming files with the file extension .spi are provided to program:
•
eNVM
•
FPGA Fabric
•
Both the eNVM and the FPGA Fabric
The folder <download_folder>\sf2_isp_using_uart_interface_demo_df\host_tool_and_samples contains
the following sample programming files.
isp_envm_only.spi: Programs only eNVM. The eNVM client has a simple message display
program.
•
isp_fabric_only.spi: Programs only the FPGA Fabric. The FPGA Fabric has a light-emitting
diode (LED) blinking logic.
•
isp_fabric_and_envm.spi: Programs both the FPGA Fabric and eNVM. The eNVM client
has a message display program and the FPGA Fabric has an LED blinking logic. The folder
<download_folder>\sf2_isp_using_uart_interface_demo_df\host_tool_and_samples\fabric_and_
envm contains the Libero design to generate this sample programming file.
•
isp_demo.spi: This is the .spi file format version of isp_demo.stp file provided in
<download_folder>\sf2_isp_using_uart_interface_demo_df\stapl_programming_file.
pe
rs
•
Note: For more information on generating .spi programming files, refer to the "Appendix 6: Generating
.spi Programming File using Libero" section on page 25.
ISP Execution Flow
Su
Figure 3 on page 9 describes the ISP flow. The UART Host PC Loader starts the communication with the
SmartFusion2 device through the UART interface. On connecting with the SmartFusion2 device, the
UART Host PC Loader sends the programming file size and the ISP operation mode to the target
SmartFusion2 device. The SmartFusion2 device initializes the system controller and starts the ISP
service in the chosen operation mode.
On receiving the data request from the SmartFusion2 device, the UART Host PC Loader starts
transferring the input source programming file in blocks of 4 Kb data with cyclic redundancy check
(CRC). The SmartFusion2 device:
•
Stores the received 4 Kb data in a temporary buffer.
•
Checks the CRC.
•
Inputs the same data to the ISP service.
•
Sends acknowledgment to the UART Host PC Loader for the 4 Kb data that was received and
requests to send the next block of 4 Kb data.
This operation repeats until the UART Host PC Loader transfers the entire file. The UART Host PC
Loader is notified with a status code when the ISP service completes the authentication or the verification
process. When the operation mode is Program, an internal device reset is generated for the new design
to take effect.
8
R e vi s i o n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
Figure 3 shows the ISP execution flow.
6WDUW
8$57+RVW3&
/RDGHU
6WDUW
6PDUW)XVLRQ'HYLFH
$SSOLFDWLRQ
,QLWLDOL]HWKHFRPPXQLFDWLRQZLWK
6PDUW)XVLRQ'HYLFH
*HWWKH,63RSHUDWLRQ
PRGH
ed
ed
6HQGWKH,63RSHUDWLRQPRGHDV
$XWKHQWLFDWH3URJUDPRU9HULI\
DQGWUDQVIHUWKHVSLSURJUDPPLQJ
ILOHWR6PDUWIXVLRQ'HYLFHWKURXJK
WKH8$57LQWHUIDFH
,QLWLDOL]HWKH8$57
,QLWLDOL]HWKHV\VWHPFRQWUROOHU
$XWKHQWLFDWH
3URJUDP
:KLFK,63
RSHUDWLRQPRGH"
9HULI\
6WDUWWKH,63VHUYLFHZLWK
9HULI\PRGH
5HDGELWVWUHDPIURPWKH
KRVW3&DQGVHQGDV
LQSXWWRWKH,63VHUYLFH
rs
6WDUWWKH,63VHUYLFHZLWK
$XWKHQWLFDWHPRGH
6WDUWWKH,63VHUYLFHZLWK
3URJUDPPRGH
pe
5HDGELWVWUHDPIURPWKH
KRVW3&DQGVHQGDV
LQSXWWRWKH,63VHUYLFH
Su
1R
Figure 3 •
VSLILOH
WUDQVIHUUHG
FRPSOHWHO\"
<HV
1R
6WDUW
1HZ'HVLJQ
$SSOLFDWLRQ
5HSRUWWKHFRPSOHWLRQRIWKH
RSHUDWLRQZLWKVWDWXVFRGHWR
+RVW3&
1HZGHVLJQ
H[HFXWLRQ
6WRS
6WRS
VSLILOH
WUDQVIHUUHG
FRPSOHWHO\"
<HV
,QWHUQDOGHYLFHUHVHWIRU
QHZGHVLJQWRWDNH
HIIHFW
ISP Execution Flow
Revision 4
9
In-System Programming Using UART Interface
Setting Up the Demo Design
1. Connect the FlashPro4 programmer to the J59 connector of the SmartFusion2 Development Kit
board.
pe
rs
ed
ed
2. Connect the Host PC to the DB9-RS232 connector of the SmartFusion2 Development Kit board
using the USB-RS232 serial adapter cable or the RS232 cable.
When using USB-RS232 serial adapter cable, make sure that the USB-RS232 serial adapter
drivers are automatically detected. Figure 4 shows an example Device Manager window that has
the USB-to-Serial Comm Port listed under Ports (Comm & LPT). COM port number is required
to run the demo design, so make a note of it.
Figure 4 •
Device Manager window showing the USB-to-Serial Communication Port
Su
3. Connect the jumpers on the SmartFusion2 Development Kit board, as described in Table 3 on
page 11. For information on jumper locations, see "Appendix 4: Jumper Locations" section on
page 23.
–
10
Caution: Before making the jumper connections, switch off the power supply switch, SW7.
R e visio n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
Table 3 • SmartFusion2 Development Kit Jumper Settings
Settings
Notes
J70, J93, J94, J117, J123, J142,
J157, J160, J167, J225, J226, J227
1-2 closed
J2
1-3 closed
These are the default jumper settings of the
Development Kit board. Make sure these jumpers are
set accordingly.
J23
2-3 closed
J188, 197
1-2 closed
•
Jumper settings when using MMUART_1.
These are not set by default and must be set
manually.
•
Change these jumper settings if the USB to
UART (FTDI) interface is used. See
"Appendix 1: Connecting the SmartFusion2
Device to the Host PC Through the USB to
UART (FTDI) Interface" on page 20
ed
ed
Jumper Number
4. Connect the power supply to the J18 DC jack.
Alternate Setup
rs
This demo can also be run using the USB to UART (FTDI) interface without using the USB-RS232 serial
adapter or the RS232 cable. See "Appendix 1: Connecting the SmartFusion2 Device to the Host PC
Through the USB to UART (FTDI) Interface" section on page 20 for information on how to connect the
Host PC to the SmartFusion2 Development Kit board for serial communication through the FTDI USB
interface using the USB A to Mini - B cable.
Board Setup Snapshot
Snapshots of the SmartFusion2 Development Kit board with all the setup made in both types of
connections are given in the following appendices:
"Appendix 2: Board Setup when Using the USB-RS232 Serial Adapter or RS232 Cable" on
page 21
•
"Appendix 3: Board setup through the USB to UART (FTDI) interface using the USB A to Mini - B
Cable" on page 22
Su
pe
•
Revision 4
11
In-System Programming Using UART Interface
Running the Demo Design
1. Download the demo design from:
http://soc.microsemi.com/download/rsc/?f=sf2_isp_using_uart_interface_demo_11p4_df.
2. Switch ON the SW7 power supply switch.
3. Launch the FlashPro software.
4. Click New Project.
Figure 5 •
pe
rs
ed
ed
5. In the New Project window, type the project name.
FlashPro New Project
Su
6. Click Browse and navigate to the location where you want to save the project.
7. Select Single device as the Programming mode.
8. Click OK to save the project.
9. Click Configure Device.
12
R e visio n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
pe
FlashPro project configured
Su
Figure 6 •
rs
ed
ed
10. Click Browse and navigate to the location where the isp_demo.stp file is located and select the
file. The default location is:
<download_folder>\sf2_isp_using_uart_interface_demo_df\stapl_programming_file. The required
programming file is selected and is ready to be programmed in the device.
Revision 4
13
In-System Programming Using UART Interface
11. Click PROGRAM to start programming the device. Wait until you get a message indicating that
the program passed. ISP requires the SmartFusion2 device to be preprogrammed with the
application code to activate the ISP service. So, the SmartFusion2 device is preprogrammed with
the isp_demo.stp using FlashPro software.
LEDs 5 to 8 blinking in the board indicates that the SmartFusion2 Device fabric is
preprogrammed successfully.
Figure 7 •
pe
rs
ed
ed
–
FlashPro program passed
12. Open the Command Prompt in the Host PC.
Su
13. Navigate to the directory, where the UART Host PC Loader (M2S_UARTHost_Loader.exe) is
located. The default location is:
<download_folder>\sf2_isp_using_uart_interface_demo_df\host_tool_and_samples.
14. Execute the M2S_UARTHost_Loader.exe file and launch the UART Host PC Loader to
program the:
–
FPGA Fabric
–
eNVM
–
FPGA Fabric and eNVM
Example command
Example command for programming
isp_fabric_and_envm.spi file:
both
the
FPGA
Fabric
M2S_UARTHost_Loader.exe isp_fabric_and_envm.spi 24 1
Where, 24 is the Com port number and 1 is the Operation Mode: Program
14
R e visio n 4
and
eNVM
using
the
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
Figure 8 shows the UART Host PC Loader example command.
UART Host PC Loader example command
Resetting the board
ed
ed
Figure 8 •
If the UART Host PC Loader is not connected to the SmartFusion2 Development Kit board, press the
switch, SW9 to reset the board.
UART Host PC Loader reset
pe
Figure 9 •
rs
Figure 9 shows an example message that instructs to reset the board.
Authenticate Operation Mode
To authenticate the data from isp_fabric_and_envm.spi, type:
M2S_UARTHost_Loader.exe isp_fabric_and_envm.spi 24 0
Su
Where, 24 is the Com port number and 0 is the Operation Mode: Authenticate.
Revision 4
15
In-System Programming Using UART Interface
Figure 10 • ISP Authentication Status
ed
ed
On completion of the ISP authentication, the command prompt displays an operation success message.
Figure 10 shows the operation success message.
Press the switch, SW9 to reset the SmartFusion2 Development Kit and try other ISP operation modes.
rs
Verify Operation Mode
To verify the device FPGA fabric and eNVM contents, type the command:
M2S_UARTHost_Loader.exe isp_demo.spi 24 2
pe
Where, 24 is the Com port number and 2 is the Operation Mode: Verify.
Su
Figure 11 shows a successful verification message.
Figure 11 • ISP Verification Status
16
R e visio n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
The verification operation demonstrated is for the isp_demo.stp file that is already running in the
SmartFusion2 device. If any other .spi file is verified while the isp_demo.stp file is still running, that
verification operation fails.
If the verification fails, the command prompt displays an error message with an error code. Figure 12
shows an example error message. For more information on error codes, see "Appendix 5: Error Codes"
on page 24.
The programming files are at:
<download_folder>\sf2_isp_using_uart_interface_demo_df\host_tool_and_samples.
All of them do not pass the verification. Only the isp_demo.spi file passes the verification operation
as it matches with the SmartFusion2 device contents (isp_demo.stp). The other programming files fail
verification.
pe
rs
ed
ed
Press SW9 to reset the SmartFusion2 Development Kit to try other ISP operation modes from CMD
prompt window.
Figure 12 • ISP verification failure error message
Program Operation Mode
the
eNVM
of
the
SmartFusion2
device
using
the
Su
To program the FPGA Fabric and
isp_fabric_and_envm.spi file, type:
M2S_UARTHost_Loader.exe isp_fabric_and_envm.spi 24 1
Where, 24 is the Com port number and 1 is the Operation Mode: Program.
Revision 4
17
In-System Programming Using UART Interface
Figure 13 • ISP Program Status
ed
ed
It takes a few minutes for the ISP service to complete and the FPGA Fabric and eNVM are programmed.
Figure 13 shows a successful ISP programming result.
Press SW9 to reset the SmartFusion2 Development Kit or Power Cycle the SmartFusion2 Development
Kit.
rs
Checking if the fabric is programmed successfully
LEDs 1 to 4 blinking in the board indicates that the fabric is programmed successfully.
Checking if the eNVM is programmed successfully
pe
To check if the eNVM is programmed successfully, start any serial terminal emulation program such as:
•
HyperTerminal
•
PuTTY
•
Tera Term
The configuration for the program is:
Baud Rate: 57600
•
8 Data bits
•
1 Stop bit
•
No Parity
•
No Flow Control
Su
•
For information on configuring the serial terminal emulation programs, see the Configuring Serial
Terminal Emulation Programs Tutorial.
18
R e visio n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
rs
ed
ed
If the eNVM is programmed successfully, the serial terminal emulation program displays an operation
success message. Figure 14 shows an operation success message for eNVM programming in the
PuTTY window.
Figure 14 • ISP Program Successful
Programming Results
pe
The result shown in Figure 14 is for the isp_fabric_and_envm.spi file. Table 4 shows the possible
results for ISP Program operation mode for sample programming files provided in folder
<download_folder>\sf2_isp_using_uart_interface_demo_df\host_tool_and_samples. Not all .spi files
listed in the table are demonstrated.
Table 4 • ISP programming results
*.spi Programming File Name
eNVM Programming Result
FPGA Fabric Programming Result
The serial terminal emulation program NA
shows successful eNVM program
message
isp_fabric_only.spi
NA
isp_fabric_and_envm.spi
The serial terminal emulation program SmartFusion2 LEDs 1 to 4 blinks
shows successful eNVM program
message
Su
isp_envm_only.spi
SmartFusion2 LEDs 1 to 4 blinks
Note: After successful ISP Program operation, the Development Kit must be reprogrammed with the
original isp_demo.stp file to try the ISP operation modes again.
Revision 4
19
In-System Programming Using UART Interface
Appendix 1: Connecting the SmartFusion2 Device to the Host
PC Through the USB to UART (FTDI) Interface
The following procedure describes how to connect the SmartFusion2 device to the Host PC through the
USB to UART (FTDI) interface using a USB A to Mini - B Cable for serial communication:
1. Connect the host PC to the J24 connector using the USB A to Mini-B cable.
Su
pe
rs
ed
ed
2. Make sure that the USB to UART bridge drivers are automatically detected. Of the four COM
ports, select the one with Location as on USD Serial Converter D. Figure 15 shows an example
Device Manager window that has the USB Serial Port and its properties showing the port
number and location. COM port number is required to run the demo design, so make a note of it.
Figure 15 • Device Manager window showing the USB Serial Port
3. Connect the jumpers as follows:
20
–
Pin 2 of J197 to pin 3 of J129
–
Pin 2 of J188 to pin 3 of J133
–
Figure 17 on page 22 shows these pin connections.
–
See Figure 18 on page 23 for location of the jumpers. These connections are required for
connecting the MMUART_1 TXD and RXD signals to the FTDI USB to UART bridge available
in SmartFusion2 Development Kit board.
R e visio n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
Appendix 2: Board Setup when Using the USB-RS232 Serial
Adapter or RS232 Cable
3RZHUVXSSO\
VZLWFK6:
ed
ed
'&-DFN
WRFRQQHFW
9DGDSWHU
)ODVK3UR
&RQQHFWRU
pe
86%56
VHULDODGDSWHU '%56
FRQQHFWRU
rs
6:WRUHVHW
/('WR/('
-XPSHUVIRU008$57B
Su
Figure 16 • Board setup when using the USB-RS232 Serial adapter or RS232 cable
Revision 4
21
In-System Programming Using UART Interface
Appendix 3: Board setup through the USB to UART (FTDI)
interface using the USB A to Mini - B Cable
ed
ed
3RZHUVXSSO\
VZLWFK6:
'&-DFN
WRFRQQHFW
9DGDSWHU
3LQRI-WR3LQRI-
3LQRI-WR3LQRI-
pe
)ODVK3UR
&RQQHFWRU
rs
86%0LQL%&RQQHFWRU
6:WRUHVHW
/('WR/('
Su
Figure 17 • Board setup when using the USB to UART (FTDI) interface using the USB A to Mini - B Cable
22
R e visio n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
J230
POE CONN
J6
J10
R26
C7
R27
R25
CONN1
C6
J11
TP10
R24
R23
R21
R22
D6
D5
R36
R56
DS11 PGOOD
R52
R35
OFF
C42
6
AT FLAG
DS10
R55
C44
SC1
U15 R104
L5
C58
SC2
T2
Q18
L10
RXN0
TXP2
TXN2
Q25
Q26
Q27
TXP1
TXN1
RXN1
RXP1
TXP3
TXN3
RXP3
RXN3
C119
C120
C121
RXP0
J171
C134
J150
J148
J149
J169
J170
R219
J156
J166
J186 J182
RXN2
RXP2
D14
J192
J191
J190
J189
TS_MDIO
TS_MDC
R244
TP25
J229
1
DDR3_1P5V
TP21 R354
R355
D18
R365 C204
R366
D20
TP20
J208
J207
U61
D17
C200 C202
DVDD12
R375
D15
R350
TP24
C198
D16
R339
R346
TP12
U59
R338
C186
R353
J220
J219
1
GND
R325
U60
R356 C189
R326
C191
2P5V_LDO
J206
J205
R312
C61
R130
U20
DS22
DS25
TXN0
GND
LED8
LED5
R372 R362
R381
R380
R383
R379
Q24
R382
R378
Q23
C68
SC3
SC4
R123
J44
C71
R131
1P0V_PHY
GND
TXP0
SERDES1
REFCLK0_N
LED7
R374 R364
LED6
R373 R363
LED4
R371 R361
LED3
R370 R360
LED2
R369 R359
LED1
R368 R358
Q22
3
1
ON
R102
R103
R100
R111
R112
R150
R151
R152
R157R153
R154
C78
C79
R158R155
J80
1
J103
J112
1
J116
1
J132
C105
R243
R242
1 R247
J185
R238
R239
R240
R241
C152
C153
R189
U37
GND
J168
U45 R220
R221
1
R278
R279
C84
R170
J147
J151
C128
C129
C130
C131
J160
RS6 1
1
R670
R230
J177
TP14
J228
Q21
D11
C32
C33
R50
R80
R113
R81
R114
DS16 P1LED3
J31
DS17 P1LED2 R82
DS18 P1LED1
DS19 P1LED0 R83 DS12 P0LED3
DS13 P0LED2
DS14 P0LED1
DS15 P0LED0
4
HPOUTCLK5
R32
R46
J67
R185
C94
C95
R178
R179
R184
R182
R183
1
789
123
A
B
C
D
E
F
G
H
J
J142
1
L13
R206
R207
R212
R217
J167
C150
C151
R276
R277
POE PWR ENB
J16
R30
J15
J13
C28
C29
C67
1
J82
U36
R662
Y2
R172
R173
C91
C92
C85
C86
C87
C88
C89
C90
R205
C146
R2 C147
66
C148
C149
R274
R275
R2
86
R282
R283
U33
1P0V_PHY
R256
J211
Q20
C74
C77
C111
1
SF2 DEV KIT
R367 R357
1
R132
R137
GND
1
J152
DDR3_VTT
R377
R385
R384
B14
1
3P3V_LDO
Q15
ON
DVP-102-000400-001 REFCLK0_P
RevD
U55
C70
T1
D19
C205
B49
Su
B11
R280
R376
C184
J224
J223
2
1
B1
R281
C164 TP22
U56
A
B
C
D
E
F
G
H
KJ
L
M
N
PLLXVDDA
U54
R311
R310
3
PLLMDDRVDDA
2
1
C203
C76 C75 C73 C72 C69 C62 C60 C59
SW8
2
R159
R160
4
R149
U23
4
J81
3
1
C159
123
789
A
B
DC
E
F
G
H
J
K
L
M
N
VPP
J233
R267
R269
R268
U51
C167
789
J227
123
789
C173
123
A
B
DC
E
F
G
H
J
K
L
M
N
J226
3
R270
R226
R229
R231
R232
R234
R235
R236
R237
C162
J225
1
1
R45
R47
R48
R49
R60
R61
1
1
C66
1
3
R146
J54
R148 LED9
RST LED
J70
2
U27
SW9
R663
JTAG SEL
RS2
J117
C100
C96
C103
C104
C98
A1
Q14
J153
R218
U42
C172
R289
R319
R320
R317
R318
J234
J215 R290
R291
C187
J217 R295 J130 R187
R332
R296
R333R334
1 R299
R302
R303
R304 TP7
R305
R306
R307
R308
R309 GND
1
L12
R213
R215
RS5
A30
C63
D10
C54
TP13
SW10
R340
C192
R341
R342
1
R335
R336
C190
R337
R351 R344
R345
C195
3
R329
C188
C183
C185
R327
C177
C178
C182
J212
R322R314
R323
C181
R321
1
C180 C176
GND
U57
J222
R343
C196
R348 R349
R352 C201
J203
1
ON
U40
C114
C197
C193C194
J216
C199
HDR-RS485
R347
R328
R331
R330
U58
1
8
J218
1
1
J128
J125
RS4
J172
K23
J175
L26
J179
H26
J184
J29
J188
H30
J195
H28
J197
G29
J200
F30
J202
K25
J210
L23
J214
N23
TP29
GND_0
R143
R671 R181
R186
R188
J126 J127
J124
RS3
3
1
C37
R74
C48
R97
GND
R166
R167
R168
Y3
R180
J123
rs
C125
Q19
R271
C155
R272 R249
R273 C142
3
C40
C43
R86
7
7
U62
PCIEXVDD
AK1
C38
C51
1
2
R99
C49R87
J33 C50R88
R89
R90
R106
R107
R108
R109
R110
R95
C52 R91
C53 R92
R93
R94
J29
J19
GND
J37
J59
U31
1
J107
J108
3
3
J139
P24
J141
N26
J144
M27
J146
L29
J155
L28
J159
K30
J162
J27
1
1
1
V2J21 M2 J20 M2J20 H2 J19G3 J196 H2J19 J2 J18 J3 J18 J2 J17 K2 J174
9 4 8 7 0 3 6 8 4
63 4 9 5 1 7 9 0
20
J221
R177
L8
PLLFDDRVDDA
R674
R673
R672
R676
pe
19
1
C175
R315
J14
J12
SW1
R53
R54
R39
SW4
U8
J26
J28
1
J38
J43
J55
1
U25
1
U30
R163
U29
1
1
J193
C160
R288
L15 C171
1 C174
R313
R316
C179
R324
L7
R175
AK30
1
Y1
3
R203
R204
D12
1
R202
R287
C143
U53
R293
R300R294
3
1
U48
C165
U52
J173
J180
C97
C101 C102
A14
P14
D7
U10
R69
R70
R73
R78
C46
J49
C80
2
1
50 MHZ
85
R2
R248
R255
C144
R264 C161
C163
J204
R190
C110
C108
R193
DS27
C112
HVDD
C117
C118
R200 R197
R199
C123
C124
J157
TP28
TP27
R261 C139
R262 R245
C154
R263
R208
R209
R210
R211
C127
U47
1
C145
R259
R260R250
J176
J198
U49
C158
C141
R251
5
R284
3
J105
J104
R176
C93
U22
C39
Q13
P3LED2
TC2 P3LED3
TC1
TC4 P3LED1
J32 P3LED0 TC3
TC6 P2LED3
P2LED2 TC5
TC7 P2LED0
R121
A1
R161 R162
TP3
C99
P1
REFCLK0_P
REFCLK0_N
SERDES0
65
R2
DB9-RS232 1
ANALOG INPUT
L14
R227
C140
R246 R254
HVDD R252 R253
R257 R258 R233
J181 C156 C157
1
TP26
VDDIO
R292
C168
R298 R297
C170 R301
1
J138
P23
J140
N25
J143
N24
J145
M26
J154
L30
J158
K29
C133 J161
K28
1
J165
C81
C82
U28
R680
R681
R678
R679
R677
R675
DS26
HVSS
U39
U38
C126
4
3
C138
C169C166 U50
J164
U46
2
J163
C137
5
R224 U44
R228
1
C136
C113
J137
D13
HVSS
R223
R225
C132
1
P1
C135
J121
5
J113
USB MICRO AB
OTG Support
1
R222
R216
1
R196
R198
1
CR4
R214
C106
R194
J94
1
U19
R28
10
U43
CR3
R195
U41
W28
R29
R24
RESET
4
3
J111
V24
J115
AA29
J119
Y30
J122
M23
J131
T27
J134
T26
J135
V23
J232
U24
20
4
C122
R201
TP5
C107
1 J93
ZL RST
GND
J30
1
1
R117
R118
R119
R122
R125
R126
R127
R129
R133
R135
R136
R138
R139
R141
R144
R145
R85
3
C115
C116
J106
1
M12
R59
TP30
GND_C
2
L11
R191
-
-
9
R76
SW6
R58
L4
R64
R66
R68
A12
TP11
J231
R51
U9
1
C109
3
12
J4
6
U34
L9
TP4
J48 J41 J39
L6
C83
R174
J120
1
V22
J110
AA28
J114
W27
J118
TP8
DS24
U26
J63
J99
J102
J101
J100
J98
J91
J88
J60
J66
R171
R147
SFP CONN
A1 R62
R65
GND
R134
10
FP4 HEADER
J79
U32
J83
J92
R165
GND
1
R664
R169 1
1
U35
U69 1
J78
J84
J89 J90
J136
DB9-CAN2
J77
J87
GND
1
R192
J42
5
1
J75
J61
J95
6
1
J69 J64
J74
REMOTE
PWR ENB
DS23
1
19 R128
GND
2
17
5
J62
J68
R156
J73
J76
1
J34
J86
J97
R164
J40
J53
J96
Q17
10
J58
J65
J85
2
9
J45
R142
J71
J109
U12
J27
C55
U17
C64
C65
J57
R140
20
J56
3
1
U21
X1
U24
19
J51
1
U18
J47
J50
2
7
20
ed
ed
R29
SW3
C35
R105
R120
J46
20 R115
1
TP2
R67
R71
R72
R75
R77
R79
R84
REFP6
ETM HEADER
RS1
J35
J72
1
R63
R44
D8
R98 U11
D9
C56
1
DS21
GND
R124
R41
C30
R42
C31
R43
J18
DB9-CAN1
R116
1
DS20
2
1
5
TP15
R101
TP19
C57
1.2V
VDD_REG
J36
J52
REFP5
C47
C45
3P3V_LDO
U16
M1
J20
3
J21
3
J22
3
J25
3
RVI HEADER
U14
U13
1
J23
Q10
J17
R38
R33
C25
C26
C34
Q12
12
J5
J7
U7
5
1
CR2
FTDI INTERFACE
R96
J24
1
6
17
C20
U4
C27
1.0V
CR1
1
7
C694
1
C21
R37
C23
C24
R14
R13
C13
C19
R31
D1
R34
3
C41
1
SW2
SW5
C1
C22
C18
U5
R57
USB MINI B
SW7
J1
HPDIFFN4 HPDIFFP4
FMC HEADER
3P3V
DS8
DS9
DS7
C10
C17
10
4
ON
TP1
R10
R9
Q11
L3
U6
1
J9
1
GND
C16
2P5V
TP18
Q8
J8
1
C14
C15
1
R40
J3
C3
C4
3P3V
R17
R18
R19
R20
C12
1P8V
6
Q7
1
C693
D3
R15
D2
D4
C682
R16
L2
TP23
OFF
FMC HEADER
L1
TP17
3
A1
A40
7
1
7
C11
C9
1
DC JACK12V/6A
12P0V
DS4
DS5
DS6
5P0V
VDD_REG
R5 2P5V
Q5
R6
Q4
U1
R12
R11 C2
U3
C8
Q6
R4 2P5V_LDO
DS3
R3 3P3V_LDO
R1 1P8V
R2 DDR3-1P5V
DS2
Q1
Q2
12V_POE
Q3
12V
R8
R7
GND
R669
K1
1
12V_PCIE
R668
5P0V
TP16
C36
C683
R660
TP9
U2
12_DCJACK
Q9
K40
1
J2
1
DS1
Appendix 4: Jumper Locations
Figure 18 • SmartFusion2 Development Kit Silkscreen Top View
Figure 18 shows the jumper locations in Development Kit board.
Notes:
•
Jumpers highlighted in red are set by default.
•
Jumpers highlighted in green must be set manually.
•
The location of the jumpers in Figure 18 are searchable.
Revision 4
23
In-System Programming Using UART Interface
Appendix 5: Error Codes
Table 5 • Error Codes
Error Code
Define
Description
1u
Device contents mismatch
#define MSS_SYS_UNEXPECTED_DATA_RECEIVED
2u
Data is not supported
#define MSS_SYS_INVALID_ENCRYPTION_KEY
3u
Invalid encryption key
#define MSS_SYS_INVALID_COMPONENT_HEADER
4u
Invalid file header
#define MSS_SYS_BACK_LEVEL_NOT_SATISFIED
5u
corrupted /invalid bitstream
#define MSS_SYS_DSN_BINDING_MISMATCH
7u
corrupted /invalid bitstream
ed
ed
#define MSS_SYS_CHAINING_MISMATCH
#define MSS_SYS_ILLEGAL_COMPONENT_SEQUENCE
8u
corrupted /invalid bitstream
#define MSS_SYS_INSUFFICIENT_DEV_CAPABILITIES
9u
Invalid Device capabilities
#define MSS_SYS_INCORRECT_DEVICE_ID
10u
Invalid Device id
#define MSS_SYS_UNSUPPORTED_BITSTREAM_PROT_VER
11u
bitstream is not supported
#define MSS_SYS_VERIFY_NOT_PERMITTED_ON_BITSTR
12u
Verification is not allowed for input
bitstream
#define MSS_SYS_ABORT
127u
Operation aborted
129u
eNVM verification failed
#define MSS_SYS_DEVICE_SECURITY_PROTECTED
130u
Device is secured
#define MSS_SYS_PROGRAMMING_MODE_NOT_ENABLED
131u
Programming mode is not enabled.
Su
pe
rs
#define MSS_SYS_NVM_VERIFY_FAILED
24
R e visio n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
Appendix 6: Generating .spi Programming File using Libero
1. Launch the Libero SoC software to open a Libero project for isp_fabric_and_envm.spi
programming file. The Libero design file is provided in
<download_folder>\sf2_isp_using_uart_interface_demo_df\host_tool_and_samples\fabric_and_
envm.
pe
rs
ed
ed
2. Right-click Export Bitstream under Handoff Design for Production in the Design Flow tab,
and click Export ... from the context menu..
Su
Figure 19 • Configuring Export Bitstream
Revision 4
25
In-System Programming Using UART Interface
pe
rs
ed
ed
3. On the Export Bitstream window, select the SPI file check box.
Figure 20 • Export Programming File Options window
4. Click OK.
Su
5. Double-click Export Bitstream under Handoff Design for Production in the Design Flow tab to
generate the .spi file (Figure 19 on page 25). Figure 21 shows the .spi file location in
Messages tab.
26
R e visio n 4
ed
ed
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
Su
pe
rs
Figure 21 • .SPI File Location
Revision 4
27
In-System Programming Using UART Interface
Appendix 7: Hardware Project Implementation Settings
The following hardware project settings are required to build the demo design.
Configuring the I/Os for Flash*Freeze Mode
pe
rs
ed
ed
The Libero demo design configures M3_CLK to operate at 50 MHz and one UART
interface (MMUART_1) for serial communication. The FPGA fabric is not operational during Program
or Verify operations as the device enters into Flash*Freeze(F*F). On the Development Kit board, the
MMUART_0 TX and RX are connected to the mini-B USB through the fabric and fabric I/Os. During
F*F mode, the fabric and I/Os are not available. So the MMUART_0 cannot be used as the serial
communication interface. As such, MMUART_1 is used, and the RXD and TXD ports are configured
using the I/O Editor to be available during F*F mode, as shown in Figure 22. The user has to ccmmit and
check the settings from the File menu after configuring the ports.
Su
Figure 22 • Configuring MMUART_1 Ports to be Available During F*F
28
R e visio n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
Standby Clock Source Configuration
rs
ed
ed
The standby clock source for the MSS in F*F mode is configured to On-chip 50 MHz RC Oscillator using
the Flash*Freeze Hardware Settings dialog in the Libero SoC software, as shown in Figure 23. A higher
MSS clock frequency is required in F*F mode to meet the MMUART baud rate requirements.
Su
pe
Figure 23 • Flash*Freeze Hardware Settings Dialog
Revision 4
29
In-System Programming Using UART Interface
SoftConsole Project Generation
Su
pe
rs
ed
ed
The firmware and SoftConsole project workspace can be generated by checking the Create Project
and selecting a Software IDE option in Libero project as shown in Figure 24.
Figure 24 • Export Firmware Options
On successful firmware generation, the firmware and SoftConsole folders are generated at
<download_folder>\sf2_isp_using_uart_interface_demo_df\libero as specified in Location field of Export
Firmware dialog box as shown in Figure 24.
30
R e visio n 4
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 Demo Guide
Su
pe
rs
ed
ed
For software modifications, open the Softconsole Project workspace (located at
<download_folder>\sf2_isp_using_uart_interface_demo_df\libero\SoftConsole\demo_MSS_CM3) using
SoftConsole IDE v3.4 SP1. Figure 25 shows SoftConsole Project workspace.
Figure 25 • SoftConsole Project Workspace
The SoftConsole workspace consists of three projects.
•
demo_MSS_CM3_app
This project receives the bitstream from HostPC through UART interface and invokes the system
controller programming services.
•
demo_MSS_CM3_boot_loader
This project implements the remapping the eSRAM to Cortex-M3 procesor code space after
copying the ISP code to eSARM from eNVM.
•
demo_MSS_CM3_hw_platform
This project contains all the firmware and hardware abstraction layers that correspond to the
hardware design. This project is configured as a library and is referenced by
demo_MSS_CM3_app and demo_MSS_CM3_boot_loader application projects. The contents of
this folder get over-written every time the firmware is exported as shown in Figure 24.
Revision 4
31
A – List of Changes
The following table lists critical changes that were made in each revision of the chapter in the demo
guide.
Date
Changes
Page
Updated the document for Libero v11.4 software release (SAR 59742).
NA
Revision 3
(May 2014)
Updated the document for Libero v11.3 software release (SAR 56619).
NA
Revision 2
(December 2013)
Updated "Demo Design Description" section (SAR 53451).
Revision 1
(December 2013)
Updated the document for Libero v11.2 software release (SAR 52962).
NA
Revision 0
(July 2013)
Initial release
NA
7
Su
pe
rs
ed
ed
Revision 4
(August 2014)
Revision 4
32
B – Product Support
Microsemi SoC Products Group backs its products with various support services, including Customer
Service, Customer Technical Support Center, a website, electronic mail, and worldwide sales offices.
This appendix contains information about contacting Microsemi SoC Products Group and using these
support services.
Customer Service
ed
ed
Contact Customer Service for non-technical product support, such as product pricing, product upgrades,
update information, order status, and authorization.
From North America, call 800.262.1060
From the rest of the world, call 650.318.4460
Fax, from anywhere in the world, 408.643.6913
Customer Technical Support Center
rs
Microsemi SoC Products Group staffs its Customer Technical Support Center with highly skilled
engineers who can help answer your hardware, software, and design questions about Microsemi SoC
Products. The Customer Technical Support Center spends a great deal of time creating application
notes, answers to common design cycle questions, documentation of known issues, and various FAQs.
So, before you contact us, please visit our online resources. It is very likely we have already answered
your questions.
Technical Support
pe
Visit the Customer Support website (www.microsemi.com/soc/support/search/default.aspx) for more
information and support. Many answers available on the searchable web resource include diagrams,
illustrations, and links to other resources on the website.
Website
Su
You can browse a variety of technical and non-technical information on the SoC home page, at
www.microsemi.com/soc.
Contacting the Customer Technical Support Center
Highly skilled engineers staff the Technical Support Center. The Technical Support Center can be
contacted by email or through the Microsemi SoC Products Group website.
Email
You can communicate your technical questions to our email address and receive answers back by email,
fax, or phone. Also, if you have design problems, you can email your design files to receive assistance.
We constantly monitor the email account throughout the day. When sending your request to us, please
be sure to include your full name, company name, and your contact information for efficient processing of
your request.
The technical support email address is [email protected].
Revision 4
33
SmartFusion2 SoC FPGA In-System Programming Using UART Interface Libero SoC v11.4 - Demo Guide
My Cases
Microsemi SoC Products Group customers may submit and track technical cases online by going to My
Cases.
Outside the U.S.
Customers needing assistance outside the US time zones can either contact technical support via email
([email protected]) or contact a local sales office. Sales office listings can be found at
www.microsemi.com/soc/company/contact/default.aspx.
ITAR Technical Support
Su
pe
rs
ed
ed
For technical support on RH and RT FPGAs that are regulated by International Traffic in Arms
Regulations (ITAR), contact us via [email protected]. Alternatively, within My Cases, select
Yes in the ITAR drop-down list. For a complete list of ITAR-regulated Microsemi FPGAs, visit the ITAR
web page.
Revision 4
34
ed
ed
rs
pe
Su
Microsemi Corporate Headquarters
One Enterprise, Aliso Viejo CA 92656 USA
Within the USA: +1 (800) 713-4113
Outside the USA: +1 (949) 380-6100
Sales: +1 (949) 380-6136
Fax: +1 (949) 215-4996
E-mail: [email protected]
Microsemi Corporation (Nasdaq: MSCC) offers a comprehensive portfolio of semiconductor
and system solutions for communications, defense and security, aerospace, and industrial
markets. Products include high-performance and radiation-hardened analog mixed-signal
integrated circuits, FPGAs, SoCs, and ASICs; power management products; timing and
synchronization devices and precise time solutions, setting the world's standard for time; voice
processing devices; RF solutions; discrete components; security technologies and scalable
anti-tamper products; Power-over-Ethernet ICs and midspans; as well as custom design
capabilities and services. Microsemi is headquartered in Aliso Viejo, Calif. and has
approximately 3,400 employees globally. Learn more at www.microsemi.com.
© 2014 Microsemi Corporation. All rights reserved. Microsemi and the Microsemi logo are trademarks of
Microsemi Corporation. All other trademarks and service marks are the property of their respective owners.
50200454-4/08-14