Embedded Programming
Overview
DirectC
The DirectC solution is available in two versions: (1) DirectC for PolarFire SoC,PolarFire, RTG4, IGLOO 2, IGLOO, IGLOO nano, IGLOO PLUS, ProASIC3, ProASIC3L, SmartFusion2, SmartFusion, and Fusion and (2) DirectC for ProASICPLUS. Each version is specifically designed for programming its corresponding Microsemi devices using a microprocessor. ProASICPLUS devices must use DirectC v1.3. ProASIC devices have different algorithm requirements and cannot be programmed using DirectC.
SPI-DirectC is available for the PolarFire SoC,PolarFire,IGLOO2 and SmartFusion2 families of devices. SPI-DirectC works the same as DirectC but uses the SPI slave programming protocol instead of JTAG.
Product Features
DirectC and SPI-DirectC can be used by making minor modifications to the source code, adding the necessary Application Programming Interface (API), and compiling the source code and the API together to create a binary executable. The binary executable is downloaded on to the system along with the programming data file. DirectC and SPI-DirectC use DAT files as the programming data file. DirectC for ProASICPLUS devices uses a STAPL file as the programming data file, The STAPL file also contains the programming algorithm, DirectC ignores it and uses only the programming data.
The DirectC/SPI-DirectC solutions have a relative speed advantage compared to interpreters such as STAPL Player when executed on smaller and slower microprocessors/systems. With DirectC/SPI-DirectC, the algorithm is embedded into the source and compiled. Therefore, if the programming algorithm changes, you can obtain a new DirectC/SPI-DirectC source, recompile the source, and download the binary executable on to your system.
Device Support
Currently, DirectC supports below devices
- PolarFire SoC
- PolarFire
- RTG4
- IGLOO2
- IGLOO nano
- IGLOO PLUS
- ProASIC3
- ProASIC3L
- SmartFusion2
- SmartFusion
- Fusion
- ProASICPLUS
STAPL Player
The STAPL Player may be used to program ProASICPLUS, as well as third-generation flash devices such as IGLOO, ProASIC3, ProASIC3L, and Fusion, and interprets the contents of a STAPL file, which is generated by Microsemi's Libero IDE and Designer software tools. The file contains information about the programming of Microsemi ProASICPLUS devices, as well as the JTAG scan chain for a single device. The data format is a JEDEC standard known as the Standard Test and Programming Language (STAPL) format. The JEDEC STAPL standard (JESD71) can be obtained from www.jedec.org. For third-generation devices, note that the STAPL Player will not support serialization of the FlashROM nor will it support Smart Erase-enabled silicon.
The STAPL Player reads the STAPL file and executes the file's programming instructions. Because all programming details are in the STAPL file, the STAPL Player itself is completely device-independent. In other words, the system does not need to implement any programming algorithm details; the STAPL file provides all of the details.
The STAPL Player consists of two basic portions:
- High-level generic source code that executes the main program
- Low-level system-specific routines
In addition to processing the STAPL file, the STAPL Player has the following functions:
- Check the CRC of a STAPL file (without executing the STAPL file)
- Has access to the signals of an IEEE 1149.1 interface
- Reliable mechanism for creating accurate real-time delays
- Reports exit status information following the execution of a STAPLE file (e.g., an exit code)
The STAPL Player has one distinct advantage over DirectC, the ability to upgrade. When a new programming algorithm is required, you just need to regenerate a STAPL file using the latest version of Libero IDE or Designer software and download it into the system.
STAPL Players can be implemented in either interpreted or compiled form. The source code for the Microsemi STAPL Player is available for download and works with Microsemi's FlashPro family of programmers.
What's New
JTAG-DirectC and SPI DirectC v2021.2 Release is Now Available for Download
JTAG-DirectC
- Added reprogram_inflight action support for RTG4™ and RTPolarFire® family of devices.
SPI-DirectC
- Added reprogram_inflight action support for RTPolarFire family of devices.
- Updated DEVICE_INFO and READ_IDCODE to read device certificate and report family and device.
- Added support to disable system controller suspend mode for PolarFire® family of devices and its derivatives
Documentation
DirectC
User's Guides and Manuals
JTAG-DirectC v2021.2 User Guide |
01/2022 |
SPI-DirectC v2021.2 User Guide | 01/2022 |
JTAG-DirectC v2021.1 User Guide | 09/2021 |
SPI-DirectC v2021.1 User Guide | 09/2021 |
DirectC v4.1 User Guide | 02/2018 |
SPI-DirectC SP1 v2.1 User Guide | 02/2018 |
DirectC v4.0 User Guide | 10/2017 |
SPI-DirectC SP1 v2.0 User Guide | 10/2017 |
DirectC v3.2 User Guide | 11/2015 |
SPI-DirectC SP1 v1.2 User Guide | 11/2015 |
DirectC v3.1 User Guide | 3/2015 |
SPI-DirectC v1.1 User Guide | 3/2015 |
DirectC for ProASICPLUS v1.2 User's Guide | 9/2006 |
FAQ
DirectC FAQ | 11/2009 |
STAPL Player
Application Notes
AC171: ISP and STAPL App Note | ![]() |
180 KB | 4/2003 |
AC208: Performing Microprocessor Programming For Microsemi's ProASICPLUS Devices App Note | ![]() |
105 KB | 6/2004 |
HB: Programming Flash Devices (v1.3) | ![]() |
678 KB | 12/2011 |
Downloads
DirectC
DirectC v2021.2 and SPI-DirectC v2021.2 Release (01/17/2022)
- JTAG DirectC and SPI DirectC v2021.2 Release Notes
- Download DirectC Installer v2021.2
- JTAG DirectC v2021.2 source files
- SPI-DirectC SP1 v2021.2 source file
DirectC v2021.1 and SPI-DirectC v2021.1 Release (09/16/2021)
- JTAG DirectC and SPI DirectC v2021.1 Release Notes
- Download DirectC Installer v2021.1
- JTAG DirectC v2021.1 source files
- SPI-DirectC SP1 v2021.1 source file
DirectC v4.1 and SPI-DirectC v2.1 Release (02/13/2018)
- Directc v4.1 and SPI Directc v2.1 Release Notes
- Download DirectC Installer v1.1
- JTAG DirectC v4.1 source files
- SPI-DirectC SP1 v2.1 source file
DirectC v4.0 and SPI-DirectC v2.0 Release (10/04/2017)
- Directc v4.0 and SPI Directc v2.0 Release Notes
- Download DirectC v1.0
- SPI-DirectC SP1 v2.0 source file
- JTAG DirectC v4.0 source files
Important Notes: To download earlier versions on DirectC software, create a tech support case via https://microchipsupport.force.com/s/
Installation Instructions:
- Save the file to your local hard drive.
- In Windows Explorer, navigate to the directory where the downloaded file is located.
- Double click the executable file. The User's Guide and the C header files for programming with DirectC will be extracted from the file during installation.
JTAG-DirectC
• Added reprogram_inflight action support for RTG4™ and RTPolarFire® family of devices.
SPI-DirectC
• Added reprogram_inflight action support for RTPolarFire family of devices.
• Updated DEVICE_INFO and READ_IDCODE to read device certificate and report family and device.
Added support to disable system controller suspend mode for PolarFire® family of devices and its derivatives