Debug Headers and PEPs Overview

What is a Processor Extension Pak and a Debug Header?

A Processor Extension Pak (PEP) contains a debug header, adapter board, and stand-offs. A PEP is what you purchase when you want a debug header.

A debug header is a circuit board that allows an emulator or debugger to debug code for a specific device. A special version of the device (-ICE/-ICD) with on-board debug circuitry is located on the header. Connectors on the side of the header allow it to connect directly or through an adapter to the debug tool. Connectors on the bottom of the header allow it to connect directly or through a transition socket to a target board.

Why Do I Need a Header to Debug?

Some PIC® microcontrollers, particularly low pin count devices (with 20 pins or less), generally must use a header for debugging. This is done to free up I/O lines for your application and to make production parts more affordable. Optional headers are also available for high pin count devices (with 64 pins or higher).

Debugging requires a two-line connection (plus Vdd, Vss, and Vpp) to communicate with the device. In a high pin count device, losing a few I/O lines is generally not a problem for most designs. But in a low pin count device, it can be a critical problem. Imagine having to do an 8-pin design where there are only 5 I/Os, having used up 2 I/Os just for debugging!

Headers are also used to save you money. In high pin count devices, adding debugging to the silicon can generally be done at little or no cost since the silicon is already fairly large. However, low pin count devices are low cost specifically because they use very little silicon. So, adding debugging circuitry on-board these parts would add significant cost since it would raise the amount of silicon used by a considerable percentage. The header places the cost for debugging upfront and frees your production parts from the extra cost of an unused debug module.

Microchip also makes optional debug modules, usually for high pin count devices. The module is optional because you can still do basic debugging without a header, but if you use one, you get back I/O lines and may also gain additional debugging features. Only certain devices can use an optional header, so see the device page on our website for details. Microchip lists what header must be ordered to work with your device if one is required. Simply consult the device page on our website or our other ordering guides.

Note that in all cases, devices can be programmed “in-circuit” (called ICSP™) with very few exceptions. Even devices without an internal debug feature can still be programmed by connecting the programming/debugging tool to the in-circuit programming lines. These devices simply cannot perform debugging without a header.

For more on debug headers, see Debug Header Details.

HeaderX_1_04_1.jpg
Figure 1: Production Device vs. Header Device

How Do I Get Started Using a Debug Header?

Click on the link below to get started:

© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.