PEmicro Blog

Join PEmicro at the Embedded World North America 2025 conference at Anaheim for some surprises!

Oct 13, 2025

Join us at the Embedded World North America 2025 Conference, at Anaheim, California USA for a few exciting announcements, including the upcoming Cyclone MultiChannel family and a few other surprises.

The conference runs from November 4th to the 6th, 2025, at the Anaheim Convention Center.

We'll be on Hall C, Level 1, booth 8072.

Come say hello and view our latest!!!


Read more...

Simplified SPI Flash Programming Algorithms via SFDP (NXP i.MX RT and LPC)

Oct 08, 2025

PEmicro's Cyclone and PROG/Multilink programming solutions now incorporate flash algorithms for several NXP architectures which read the Serial Flash Discoverable Parameters from the flash device, allowing the same algorithm to be used with a wide variety of external flash devices. The algorithm reads and adjusts to flash devices by reading their SFDP parameters, including the amount of memory, supported commands, and timing requirements. This makes algorithm selection easier and means that changes in the flash being programmed do not necessarily need a new algorithm. 

Read more...

Parallel Programming with the Cyclone Multichannel Programmer

May 29, 2025

View a video demonstration of PEmicro's upcoming Cyclone Multi-Channel Programmer programming 27 devices in parallel. There are two types of devices that are programmed simultaneously with different programming images. PEmicro's Cyclone MCP programmers support both space constrained and high channel count scenarios. See the demo and then read on for more details.

Read more...

PEmicro Revises eSAP Programming Image Format for Expanded Capacity and Unrivaled Efficiency

Apr 08, 2025

PEmicro has updated and improved the eSAP programming image format; version 3 is the latest iteration. This represents a major upgrade that redefines what's possible by not only enhancing efficiency and speed but also dramatically expanding the capacity of images loaded into the Cyclone.

Read more...

PEmicro Compatible Part Numbers for Custom-Made Boards & Components

Mar 14, 2025

Many PEmicro customers build custom-made boards or ribbon assemblies and are looking to include parts compatible with Cyclone programmers and Multilink debug probes. Below is a listing of recommendations for female header connectors, connections for cable assembly or PCB assembly, in both through hole and surface mount designators. If the part number is not available in the user's region, the product specifications from the links below can at least provide a start towards finding a suitable alternative. Please feel free to contact us for additional support or questions.

Read more...

Cyclone Control SDK: Automated Flash Programming with Rust

Jul 01, 2024

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.

Read more...

STMicroelectronics: Provisioning/Securing STM32H573 Devices with OBKeys (Certificate and Password Authentication)

Jun 25, 2024

PEmicro's development tools and production programmers now support OBK programming for STMicroelectronics' STM32H573 series product line. With all the features of the STM32H563 line, including enhanced performance, better power efficiency and more embedded peripherals, STM32H573 devices also include a secure key storage mechanism which adds another layer of security for OBKeys. 

Read more...

STMicroelectronics: Provisioning/Securing STM32H563 Devices with TrustZone Enabled (Certificate Authentication)

Jun 14, 2024

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. 

Read more...

Generating a Programming Image From The Command-Line

Apr 15, 2024

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.

Read more...

STMicroelectronics: Set STM32 Option Bytes Easily and Accurately with PEmicro Tools

Apr 09, 2024

PEmicro's PROGACMP and Cyclone software have a set of "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.

Read more...

How to Configure WiFi Communications for Cyclone FX Programmers

Apr 09, 2024

PEmicro includes WiFi communications with its flagship Cyclone FX stand-alone programmers, so in addition to USB, Serial, and Ethernet connectivity, the Cyclone FX can also be controlled wirelessly over a WiFi network. This simplifies cabling requirements and allows untethered debug/program of targets. The WiFi feature is available in the latest versions of PEmicro software and is supported by Cyclone FX Rev. C and higher.

Read more...

