PEmicro Blog

PEmicro Adds Debug Authentication With Password Support for STM32H563xx (Trustzone Disabled)

PEmicro's development and production tools now support STMicroelectronics Debug Authentication with password for STM32H563x devices when TrustZone is disabled. These devices offer enhanced performance and security, better power efficiency, and more embedded peripherals. Such features render them exceptionally suited for deployment across diverse industries, spanning from medical and healthcare to smart city infrastructure, personal electronics, smart home systems, and industrial applications. 


Guide for Users Transitioning From Legacy Hardware

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.


Securing Renesas RA/Synergy Devices via ID Code Protection

Update: as of Feb 20th, 2024: the process for programming OSIS region on Renesas RA processors is greatly simplified and no longer relies on user functions. ID Code Authentication is now also handled directly in the PEmicro software instead of an external Python script

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 now allow users to take advantage of ID Code protection within the OCD/Serial Programmer ID Setting Register (OSIS) of supported Renesas ARM processors.


PEmicro Adds Support for STMicroelectronics STM32H5

PEmicro's development and production tools now support STMicroelectronics' STM32H5 microcontrollers based on ARM Cortex-M33. The H5 devices are intended to offer a compelling combination of performance and security at a reasonable price.


Texas Instruments' MSPM0x Devices Supported, Factory Reset Ability Added

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

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


Queuing Data Files in PROG - "QO" and "QB" Commands Replace "SS" Command

This article was updated on 20 Dec. 2024 to include information about the QB command.

PEmicro recently announced support for binary (.BIN) data files in its popular PROG and 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 in PROG/CPROG software towards data files. This article will help the user understand this new approach, and how to use the "QO" and "QB" commands, and their counterpart. "CQ" (Clear Queue).


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

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


PEmicro Supports Debug and Programming of Yuntu YTM32B1LD0 Devices

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

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


PEmicro Adds Supports for Infineon 32-bit TRAVEO(tm) T2G ARM® Cortex® Microcontrollers

Update, July 28, 2023: PEmicro now supports entire Traveo T2G family including 32-bit Traveo T2G Arm Cortex for Cluster.

PEmicro's development and production tools now support Infineon's 32-bit Traveo(tm) T2G ARM® Cortex® devices. This includes both subfamilies Traveo T2G Arm Cortex for Body and Traveo T2G Arm Cortex for Cluster.

T2G microcontrollers are based on ARM Cortex-M4 (Single core) / M7 (Single core/Dual core) and deliver high-performance, enhanced human-machine interfaces, high security, and advanced networking protocols tailored for a broad range of automotive applications such as electrification, body control modules, gateway, and infotainment applications.


PEMicro Supports Debugging with Renesas' e² studio IDE and RDPM

This blog post was updated July 12, 2023 to include Cyclone FX support in the Renesas Device Partition Manager (RDPM) GUI within e2 Studio and command-line.

PEmicro has added support for its Multilink and Cyclone tools to 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 blog demonstrates the procedures needed to install and then configure PEMicro Multilink and Cyclone debug support in Renesas e2Studio.


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

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


MindMotion Devices Now Supported by Cyclone and Multilink Tools

Note: This blog post was updated on 05 April 2023 to reflect new support for the MindMotion MM32F Series.

PEmicro's development and production tools now support MindMotion's MM32 SPIN and MM32F family of microcontrollers. MindMotion products and solutions are widely used in industrial control systems, smart homes, wearable applications, automotive electronics, instrumentations, and many other fields. MM32SPIN is designed for motor drive and control.  MM32F is designed for the general purpose and high performance market.


PEmicro Supports Infineon 32-bit XMC7000 Industrial Microcontrollers

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


Debug Authentication and Lifecycle Management

PEmicro will show its latest debug authorization technologies at Embedded World 2023, March 14-16 -- Hall 4, Booth 648.

Silicon Manufacturers like NXP, ST, and Renesas are placing security aspects at the forefront, including a secure debug connection. 

