In-Circuit Debugging
Mid-range PIC chips are now generally being designed to support in-circuit debugging (ICD), where, after programming, the firmware can be executed within the final target hardware under control of the MPLAB IDE via the programming interface. This allows the application to be more fully tested using the same debugging tools available in MPSIM and makes it easier to
eliminate firmware and hardware bugs in the final stages of testing. Smaller chips, which do not provide internal ICD support, must be debugged using a header connector that carries a version of the chip that contains the ICD circuitry. The PICkitX development programmer provides all programming and debugging features we need at minimal cost, while the ICDX module may be needed to debug smaller chips which require a header.
Power PICs
To complete the analysis of the whole PIC range, the features of the more powerful PICs must be considered. The PIC24 series of microcontrollers have a 16-bit internal data bus and ALU, and move from the single working register model to a set 16 x 16 bit working registers. Otherwise, the architecture is similar to the 8-bit MCUs. The dsPIC30 and dsPIC33 are also 16-bit processors, but include a digital signal processing (DSP) engine for fast floating-point calculations. Top of the range are 32-bit PIC32 chips with the kind of central processing unit (CPU) enhancements used to improve performance in CISC devices such as the IntelĀ® PC processors: a split-bus architecture, instruction pre-fetch and cache, five-stage execution pipeline and high-performance interrupt controller. The same MPLAB IDE supports the whole range, but these processors will normally be programmed in C, to make optimum use of the additional features.