PEmicro adds iMXRT11xx and LPC55Sxx PRINCE to Secure Boot Utility

Apr 09, 2024

PEmicro's Secure Boot Utility is now updated to support NXP's iMXRT11xx devices and PRINCE encryption for LPC55Sxx devices. The Secure Boot Utility greatly simplifies the steps needed to enable security on NXP's iMX and LPC55Sxx processors, including certificate generation, signing of the user application, and setting the necessary non-volatile security settings in flash memory.

Read more...

STMicroelectronics: Provisioning/Securing STM32H563 Devices with TrustZone Disabled (Password Authentication)

Apr 08, 2024

PEmicro's programming tools support provisioning and securing STMicroelectronics STM32H563 devices in both TrustZone enabled and TrustZone disabled configurations. This article gives an example of how to program the device in the TrustZone disabled configuration. A password is programmed which allows the device to be regressed to the Open (non-secure) state.

Read more...

Guide for Users Transitioning From Legacy Hardware

Mar 05, 2024

As technology evolves over time, PEmicro occasionally retires hardware and software products and classifies them as Legacy items, which are no longer sold or actively supported. When this happens there will almost always be a newer product available as a replacement part, accompanied by a substantial grace period that gives customers time to plan and adapt as necessary. PEmicro tries to make the transition to newer products as painless as possible, so our new products are often drop-in replacements with few additional updates required.

Read more...

PEmicro Adds Support for .BIN Data Files to Programming Tools

Dec 20, 2023

PEmicro has announced support for binary (.BIN) data files for its popular Cyclone stand-alone programmers and PROG & CPROG flash programming software. Previously users would need to convert this type of file to the .S19 format using a free utility. This new support for binary files comes in the form of the "QB" command, which together with the "QO" command highlights a new queue-based approach towards programming data files. 

Read more...

Cyclone Programming: Adding Unique Data to be Programmed Into Each Target Device

Nov 03, 2023

Cyclone production programming images are comprehensive archives containing all the essential information required to program a set of data into a target device. This information encompasses application binaries, programming algorithms, configuration settings, serialization specifics, programming instructions, and more.  These archives are encrypted and designed to resist corruption. Utilizing these programming images offers an efficient and dependable method for programming a substantial amount of identical data into multiple target devices. Interested users can view a closer look at programming images.

Read more...

User-Specific Image Encryption and Count/Date Usage Restrictions

Sep 14, 2023

PEmicro's ProCryption Security feature on Cyclone programmers allows for easy-to-use custom encryption of programming images as well as control over how and when programming images are used. By taking advantage of these security features a user can send their programming images electronically with the confidence that their valuable IP will remain safe and only usable on their own Cyclone programmers. It is also possible to control how many times an image is programmed and when, such that unwarranted programming does not occur.  When used along with our PECloud service, it allows for remote supervision and control of your IP. Once implemented, these security measures are also easy to maintain.  

Read more...

Cloud Setup

Aug 23, 2023

This blog post walks through the setup to be able to use cloud-connected programming jobs with Cyclone Programmers.

In order to create a cloud connected programming job, the user's local software needs to be connected to their Virtual Factory in PEcloud. This allows job information, and optionally the job binary, to be uploaded to the PEcloud during creation.

For a Cyclone to be able to execute the job, the Cyclone needs to be provisioned to the same PEcloud Virtual Factory.  This gives the Cyclone access to the Job information. Additionally, if the job binary is delivered through the PEcloud, the Cyclone needs to be pre-loaded with a copy of the PEImageKey used to encrypt the job. 

Read more...

Renesas: RA Family - Device Lifecycle Programming Support

May 18, 2023

PEmicro's Cyclone FX programmers offer production programming support for the Renesas RA family Device Lifecycle Management (DLM) and TrustZone boundary settings. Device Lifecycle Management and TrustZone boundary settings are used to secure access to the on-chip Flash and RAM from external debug/bootloader access and from untrusted code running internal to the device on devices with DLM Technology and TrustZone support (such as Cortex-M33 devices). Configuration and programming of these settings are made simple with PEmicro's stand-alone programmers.

