What?

The cisp program provides read and write access to
the flash and EEPROM memories of Atmel AVR® microcontrollers
via the Atmel serial programming interface (SPI) on Unix-like
systems and Windows computers equipped with a serial or
parallel port.

Why?

I wrote this program, because I wanted that the end users of my C2N232 adapter can easily
update the firmware.

Existing solutions supported only either Unix-like systems or
Windows and did not support the kind of RS-232 programming interface that was needed.

Before writing cisp, I used UISP.
I wanted to avoid C++ and write table-driven
object oriented C instead.

Update 2007-09-30:AVRDUDE offers a
superset of the features of cisp. I do not indend to
maintain cisp any more.

Features

Serial programming: any SPI signal (RESET,
SCK,
MOSI,
MISO) can be
mapped to a hardware line, inverted or not

Supported Cable Layouts

New cable layouts can be added to the table in
comm/commsel.c. The supported RS connections are: c2n232,
dasa, and ponyprog. The supported cables for the parallel interface
include dapa, dt006, and STK200 (or STK300). Except for c2n232, these are a subset
of the interfaces supported by UISP.

Version History

April 2, 2002: Version 1.0

The program has been tested on GNU/Linux and on Microsoft Windows.

April 24, 2002: Version 1.0.1

Added FreeBSD support. No changes in functionality since version
1.0.

November 3, 2002: Version 1.0.2

The program no longer aborts if it receives unexpected don’t
care bits in response from the SPI device.

June 12, 2003: Version 1.0.3

The program does not report unexpected responses unless the
-d parameter is specified. The program is included in
the AVR Cross
Development Kit for RPM-based GNU/Linux distributions.

December 18, 2003: Version 1.0.4

Corrected an error in the programming algorithm that caused
writes to some AT90S2313 devices to fail.

August 6, 2005: Version 1.0.5

Added option -p for disabling byte polling,
as it does not work reliably some devices. Corrected a bug
in option -L (writing to EEPROM). Previous versions
of cisp would send the wrong command to the device,
writing to Flash ROM.