---
name: "picp"
section: "1"
platform: "linux"
package: "picp"
version: "0.6.8-1"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/picp"
---

# picp(1)

command line utility to drive a PICSTART programmer

## NAME

picp - command line utility to drive a PICSTART programmer

## SYNOPSIS

**picp** \[-c\] \[-d\] \[-v\] ttyname \[-v\] devtype \[-i\] \[-h\] \[-q\] \[-v\] \[-s \[size\]\] \[-b\|-r\|-w\|-e\]\[pcidof\]\

## DESCRIPTION

This manual page documents briefly the **picp** command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.

**picp** is a Linux (and Windows) command line interface to Microchip's PICSTART Plus, Newfound Electronic's Warp-13, and JuPic PIC programmers. Originally written by Andrew Pines, **picp** is now maintained by Jeff Post.

Thanks to Jim Robertson of Newfound Electronics, who generously donated a Warp-13a programmer and technical advice so that **picp** would work with both the Warp-13 and PICSTART Plus programmers.

Thanks also to Adam Jurkiewicz, who donated a JuPic programmer for testing. JuPic is an excellent replacement for the Warp-13 programmer (which is no longer being sold).

**picp** is licensed under the GNU General Public License.

## OPTIONS

A summary of options is included below.

- **ttyname**

  serial (or USB) device the PICSTART or Warp-13 is attached to (e.g. /dev/ttyS0 or com1)

- **devtype**

  the pic device to be used (12C508, 16C505, etc.)

- **-b**

  blank checks the requested region or regions

- **-c**

  enable comm line debug output to picpcomm.log (must be before ttyname)

- **-d**

  (if only parameter) show device list

- **-e**

  erases the requested region (flash parts only)

- **-f**

  ignores verify errors while writing

- **-h**

  show a short help message

- **-i**

  use ISP protocol (must be first option after devtype)

- **-q**

  sets quiet mode (excess messages supressed)

- **-r**

  initiates a read (Intel Hex record format)

- **-s \[size\]**

  shows a hash mark status bar of length \[size\] while erasing/writing

- **-w**

  writes to the requested region.  **-wpx** will suppress actual writing to program space (for debugging picp)

- **-v**

  shows PICSTART Plus version number

- **-v**

  (if only parameter) show picp version number

- Read/Write/Erase parameters

  - **p \[filename\]**

  program memory, optionally reading/writing filename

- **c \[val\]**

  configuration bits (val is a numeric word value when writing)

- **i \[val\]**

  ID locations

- **d \[filename\]**

  data memory, optionally reading/writing filename

- **o \[val\]**

  oscillator calibration space

- **f**

  entire flash device (only applies to -e, erase)

- filename is an optional input or output file (default is stdin/stdout)

  ## NOTES

Example:

```
picp -c /dev/ttyS1 16f84 -wp widget.hex
```

This example programs a 16F84 device with the program in the file widget.hex using the ttyS1 serial port, and writes comm line debug information in the file picpcomm.log.

The -i option causes picp to use a slightly different protocol for communicating with the Warp-13 programmer when programming 18fxxx chips connected to the ISP port of the Warp-13. This appears to be necessary only when using BluePole firmware version 1.5. Use this option only if you experience problems without it.\

## AUTHOR

This manual page was written by Josh Huber \<huber@debian.org\>, for the Debian GNU/Linux system (but may be used by others).
