PEmicro Blog

How to Provision STM32H563xx Devices for OEMiROT and DA with Certificates (TrustZone Enabled)

Jun 14, 2024

In this tutorial, we demonstrate a sequence for programming secure and non-secure code and data images, provisioning a device for debug Authentication with certificates (with TrustZone enabled) and provisioning OEM-iRoT. TrustZone reduces the potential for attack by isolating the critical security firmware and private information, such as secure boot, firmware update, and keys, from the rest of the application.


Generating a Programming Image/Job From The Command-Line

Apr 15, 2024

Users who are managing production programming may have to work with a large number of stand-alone programming (SAP) 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 Adds Supports for Infineon 32-bit TRAVEO(tm) T2G ARM® Cortex® Microcontrollers

Jul 28, 2023

Update, July 28, 2023: PEmicro now supports entire Traveo T2G family including 32-bit Traveo T2G Arm Cortex for Cluster.

PEmicro's development and production tools now support Infineon's 32-bit Traveo(tm) T2G ARM® Cortex® devices. This includes both subfamilies Traveo T2G Arm Cortex for Body and Traveo T2G Arm Cortex for Cluster.

T2G microcontrollers are based on ARM Cortex-M4 (Single core) / M7 (Single core/Dual core) and deliver high-performance, enhanced human-machine interfaces, high security, and advanced networking protocols tailored for a broad range of automotive applications such as electrification, body control modules, gateway, and infotainment applications.


Flagchip as Flagship Devices Now Supported by PEmicro Tools

Jul 20, 2023

Update, July 20, 2023: PEmicro will be adding support for Flagchip as Flagship's FC7300F devices to those mentioned below.

PEmicro's development and production tools now support Flagchip as Flagship devices. The FC4150 device features a Cortex-M4 with FPU/DSP, 8K Cache, with 8MPU region. The Feature List available on the device webpage includes many impressive additional features, including support for 3xCAN with FD and 3xCAN without FD.

PEmicro's Cyclone programmers can be used for secure production programming of FC4150 devices, including control and automation. In addition, Multilink debug probes with PROGACMP programmer, and GDB Server Eclipse IDE plug-in are ideally suited for the development process.


PEmicro Tools Add Support for Blue Whale CVM0116 & CVM0118 Devices

Jul 11, 2023

PEmicro's development and production tools now support Blue Whale devices. The M01xx devices are designed for automotive electronic control applications, with a focus on high reliability, flexibility, and versatility.

PEmicro's Cyclone programmers can be used for secure production programming of M01xx devices, including control and automation. In addition, Multilink debug probes with PROGACMP programmer, and GDB Server Eclipse IDE plug-in are ideally suited for the development process.


PEcloud Launches: A Cloud-Based, Production Programming Management Platform

Apr 20, 2023

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. 

PEcloud allows for unprecedented visibility of, and control over, programming operations. Jobs being used in manufacturing can be paused, deleted, or updated. Programming logs for Jobs can be viewed, and unique device and dynamic programming data can be inspected. Serial numbers, programming count restrictions, and shared dynamic data are managed across all Cyclones running a Job. This system reduces distribution overhead and minimizes the risk of errors while increasing security.


MindMotion Devices Now Supported by Cyclone and Multilink Tools

Apr 05, 2023

Note: This blog post was updated on 05 April 2023 to reflect new support for the MindMotion MM32F Series.

PEmicro's development and production tools now support MindMotion's MM32 SPIN and MM32F family of microcontrollers. MindMotion products and solutions are widely used in industrial control systems, smart homes, wearable applications, automotive electronics, instrumentations, and many other fields. MM32SPIN is designed for motor drive and control.  MM32F is designed for the general purpose and high performance market.


Cyclone Control Suite Supported on Linux/macOS

Mar 10, 2023

Watch PEmicro demonstrate a first-look into this new feature at Embedded World 2023, March 14-16 -- Hall 4, Booth 648.

Check for updates soon for when this will be publicly released in the cyclone software installer.

