PEmicro logo
Cart New Account Login

Logo image
HomeAbout usProductsSupportForumsBlogCustomer Service

by Steve McGrath

Historically, PEmicro's PROG has limited the user to specifying one object file at a time to be programmed. But users occasionally encounter situations where they would want to program their bootloader, application, and some additional security settings, all at the same time. Such a configuration was possible using PROG, but quite cumbersome. So PEmicro has implemented a solution that allows programming of multiple object files using a single “PM” and “VM”. This solution is the new “QO” (Queue Object Data) command, which replaces the legacy "SS" command.


by Keith McNeil

PEmicro's website and our shipped software are not affected by the recent Apache log4j vulnerability. Users with additional questions or concerns may contact us at: technical-info (at)

by Keith McNeil and Takao Yamada

Beginning October 1, 2021 the latest versions of PEmicro software will only be tested against and designed to work with the following PEmicro hardware interfaces:


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


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

by Keith McNeil

Updated Sept. 29, 2020.

PEmicro remains open, however most of our employees are working remotely. Our shipping status is as follows: 

  • We ship software orders on the same day they are received, delivered electronically. 
  • Overnight orders received before 3pm are usually shipped same day (must fit in large rectangular FedEx box or smaller). Larger orders or orders that are not overnight usually ship on Tuesdays and Thursdays. 
  • We are only shipping via FedEx
  • For domestic orders, DigiKey will ship some of our product on the same day they receive an order. 
  • For international orders, contact our resellers for their shipping availability. 

The best way to contact us during this time is via email. Our forums are also available for support: 

  • Sales Support: 
  • Technical Support: 
  • Support Forums: 

We hope you and your loved ones remain safe.

by Zahar Raskin

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

WORKAROUND for newer STM32CUBE IDEs with CDT version 10.6 and greater

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

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

Then install the PEMICRO plugin.


by Mika Ichiki-Welches

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, recent PROG software (v6.94) and Cyclone firmware (v10.04) releases now provide support to secure, unsecure, and mass-erase Silicon Labs devices with these debug time-sensitivities, which can help users keep their valuable data safe.


by Zahar Raskin

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:


by Nick DeLeon & Keith McNeil

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.


PEmicro is exhibiting at EmbeddedWorld 2017 in Nuremberg, Germany (Hall 4, Booth 123). We have been developing some exciting technologies that can save time and money during both product development and product manufacturing and will be demonstrating these powerful new features for our GDB Server for ARM devices and our CYCLONE FX programmers.


by Edison Tam

PEmicro is excited to announce that we have recently added debug and flash programming support for a number of new ARM processor families:


by Takao Yamada

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.


PEmicro has announced the release of support for macOS in PEmicro’s Eclipse GDB Server. PEmicro offers a downloadable GDB server plug-in for Eclipse-based 3rd party IDE’s including NXP MCUXpresso, Kinetis Design Studio, and CodeWarrior. It also features full support for PEmicro's Multilink debug probes and Cyclone production programmers, plus NXP’s openSDA series of debuggers and programmers. Apple® users are now able to take advantage of PEmicro's versatile hardware solutions using NXP’s software tools and PEmicro’s GDB server in their preferred operating system.


PEmicro has announced the release of a new Multilink development tool and a new Cyclone manufacturing tool, both focused specifically on ARM Cortex devices.


PEmicro has announced the addition of support for Renesas' RH850 devices to PEmicro's diverse line of embedded systems tools.

Renesas' RH850 is a family of high-performance, low power automotive microcontrollers. PEmicro's powerful Cyclone for Renesas stand-alone programmer now supports these and many other families of Renesas devices.

Current users of compatible PEmicro products can update their product firmware to add support for these devices. The corresponding programming algorithms can be downloaded from PEmicro's online support center.

PEmicro has announced the addition of support Nordic Semiconductor's nRF52 devices to PEmicro's diverse line of embedded systems tools.


PEmicro is now shipping Rev. C of the Cyclone for ARM devices, which represents an evolution in both features and value from the older Rev. B model. PEmicro's Cyclones have set the standard for powerful, versatile production programming and debug. The Cyclone for ARM devices was designed to offer the very best of the Cyclone platform with a focus on enhanced security, extremely fast performance, test, and expandability.


