The GNU PIC Programmer and In-Circuit debugger


Supported Platforms
Supported Targets

Getting GPICD
    RPM Package
    Source Tarball
    CVS Tree

SourceForge page


    Release 0.3-1


What is GPICD ?

GPICD is an open-source version of a programmer and in-circuit debugger (ICD) for the Microchip PIC microcontroller family. The tool set includes the following elements:
  • The Hardware Interface: a simple programming+ICD interface you connect to the parallel port of your computer. GPICD hardware interfacing is fully configurable, so that any other parallel-port based hardware interface may be used.
  • The Command Line Interpreter, which allows to read and write the program and EEPROM memories of the target PIC directly from a shell command. An interactive usage is also possible.
  • The Graphical User Interface is a cool debugging graphical environment with source viewer,memory watch, breakpoints, etc.
Both the software source and the hardware interface description are distributed under the terms of the GNU General Public License.

Please note that no expensive equipment from Microchip is required: a very simple and cheap programming+ICD interface is proposed instead. Since the release 0.3-1 of GPICD, using other parallel-port based ICSP interfaces is also possible.

Supported Platforms

GPICD runs under Linux. It works with the PCSPP parport kernel feature, through the standard ppdev device driver. The tool works fine on an Intel machine. It may also work on other architectures that support Linux if a PCSPP-style parport interface is available.
The software is developped in C. The Graphical User Interface uses GTK+ 2.0.

Supported Targets

As of today, GPICD is available only for PIC16F(x)xx family. PIC families that do not support in-circuit debugging are supported for ICSP programming only.
GPICD natively loads .COD files, thus bringing all the debug information to the debugger software.

Inititatives for porting on other  targets such as the PIC18F familly are welcome. I have not found any specification for the PIC18 in-circuit debugging feature yet.


Release gpicd-0.3-1 adds configurable ICSP hardware interface and some fixes:
  • Make the hardware interface fully configurable, so that it is possible to use virtually any parallel-port based ICSP interface. Two predefined configuration are proposed: native GPICD and Microchip AN589. An editable Custom type is also available. The hardware configuration can be edited from both CLI and GUI.
  • Fix erroneous addressing when reading register PCLATH and writing registers STATUS, PCLATH, FSR.
  • Fix address computation in COD file loader. The problem occurs when using gputils >= 0.11.2.

Release gpicd-0.2-2 brings no changes to the gpicd software, but rather some cosmetic updates:
  • RPM package sets root permissions on installed files.
  • User's Manual updated with:
    - Gtk2 screenshots;
    - New configuration commands in CLI;
    - Extended list of reserved registers, after ICD monitor bugfix.
Release gpicd-0.2-1 brings two major updates:
  • Migration to Gtk2 (no more support for that good old Gtk-1.2)
  • Fix a paging bug in the ICD monitor that is downloaded into the debugged target


The GPUTILS suite provides the assembler used to compile the GPICD monitor downloaded into the debugged target.

The GNUPIC page contains plenty of Linux and PIC related resources.

Many thanks to the TestFarm project team members, who actively use and experiment GPICD within their Automated Testing tools.

Hosted by Logo
Copyright © 2003-2004 Sylvain Giroudon - giroudon at
$Revision: 1.12 $
$Date: 2007/05/16 06:55:09 $

PICmicro WebRing
The PICmicro WebRing
[ Join Now | Ring Hub | Random | << Prev | Next >> ]