PEmicro's Cyclone programmers will soon support advanced control and automation features in both Linux and macOS. This support extends to all the three components of the Cyclone Control Suite - the Control GUI, Control Console, and Control SDK - which gives the user a great deal of flexibility when planning a solution.  


Cyclone Programming Overview for STMicroelectronics Devices

Apr 19, 2022

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. 


Launch Cyclone Programming Via The 10-pin Control Port (With a Raspberry Pi Example)

Jan 19, 2022

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 Announces Development Tool Support for NXP’s New S32K3 Automotive MCU Family

Nov 16, 2021

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.


PEmicro Legacy Hardware Support Notice (In Effect As of 1 Oct. 2021)

Oct 01, 2021

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:


  • USB ML Universal, Rev. C or later
  • USB ML Universal FX, Rev. B or later


  • Cyclone LC Universal
  • Cyclone LC ARM
  • Cyclone FX Universal
  • Cyclone FX ARM

Verify a Programmed Device via Checksum

Jun 30, 2020

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). 


PEmicro Discusses Cyclone Programmer Security in Embedded Online Conference Presentation

May 19, 2020

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.


Comparison of the Classic Automated Control Package and the Cyclone Control SDK

Nov 19, 2019

Note: The Classic Automated Control Package is no longer available, neither in its paid nor free editions, as it was tied to the legacy V1 license model. Information on updating to the current Cyclone models, which include free automation and control features for one or more Cyclones, is available on the Legacy Harware Transition page.

PEmicro's Classic Automated Control Package is an older product that enables users to to control and automate the production process with PEmicro's legacy Cyclones (Cyclone PRO, Cyclone MAX, Cyclone for Renesas, Cyclone for ARM devices, Cyclone for STMicro). PEmicro most recent control package is the Cyclone Control Suite, which is included with all next generation touchscreen Cyclones (Cyclone LC and Cyclone FX). Like the Classic Automated Control Package, the newer Cyclone Control Suite also includes an SDK (called the Cyclone Control SDK).

Those who use the Classic Automated Control Package but are upgrading to a Cyclone LC or Cyclone FX programmer might have questions about the new Cyclone Control SDK, such as: 

  • What are the differences between the two SDKs?
  • Can the classic SDK be used with the new Cyclones?

Cyclone Control SDK: Automated Flash Programming with C#

Jun 27, 2019

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, and Microsoft Visual Basic.


Using Automatically Counting Serial Numbers Managed on the Cyclone

Jan 22, 2019

PEmicro's Cyclone programmers are able to internally store and track serial numbers though the use of a unique serial number ID. This increased sophistication allows Stand-Alone Programming (SAP) images stored on a Cyclone to share serial numbers that reference the same unique serial number ID. 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 have those products draw from the same serialization sequence.  


JTAG Daisy Chaining MCUs With PEmicro Multilink & Cyclone

Dec 14, 2018

Dec. 2018 - We've updated this blog post with more info about Multilink and Cyclone implementation...

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.


Cyclone Control SDK: Automated Flash Programming with LabVIEW®

Oct 08, 2018

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®. 


Gang Programming with Cyclone Programmmers

Jan 26, 2018

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.  


Cyclone Control Suite: Cyclone Control Console

Dec 05, 2017

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.


Overview: Cyclone Control and Automation

Oct 18, 2017

PEmicro's Cyclones all include a powerful set of automated control software, the Cyclone Control Suite, which support PC based control of these 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.


Cyclone Control SDK: Automated Flash Programming with C

Oct 18, 2017

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. PEmicro offers several means of automating control, including a console application, Ethernet/Serial protocol communications, or the SDK included in PEmicro's new Cyclone Control Suite. In this article, we discuss using the SDK to automate programmer control and the levels of flexibility and scalability that it offers our customers.

NOTE: This example is shown in C. The Cyclone Control SDK interface code and demo applications are included for GCC, LabView, Microsoft Visual C, Microsoft Visual C#, Delphi/FPC, Python, and Microsoft Visual Basic.


Using the Cyclone Control GUI To Load Images Onto Cyclones, And More

Oct 18, 2017

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.


Insight Into Barcode Driven Flash Programming with Cyclone FX

Feb 14, 2017

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.