Read more...

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. 

Read more...

An Overview of PEcloud

Apr 20, 2023

PEmicro has launched PEcloud, a cloud-based production programming Platform for the management of remote production.  Along with PEcloud, an updated version of the Image Creation utility has been released that now has the ability to generate PEcloud connected programming images (Jobs).

PEcloud gives the user a secure delivery method to send programming images to remote Cyclones, enhanced control over their IP being programmed, as well as insight into the production programming process.  It is designed with security in mind, so no matter where in the world the production programming is done, from generation of the programming image on the PC to deployment to PEcloud to downloading onto the Cyclone Production Programmer, customer Firmware IP remains safe. 

Read more...

Stand-Alone Programming Images vs Cloud-Connected Programming Images

Apr 20, 2023

In addition to Stand-Alone Programming (SAP) images, Cyclone Programmers also support Cloud-Connected programming images. Cloud-Connected programming images operate in a very similar way to stand-alone images while using the PEcloud to provide additional visibility and control to the IP owner, as well as facilitate sharing of data (serial numbers, programming restriction counts, logs, etc.) to make programming across Cyclones and Locations easier.

Read more...

The Magic of SAPOBJ

Apr 20, 2023

PEmicro Cyclone programmers are sophisticated production programming tools that use programming images generated in PEmicro’s Image Creation Utility. An image combines an algorithm, binaries, and a programming script which could include  erase, program and verify of their binaries, as well as more complicated scripts along with other features like serial numbers, dynamic data, or running test commands and saving data for programming.

The Cyclone Image Creation Utility offers the ability to save an intermediate non-executable object file, SAPOBj, that stores all the content together in a single object. Later, the user can generate a programming image which wraps encryption or programming restrictions around this archived SAPOBJ.  This is useful when users want to create identical programming files for production but that use different encryption or programming restrictions.

Read more...

PEmicro Development & Production Tools Are RISC-V Ready

Mar 10, 2023

See PEmicro demonstrate RISC-V readiness at Embedded World 2023, March 14-16 -- Hall 4, Booth 648.

The RISC-V architecture, which offers some similarities to the ARM architecture but with a different set of advantages and disadvantages, is positioned to become a bigger part of the marketplace in the coming years. PEmicro is finalizing support for RISC-V devices, including the GD32VF103 from manufacturer GigaDevices. 

Users with plans to work with RISC-V devices are welcome to send us questions and concerns about specific parts they would be interested in programming. 

NXP: Secure Boot Programming for NXP LPC55Sxx Processors

Jun 14, 2022

PEmicro's Secure Boot Utility is now updated to support NXP's LPC55Sxx processors. The LPC55Sxx secure boot feature is a key component in protecting embedded devices as security threats increase both in volume and complexity. PEmicro’s Secure Boot Utility is a graphical user interface which configures Secure Boot for applications running on LPC55Sxx devices and sets device security features to inhibit copying or misuse.  Functionality includes signing applications, generating keys and certificates, setting security options, and running a security analysis of all settings.

The Secure Boot Utility automates building secure boot binary files and is used in the process of generating encrypted secure boot programming images for manufacturing.  The goal is to make sure the user's application data is secure in both the manufacturing stage and when devices are deployed in the field. The tool includes a security analyzer which grades the user's security choices based on how secure it will leave the device after programming.

The Secure Boot Utility is integrated into the Cyclone production programming software and included with the PROGARM programming software.

Read more...

Diagnostic Mode for External SPI Flash Memory

May 09, 2022