PEmicro is pleased to announce that support has been added to its products for files using version 3 and version 4 of the ELF/DWARF format. This is in addition to existing support for ELF/DWARF version 2 and includes both debug and object information handling. Support for 64-bit objects and structures within the ELF/DWARF files has also been added. Support for these additional file formats is available today in PEmicro's debug, flash programming, and test products.

PEmicro has further expanded its ARM® device support by today announcing support for Maxim MAX716xx processors. Users of PEmicro's Cyclone for ARM devices production programmer will be able to take advantage of this support to work with these Maxim ARM devices.

More about these devices, from Maxim's product page: "The MAX71617 is a low-power, single-phase energy measurement system-on-chip (SoC), and the MAX71637 is a low-power polyphase energy measurement SoC."

Users may visit to check whether their specifc device is supported.

ARM and Cortex are registered trademarks of ARM Limited or its subsidiaries.

PEmicro has announced that its software products, which include flash/EEPROM programmers, in-circuit debuggers, interface library routines, and other embedded systems tools, are now officially compatible with the Windows 10 operating system.

Windows is a registered trademark of Microsoft Corporation.

PEmicro has further expanded its ARM® device support by today announcing support for Cypress' PSoC® 4 and Toshiba's TX00/TX03/TX04 processors. Users of PEmicro's Cyclone for ARM devices production programmer will be able to take advantage of this support to work with these Cypress and Toshiba ARM devices.

Cypress' PSoC® 4 are very low-power 32-bit ARM Cortex®-M0 devices that can integrate analog and digital ICs. Toshiba's TX00, TX03, and TX04 represent a selection of ARM® Cortex®-M devices that, collectively, offer high energy efficiency, high-precision analog functions, high code density, fast interrupt response times, and DSP extensions.

Users may visit to check whether their specifc device is supported.

ARM and Cortex are registered trademarks of ARM Limited or its subsidiaries. PSoC is a registered trademark of Cypress Semiconductor Corporation.

Supported Architectures

  • Kinetis®
  • S32
  • LPCxxxx
  • ColdFire® V2/V3/V4
  • ColdFire+/V1
  • MPC5xx/8xx
  • Qorivva® (MPC5xxx, SPC5xxx)
  • DSC
  • MAC7xxx
  • S12Z
  • HC(S)12(X)
  • HCS08
  • HC08
  • RS08
  • ARM® Cortex® processors

AUSTIN, TX – June 22, 2015 - PEmicro's Cyclones have set the standard for powerful, versatile production programming and debug. We have completely redesigned the Cyclone Platform with state of the art, high-speed technology. We have maintained compatibility with our existing product line while combining support for many target architectures in a single unit and focusing on outstanding security, performance, and features.

Join us at the Freescale® Technology Forum (FTF) in Austin, June 22-25. Come visit us at booth #617 for a chance to win one of two Cyclone Universal FX units, once they are released!

In addition to supporting more target architectures, these new Cyclones offer several improvements over their predecessors:

  • Large internal memory: 1GB+ secure memory storage.
  • Focus on security: Internal memory protection & encryption, anti-tampering technology, tie images to specific Cyclones, programming count limits, date range limits, logging, etc.
  • Extremely fast target communications: 25mb/s+
  • Enhanced Interface: 4.3" Touch Screen, 1M touch Start Button.
  • External memory: SDHC port for external memory cards
  • Test Support: Images can run test code before programming
  • And more! Launch port, battery backed clock, provides and switches power to target, expanded architecture support, bar code scanner support, current & voltage measurement, etc.

Join Us On Facebook & Twitter

Like us on Facebook and follow us on Twitter for the latest news about the upcoming release of the Cyclone Universal & Cyclone Universal FX.

Click to learn more about the Cyclone Universal & Cyclone Universal FX.

ARM and Cortex are registered trademarks of ARM Limited (or its subsidiaries).
Freescale, Qorivva, Kinetis, and ColdFire are registered trademarks of Freescale Semiconductor, Inc.

BOSTON – March 3, 2015 - PEmicro announced support for Atmel's SAMxx ARM devices. Users of PEmicro's Cyclone for ARM devices production programmer will now be able to take advantage of this support to work with Atmel's SAMxxx ARM devices. SAMxxx devices are low-power, energy-efficient microcontrollers that include ARM Cortex cores.

PEmicro announced the release of combined MSD and DEBUG OpenSDA firmware applications. The latest collection of OpenSDA applications supports MSD, DEBUG and CDC virtual serial functionality without requiring one to switch back and forth between MSD and DEBUG applications. The latest OpenSDA collection includes applications for all Freescale Freedom and Tower OpenSDA-based evaluation platforms and can be used under Windows® 8.x/7/XP as well as Linux® and Mac OS® operating systems.


