PEmicro Blog

PEmicro Debug and Programming Tools Support NXP's MCX C-Series Devices

Jul 26, 2024

PEmicro's development and production tools have added support for NXP's MCX C-Series microcontrollers. The MCX C-Series features Arm® Cortex®-M0+ and is designed to be both efficient and cost-effective, Because of this the devices are ideal for general-purpose applications. They suit a wide array of use cases, and feature USB and segment LCD options. They are intended to provide flexible and scalable memory and packages.

Read more...

STMicroelectronics: Provisioning/Securing STM32H503 Devices with Password Regression

Jun 14, 2024

STMicroelectronics' STM32H503 devices are based on the ARM Cortex M33 and offer high performance and power efficiency suitable for a wide range of applications. In addition, the STM32H5 product life-cycle adds a layer of security, allowing the user to secure/unsecure a device by moving it through product states. The following example details how to step through a simple product lifecycle.

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

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

PEmicro Adds Support for Renesas RA8

Mar 14, 2024

PEmicro's development and production programmers now support Renesas RA8 series MCUs.  

The Renesas RA8M1 group features the industry's first 32-bit microcontrollers based on the ARM Cortex-M85 (CM85) core, delivering breakthrough performance of over 3000 CoreMark points at 480 MHz, with fully deterministic, low latency, real-time operation that enables customers’ most demanding application needs. 

The RA8D1 MCU Group, also based on the ARM Cortex-M85 core, is the industry's first 32-bit graphics-enabled microcontroller also delivering breakthrough performance of over 3000 CoreMark points at 480 MHz and superior graphics capabilities that enable high resolutions display and Vision AI applications. 

These are general-purpose MCU devices and address diverse high-performance and compute-intensive applications in Industrial Automation, Home Appliances, Smart Home, Consumer, Building/Home Automation, and Medical/Healthcare market segments.

Read more...

PEmicro Adds Support for STMicroelectronics BlueNRG-LP and BlueNRG-LPS

Feb 26, 2024

PEmicro's  development and production programmers now support STMicroelectronics' BlueNRG-LP and BlueNRG-LPS microcontrollers based on ARM Cortex®-M0+. The BlueNRG series provides an ultra low-power programmable Bluetooth SoC solution to help bring wireless products to market.

Read more...

Renesas: Securing Renesas RA/Synergy Devices via ID Code Protection

Feb 23, 2024

It is crucial to be able to prevent access by third parties to on-chip flash memory. Renesas RA and Synergy devices offer several means of security, one of which is called ID Code protection. After the MCU starts up in boot mode, ID authentication is performed when a host such as a PC is connected, in order to prevent unauthorized access. PEmicro's tools allow users to take advantage of ID Code protection within the OCD/Serial Programmer ID Setting Register (OSIS) of supported Renesas ARM processors.

Read more...

PEmicro Adds Support for STMicroelectronics STM32H5

Feb 23, 2024

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.

Read more...

Texas Instruments' MSPM0x Devices Supported, Factory Reset Ability Added

Feb 20, 2024

Update: as of Feb 20th, 2024, MSPM0L1345 & MSPM0L1346 supported, MSPM0C device family supported, and Factory Reset support added.

PEmicro's development and production tools now support MSPM0L and MSPM0G ARM Cortex-M0+ MCUs from Texas Instruments. ARM Cortex-M0+ MCUs are highly scalable and deliver the sensing and processing features that developers are seeking.

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

Combining Multiple Data Files for Programming via Queuing

Dec 20, 2023

PEmicro's PROG and CPROG flash programming software supports binary (.BIN) data files. This support is implemented by using the "QB" command, which together with the "QO" command constitutes a queue-based approach in PROG/CPROG software that allows the user to combine multiple data files. This article will help the user understand this approach, and how to use the "QO" and "QB" commands, and their counterpart. "CQ" (Clear Queue).

Read more...