PEmicro supports external flash connected to an MCU via the SPI and Address/Data bus interfaces. When performing this type of programming, the algorithm needs to be set up specifically for our programmers to be able to communicate with the flash via the MCU. What must be configured depends on which external bus interface has been chosen for the connection. When using the Address/Data bus, the user will need to configure the external address, data, and bus control pins of the MCU. In the case of the SPI bus, the user will need to configure GPIO pins connected to the external SPI device properly. The modifications are made in the header of the algorithm file. PEmicro's PROGACMP software, as of version 8.84, has an SPI Diagnostic mode that provides the user with a new method to easily test the GPIO configuration in order to help troubleshoot programming issues.

Read more...

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. 

Read more...

Updated "GO" Command Enables Improved Control of MCU Reset Type

Feb 25, 2022

PEmicro has improved user reset capabilities after a flash programming sequence. With the updated implementation of the ‘GO’ command (available with most ARM Cortex processors) in both PEmicro's Cyclone and PROGACMP (v8.76 and up) software-based programming solutions, the user is able to specify the use of a software or hardware reset to reset the MCU. 

Read more...

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.

Read more...

Cyclone Incorporates Automated Run Test Prior to Final Application Programming

Jan 19, 2022

As part of the production programming process, Cyclone FX programmers have the ability to program and run a series of custom test applications in the target processor before final programming is allowed to occur. These custom test applications are written by the end user and include any functionality desired including test and calibration of the target system. The custom test applications indicate to the Cyclone through the debug interface whether they were successful or not and also optionally return generated data to the Cyclone for use later in the programming process. If all of the custom test applications pass, the final application is programmed into the target. This advanced control/automation feature is exclusive to the Cyclone FX programmer model. 

Read more...

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.

Read more...

STMicroelectronics: Using PEmicro Tools to Update the Wireless Stack on STMicroelectronics' STM32WB Devices

Nov 05, 2021

PEmicro tools can be used 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.

Read more...

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:

MULTILINK DEBUG PROBES (2015+)

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

CYCLONE PROGRAMMERS (2016+)

  • Cyclone LC Universal
  • Cyclone LC ARM
  • Cyclone FX Universal
  • Cyclone FX ARM
Read more...

Update to ICD & PKG Software Licensing

Jul 23, 2021

PEmicro is changing its licensing for ICD and PKG software, in the same manner as we previously updated PROG software. Effective today, July 23, 2021, the license that activates ICD and PKG will reside on a Cyclone or Multilink debug probe rather than in the software itself. The user who activates the software will choose a Cyclone or Multilink on which to permanently install the license. This allows that hardware interface to work with ICD and PKG on any machine where a supported version of the software is installed.

Note that the ICD and PKG software itself is unchanged, it is only the licensing which has been updated.

Read more...

Cyclone Programming Demo of NXP's New i.MX RT1170 Devices

Feb 25, 2021

PEmicro offers launch day support of many NXP devices. NXP has now released the i.MX RT1170 series of crossover devices, which are fast, efficient, secure devices ideal for IoT, automotive, and industrial applications.

For this important MCU launch, PEmicro put together a  demonstration of how quickly and easily the user can create and load a programming image, and program an i.MX RT1176 device, using a Cyclone programmer.

Read more...

Cyclone Control SDK: Automated Flash Programming with Visual Basic .NET

Dec 02, 2020

PEmicro has released a Visual Basic .NET 2019 example utilizing the Cyclone Control SDK API.

The Cyclone Control SDK API allows developers to integrate the Cyclone LC and Cyclone FX programmers into their applications. Using the API calls, you can control multiple Cyclones and to read/update Cyclone settings.

The example project can be downloaded from our Github repository

Cyclone Control SDK also includes example applications for GCCMicrosoft Visual CMicrosoft Visual C#, Delphi/FPC, Labview, Rust, and Python.

Learn more about how you can use the Cyclone Control Suite to automate your production.

NXP: Using PEmicro's Secure Boot Utility

Nov 02, 2020

