PEmicro | Experts in Embedded tools for Flash Programming and Development
PEmicro logo
Cart New Account Login

Logo image
HomeAbout usProductsSupportForumsBlogCustomer Service


by Mika Ichiki-Welches


NXP has released a new, scalable S32K3xx device family, featuring an advanced secure debug mechanism, 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.

Read more...


by Steve McGrath


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

Read more...


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:

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


by Keith McNeil


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


by Steve McGrath


PEmicro's development and production tools now support ZHIXIN Semi's Z20K11xM devices. ZHIXIN Semi produces high-reliability controllers and processor chips for automotive systems.

PEmicro's Cyclone programmers can be used for secure production programming of Z20K11xM devices, including control & 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...


by Steve McGrath


PEmicro's tools now support AutoChips' MCU AC780x and AC781x devices. AutoChips offers innovative ARM processors designed for automotive electronics and high reliability industrial applications. These include BCM, T-BOX, BLDC motor control, industrial control, AC charging piles, and others.

PEmicro offers compatible development tools (Multilink debug probes with PROGACMP programmer, GDB Server Eclipse IDE plug-in) and production programming tools (Cyclone in-system programmers) to help make AutoChips projects easier and more cost-effective.

Read more...


by Zahar Raskin & Keith McNeil


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

Read more...


by Keith McNeil


PEmicro's Cyclone in-system programmers and Multilink debug probes now support programming of the Renesas Synergy  S5 and S7 series of MCUs. Renesas Synergy Platform MCUs offer a variety of performance and feature sets and are ideal for IoT products and mobile devices.  The S5 series focuses on high integration and the S7 series focuses on high performance.

Read more...


by Edison Tam


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


by Keith McNeil


PEmicro has added support for WIZnet's W7500x devices to the Cyclone in-system programmer, Multilink debug probes, and PROG for ARM Cortex devices programming software. WIZnet's W7500x devices offer a hardwired TCP/IP core and are ideal for internet-connected (IoT) applications.

Current users of the Cyclone and Multilink/PROG can access PEmicro flash programming algorithms, including those for WIZnet's W7500x devices, on PEmicro's flash algorithm support page.



by Keith McNeil


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


by Mika Ichiki-Welches


Article updated Aug. 2021 to reflect additional device support.

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


by Gilbert Yap


Along with clock multiplier and dividers, clock trimming offers a way for users to control the frequency of internal clocks in their target processors. Unlike multipliers and dividers, digital clock trimming allows changes to the internal clock through specific registers. Trim resolution can be any number of bits and different manufacturers provide different levels of trimming. Clocks are typically  trimmed to a specific value from the factory and are within a specific tolerance.

Read more...


by Juan See


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


by Gilbert Yap


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


by Mika Ichiki-Welches


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


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.

Read more...


by Gilbert Yap


PEmicro has expanded its ARM® device support of Cypress’ current PSoC 4, PSoC 5, and PSoC 6 devices. 

PEmicro's popular Multilink debug probes and Cyclone ISP programmers now include support for the following Cypress device families: 4000, 4000S, 4100, 4100S, 4100PS, 4100S Plus, 4100M, 4100BLE, 4200, 4200M, 4200L, 4XX8_BLE, 5200, 5400, 5600, and 5800, as well as Cypress’ new PSoC 6xx6 and 6xx7 series microcontrollers. 

Read more...


by Gilbert Yap


The safety of users’ intellectual property is a top priority for PEmicro. Utilizing the “Chip Protect” function of processors prevents data from being read or written from an external source, which helps keep your data secure. PEmicro is constantly expanding its compatibility with different manufacturers’ device security methods. 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.

Read more...


by Gilbert Yap


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


by Gilbert Yap


PEmicro is constantly expanding its support for device security methods. The Cypress’ PSoC 4 Cortex-M0 processor-based microcontrollers have 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 post aims to detail the secure and unsecure process for Cypress PSoC 4 devices. 

Read more...


by Johnny Ng


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




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



by Johnny Ng


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




search in blog posts

Tags

Product pages
Cyclone (94)
Cyclone FX (97)
Multilink (57)
Multilink FX (52)
GDB Server (26)
Prog ACMP (24)
Interface Library Routines (5)


Manufacturer
ARM (76)
NXP (83)
Microchip (7)
Cypress (7)
Infineon (7)
Maxim (3)
Nordic Semiconductor (3)
Silicon Labs (6)
Silergy Teridian (1)
STMicroelectronics (11)
Texas Instruments (2)
Toshiba (3)
Renesas (11)


Categories
Production Programming (97)
Debug (59)
Automated Control (25)
Miscellaneous (39)



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