With the release of Cyclone software v11.66 and PROG v9.91, PEMicro’s development and production tools now include support for Silicon Labs EFR32xG26 High Performance Wireless microcontrollers. The EFR32xG25 MCU is based on the ARM Cortex-M33 and designed for complex IoT solutions. This support includes the EFR32BG26 High-Performance Energy-Efficient Bluetooth LE family, the EFR32MG26 Multiprotocol Wireless SoC for Matter, and the EFM32PG26 Low power high-performance IoT Module with AI/ML Hardware Accelerator. New device support added for the following part numbers: EFR32BG26B311F1024IL136, EFR32BG26B311F1024IM68, EFR32BG26B311F2048IL136, EFR32BG26B311F2048IM48, EFR32BG26B311F2048IM68, EFR32BG26B321F1024IM68, EFR32BG26B321F2048IM48, EFR32BG26B321F2048IM68, EFR32BG26B410F3200IM48, EFR32BG26B411F3200IM48, EFR32BG26B420F3200IM48, EFR32BG26B421F3200IM48, EFR32BG26B510F3200IL136, EFR32BG26B510F3200IM48, EFR32BG26B510F3200IM68, EFR32BG26B511F3200IL136, EFR32BG26B511F3200IM48, EFR32BG26B511F3200IM68, EFR32MG26B211F2048IM68, EFR32MG26B211F3200IM48, EFR32MG26B221F2048IM68, EFR32MG26B221F3200IM48, EFR32MG26B311F3200IL136, EFR32MG26B410F3200IM48, EFR32MG26B410F3200IM68, EFR32MG26B411F3200IM48, EFR32MG26B411F3200IM68, EFR32MG26B420F3200IM48, EFR32MG26B420F3200IM68, EFR32MG26B421F3200IM48, EFR32MG26B421F3200IM68, EFR32MG26B510F3200IL136, EFR32MG26B510F3200IM48, EFR32MG26B510F3200IM68, EFR32MG26B511F3200IL136, EFR32MG26B511F3200IM48, EFR32MG26B511F3200IM68, EFR32MG26B520F3200IM48, EFR32MG26B520F3200IM68, EFR32MG26B521F3200IM48, EFR32MG26B521F3200IM68, EFM32PG26B101F512IL136, EFM32PG26B101F512IM68, EFM32PG26B301F1024IL136, EFM32PG26B301F1024IM68, EFM32PG26B301F2048IL136, EFM32PG26B301F2048IM68, EFM32PG26B500F3200IL136, EFM32PG26B500F3200IM48, EFM32PG26B500F3200IM68, EFM32PG26B501F3200IL136, EFM32PG26B501F3200IM48, EFM32PG26B501F3200IM68
With the release of Cyclone software v11.66 and PROG v9.91, PEMicro’s development and production tools now support the Renesas RA4C1 MCU device family. The RA4C1 group are low power, 32-bit microcontrollers (MCUs) based on the Arm® Cortex®-M33 (CM33) core with TrustZone®, delivering an ideal balance of low voltage operation, low power consumption and high performance combined with an advanced security engine needed by many security sensitive applications. The RA4C1 offers up to 512 KB of code flash memory, 8 KB of data flash memory and 96 KB of SRAM The algorithms, Renesas_R7FA4C1BB_256KB.arp and Renesas_R7FA4C1BD_512KB.arp, include erase/program/verification support for the 256KB or 512KB code flash region respectively, the OSIS region, and the 8KB data flash region. New device support added for the following part numbers: R7FA4C1BB3CFP, R7FA4C1BB3CFM, R7FA4C1BD3CFP, R7FA4C1BD3CFM
With the release of Cyclone software v11.66 and PROG v9.91, PEMicro’s development and production tools now support the Elmos 53306 BLDC Motor Microcontroller. Support is included for the 96KB internal flash memory, 2KB Fuse, and 256 byte EEPROM regions with the Elmos_53306_96KB.arp, Elmos_53306_2KB_FUSE.arp, and Elmos_53306_256B_EEPROM.arp files respectively. Programming to the customer alternative signature in the FUSE region will set the password. To reconnect to the target after the password has been set, select the security settings, enable the checkbox, and enter the 64-bit password. If the connection fails, then a full power on reset (POR) is required before attempting to connect again. For new Elmos device support, please submit a support request ticket here. New device support added for the following part numbers: E53306A78B, E53306A99H
With the release of Cyclone software v11.66 and PROG v9.91, PEMicro’s development and production tools now support the TI MSPM0G5115, MSPM0G5116, MSPM0G5117, and MSPM0G5187 MCUs. These new MCUs support the flash memory sizes of 32KB, 64KB, and 128KB. Each respective algorithm supports programming to both the MAIN and NONMAIN regions of flash. Factory reset can be performed by enabling “Mass Erase upon Connection to target” in the connection manager and connecting to the target. New device support added for the following part numbers: MSPM0G5115SPMR, MSPM0G5116SPMR, MSPM0G5117SPMR, MSPM0G5187SPMR, MSPM0G5115SPTR, MSPM0G5116SPTR, MSPM0G5117SPTR, MSPM0G5187SPTR, MSPM0G5115SRGZR, MSPM0G5116SRGZR, MSPM0G5117SRGZR, MSPM0G5187SRGZR, MSPM0G5115SRHBR, MSPM0G5116SRHBR, MSPM0G5117SRHBR, MSPM0G5187SRHBR, MSPM0G5115SYCJR, MSPM0G5116SYCJR, MSPM0G5117SYCJR, MSPM0G5187SYCJR, MSPM0G5115SRUYR, MSPM0G5116SRUYR, MSPM0G5117SRUYR, MSPM0G5187SRUYR, MSPM0G5115SRGER, MSPM0G5116SRGER, MSPM0G5117SRGER, MSPM0G5187SRGER, MSPM0G5115SDGS20R, MSPM0G5116SDGS20R, MSPM0G5117SDGS20R, MSPM0G5187SDGS20R
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!!!
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.
With the release of Cyclone software v11.63 and PROG v9.87, PEMicro’s development and production tools now include support for NXP MCXN247,MCXN52x,MCXN53x, IMXRT1186,MCXA34x, S32K356,MCXL25x devices. MCX N series of highly integrated Arm Cortex-M33 microcontrollers are designed for high performance and low power consumption. MCX N includes intelligent peripherals and on-chip accelerators providing multitasking capabilities and performance efficiency. Select MCX N families include NXP's eIQ® Neutron neural processing unit (NPU) for machine learning applications. MCX A series MCUs, powered by the Arm® Cortex®-M33, are general-purpose MCUs designed to address a wide range of applications with scalable device options, low power and intelligent peripherals. The innovative power architecture is designed to support high utilization of I/Os and power efficiency with a simple supply circuit in a smaller footprint. The MCX L series of Industrial and IoT (IIoT) MCUs feature an Arm® Cortex®-M33 core operating up to 96 MHz and an Arm® Cortex®-M0+ core up to 10 MHz. This series features our Adaptive Dynamic Voltage Control (ADVC) for optimized power consumption at low frequency operation i.MX RT1180 Crossover MCUs are dual-core, real-time microcontrollers (MCUs) featuring an Arm® Cortex®-M7 and Arm® Cortex®M33 for high performance and real-time functionality. The i.MX RT1180 includes an integrated Gbps time-sensitive networking (TSN) switch and EtherCAT SubDevice Controller making it ideal for industrial applications. The S32K3 Family of 32-bit microcontrollers (MCUs) offers Arm® Cortex®-M7-based MCUs in single, dual and lockstep core configurations. S32K3 Family offers scalability in number of cores, memory and peripherals, ensuring high-performance and functional safety compliant with ISO 26262 up to ASIL D.
With the release of Cyclone software v11.63 and PROG v9.87, PEMicro's development and production tools now include support for NXP Trimension NCJ29D6 devices. The Trimension NCJ29D6 is based on the ARM Cortex-M33 and has fully integrated impulse radio ultra-wideband low-energy transceiver IC. It is compliant to IEEE 802.15.4 HRP UWB PHY and IEEE 802.15.4z BPRF/HPRF UWB PHY and is designed for secure ranging and radar applications for automotive solutions. The main algorithm support, NXP_NCJ29D6_768KB.arp, enables programming of the user application in the flash memory range 0x00400000 to 0x004BFFFF. New device support added for the following part numbers: NCJ29D6AHN, NCJ29D6AHN-H, NCJ29D6BHN, NCJ29D6BHN-H
With the release of Cyclone software v11.63 and PROG v9.87, PEMicro’s development and production tools now include support for Silicon Labs EFR32FG25 Long Range Sub-GHz Wireless microcontrollers. The EFR32FG25 MCU is based on the ARM Cortex-M33 and designed for long range sub-GHz wireless connectivity for smart metering, lighting, city and building automation. Each EFR32FG25 device support includes two .ARP algorithms that target different regions of the flash memory. The main algorithm, for example SiliconLabs_EFR32FG25A111F1152_1152KB.arp, is used to program, erase and verify data in the main flash and user data regions at addresses 0x08000000 and 0x0FE00000 respectively. The second .ARP algorithm ends with …_DeviceInfo.arp and is used to verify the 1KB device information region at address 0x0FE08000. New device support added for the following part numbers: EFR32FG25A111F1152IM56, EFR32FG25A121F1152IM56, EFR32FG25A211F1920IM56, EFR32FG25A221F1920IM56, EFR32FG25B111F1152IM56, EFR32FG25B121F1152IM56, EFR32FG25B211F1920IM56, EFR32FG25B212F1920IM56, EFR32FG25B221F1920IM56, EFR32FG25B222F1920IM56
With the release of Cyclone software v11.63 and PROG v9.87, PEMicro’s development and production tools now support IMMORTA Wuhan Xinbida Microelectronics silicon including the IM90x Microcontroller family. IMMORTA is an electronics chip developer in China delivering high performance automotive grade chips that ensure stability and safety. Support for IMMORTA’s IM90x devices are included now with the latest PEMicro development and production tools. The IMMORTA IM90x is a low-power function safety automotive MCU based on the ARM Cortex-M0+. This MCU is designed with ASIL-B functional safety for automotive motor control solutions, including enhanced security and rich connectivity. The device support for IM904x and IM908x include 3 algorithms each that support the main flash, data flash, and option byte regions. New device support added for the following part numbers: IM904DALBQT, IM904EALBLT, IM904FALBLT, IM908DALBQT, IM908EALBLT, IM908FALBLT
With the release of Cyclone software v11.63 and PROG v9.87, PEMicro’s development and production tools now include support for Microchip PIC32CX-BZ and WBZ Wireless Microcontroller family. The PIC32CX-BZ and WBZ family is based on the ARM Cortex-M4F with integrated wireless features including Bluetooth LE 5.2, Zigbee® 3.0, Thread 1.3.0, and Proprietary and other IEEE® 802.15.4 protocols including MiWi™ protocol. The device algorithm .ARP files support the main flash region as well as the boot flash, device config/boot, and OTP page alias regions (0x00000000 to 0x0000’6FFF). The algorithm also includes user functions to enable Flash protect/unprotect and Flash write protection. New device support added for the following part numbers: PIC32CX1012BZ24032, PIC32CX1012BZ25048, WBZ450PE, WBZ451PE, WBZ451UE, WBZ451HPE, WBZ451HUE
With the release of Cyclone software v11.63 and PROG v9.87, PEMicro’s development and production tools now include support for Microchip PIC32CXSG Microcontroller family. The PIC32CXSG family is a mid-performance MCU based on the ARM Cortex-M4F that combines connectivity, performance, and industry-leading integrated security options to power industrial, IoT, automotive and other applications. The device algorithm, Microchip_PIC32CX1025SG_1MB.arp, supports the main flash and user row NVM configuration. The algorithm also includes user functions to protect/unprotect regions in the main flash memory and set the security bit New device support added for the following part numbers: PIC32CX1025SG41100, PIC32CX1025SG41128, PIC32CX1025SG60128, PIC32CX1025SG61100, PIC32CX1025SG41080, PIC32CX1025SG60100, PIC32CX1025SG61128, PIC32CX1025SG41064
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.
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.
With the release of Cyclone software v11.57 and PROG-HL-ARM software v9.72, CYT6 support joins the rest of the TRAVEO II family, including the support for Dual bank mode for Firmware Over-the-Air (FOTA). CYT6BJ has 16MB of internal code flash and 512KB of work flash and 2048KB of SRAM.
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.
Texas Instruments' MSPM0 devices include a region of flash called NONMAIN that is used to configure the device boot and security properties. This blog post will help users understand how to use PEmicro tools to program this region of flash for the various TI MSPM0 devices.
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.
Users who are managing production programming may have to work with a large number of image files, and may face the need to continually regenerate these images with new binaries, which can pose problems. PEMicro's Cyclone Control Suite offers a powerful yet flexible set of utilities to automate control of the Cyclones on the production line and help address this type of issue. This article describes how to fully automate the process of generating stand-alone programming (SAP) image files to remove the chance of errors that could occur when the process is done manually.
PEmicro 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.
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.
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.
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.
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).
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.
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.
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.
PEmicro's Multilink and Cyclone tools are supported in Renesas' e² studio IDE. e² studio is an Eclipse-based IDE created by Renesas which supports development and debugging of code on Renesas' Synergy and RA devices. This article demonstrates the procedures needed to install and then configure PEMicro Multilink and Cyclone debug support in Renesas e2Studio.
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.
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.
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.
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.
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.
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. 
PEmicro's popular Multilink and Cyclone tools are supported in JetBrains' CLion IDE. CLion is a smart, cross-platform IDE for C and C++ that includes code assistance and generation, on the fly code analysis, safe refactoring, and an integrated debugger with many powerful features. PEmicro's plugin allows the user to debug a broad range of ARM devices from many silicon manufacturers. For the complete list of ARM devices that PEMicro supports, please visit the following page: http://www.pemicro.com/arm/. Below we have included a setup guide to get users up and running with PEmicro tools in CLion 2022.3.1 Build #CL-223.8214.51 running on Windows 10 Pro x64.
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.
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 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.
PEmicro's Multilink Universal (part# USB-ML-UNIVERSAL) recently changed from Rev D. to Rev. E. As part of this update, Multilink Universal Rev. E or later will require an adapter when communicating with NXP's RS08 devices. The RS08 connection otherwise remains the same, and uses the same 6-pin pinout described in the Multilink Universal technical summary.
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.
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.
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.
Version 5.1.4 of PEmicro's GDB Server for ARM devices, is required to support for Azure RTOS ThreadX. The user does not have to do anything to set it up; the GDB server will automatically detect the presence, type, and configuration of an OS by the querying the application's symbol table for identifying characteristics. Using these discovered symbols, the debugger can traverse the kernel's internal data structures to enumerate the available threads and their corresponding execution context. This information is then used to dynamically populate the Eclipse views as the user navigates between the threads.
Beginning October 1, 2021 the latest versions of PEmicro software will only be tested against and designed to work with the following PEmicro hardware interfaces: MULTILINK DEBUG PROBES (2015+) CYCLONE PROGRAMMERS (2016+)
Read more...
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.
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 GCC, Microsoft Visual C, Microsoft Visual C#, Delphi/FPC, Labview, Rust, and Python. Learn more about how you can use the Cyclone Control Suite to automate your production.
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.
NXP''s S32 Design Studio for ARM provides a comprehensive enablement platform for ARM development with full integration of PEmicro’s GDB Server for ARM devices. This provides advanced debug capabilities via PEmicro’s Multilink, Cyclone, and embedded OpenSDA debug interfaces.
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.
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.
The most common mechanism for verifying a programmed device is via the Verify Module command which verifies programmed memory against object files on a byte-by-byte basis. PEmicro also has several verification mechanisms which use Checksums/CRCs. The Verify Checksum (VC) command automatically calculates checksum values for all flash memory ranges in a user's object files. The programmer then runs an algorithm to calculate checksums for these device regions and compares it to the ones calculated from the object file. The advantage of this method is that it is faster than byte by byte verification when the debug connection is slow. The Verify Module CRC to Value (VV) command calculates a checksum for the entire device and compares it to a value provided by the user. This is often used as an addition step after byte by byte verification to check the state of the entire flash (even unprogrammed regions).
The Embedded Online Conference is a virtual conference for Embedded Systems, DSP, Machine Learning and FPGA Engineers, which is taking place on Weds. May 20 & Thurs. May 21, 2020. PEmicro is offering a presentation that describes the security measures that are used on Cyclone programmers to protect valuable IP. PEmicro president Kevin Perreault discusses Cyclone cryptography, restrictions on programming images, the ease with which a user can implement these security features, and more. Watch the presentation on the Show Floor page.
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.
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.
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: These commands allow the developer to individually program user options through the use of an IDE.
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:
Read more...
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:
Read more...
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.
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.
ARMv7-M devices have the ability to halt when specified exceptions occur. If exception catching is enabled, the processor will halt when a user's code hits the corresponding fault handler. Exception catching serves as an aid to development by alerting users in real-time about exceptions that occur in their code. When installed in NXP's MCUXpresso IDE, PEmicro's GDB Server plug-ins from v3.96 onward include options for exception catching, and return information about the exceptions that have occurred.
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.
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.
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.
PEmicro's Cyclone programmers are able to program and increment sophisticated serial numbers which are automatically shared between programming images though the use of unique serial number IDs. There are several cases where this is very useful. The first is when a user may want to update their firmware for a product to a new version but the serial number to have persistence. The user may also have different products that need to be programmed with different firmware, but still want to have those products draw from the same serialization sequence. Serial numbers are automatically shared by images within a Cyclone and can be easily shared globally across Cyclones if the programming image is cloud connected.
Dec. 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.
PEmicro has added powerful SWO debug support to its plug-in for Eclipse-based ARM IDEs. Users previously had to step through code or use breakpoints and halt the device in an attempt to find bugs in their code. This would only provide insight into activity at one point in time. With SWO debug, the user can now take advantage of real-time insight into what’s going on in their device using SWO power, variables, and printf features. Once the device is stopped, they are able to get a broad insight into various events that occurred during execution, via ITM Trace. PEmicro’s SWO plug-in is available for Windows, Linux (Ubuntu), and Mac OS.
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.
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®.
PEmicro has been offering debug probes for over 20 years. Our latest models, the Multilink and the Multilink FX, have become two of our most popular products, with tens of thousands of units sold worldwide. With so many Multilinks in use, PEmicro felt that it made sense to create a program that enables customers to turn in old/broken units for a discount when purchasing new hardware, or when upgrading from a basic to a high-speed model. Therefore PEmicro is pleased to introduce the Multilink Trade-in Program.
Download the latest package for PEmicro ARM support for IAR IDE PEmicro's run control and FLASH programming support is fully integrated into IAR’s Embedded Workbench for ARM microcontrollers. This provides debug capabilities via PEmicro's Multilink, Cyclone and embedded OpenSDA debug interfaces, which support 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: http://www.pemicro.com/arm/.
PEmicro takes its responsibility as a corporate citizen seriously, both as it relates to our products and our footprint as a company. RoHS, CE, Conflict Minerals and other certifications and programs help us to make sure our products live up to our own and industry standards. We believe environmental compliance is an essential part of doing business and strive to meet regulations and certifications that make the world a safer and healthier place for all.
Download the Installer for PEmicro support under Keil uVision IDE 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: http://www.pemicro.com/arm/.
A volume production solution often relies on simultaneous gang programming of different target boards to meet speed and throughput requirements. This programming scenario may integrate Cyclone programmers into a fixture which interfaces to a panel of boards to be programmed. Programming is commonly controlled and monitored from a local computer, especially when customized dynamic data is being added to the main binary image that is being programmed into each target. PEmicro’s gang programming solution is to control many Cyclone programmers simultaneously via the Cyclone Control Suite. A mix of programming images, targets, and data can be simultaneously programmed into many devices while maintaining a high level of performance because each Cyclone is itself an independently operating programmer.
The Cyclone Control Console is a powerful command-line application that allows simultaneous control of one or more Cyclones. Programming images can be added/removed, settings read/set, programming operations launched, and dynamic data programmed. The command-line application displays comprehensive status messages and also returns an error code indicating success or failure. The application can be launched from a script, a console, or another application. It is one of the three main components of the Cyclone Control Suite including: the Cyclone Control Console, the Cyclone Control GUI, and the Cyclone Control SDK.
PEmicro's Cyclones all include a powerful set of automated control software, the Cyclone Control Suite, which supports PC based control of the popular Cyclone LC and Cyclone FX stand-alone programmers. The suite provides comprehensive control of one or more Cyclones from the PC via the following components: the Cyclone Control GUI application, the Cyclone Control Console application, and via custom PC applications built using the Cyclone Control SDK. Ways to control the Cyclone include programming launch, recovering results, managing images resident on a Cyclone, adding unique programming data for each target, as well as recovering descriptive errors.
PEmicro’s product line of Cyclone stand-alone programmers provides a fast, robust, and automated solution for production-scale programming of microprocessors. However, production facilities may desire an even higher level of automation than the single-button touch capability that is offered by the Cyclone. In this article, we discuss using the PEmicro's Cyclone Control SDK to automate programmer control, and the levels of flexibility and scalability that it offers.
Note: This blog post was updated in July 2019 with new information regarding Cyclone image encryption (part of the ProCryption Security feature). As part of the Cyclone Control Suite, PEmicro includes a graphical application called the Cyclone Control GUI that allows the user to add and remove images, access Cyclone settings, read Programming Image properties and statistics, and remote access a Cyclone's display. It also provides the user with tools to manage ImageKeys (for encrypted images), serial files, and optional Cyclone licenses.
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.
PEmicro offers three USB Multilink debug probes, each with different features or device support. In this video, Edison Tam offers a brief overview of our Multilinks to help users decide which Multilink would be best suited to their project. The Multilink can be the centerpiece of an excellent debug setup. There's also much more information about Development & Debug available in our Learning Center.
There comes a time when an embedded application becomes complex enough that it requires an operating system. This may be because of a need for rich driver libraries, or a sophisticated task scheduling engine. In either case, a developer needs an equally sophisticated debugger to provide invaluable context information of their application. To that end, PEmicro introduced OS-aware debugging in its GDB Server for ARM devices. Initial support is available now for FreeRTOS, with further OS modules to be developed. PEmicro's GDB Server for ARM devices is available for download at no cost and works with PEmicro Multilink, Cyclone, and OpenSDA hardware interfaces.
PEmicro’s GDB Server Plug-in for ARM devices features the ability to view variables and memory while a target ARM device is running. This Eclipse plugin can be installed in any Eclipse-based IDE and supports the debug of ARM microcontrollers via PEmicro’s Multilink, Cyclone, and OpenSDA debug hardware. The “Real Time Expressions” view, which is part of the plugin, is similar to the normal expressions view, except that it works while the part is running.
PEmicro’s GDB Server can be installed directly into an Eclipse based IDE from an update site on PEmicro’s website. This adds the ability to debug via PEmicro’s Multilink, Cyclone, and OpenSDA hardware interfaces via the standard GDB debugger. Features include flash programming, breakpoints, watchpoints, trim, memory preservation, real-time variables, semi-hosting, and more. PEmicro periodically updates the plugins on its website with new device support, new features, and bug fixes.
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:
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.
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?
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.