BOSTON – September 12, 2013 - P&E Microcomputer Systems announced the release of its PROGS12ZZ in-circuit flash programming software for Freescale's S12Z devices. S12Z MCUs are integrated, mixed-signal devices designed for efficiently developing automotive applications. PROGS12ZZ works in tandem with P&E hardware interfaces, such as the Multilink Universal, Multilink Universal FX, or Cyclone PRO, to program Freescale S12Z devices. These pairings represent a variety of economical, versatile, and powerful programming solutions.

BOSTON – July 2, 2013 - P&E Microcomputer Systems has released its new PROGDSC flash programming software. PROGDSC is Windows-based in-circuit flash programming software for Freescale's DSC devices, and includes the CPROGDSC command-line programmer for scripted automated programming. Those who wish to use the software may download the full version from a link on the product page, where they will also find a link for requesting a license for the software free of charge.

PROGDSC communicates with target devices through one of P&E's compatible hardware interfaces. The Multilink Universal and high-speed Multilink Universal FX are development interfaces, while the Cyclone MAX is one of P&E's flagship Cyclone stand-alone production programmers: it's made to withstand the rigors of a production environment, can be used manually or fully automated, and is the ideal solution when programming speed is crucial. 

BOSTON – December. 17, 2012 - P&E Microcomputer Systems, Inc. a leading manufacturer of third-party tools for Freescale microprocessor, announced the release of  two new UNIT Hardware Interface Libraries: UNITACMP for ARM® Cortex™ processors,  and UNITS12Z  for Freescale's S12Z processors. P&E's UNIT libraries consist of routines that interact with and control P&E's hardware interfaces. This allows users to create custom run-control and test applications. Standard UNIT licenses allow the applications to be used on up to 5 computers. P&E also offers Distributable versions of its UNIT software which can be used on an unlimited number of computers. 

UNITACMP can be used to control ARM Cortex devices with P&E's Multilink Universal and Multilink Universal FX development interfaces, Tracelink trace-capture debug interface, and Cyclone MAX production programmer. 

UNITS12Z  can be used to control S12Z devices with P&E's Multilink Universal and Multilink Universal FX development interfaces, and Cyclone PRO production programmer. Support for Tracelink trace-capture debug interface will be added in the near future. 

ARM is a registered trademark and Cortex a trademark of ARM, Limited.


Freedom boardBOSTON – Sept. 21, 2012 - With the recent launch of Freescale's Freedom platform for Kinetis KL25 microcontrollers, P&E Microcomputer Systems Inc., a leading developer of third-party tools for Freescale microcontrollers, is pleased to announce that it is hosting an OpenSDA resource page to provide device drivers, firmware updates, and additional information to users of the FRDM-KL25Z evaluation board. OpenSDA is the open standard which the Freedom platform uses to enable USB-based serial and debug communications. P&E's OpenSDA resource page is available at

P&E is a key OpenSDA partner who developed much of the software which resides on the Freedom board, including mass storage and debug applications. The mass storage device (MSD) is a bootloader which allows programming and other applications to be loaded quickly. P&E's debug application provides JTAG/SWD debug and virtual serial interfaces and is broadly supported by several popular toolchains, including Freescale's CodeWarrior and software by IAR and Keil.

BOSTON – Aug. 27, 2012 - P&E Microcomputer Systems has announced the release of its latest Hardware Interface Drivers, v.11. The updated drivers include preliminary support for the upcoming Windows 8 operating system, as well as support for OpenSDA hardware. P&E maintains a resource page for OpenSDA firmware and drivers at

P&E's latest Hardware Interface Drivers may be downloaded at:

BOSTON – Feb. 28th, 2012 - P&E Microcomputer Systems Inc., an industry trendsetter in hardware and software development tools for Freescale microcontrollers, is introducing a series of hardware and software development tools that support Freescale’s new S12ZVM device family. This support includes a sub-$1000 trace interface, low-cost development interfaces, debug and programming software, and production programming equipment.


Freescale offers certain development boards with an integrated debug circuit based on Open Source BDM. The Open Source BDM circuit design is an open source, community-driven design. It has been published on Freescale's website, and full documentation can be found in the Community Forums.