NXP’s i.MX RT10xx/RT11xx and LPC55Sxx devices come with an advanced set of security features which provide a sophisticated level of protection for devices in the field. PEmicro’s Secure Boot Utility is a graphical user interface which configures Secure Boot for applications running on these devices and sets device security features to inhibit copying or misuse.  Functionality includes signing and encrypting applications, generating keys and certificates, setting security fuses, and running a security analysis of all settings.

The Secure Boot Utility automates building secure boot binary files and is used in the process of generating encrypted secure boot programming images for manufacturing.  The goal is to make sure the user's application data is secure in both the manufacturing stage and when devices are deployed in the field. The tool includes a security analyzer which grades the user's security choices based on how secure it will leave the device after programming.

The Secure Boot Utility is integrated into the Cyclone production programming software and included with the PROGARM programming software.

Read more...

NXP: Production Programming NXP i.MX RT10xx/RT11xx devices with Secure Boot

Nov 02, 2020

PEmicro's Cyclone production programmers make programming NXP i.MX RT10xx and RT11xx devices with Secure Boot enabled extremely easy and secure. The Secure Boot Utility, which comes with the programmer, handles application signing, encryption, as well as the details of security fuse configuration and locking for these specific devices. The programmer supports an extremely fast Secure JTAG connection to the target i.MX device.  

PEmicro's Production Programming Images are heavily encoded, and optionally cryptographically secureso the user’s firmware files, encryption keys, fuse settings, and passwords are safely protected from the moment the image is generated through the manufacturing process. Programming images can be restricted for use on specific cyclones, with specified date ranges and programming counts.

Learn about i.MX security features as well as see a demonstration of creating a secure i.MX RT10xx/RT11xx programming image.

Read more...

Python Support for ARM® Cortex(tm)-M processors UNIT Library Routines Now Available

Oct 01, 2020

PEmicro has expanded its line of UNIT Library Interface Routines by adding a package for Python support for ARM® Cortex™-M processors. PEmicro's UNIT Libraries allow the user to create custom Windows applications that can fully control an ARM® Cortex™-M processor using either PEmicro's Cyclone programmers or Multilink debug probes.

Read more...

Cyclone Control SDK: Automated Flash Programming with Python

Aug 18, 2020

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 Python application.

Read more...

Verify SAP Image Integrity Via Checksum with Cyclone Programmers

Jul 17, 2020

PEmicro’s software can calculate a checksum to help verify the data integrity of a SAP (Stand-Alone Programming) or eSAP (encrypted Stand-Alone Programming) image file. This checksum is a 32-bit hexadecimal number such as 0x0123ABCD. This number is unique to the SAP file, which is created by the user via the Image Creation Utility. If there are any differences (algorithms, object files, paths to these files, scripts, settings, description, name of the SAP files, or path of the SAP files) in how two SAP images are built, their checksums will also be different. The checksum should be recorded for a SAP image once it has been validated and becomes a golden file that is used for production. 

Read more...

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

Read more...

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.

Read more...

SD Card Security for Cyclone Programming

May 13, 2020

External memory, in the form of SD Cards, has proven to be very useful for some users as a physical way to distribute programming images to Cyclone programmers. This can be a convenient way to deliver images in scenarios where the Cyclone is not connected to the internet or a PC. 

In order to be used with a Cyclone, SD Cards are first formatted and encrypted at the sector level using industry standard AES encryption. The SD Card AES keys used are a blend of different information, and encryption happens in such a way that each SDCard is uniquely encrypted; only a Cyclone programmer has the knowledge to decrypt it. This means that any Cyclone FX can read the data inside the SD Card, which allows the SD Card to be moved around to different Cyclone FX units while also inhibiting a user from being able to copy the images.

Read more...

Update to PROG Software Licensing

Apr 25, 2020

PEmicro is changing its licensing for PROG software. Effective Monday, April 27, 2020 any licenses purchased from PEmicro, or from an official distributor, that activates PROG will reside on a Multilink debug probe rather than in the software itself. The user who activates the software will choose a Multilink on which to permanently install the license. This allows that Multilink to work with PROG on any machine where a supported version of the software is installed.