With tools like its Secure Boot Management Utility (for NXP's i.MX and LPC devices), PEmicro has been taking the lead in creating solutions that go above and beyond those provided by the manufacturer in order to make the development process as hassle-free and error-proof as possible. 


PEmicro Tools Now Supported in JetBrains CLion IDE

PEmicro is pleased to announce that our popular Multilink and Cyclone tools are now 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:

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.


SiliconLabs Simplicity Studio 4 and 5 : Installing PEmicro Multilink and Cyclone Support

Simplicity Studio 4 and 5 are Eclipse-based IDEs by Silicon Labs which support development and debugging of code on EFM32 devices. PEmicro provides hardware debug probes which provide sophisticated debug of these same EFM32 devices. This blog demonstrates the three steps needed to install and configure PEmicro Multilink and Cyclone debug support in Simplicity Studio. 

UPDATE: All following steps now apply to Simplicity Studio 5


Cyclone Programming Overview for STMicroelectronics Devices

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. 


Errata for USB Multilink Universal Rev. E

The following is an errata sheet which concerns a potential issue with some versions of USB Multilink Universal Rev. E, including how to determine if the user has the affected product, the specifics of the issue at hand, and what the current solutions are. 

Summary: Reset signal (pin 4) on Port C does not toggle. This can potentially cause debug entry problems for the following NXP processor families: HCS08, HC(S)12(X), S12Z, ColdFire+ V1, and ColdFire V1. However, many of these processors do not require the reset signal for debugging and will not be affected by this errata. The HC(S)12(X) and S12Z processors are expected to be the most impacted.

Affected products: This errata affects part number USB-ML-UNIVERSAL Rev E with date code 1121.


RS08 Adapter Available for Multilink Universal Rev. E

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 Announces Development Tool Support for NXP’s New S32K3 Automotive MCU Family

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.


S32K3xx Secure Debug Support

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.


Overview: OS-Aware Debug Support for Azure RTOS ThreadX in GDB Server, MCUXpresso, etc.

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. 


PEmicro Legacy Hardware Support Notice (In Effect As of 1 Oct. 2021)

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


  • 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

Update to ICD & PKG Software Licensing

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.


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

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

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


Using PEmicro's i.MX RT10xx Secure Boot Utility

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.


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

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.


Cyclone Control SDK: Automated Flash Programming with Python

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.


Verifying a programmed device via Checksum

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


Update to PROG Software Licensing

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.


Multilink/Cyclone Debug with STM32CubeIDE from STMicroelectronics

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.


Custom Clock Trimming for Compatible ARM devices with Cyclone & PROGACMP

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.


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

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


Infineon's DAVE™ IDE: Installing PEmicro Multilink and Cyclone Support

DAVE™ is an Eclipse-based IDE by Infineon which supports development and debugging of code on XMC1000 and XMC4000 devices. PEmicro's Multilink debug probes and Cyclone programmers can provide sophisticated debug for these Infineon devices via the DAVE™ IDE.  To use PEmicro's debug probes the user can simply install PEmicro's GDB Server Plug-In for ARM devices and then create a launch configuration.


Programming STM32Fx and STM32Lx Option Bytes

Note: As of January 2020, PEmicro now offers a new method of programming user configuration data through the new Program User Options command. Click here for more details about this command.

PEmicro supports a wide selection of STMicroelectronics' STM32 device families. Many STM32 devices include a set of user configurable option bytes that can control features such as HW/SW watchdog, read protection, and write protection. These options give users a convenient way of changing the settings of their device. Configuring option bytes of a STM32Fx or STM32Lx device is made easy with our PROG software and Cyclone Image Creation Utility software


Exception Catching Support in NXP's MCUXpresso IDE

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.


How to Secure/Unsecure Microchip SAM-Series MCU

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.


Enabling and Disabling ECC on Cypress PSoC5 Devices

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.


How To Secure/Unsecure A Cypress PSoC 4 MCU

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. 


JTAG Daisy Chaining MCUs With PEmicro Multilink & Cyclone

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.


Real-Time SWO Debug and Power Measurement Support in NXP's MCUXpresso

PEmicro is pleased to announce that the Multillink and Multilink FX debug probes have added real-time SWO data capture as well as power consumption monitoring in NXP's MCUXpresso IDE 10.3 release. SWO data capture includes high speed printf() output from running code, R/W accesses to memory and variables, interrupt execution, and more. The power consumption monitoring of the Multilink FX runs up to 250KSamples/S with a current detection range of 1mA to over 200mA. 


PEmicro Multilinks/Cyclones Debug With Powerful New SWO Tools

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.


Cyclone Programmers Overview Video

Note: Some of the material in this video is outdated, however it still successfully explains how the Cyclone functions in a general sense. PEmicro hopes to produce an updated version soon. 

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.


Multilink Trade-in Program

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.


How to use PEMicro's Multilink and Cyclone Interfaces with IAR Embedded Workbench for ARM

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:


How to use PEMicro's Multilink and Cyclone Interfaces with Keil's MDK-ARM 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:


PEmicro Introduces Cyclone Trade-In Program

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.


Debug Tools: Overview of PEMicro's Multilink Debug Probes

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.


NXP's MCUXpresso IDE Debug With Fully Integrated PEmicro GDB Server

NXP has launched the MCUXpresso Integrated Development Environment for LPC and Kinetis microcontrollers with PEmicro’s GDB Server fully integrated. This provides advanced debug capabilities via PEmicro’s Multilink, Cyclone, and embedded OpenSDA debug interfaces including: hardware breakpoints, watchpoints, real-time variables, semihosting, FreeRTOS awareness, the ability to attach to a running target, the ability to provide target power, remote debug, and more.


View Variables While Code is Running in PEmicro's GDB Eclipse Plug-In

The ability to view variables and memory while a target ARM device is running has been added to PEmicro’s GDB Server Plug-in for ARM devices. 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.


Programming Paged Flash for HC(S)12(X) Microcontrollers

The HC(S)12(X) microcontroller family uses a paged flash architecture to expand its addressable memory beyond the standard 64KB (or $0000 to $FFFF). Microcontrollers with this feature treat a 16KB block of memory from $8000 to $BFFF as a memory window.  This window allows multiple 16KB blocks to be switched into and out of program memory.  An 8-bit program page register (PPAGE) tells the microcontroller which block to read.