P&E Microcomputer Systems has released a free utility that allows the user to upgrade the firmware on the current JM60-OSBDM development board design. The utility may be downloaded at:

P&E's USB Multilink (part# USB-ML-12E) hardware interface is required to perform this firmware update.  The process of updating the firmware via this utility is very simple. Please follow these steps:

1. Plug the USB Multilink into the 6-pin BDM header for a JM60 device in the OSBDM design.

2. Click the "Select" button to browse for the firmware file that you would like to download to the OSBDM design.

3. Click the "Update Firmware" button to complete the firmware update.


New! Follow us on Twitter at!

P&E is pleased to announce that 64-bit Windows support has arrived, including support for Windows 7. P&E software has been upgraded to work under Windows 7 (and other Windows 64-bit operating systems) by using the latest version of our drivers - P&E Hardware Interface Drivers 10. There is no need to worry about P&E software compatibility if you're migrating to a Windows 64-bit OS at home or in the office. 


We're pleased to announce the release of our latest device drivers. This update includes support for Microsoft Windows XP, Vista, and Windows 7 Operating Systems for both 32-bit and 64-bit architectures, as well as some minor bug fixes.

To get started using the drivers:

  1.     Download P&E Hardware Interface Drivers 10
  2.     Run the file drivers_10_install.exe. If you have an older version of our drivers installed, the setup will automatically perform the update.

NOTE: The latest drivers no longer include support for Windows 98 and ME, but P&E will continue to make our older drivers available. Support for PCI devices (e.g., BDM Lightning) and Parallel port devices has been removed for Windows Vista and later, as well as all 64-bit operating systems.

P&E drivers allow P&E applications to communicate with P&E hardware via the parallel port, PCI bus, Ethernet, Serial, and USB.

P&E Microcomputer Systems has expanded its line of UNIT Library Interface Routines by adding a new version that supports Freescale's RS08 microcontroller family. P&E's UNIT Libraries allow the user to create custom Windows applications that can fully control an RS08 processor using either P&E's Cyclone PRO (Rev. C) or USB-ML-12 (Rev. C)  interfaces. It also supports P&E's DEMO9RS08LA8, DEMO9RS08LE4, and DEMO9RS08KB12 development boards, available through Freescale.

The UNIT libraries are frequently used to build custom production line testers. The libraries allow applications to peek and poke memory, peripherals, and other resources of the processor by using P&E interfaces to access the debug port. With these abilities, the application can perform tests of the target hardware, calculate target calibration data, or simply control the target using debug mode. 

More information about P&E's UNIT Interface Library Routines for the RS08 can be found at P&E's website.


PEmicro's flash programming software PROG12Z now supports the Freescale MC9S12XE family of microcontrollers. 

The MC9S12XE family of microcontrollers comes with unique flash memory called D-Flash that can be allocated for Emulated EEPROM (EEE)  which mimics the small sector size and endurance of real eeprom. Before you can program the D-Flash or EEE, the D-Flash must be configured with the "Full Partition" command PROG12Z. This article discusses how to program the D-Flash of MC9S12XE100 using PROG12Z. The P-Flash does not support the allocation of EEE and therefore does not require partitioning.


The size of the D-Flash on the MC9S12XE can be up to 32KB or 128 sectors of 256 bytes each. You can allocate up to 4KB or 16 pages of 256 bytes each  to be used for EEE. Please see Freescale application note AN3490 for a more detailed overview of the EEE implementation. There are two  parameters that control how the software configures the memory: DFPART and ERPART.

DFPART = Number of D-Flash sectors reserved as User D-flash (128 total)

ERPART = Number of pages reserved for EEE (16 total)

The two parameters are required to meet two size conditions to be valid:

1. (128-DFPART) / ERPART >= 8

2. (128-DFPART) >= 12 if ERPART==1

The following table shows how the flash memory can be allocated towards D-Flash and EEE. The arrows indicate that any number in that range is a valid amount of sectors for D-Flash. DFPART and ERPART are in hexadecimal notation.


Open Prog12z and connect to the target board. After entering background mode, the software will prompt you for an algorithm. There are two seperate algorithms for D-Flash and EEE. The D-Flash algorithm is "Freescale_9S12XEP100_1x16xmax16k_max32k_Linear_User_Dflash.12P". The EEE algorithm is "Freescale_9S12XEP100_1x16xmax2k_max4K_EEPROM_linear_1k_page.12P".

