Debugging applications on PIC® MCU requires the use of several dedicated MCU resources. Among the resource required for debugging are:
- Two dedicated I/O pins to connect to the debugger.
- Dedicated On-board debug circuitry built into the MCU.
On small pin-count MCUs all I/O pins may be needed for the application leaving no pins available for debugging. In addition, since debugging is only done in the development phase and not in production it may be economically unfeasible for smaller MCUs to have comprehensive dedicated debug circuitry on devices used in mass production.
Debug Headers enable debugging on MCU which do not have on-board debug circuitry. Many of these debug-limited MCUs come in low pin count packages. Debug headers contain a special version of the target chip which includes both the debug circuitry and dedicated debugging pins. By placing the Debug Header on the Target hardware an engineer will be able to use a standard Microchip programmer/debugger to debug the application code.
When debug headers are in use the target board "sees" the original target MCU will all the I/O available, the debugger "sees" a target chip with the additional dedicated I/O pins for debugging.
The Project Properties Window informs you if a Debug Header is required for running a debug session with the chosen MCU.
For more details on Debug Headers and related Processor Extension Paks, see Processor Extension Paks and Debug Headers Specification.
Emulation Headers provide enhanced debugging options for MCUs. Like Debug Headers, an Emulation Header replaces the target MCU with a special version of the MCU. This new MCU performs as the original MCU but includes enhanced debugging features. Many of the MCUs with Emulation Header options already have debug circuitry capable of basic debugging on-chip. For a full description of Emulation Headers and related Emulation Extension Paks please see Emulator Extension Paks and Emulation Headers User's Guide.