A Typical Development Setup
Most development setups consist of three main components:
- A computer running the MPLAB® X Integrated Development Environment
- A programmer/debugger such as one of the following:
- A target board with the PIC® MCU of your choice, such as:
- Your own hardware
- A Microchip demonstration board
- A third-party demonstration board
- A breadboard
This setup enables you to develop code, program a device, and debug your code in-circuit. It provides you with the greatest amount of flexibility in terms of supported devices since the programmer/debugger tools support the entire range of Flash-based PIC microcontrollers and several demonstration boards support the entire PIC MCU families.
Starter Kits and Curiosity Boards
If you are on a budget or want to evaluate a particular device or device family for possible use in an application, Starter Kits and Curiosity Boards provide an economical and convenient means to get the job done. These tools effectively combine the programmer/debugger and the target device and board into a single unit. While some of them provide a means of expansion into a more full development toolchain, they are limited to the target device that comes on the board. However, the target device is usually the "superset" member of a device family, allowing code developed for it to be used on several other similar devices.
Which Programmer/Debugger Is Right For Me?
While the PICkit 3, ICD3, and REAL ICE share a common base feature set, they don't all support every debug feature available. The PICkit 3 is the lowest cost member of the programmer/debugger family and supports the basic debugging functions that developers use most of the time. The ICD3 adds some intermediate debugging features to support more complex debugging tasks. The REAL ICE is the flagship debugging tool, offering all the features of the other two tools while adding sophisticated trace and log functions as well as the ability to view variable values in real or near real-time.
Feature (Clickable Links) |
PIC10F PIC12F PIC16F |
PIC16F1x |
PIC18F |
dsPIC30F |
PIC24F |
PIC24H dsPIC33F |
PIC32MX |
|
|
|
Trace Data & Program Flow | ✘ | ✘ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ |
Runtime Watch | ✘ | ✔ | ✔* | ✘ | ✔ | ✔ | ✔ | ✘ | ✘ | ✔ |
Software Breakpoints | ✘ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
Break on Address or Data Match | ✘ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
Break on Data Fetch or Write | ✘ | ✔* | ✔* | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
Pass Counter | ✘ | ✔* | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
Stopwatch | ✘ | ✔* | ✔* | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
WDT Overflow | ✘ | ✔* | ✔ | ✔ | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ |
Run, Halt | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Single Step | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Hardware Breakpoints | 1 | 1-3 | 1-3 | 1-4 | 1-6 | 1-6 | 1-6 | ✔ | ✔ | ✔ |
Peripheral Freeze on Halt | ✔* | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
* Does not apply to all members of family
For the latest device information, from the MPLAB X page, go to the User’s Guide > Release Notes > Device and Feature Support > Hardware Tool Debug Features by Device.