AVRprog

"Burning" Flash-EPROM and EEPROM images into the MCU

Description

This tool can be used to burn the image files created by the assembler
or compiler into the target MCU using some programming hardware.

AVRprog is based on a component model.
The 'frontend' contains the user interface, the 'backend' contains the
drivers for the programming hardware.
'Frontend' and 'backend' are communicating via the backend API.
It is further possible to split 'frontend' and 'backend' to different
machines using a client/server architecture with the 'netlayer'.

A complete package with all neccessary components is available as
a module for
AVRtoolbox.

Component model

There are three main components:

Frontend:
Implements the user interface. This part can be a simple text
based command interpreter or a graphical window with buttons and
input fields.
The 'frontend' uses the backend API to communicate with the
'backend'.

Backend:
The 'backend' is something like a driver manager. The programmer
drivers are part of the 'backend'.
The 'backend' is responsible for autodetection of the correct
programmer driver and presenting an uniform interface for all
drivers to the 'frontend', the backend API.

Netlayer:
The 'netlayer' is not mandatory! It is an extension of the above
construction.
It uses a network connection between a client and a server machine
(Note: This can be a single machine using network loopback).
A daemon running on the server machine uses the 'backend
interface' to access the local 'backend'. On the client machine a
backend API is provided for the 'frontend'.
The 'netlayer' is therefore transparent for the 'frontend'.

Use components with matching backend API versions (unless you
know what you are doing)!

SerialSTK V0.5
For Atmel STK200/300 or compatible programmers like our
SerialSTK
clone.
The IRQ is not used, the OS driver for the IEEE-1284
port can be set to polling mode.
Note:
This driver currently requires GNU/Linux 2.2 or later.
Use ppdev kernel driver for port access.
Data polling is supported for Flash-EPROM and EEPROM.

AVR910 V0.1
For serial and parallel programmers that use the
protocol of the serial one described in Atmel
Application Note AVR910.
More info: AVR910 programmers
Use POSIX termios for port access.

SerialSTK V0.6
For Atmel STK200/300 or compatible programmers like our
SerialSTK
clone.
The IRQ is not used, the OS driver for the IEEE-1284
port can be set to polling mode.
Note:
This driver is only available for GNU/Linux and NetBSD.
For port access parport/ppdev is used on GNU/Linux and
ppbus/ppui on NetBSD.
Data polling is supported for Flash-EPROM and EEPROM.

AVR910 V0.2
For serial and parallel programmers that use the
protocol of the serial one described in Atmel
Application Note AVR910.
More info: AVR910 programmers
Use POSIX termios for port access.