Note that the PROG software itself is unchanged, it is only the licensing which has been updated.

Read more...

Programming MCU Fuses, OTP, and Option Bytes

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.

Read more...

Cyclone FX Universal Now Supports Renesas Devices via Adapter

Dec 04, 2019

A Renesas adapter is now available that allows the Cyclone FX Universal production programmer to program all Renesas devices supported by PEmicro.  Cyclone for Renesas users who wish to upgrade to the Cyclone FX Universal programmer may receive a discount by taking advantage of PEmicro's Cyclone trade-in program.

Read more...

Cypress, NXP: Custom Clock Trimming/Calibration During Programming

Nov 21, 2019

Many MCU devices come with an uncalibrated internal clock which can have a center frequency which varies substantially from device to device.  Manufacturing tolerances generally guarantee that a processor’s clock speed is accurate within a wide percentage. Trimming the clock can allow users to calibrate the clocks to within a fairly accurate percentage (often within 0.2%). PEmicro hardware supports the process for auto-calculating and programming the trim values into many different ARM, RS08, HCS08, and ColdFire devices. 

Read more...

Changing the Infineon XMC1000-Series BMI (Boot Mode Index)

Nov 06, 2019

The Boot Mode Index (BMI) is a 2-Byte value stored in Flash that holds information about the start-up mode and debug configuration of an Infineon XMC1000  device. From the factory, XMC1000 series devices are configured with ASC_BSL (ASC Bootstrap Load) mode by default. In ASC_BSL mode, ARM Serial Wire Debug (SWD) capabilities are disabled. During debug entry, PEmicro tools will automatically change the Boot Mode Index (BMI) to "User mode with debug enabled (UMD) SWD", allowing the user to communicate with the Infineon XMC 1000 series through SWD. 

Read more...

Multilink/Cyclone Debug with NXP's S32 Design Studio for Power IDE

Sep 17, 2019

The "S32 Design Studio for Power IDE" from NXP provides a comprehensive enablement platform for Power Architecture with full integration of PEmicro’s GDB Server for Power Devices. This provides advanced debug capabilities via PEmicro’s Multilink, Cyclone, and embedded OpenSDA debug interfaces.

Read more...

Cyclone Tutorial: Generation of a Stand-Alone Programming Image

Aug 29, 2019

Note: The Cyclone Image Creation Utility has changed in significant ways since the creation of this video, although the settings concepts that are discussed remain helpful. We hope to create an updated video soon.

PEmicro's Cyclone stand-alone programmers use Stand-Alone Programming (SAP) images that are created by the user to in-system program a target. This video provides an overview of what constitutes a programming image and demonstrates how to set up a basic SAP image using the Cyclone Image Creation Utility.

Topics covered during setup include:

  • Target Power & Voltage Settings
  • Communication Settings
  • SAP image protection, including RSA/AES encryption that will only allow your SAP image to be decrypted on specific Cyclones 
Read more...

A Step-by-Step Example of Using Image Encryption and Usage Restrictions

Jul 09, 2019

This article features a step-by-step example of a company that wants to use the ProCryption Security features of custom encryption and image limitations to: 

  • Secure their programming images/IP from their own source computers all the way to their own Cyclone programmers at an external manufacturer
  • Limit production programming to occur only in a specific date range
  • Generate their own custom Encryption Keys and provision Cyclones with them
Read more...

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

Read more...

Programming STM32Fx and STM32Lx Option Bytes

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

Read more...

How to Configure and Write Microchip/Atmel Emulated EEPROM

May 24, 2019

Some Microchip/Atmel's SAM-Series devices allow rows of non-volatile flash memory (NVM) to be configured as EEPROM, so that users can treat NVM pages as EEPROM with Atmel's software, and let Atmel's back-end take care of keeping peripheral data safe.

