PEmicro Blog

PEMicro Adds Support for STM32H5 Device from STMicroelectronics

by Steve McGrath on Mar 10, 2023

PEmicro's development and production tools now support STMicroelectronics' STM32H5 microcontrollers based on ARM Cortex-M33.  The H5 devices are intended to offer a compelling combination of performance and security at a reasonable price.


Cyclone Programming Overview for STMicroelectronics Devices

by Keith McNeil on 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. 


PEmicro Supports STMicroelectronics' STM32WB Wireless Stack Functionality

by Steve McGrath on Nov 05, 2021

PEmicro has introduced the ability to update the current flash memory of STMicroelectronics' STM32WB Wireless MCUs with wireless stack information. Deleting current wireless stacks allows for more available flash memory in the processor, while upgrading wireless stacks allows the processor to perform desired wireless functions out of the otherwise inaccessible second core.


Java SE Dev Kit 11 Support Added to PEmicro's Eclipse-Based ARM IDE Plug-In

by Zahar Raskin & Keith McNeil on Jun 21, 2021

PEmicro is pleased to announce our latest Eclipse-based GDB Plugins for ARM devices with Java 11 support compatibility. Java 11 support was introduced in PEmicro's ARM plugin version 4.9.2 in April of 2021, and all ongoing PEmicro plugin releases include Java 11 support, as well as backwards compatibility with Eclipse IDEs that still rely on Java 8-based JDK. Java 11 is a prerequisite for native Eclipse IDEs, starting from version 2020-12, as well as some proprietary Eclipse based IDEs from NXP (MCUXpresso IDE) and STmicroelectronics (STM32CubeIDE).    


Multilink/Cyclone Debug with STM32CubeIDE from STMicroelectronics

by Zahar Raskin on Jan 09, 2020

STM32CubeIDE from STMicroelectronics is an Eclipse-based enablement platform which supports development and debugging of code on STM32 ARM microprocessors. PEmicro hardware interfaces: Multilink and Cyclone can be leveraged for advanced debug capabilities via an Eclipse GDB plugin that is freely available for installation into any Eclipse IDE from PEmicro update site ( This blog demonstrates the steps needed to install and configure PEmicro Multilink and Cyclone debug support in STM32CubeIDE to the point of launching a debug session.

WORKAROUND for newer STM32CUBE IDEs with CDT version 10.6 and greater

The workaround is to disable the CDT update site. In STM32CubeIDE, go to Help->Install New Software -> Manage...

In the "Preferences" dialog, uncheck the checkbox next to CDT:

Then install the PEMICRO plugin.


Programming MCU Fuses, OTP, and Option Bytes

by Mika Ichiki-Welches on Jan 07, 2020

Article updated Aug. 2021 to describe automatic fuse generation for NXP i,MX RT devices.

Some ARM devices have areas of flash memory dedicated to programming user configuration data. Writes to such areas can be sensitive or permanent for some devices, so it is important that the developer is able to write these options in an intuitive way in order to minimizes human error. PEmicro's PROGACMP v7.78 and Cyclone software installer v10.41 introduce a set of new "user options" commands:

  • Create/Modify User Options File (CU)
  • Specify User Options File (SU)
  • Program User Options (PU)

These commands allow the developer to individually program user options through the use of an IDE.


Programming STM32Fx and STM32Lx Option Bytes

by Gilbert Yap on Jun 05, 2019

Note: As of January 2020, PEmicro now offers a new method of programming user configuration data through the new Program User Options command. Click here for more details about this command.

PEmicro supports a wide selection of STMicroelectronics' STM32 device families. Many STM32 devices include a set of user configurable option bytes that can control features such as HW/SW watchdog, read protection, and write protection. These options give users a convenient way of changing the settings of their device. Configuring option bytes of a STM32Fx or STM32Lx device is made easy with our PROG software and Cyclone Image Creation Utility software


How to use PEMicro's Multilink and Cyclone Interfaces with Keil's MDK-ARM IDE

by Zahar Raskin on Apr 13, 2018

PEmicro's run control and FLASH programming support is fully integrated into ARM's MDK-ARM Keil uVision Integrated Development Environment v5.25 for ARM microcontrollers. This provides debug capabilities via PEmicro's Multilink, Cyclone and embedded OpenSDA debug interfaces for a broad range of ARM devices from NXP, STMicroelectronics, Atmel, Cypress, Infineon, Silicon Labs and many others. For complete list of ARM devices that PEMicro supports, please visit the following page:


Gang Programming with Cyclone Programmmers

by Esteban Gonzalez on 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.