The Cyclone Control SDK is a software development kit with a comprehensive API that allows developers to seamlessly integrate Cyclone LC and Cyclone FX programmers into their applications. They can manipulate SAP images, launch SAP images, retrieve programming results, and update settings. This blog post demonstrates the use of the SDK in a Rust application.
PEmicro's programming tools support provisioning and securing of STMicroelectronics' STM32H563 devices in both TrustZone enabled and TrustZone disabled configurations. This tutorial demonstrates a sequence for programming the device into a secure, TrustZone enabled state. Secure and non-secure code and data images are programmed, Debug Authentication is enabled with certificate access, and the OEM-iRoT is provisioned.
Users who are managing production programming may have to work with a large number of image files, and may face the need to continually regenerate these images with new binaries, which can pose problems. PEMicro's Cyclone Control Suite offers a powerful yet flexible set of utilities to automate control of the Cyclones on the production line and help address this type of issue. This article describes how to fully automate the process of generating stand-alone programming (SAP) image files to remove the chance of errors that could occur when the process is done manually.
PEmicro has announced the launch of PEcloud, a cutting-edge platform that offers unparalleled control and visibility into users' production programming Jobs which run worldwide on Cyclone programmers. Previously the Cyclone used only SAP (Stand-Alone Programming) Images. Now Cloud-Connected Jobs are a new type of programming image that use a secure connection from the Cyclone to the PEcloud platform to provide additional control, features, and visibility to the user. PEcloud users manage these Jobs in their own Virtual Factories (VFs). Each VF space can be organized as the user sees fit in order to connect specific Cyclones, programming Jobs, and PEcloud users together logistically. Users can upload programming Jobs to PEcloud, which provides an easy-to-use online interface to manage workflow. Or a Job can also be loaded onto a local Cyclone without use of the cloud, but the cloud can still be used to monitor and manage it.
The process of setting up Cyclone programmers to perform production programming at a local or remote facility is simple and straightforward. PEmicro's Cyclones support programming of STMicroelectronics' popular STM32 and Bluetooth Low-Energy (BlueNRG) devices, as well as the SPC5 automotive and STM8 8-bit families. In addition, Cyclone programmers leverage PEmicro's ProCryption Security to use industry-standard RSA/AES cryptography to safeguard programming images containing valuable IP. The IP owner also gains added control over factors like when and how many devices can be programmed, and how many errors are allowed. This article will provide an overview of Cyclone programming - what the various components are and how they interact - and then explore the security aspect of the production programming process, in order to show that IP security does not need to be unduly complicated or expensive to be effective.
PEmicro Cyclones feature "Cyclone Programming Control Port" functionality via the 10-pin expansion I/O interface on the Cyclone, which allows external signal control of programming operations. The Cyclone Programming Control Port may be used to launch programming as well as read the IDLE/BUSY state of the cyclone and the SUCCESS/ERROR result of the last programming operation. The port I/O operates from 1.6v-5.5v. These signals can be interfaced to by ATE (Automated Test Equipment), external buttons / LEDs, microcontrollers, etc.
PEmicro, an NXP® Semiconductors Gold Partner, has announced a range of development tool support for the S32K3 Automotive MCU family for next generation body, zone, and domain control applications. Tightly integrated with NXP’s evaluation boards and S32 Design Studio IDE, PEmicro tools provide a powerful platform for the evaluation, development, and production programming stages of the product cycle.
Beginning October 1, 2021 the latest versions of PEmicro software will only be tested against and designed to work with the following PEmicro hardware interfaces: MULTILINK DEBUG PROBES (2015+) CYCLONE PROGRAMMERS (2016+)
Read more...
The most common mechanism for verifying a programmed device is via the Verify Module command which verifies programmed memory against object files on a byte-by-byte basis. PEmicro also has several verification mechanisms which use Checksums/CRCs. The Verify Checksum (VC) command automatically calculates checksum values for all flash memory ranges in a user's object files. The programmer then runs an algorithm to calculate checksums for these device regions and compares it to the ones calculated from the object file. The advantage of this method is that it is faster than byte by byte verification when the debug connection is slow. The Verify Module CRC to Value (VV) command calculates a checksum for the entire device and compares it to a value provided by the user. This is often used as an addition step after byte by byte verification to check the state of the entire flash (even unprogrammed regions).
The Embedded Online Conference is a virtual conference for Embedded Systems, DSP, Machine Learning and FPGA Engineers, which is taking place on Weds. May 20 & Thurs. May 21, 2020. PEmicro is offering a presentation that describes the security measures that are used on Cyclone programmers to protect valuable IP. PEmicro president Kevin Perreault discusses Cyclone cryptography, restrictions on programming images, the ease with which a user can implement these security features, and more. Watch the presentation on the Show Floor page.
The Cyclone Control SDK is a software development kit with a comprehensive API that allows custom applications to control multiple Cyclones in stand alone programming operations and to read/update Cyclone settings. This blog post demonstrates the use of the SDK in the Microsoft Visual C# language. NOTE: The examples in this blog are shown in Microsoft Visual C#. The Cyclone Control SDK includes interface code and demo applications for GCC, Microsoft Visual C, Microsoft Visual C#, Delphi/FPC, Labview, Python, Rust, and Microsoft Visual Basic.
PEmicro's Cyclone programmers are able to program and increment sophisticated serial numbers which are automatically shared between programming images though the use of unique serial number IDs. There are several cases where this is very useful. The first is when a user may want to update their firmware for a product to a new version but the serial number to have persistence. The user may also have different products that need to be programmed with different firmware, but still want to have those products draw from the same serialization sequence. Serial numbers are automatically shared by images within a Cyclone and can be easily shared globally across Cyclones if the programming image is cloud connected.
Dec. 2025 - We've updated this blog post with example values for common setups The JTAG specification introduced daisy chaining of MCUs in order to reduce the number of headers required to debug and program multiple MCUs. JTAG daisy chaining allows multiple MCU’s (and other JTAG compatible hardware, such as FPGAs) to share a single debug header. PEmicro currently supports daisy chaining of ARM-Cortex MCUs via our Cyclone programmers and Multilink debug probes. The same is true for most PEmicro software, including our Eclipse plugin GDB Server, and our Cyclone automation and control packages.
April 2021 - We've updated this blog post with more information about gang operation. PEmicro is excited to announce the release of a library of LabVIEW VI components as well as a sample project as part of the Cyclone Control Suite. This new feature facilitates easy integration of Cyclone stand-alone programmers into production applications developed in LabVIEW®.
A volume production solution often relies on simultaneous gang programming of different target boards to meet speed and throughput requirements. This programming scenario may integrate Cyclone programmers into a fixture which interfaces to a panel of boards to be programmed. Programming is commonly controlled and monitored from a local computer, especially when customized dynamic data is being added to the main binary image that is being programmed into each target. PEmicro’s gang programming solution is to control many Cyclone programmers simultaneously via the Cyclone Control Suite. A mix of programming images, targets, and data can be simultaneously programmed into many devices while maintaining a high level of performance because each Cyclone is itself an independently operating programmer.
The Cyclone Control Console is a powerful command-line application that allows simultaneous control of one or more Cyclones. Programming images can be added/removed, settings read/set, programming operations launched, and dynamic data programmed. The command-line application displays comprehensive status messages and also returns an error code indicating success or failure. The application can be launched from a script, a console, or another application. It is one of the three main components of the Cyclone Control Suite including: the Cyclone Control Console, the Cyclone Control GUI, and the Cyclone Control SDK.
PEmicro's Cyclones all include a powerful set of automated control software, the Cyclone Control Suite, which supports PC based control of the popular Cyclone LC and Cyclone FX stand-alone programmers. The suite provides comprehensive control of one or more Cyclones from the PC via the following components: the Cyclone Control GUI application, the Cyclone Control Console application, and via custom PC applications built using the Cyclone Control SDK. Ways to control the Cyclone include programming launch, recovering results, managing images resident on a Cyclone, adding unique programming data for each target, as well as recovering descriptive errors.
PEmicro’s product line of Cyclone stand-alone programmers provides a fast, robust, and automated solution for production-scale programming of microprocessors. However, production facilities may desire an even higher level of automation than the single-button touch capability that is offered by the Cyclone. In this article, we discuss using the PEmicro's Cyclone Control SDK to automate programmer control, and the levels of flexibility and scalability that it offers.
Note: This blog post was updated in July 2019 with new information regarding Cyclone image encryption (part of the ProCryption Security feature). As part of the Cyclone Control Suite, PEmicro includes a graphical application called the Cyclone Control GUI that allows the user to add and remove images, access Cyclone settings, read Programming Image properties and statistics, and remote access a Cyclone's display. It also provides the user with tools to manage ImageKeys (for encrypted images), serial files, and optional Cyclone licenses.
The Cyclone FX has the capability to automatically select and launch a programming image based upon a scanned barcode. This can generate an error if more than one image corresponds to the barcode or no images correspond to the barcode. The CYCLONE FX includes a way to quickly gain insight into the issue. A log file is created every time the barcode scanner operates and it details the scanned barcode as well as the analysis process used to select the appropriate programming image.