PEmicro's Cyclone in-system programmers and PROGACMP flash programming software each allow users to set up NVM main flash space as emulated EEPROM by programming the EEPROM FUSE bits in the device's User Row. Our latest Microchip/Atmel algorithms support single-byte writes to the User Row, to preserve adjacent User Row settings.

Read more...

Microchip: How to Secure/Unsecure Microchip SAM-Series MCU

Mar 22, 2019

PEmicro prioritizes the safety of users’ intellectual property. Each manufacturer may employ multiple methods for securing or unsecuring a processor, so the goal is to make this process as simple and easy as possible for the user. In this article we'll explore utilizing the “Chip Protect” function of processors, which prevents data from being read or written from an external source. This helps keep data secure. Our example here is the Microchip SAM-Series MCU.

Read more...

Cypress: Enabling and Disabling ECC on Cypress PSoC5 Devices

Mar 21, 2019

Cypress’ PSoC5 line of microcontrollers are a great option for high performance at a low cost. The PSoC 5 provides an Error Correcting Code (ECC) feature to help detect errors in operations that manipulate the flash memory. The ECC peripheral can be enabled or disabled by writing to the Nonvolatile Latch (NVL). The advantage of disabling ECC is that each row of flash gains 32 bytes for data storage, extending the row from 256 to 288 bytes.

Read more...

Cypress: How To Secure/Unsecure A Cypress PSoC 4 MCU

Mar 20, 2019

Cypress’ PSoC 4 Cortex-M0 processor-based microcontrollers offer a few device features to prevent external flash access. Enabling device security features on products prevents third party sources from accessing or manipulating program code and data. This article will detail fo the user the secure and unsecure process for Cypress PSoC 4 devices. 

Read more...

Using Automatically Counting Serial Numbers Managed on the Cyclone

Jan 22, 2019

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.

Read more...

Cyclone Programmers Overview Video

Oct 11, 2018

PEmicro has designed our Cyclone LC programmers, and more advanced Cyclone FX programmers, to be helpful tools for for a broad range of production programming situations. In this video Edison Tam, one of PEmicro's senior design engineers, provides a quick and useful overview of these Cyclone programmers that will help those interested in production programming understand the Cyclone features, as well as how these features can provide specific benefits to a project or production line that save the user time and money. He demonstrates a typical configuration and use case for manual programming, as well as an overview of the control and automation features available with the Cyclone Control Suite.

Much more information about programming with the Cyclone is available in our Learning Center.

Read more...

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

Read more...

Gang Programming with Cyclone Programmers

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.  

Read more...

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.

Read more...

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

Read more...

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

Read more...

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.

Read more...

PEmicro Introduces Cyclone Trade-In Program

Oct 18, 2017

PEmicro is pleased to introduce our Cyclone Trade-in Program which is a simple upgrade path to trade-in an old or non-functional Cyclone unit for a discount on a new Cyclone LC or Cyclone FX programmer.

Read more...

How To Regenerate a Stand Alone Programming Image

Apr 18, 2017

Note: The Cyclone Image Creation Utility has changed in significant ways since this article was originally published, but the explanation remains useful in general terms.

PEmicro 's Cyclone Image Creation Utility allows the user to retrieve the configuration for a Stand Alone Programming (SAP) image directly from a previously saved image. Once the image configuration settings have been retrieved from an image file, the user can then regenerate the image, or modify the settings and generate a new file, or even use those settings with other .s19 files to generate a SAP image with different source but the same configuration.

Read more...

Tip: Chip Select Configuration for External Flash Memory

Mar 22, 2017

In addition to supporting the flash that resides in many different microcontrollers, PEmicro supports flash connected to an MCU via the SPI, I2C, and Address/Data bus interfaces. Depending on how the flash device is connected to the MCU, the programming algorithm may need to be set up to properly configure the external address, data, and bus control pins of the MCU. If you are not sure if you selected the right algorithm for your flash memory, please also read this blog post on selecting a flash algorithm.

