The MPLAB series of devices are programmers and debuggers for Microchip PIC and dsPIC microcontrollers, developed by Microchip Technology.
The ICD family of debuggers has been produced since the release of the first Flash-based PIC microcontrollers, and the latest ICD 3 currently supports all current PIC and dsPIC devices. It is the most popular combination debugging/programming tool from Microchip.
The REAL ICE emulator is similar to the ICD, with the addition of better debugging features, and various add-on modules that expand its usage scope. The ICE is a family of discontinued in-circuit emulators for PIC and dsPIC devices, and is currently superseded by the REAL ICE.
The MPLAB ICD is the first in-circuit debugger product by Microchip, and is currently discontinued and superseded by ICD 2. [1] The ICD connected to the engineer's PC via RS-232, and connected to the device via ICSP. [1]
The ICD supported devices within the PIC16C and PIC16F families, and supported full speed execution, or single step interactive debugging. [1] Only one hardware breakpoint was supported by the ICD. [1]
The MPLAB ICD 2 is a discontinued in-circuit debugger and programmer by Microchip, and is currently superseded by ICD 3. [2] The ICD 2 connects to the engineer's PC via USB or RS-232, and connects to the device via ICSP. [3]
The ICD 2 supports most PIC and dsPIC devices within the PIC10, PIC12, PIC16, PIC18, dsPIC, rfPIC and PIC32 families, [4] and supports full speed execution, or single step interactive debugging. [3] At breakpoints, data and program memory can be read and modified using the MPLAB IDE. [2] The ICD 2 firmware is field upgradeable using the MPLAB IDE. [2]
The ICD 2 can be used to erase, program or reprogram PIC MCU program memory, while the device is installed on target hardware, using ICSP. [2] Target device voltages from 2.0V to 6.0V are supported. [2]
The MPLAB ICD 3 is an in-circuit debugger and programmer by Microchip, and is the latest in the ICD series. [5] The ICD 3 connects to the engineer's PC via USB, and connects to the device via ICSP. [5] The ICD 3 is entirely USB-bus-powered, and is 15x faster than the ICD 2 for programming devices. [5]
The ICD 3 supports all current PIC and dsPIC devices within the PIC10, PIC12, PIC16, PIC18, dsPIC, rfPIC and PIC32 families, and supports full speed execution, or single step interactive debugging. [5] At breakpoints, data and program memory can be read and modified using the MPLAB IDE. [5] The ICD 3 firmware is field upgradeable using the MPLAB IDE. [5]
The ICD 3 can be used to erase, program or reprogram PIC MCU program memory, while the device is installed on target hardware, using ICSP. [5] Target device voltages from 2.0V to 5.5V are supported. [5]
The ICD 3 has over-voltage protection in the probe drivers to guard against power surges from the target. [5] All lines have over-current protection. The ICD 3 can also provide power to a target, up to 100 mA. [5]
The MPLAB REAL ICE (In-Circuit Emulator) is a high-speed emulator for Microchip devices. It debugs and programs PIC and dsPIC microcontrollers in conjunction with the MPLAB IDE, while the target device is "in-circuit". [6] [7] The REAL ICE is significantly faster than the ICD 2, for programming and debugging. [8] [9]
The REAL ICE connects to the engineer's PC via a USB 2.0 interface, and connects to the target device via ICSP (PGC/PGD programming pins), typically using a RJ11 connector. LVDS is also available for high-speed data transfer between the device and the REAL ICE. MPLAB REAL ICE is field upgradeable through firmware downloads in MPLAB IDE.
The REAL ICE supports 8-bit devices (PIC10, PIC12, PIC16, PIC18), 16-bit devices (PIC24, dsPIC) and 32-bit devices (PIC32MX). [10]
The REAL ICE Performance Pak is an optional add-on to the REAL ICE, that consists of a High Speed Probe Driver and Receiver that employ two CAT5 cables. [11] Debug pins are driven using LVDS communications, and the additional trace connections allow high speed serial trace uploads to the PC. [11]
The REAL ICE Isolator is an optional add-on to the REAL ICE, that enables connectivity to AC and High-voltage applications not referenced to ground. [12] Control signals are magnetically or optically isolated providing up to 2.5 kV equivalent isolation protection. [12] The isolator acts as an isolated bridge, where signals are passed through with complete transparency to the MPLAB REAL ICE or MPLAB IDE. [12]
The MPLAB ICE2000 is a discontinued in-circuit emulator for PIC and dsPIC devices. [13] It has been superseded by the REAL ICE.
The ICE2000 connects to the engineer's PC via a parallel port interface, and a USB converter is available. The ICE2000 requires emulator modules, and the test hardware must provide a socket which can take either an emulator module, or a production device.
The MPLAB ICE4000 is a discontinued in-circuit emulator for PIC and dsPIC devices. [13] It has been superseded by the REAL ICE. [14] The ICE4000 is no longer directly advertised on Microchip's website, and Microchip states that it is not recommended for new designs. [14]
The ICE4000 connects to the engineer's PC via a USB 2.0 interface. PIC devices under debug with the ICE4000 ran at full speed, and the emulator supported unlimited breakpoints, and complex break/trigger logic. [14] The emulator supported multiple external inputs and external outputs to sync with other instruments. [14]
A microcontroller is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.
AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.
PIC is a family of microcontrollers made by Microchip Technology, derived from the PIC1650 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to Peripheral Interface Controller, and is currently expanded as Programmable Intelligent Computer. The first parts of the family were available in 1976; by 2013 the company had shipped more than twelve billion individual parts, used in a wide variety of embedded systems.
In-circuit emulation (ICE) is the use of a hardware device or in-circuit emulator used to debug the software of an embedded system. It operates by using a processor with the additional ability to support debugging operations, as well as to carry out the main function of the system. Particularly for older systems, with limited processors, this usually involved replacing the processor temporarily with a hardware emulator: a more powerful although more expensive version. It was historically in the form of bond-out processor which has many internal signals brought out for the purpose of debugging. These signals provide information about the state of the processor.
JTAG is an industry standard for verifying designs and testing printed circuit boards after manufacture.
PICAXE is a microcontroller system based on a range of Microchip PIC microcontrollers. PICAXE devices are Microchip PIC devices with pre-programmed firmware that enables bootloading of code directly from a PC, simplifying hobbyist embedded development. PICAXE devices have been produced by Revolution Education (Rev-Ed) since 1999.
In-system programming (ISP), or also called in-circuit serial programming (ICSP), is the ability of some programmable logic devices, microcontrollers, and other embedded devices to be programmed while installed in a complete system, rather than requiring the chip to be programmed prior to installing it into the system. It also allows firmware updates to be delivered to the on-chip memory of microcontrollers and related processors without requiring specialist programming circuitry on the circuit board, and simplifies design work.
Microchip Technology Inc. is a publicly listed American corporation that manufactures microcontroller, mixed-signal, analog, and Flash-IP integrated circuits. Its products include microcontrollers, Serial EEPROM devices, Serial SRAM devices, embedded security devices, radio frequency (RF) devices, thermal, power and battery management analog devices, as well as linear, interface and wireless products.
The Small Device C Compiler (SDCC) is a free-software, partially retargetable C compiler for 8-bit microcontrollers. It is distributed under the GNU General Public License. The package also contains an assembler, linker, simulator and debugger. As of March 2007, SDCC is the only open-source C compiler for Intel 8051-compatible microcontrollers. In 2011 the compiler was downloaded on average more than 200 times per day.
Segger Microcontroller, founded in 1992, is a private company involved in the embedded systems industry. It provides products used to develop and manufacture four categories of embedded systems: real-time operating systems (RTOS) and software libraries (middleware), debugging and trace probes, programming tools, and in-system programmers. The company is headquartered in Monheim am Rhein, Germany, with remote offices in Gardner, Massachusetts; Milpitas, California; and Shanghai, China.
PICkit is a family of programmers for PIC microcontrollers made by Microchip Technology. They are used to program and debug microcontrollers, as well as program EEPROM. Some models also feature logic analyser and serial communications (UART) tool.
Holtek Semiconductor is a Taiwan-based semiconductor design centre and provider with its headquarters and design operations based in the Hsinchu Science Park in Taiwan, and has sales offices located in USA and India. Holtek's design focus is in both 32-bit and 8-bit along with Touch microcontroller development, and as of 2022 the firm employed 631 employees. Holtek also designs and provides peripheral semiconductor products such as remote control, telecommunication, power management, computer peripheral, and memory devices. Holtek's device application area is concentrated in the consumer product field such as household appliances, computer peripheral products, remote controllers, leisure products, medical equipment as well as industrial controllers. Holtek microcontrollers are in home appliances including brands such as Philips, Siemens, Märklin and Japanese brands such as Futaba and Sony.
MPLAB is a proprietary freeware integrated development environment for the development of embedded applications on PIC and dsPIC microcontrollers, and is developed by Microchip Technology.
The Bus Pirate is a universal bus interface device designed for programming, debugging, and analyzing microcontrollers and other ICs. It was developed as an open-source hardware and software project.
debugWIRE is a serial communications protocol, designed by Atmel. It is used for on-chip debugging of AVR microcontrollers.
LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. The earliest LPC series were based on the Intel 8-bit 80C51 core. As of February 2011, NXP had shipped over one billion ARM processor-based chips.
A bond-out processor is an emulation processor that takes the place of the microcontroller or microprocessor in the target board while an application is being developed and/or debugged.
The Arduino Uno is an open-source microcontroller board based on the Microchip ATmega328P microcontroller and developed by Arduino.cc and initially released in 2010. The board is equipped with sets of digital and analog input/output (I/O) pins that may be interfaced to various expansion boards (shields) and other circuits. The board has 14 digital I/O pins, 6 analog I/O pins, and is programmable with the Arduino IDE, via a type B USB cable. It can be powered by a USB cable or a barrel connector that accepts voltages between 7 and 20 volts, such as a rectangular 9-volt battery. It is similar to the Arduino Nano and Leonardo. The hardware reference design is distributed under a Creative Commons Attribution Share-Alike 2.5 license and is available on the Arduino website. Layout and production files for some versions of the hardware are also available.
The Proteus Design Suite is a proprietary software tool suite used primarily for electronic design automation. The software is used mainly by electronic design engineers and technicians to create schematics and electronic prints for manufacturing printed circuit boards.