An overview of the PICkit 3 programmer/debugger system is given.
☞PICkit 3 programmer/debugger Defined
☞How the PICkit 3 Programmer/Debugger Helps You
☞PICkit 3 programmer/debugger Components
☞Device and Feature Support
PICkit 3 programmer/debugger Defined
The PICkit 3 programmer/debugger (see Figure 1-1) is a simple, low-cost in-circuit debugger that is controlled by a PC running MPLAB IDE (v8.20 or greater) software on a Windows® platform. The PICkit 3 programmer/debugger is an integral part of the development engineer’s toolsuite. The application usage can vary from software development to hardware integration.
The PICkit 3 programmer/debugger is a debugger system used for hardware and software development of Microchip PIC® microcontrollers (MCUs) and dsPIC® Digital Signal Controllers (DSCs) that are based on In-Circuit Serial Programming™ (ICSP™) and Enhanced In-Circuit Serial Programming 2-wire serial interfaces. In addition to debugger functions, the PICkit 3 programmer/debugger system also may be used as a development programmer.
The debugger system executes code like an actual device because it uses a device with built-in emulation circuitry, instead of a special debugger chip, for emulation. All available features of a given device are accessible interactively, and can be set and modified by the MPLAB IDE interface.
The PICkit 3 debugger was developed for emulating embedded processors with debug facilities. The PICkit 3 features include:
☞Full-speed USB support using Windows standard drivers
☞Processors run at maximum speeds
☞Built-in over-voltage/short circuit monitor
☞Low voltage to 5V (1.8-5V range)
☞Diagnostic LEDs (power, active, status)
☞Read/write program and data memory of microcontroller
☞Erase of all memory types (EEPROM, ID, configuration and program) with verification
☞Peripheral freeze at breakpoint
A convenient lanyard connection is available on the programmer.
USB Port Connection
The USB port connection is a USB mini-B connector. Connect the PICkit 3 to the PC using the supplied USB cable.
Pin 1 Marker
This marker designates the location of pin 1 for proper connector alignment.
The programming connector is a 6-pin header (0.100″ spacing) that connects to the target device. See the pinout specification in Figure 1-2.
The Status LEDs indicate the status of the PICkit 3.
1. Power (green) – Power is supplied to the PICkit 3 via the USB port.
2. Active (blue) – The PICkit 3 has connection to the PC USB port and the communication link is active.
How the PICkit 3 programmer/debugger Helps You
The PICkit 3 programmer/debugger allows you to:
☞Debug your application on your own hardware in real time
☞Debug with hardware breakpoints
☞Set breakpoints based on internal events
☞Monitor internal file registers
☞Emulate at full speed
☞Program your device
PICkit 3 programmer/debugger Components
The components of the PICkit 3 programmer/debugger system are:
☞PICkit 3 with indicator lights for power, activity and status.
☞USB cable to provide communications between the debugger and a PC and to provide power to the debugger.
☞CD-ROM with MPLAB IDE software and on-line documentation.
Additional hardware that may be ordered separately:
☞PICkit 3 Debug Express Kit which includes: – a 44-pin demo board with a PIC18F45K20 MCU – free version of MPLAB C Compiler for PIC18 MCUs – easy-to-understand lessons and tutorials – other software utilities, examples with source code and full documentation
☞MPLAB IDE processor extension kits
Device and Feature Support
Table 1-1 and Table 1-2 show the support for devices and device features.
TABLE 1-1: 16-BIT (DATA MEMORY) DEVICES
|Feature||dsPIC33F, PIC24F/H||dsPIC30F SMPS(1)||dsPIC30F|
|Break on data fetch or write||C||C||C|
|Break on stack overflow||N||N||N|
|Standard speed communication||C||C||C|
C = Current support D = Support dependent on device F = No support now, but planned in the future N = Support not available
Note 1: Current Switch Mode Power Supply (SMPS) devices: dsPIC30F1010/2020/2023. 2: This feature operates differently depending on the selected device.
TABLE 1-2: 8-BIT (DATA MEMORY) DEVICES
|Feature||PIC18FXXJ||PIC18F, PIC18F Enh, PIC18FXXK||PIC12F, PIC16F|
|Break on data fetch or write||C||C||N|
|Break on stack overflow||C||C||N|
|Standard speed communication||C||C||C|
C = Current support F = No support now, but planned in the future N = Support not available Note 1: This feature operates differently depending on the selected device.
THEORY OF OPERATION
A simplified description of how the PICkit 3 programmer/debugger system works is provided here. It is intended to provide enough information so a target board can be designed that is compatible with the debugger for both emulation and programming operations. The basic theory of in-circuit emulation and programming is described so that problems, if encountered, are quickly resolved.
☞PICkit 3 vs. PICkit 2
☞Debugger to Target Communication
☞Requirements for Debugging
☞Resources Used by the Debugger
PICkit 3VS. PICkit 2
The PICkit 3 programmer/debugger system is similar in function to the PICkit 2 in-circuit debugger system. Similarities of the two debuggers include:
☞Powered via USB cable to PC
☞Provides a programmable voltage power supply The PICkit 3 differs from the PICkit 2 by providing:
☞Extended EE program image space (512 Kbytes)
☞True voltage reference
☞Increased voltage range (1.8-5V VDD; 1.8-14V VPP)
Debugger to Target Communication
The debugger system configurations are discussed in the following sections.
Do not change hardware connections while the PICkit 3 or target is powered.
Standard ICSP Device Communication
The debugger system can be configured to use standard ICSP communication for both programming and debugging functions. This 6-pin connection is the same one used by the PICkit 2 programmer/debugger.
The modular cable can be either (1) inserted into a matching socket at the target, where the target device is on the target board (Figure 2-1), or (2) inserted into a standard adapter/header board combo (available as a Processor Pak), which in then plugged into the target board (Figure 2-2).
Older header boards used a 6-pin (RJ-11) connector instead of an 8-pin connector, so these headers may be connected to the debugger with the AC164110 ICSP adapter.