Read more...

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.

Read more...

5 Different Ways to Power a Target With a Cyclone Programmer

Feb 07, 2017

Different targets may require different power schemes which could depend on the design of the target board, target voltages, and even the device architecture. The Cyclone LC and Cyclone FX programmers are designed to optionally power a target before, during, and after programming. Power can be sourced at many voltage levels from the Cyclone itself or sourced by an external power supply and switched by the Cyclone.

Read more...

High-Speed Programming For Power Architecture MPC5xxx/SPC5xxx Devices

Jan 24, 2017

PEmicro has just released pipelined programming algorithms for a variety of Power Architecture devices. These new pipelined algorithms can be huge time-savers for those who program Power Architecture devices either in development or on their manufacturing lines, as they result in 50% to 100% faster programming times than using non-pipelined algorithms.

Read more...

Using A Barcode Scanner to Select & Launch Cyclone FX Programming Images

Jan 17, 2017

Automatic selection and launch of a specific flash programming image based on a scanned barcode can improve the speed and accuracy of production programming, especially when there is a varied product mix being programmed. Barcode scanning improves accuracy by making the process of selecting a programming image fast, automatic, and less vulnerable to user error. PEmicro's Cyclone FX programmers have the ability to use a barcode scanner, connected via the Cyclone's host USB port, to initiate programming. When a barcode is scanned, the Cyclone selects a specific programming image based on the barcode and programs the target board accordingly.

Read more...

PEmicro Announces Serial SPI Memory Device Programming Algorithms

Jun 03, 2015

 PEmicro is now providing serial SPI memory device programming algorithms for devices attached to ARM® Cortex-M microcontrollers. There are many reasons to use PEmicro’s algorithms for your programming requirements. Some of the more significant reasons are:

Read more...

External Flash Programming Tips

May 28, 2009

Systems that use memory-mapped external flash require special considerations from a programming perspective. Because there are so many variables, questions about external flash are among the most common types of technical support inquiries that we receive. In this article, we provide an overview of how the PEmicro PROG software handles external flash and offer some tips to help debug a system.  The examples in this article relate to NXP's ColdFire devices, but the concepts can be applied to most microprocessor systems.

Read more...

Choosing the Correct Programming Algorithm

Jan 06, 2009

When using PEmicro's PROG family of programming software, it's necessary to specify the correct programming algorithm to match your hardware setup. Because PEmicro provides thousands of different programming algorithms this can seem like a daunting task. In this article we discuss how to quickly determine the programming algorithm that correctly matches a specific hardware setup.

Read more...

Recommended SAP Sequence for Targets with Trim

Nov 04, 2008

This tip concerns PEmicro's Cyclone automated programmers. We've noticed that on rare occasions some users have observed that although a "PT" (program trim) command has been specified in the SAP programming sequence, the trim value is not programmed. By working closely with Cyclone users, we've discovered that the issue is not that the Cyclone receives the command and fails to program the trim value to the target, but rather the PT operation was accidentally pre-empted by the user. How could this happen if the operation is configured in the Cyclone and all a user needs to do is wait for the operations to finish?

Read more...

Save Data From Erase Module Using Preserve Range

Oct 10, 2008

The Erase Module function of PEmicro programming algorithms generally erases all data in a flash module. Sometimes a user may not wish to fully erase the flash. On algorithms which support selective erase functions (like Erase Object Ranges or Erase Range), those mechanisms can be used instead to only erase the regions desired. On algorithms which only support Erase Module, the algorithm itself can be modified to preserve certain ranges of flash memory. Before erasing the flash, the programmer looks at the ranges to be preserved, saves it, and reprograms it automatically after the Flash/EEPROM has been erased. Some settings in some flashes (like timing TRIM parameters) are automatically preserved.

Read more...