Lets choose the algorithm for D-Flash. After selecting your S19 file and before programming, execute the Full Partition (FP) command. The software will prompt you to enter a value in hexadecimal that is the combination of DFPART and ERPART parameters. 


"8000" - Enables 128 sectors (32 KB) of D-Flash and 0 pages of EEE 

"200C" - Enables 32 sectors (8 KB) of D-Flash and 12 pages (3 KB) of EEE

"100C" - Enables 16 sectors (4 KB) of D-Flash and 12 pages (3 KB) of EEE

"0010" - Enables 0 sectors of D-Flash and 16 pages (4 KB) of EEE 

When you want to program the EEE, you should choose the algorithm for EEE. You do not need to run the Full Partition command again unless you want to change the memory configuration. Note that setting up the memory configuration using the FP command will erase all the contents of both D-Flash and EEE.  If you get the error message "Started. Error during .12P specified function.", you have entered an invalid value.


The D-Flash begins at 0x100000. If all your memory is allocated towards D-Flash only, execute the Upload Module (UM) command to dump the memory to a S19 file. UM reads the entire flash regardless of how it was partitioned. If there is D-Flash and EEE, execute the Upload Range (UR) command instead. For example, if there is 8 KB of D-Flash, then upload the range 0x100000 to 0x101FFF.


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.

On most 8-bit and 16-bit processors, the internal flash/eeprom is located at fixed address locations. If this is the case, the associated programming algorithm will NOT prompt the user for a base address, since the address is fixed and already known.

On 32-bit processors and any systems using external flash, the address of the flash may be configured to reside anywhere within the processor’s address space. The developer will decide on an appropriate memory map early in the design process.

For these situations where the flash can be relocated, the PROG software will always move the flash so that it begins at address 0.  However, the developer may not have an object file that matches this new memory mapping. To account for this, the “Base Address” (specified by the user) is subtracted from all addresses in the object file prior to programming.

Below is an example of how the developer’s memory map may differ from the one in PROG. Although the external flash is located at different addresses, it refers to the same physical memory. Here, the user would specify a base address of FFC00000.

The base address should always be the starting address of flash in the developer’s memory map, and not the “first” address where data exists (although in most cases they are the same!)

When you need to convert between object file formats, download one of P&E's free, C language development kits.  These kits include a full GNU compiler toolchain, including Binutils OBJCOPY.

Download PKGPPCNEXUS Starter Edition

Download PKGCFZ_PRO Starter Edition

P&E's ICD In-circuit Debugger and PROG Flash Programmer software, included with the Starter Editions, natively supports several object file formats, including s-record and ELF.  Soon, P&E software will natively support Intel Hexadecimal files.

After installing one of the Starter Editions, run OBJCOPY from the Windows command-line.  The program is located in the gnuin subdirectory within the installation directory.  View the help screen for OBJCOPY from the command-line by typing  "powerpc-eabispe-objcopy" or "m68k-elf-objcopy".  You will see a list of all program options.  To determine which formats are available with OBJCOPY, take note of the final lines of the help screen.  You will use these format names, BFD names, when running OBJCOPY.

To convert a file, use the  "-O" option followed by the name of the desired output format.  The input format may be specified with the "-I" option, though this is often unnecessary.   For example, to convert the object data in a COFF file "file1.coff" to an s-record file "file1.srec":

m68k-elf-objcopy -I coff-m68k -O srec file1.coff file1.srec


powerpc-eabispe-objcopy -I aixcoff-rs6000 -O srec file1.coff file1.srec

If you are looking for greater control of file conversion, look at the options on the OBJCOPY help screen.  For example, with powerpc-eabispe-objcopy you may specify s-record length, force S3 records, and manipulate the linker sections in object files.

search in blog posts


Product pages
Cyclone (122)
Cyclone FX (127)
Multilink (81)
Multilink FX (74)
GDB Server (39)
Prog ACMP (43)
Interface Library Routines (7)

ARM (107)
NXP (98)
Microchip (7)
Cypress (7)
Infineon (8)
Maxim (3)
Nordic Semiconductor (3)
Silicon Labs (6)
Silergy Teridian (1)
STMicroelectronics (14)
Texas Instruments (2)
Toshiba (3)
Renesas (17)

Production Programming (126)
Debug (77)
Automated Control (37)
Miscellaneous (41)

© 2023 P&E Microcomputer Systems Inc.
Website Terms of Use and Sales Agreement