PEmicro Adds Debug and Programming Support For OMNIVISION's OMX14X Devices

Sep 28, 2023

PEmicro's development and production tools now support OMX14X microcontrollers from OMNIVISION. OMNIVISION’s core strengths are its proprietary image sensing, state-of-the-art CMOS processing, and packaging technologies. Through outstanding pixel design, semiconductor manufacturing processes and package development, OMNIVISION sensors enable customers to capture images at higher resolutions, lower light levels, with better image quality, and in less space than previously.

Read more...

PEmicro Supports Debug and Programming of Yuntu YTM32B1LD0 Devices

Aug 21, 2023

Update: As of September 28 2023, YTM32B1LE0, YTM32B1ME0, and YTM32B1MD1 are also supported.

PEmicro's development and production tools now support YTM32B1LD0 microcontrollers from Yuntu. Yuntu is a semiconductor and integrated circuit design company specializing in automotive-grade chips without wafer fabrication. It provides comprehensive solutions for automotive-grade chips to customers and ensuring innovation in global intelligent transportation technologies. Their YTM32B1LD0 processors are high-performance devices with a rich selection of peripherals and safety features.

Read more...

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.

Read more...

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.

Read more...

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.

Read more...

Infineon's MOTIX™ TLE9844 and TLE9879 Devices Now Supported By PEmicro Tools

May 17, 2023

PEmicro's development and production tools now support TLE9844 (Cortex M0) and TLE9879 (Cortex M3) devices from Infineon. These MOTIX™ Embedded Power ICs are highly integrated products that save space and energy, improve the overall system reliability through advanced diagnosis features and reduce the overall cost due to a minimum number of components. They fit with a range of motor control applications where a small package form factor and a minimum number of external components are essential, such as window lift, sunroof, wiper, auxiliary pumps, HVAC fans and engine cooling fan applications.

Read more...

PEmicro Supports Infineon 32-bit XMC7000 Industrial Microcontrollers

Mar 22, 2023

PEmicro's development and production tools now support Infineon's 32-bit XMC7000 Industrial Microcontrollers (Arm® Cortex®-M7). The XMC7000 architecture is built on a low-power 40-nm process technology and the MCUs offer best-in-class compute performance addressing high-end industrial applications.

Read more...

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

NXP: Using PEmicro Tools to Enable S32K3xx Secure Debug Support

Nov 16, 2021

NXP's scalable S32K3xx device family features an advanced secure debug mechanism, and is based on secret keys to protect user applications throughout the development phase. PEmicro debug tools, which are deeply integrated with NXP’s S32 Design Studio and other IDEs, include Python scripts to enable and use the secure debug feature. This article will walk the user through that process.

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

NXP: Using PEmicro's Secure Boot Utility for NXP's i.MX RT10xx/RT11xx

Nov 02, 2020

NXP’s i.MX RT10xx and RT11xx 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...

Update to PROG Software Licensing

Apr 25, 2020

PEmicro is changing its licensing for PROG software. Effective Monday, April 27, 2020 the license 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...

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

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

Silicon Labs: Flash Secure/Unsecure for Silicon Labs Gecko Devices with Time-Sensitive AAPs

Mar 25, 2019

PEmicro considers the privacy of its customers' intellectual property to be of utmost importance. Silicon Labs' 32-bit devices feature an Authentication Access Port (AAP) as part of their security features, and for some of these devices, a debugger may have a limited time to access this port when communicating with an unsecured device. With that in mind, PEmicro software supports secure, unsecure, and mass-erase for Silicon Labs devices with these debug time-sensitivities, which can help users keep their valuable data safe.

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

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

Understanding the Base Address

Mar 04, 2009

PEmicro’s PROG programming software will sometimes prompt the user to enter a “Base Address”. In this article, we discuss what the base address is and why it exists.

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 duanting task. In this article we discuss how to quickly determine the programming algorithm that correctly matches a specific hardware setup.

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