NAME¶
avrprog - Programmer for Atmel AVR microcontrolers
SYNOPSIS¶
avrprog [ -r | -w | -c | -e | -b
reset-pin-value | -L
lock-mode ] [ -E ] [ -d
device ] [ -p
port-address ] [ -R
] [ -v ] [ -V ] [ -h ]
DESCRIPTION¶
Programmer for Atmel AVR microcontrollers that uses PC parallel port to program
the device in serial mode. The device can be programmed "in-system".
It comes with a schematic of the hardware required. The hardware was designed
to be efficient and unexpensive.
This program gets/sends data from stdin/stdout in Intel Hexadecimal Object File
Format and reads/writes to the AVR device.
OPTIONS¶
- -r
- reads data from device and send to stdout.
- -w
- reads data from stdin and write to device.
- -c
- reads data from stdin and from device and compares
both.
- -e
- erases device program and eeprom memory.
- -b reset-pin-value
- reset-pin-value must be 0 or 1. This option just changes
device reset pin logic level and exit.
- -L lock-mode
- set device lock bits mode. See AVR manual for details.
WARNING: in some devices, even erasing chip (-e) didn't clear the lock
bits... so we lost the chips... use this option at your own risk.
If lock-mode is 0, sets LB2=0; LB1=0. If lock-mode is 1, sets LB2=0; LB1=1.
If lock-mode is 2, sets LB2=1; LB1=0. If lock-mode is 3, sets LB2=0;
LB1=1.
- -E
- eeprom memory mode. Without this option, reads, writes and
compares are made to device program memory. With this option they are made
in eeprom memory.
- -d device
- Without this option, avrprog will try do autodetect the
device by reading it's signature bytes. Use this option if you want to
overide device detection. device is case sensitive and can be any
supported devices. To see supported devices try ´-d
?´
- -p port-address
- chooses parallel port address (hexa value). Check
avrprog.conf file for default and valid values.
- -R
- sets AVR reset pin to 1 when exiting, enabling software
execution. Default is leave chip disabled (reset=0) when exiting.
- -v
- verbose mode.
- -V
- shows program version, copyright and exit.
- -h
- shows program help and exit.
Note: some options can't be used at the same time with other options. In case
you specify more than one exclusive option, just one of them will be executed.
(priority b,c,r,L,e,w).
Without any options, avrprog just tries to detect the device and leaves reset
pin at 0 (software in device is halted).
EXAMPLES¶
avrprog -r > file.hex
Read device program memory and write it to file.hex.
avrprog -w < file.hex
Read contents of file.hex and write to program memory in device.
avrprog -w -R < file.hex
Read contents of file.hex and write to program memory in device. After writting,
starts device software execution by setting reset pin to 1.
avrprog -r -E > file.hex
Read device eeprom memory and write it to file.hex.
avrprog
Identifies the device and halts software execution.
avrprog -R
Identifies the device and starts software execution.
avrprog -b 0
Just set device reset pin to 0 (halt software execution)
avrprob -b 1
Just set device reset pin to 1 (start software execution)
Input and output formats are
Intel Hexadecimal Object File Format You can
find this specification at
ftp://download.intel.com/support/processors/
i960/devtools/INTELHEX.PDF
Record types 00 and 01 are implemented in this version. In input lines, LF and
CR+LF are accepted as newline markers. Output files are generated with LF as a
newline marker.
FILES¶
- /etc/avrprog/devices.conf
- handles devices signatures. Human readable. Take a look and
add new devices. Don't forget to write us the lines you added, so next
versions can have a more complete list of devices.
- /etc/avrprog/avrprog.conf
- general configuration file. Human readable. Handles
parallel port address.
BUGS¶
If you found any, please send the authors an e-mail.
TODO¶
Write a kernel module so this program does not need to run setuid root. Or write
a daemon and the program can connect to the daemon using tcp.
Write messages using functions that support locales.
SEE ALSO¶
http://www.autsens.com/avrprog
http://avrprog.sourceforge.net
AVRPROG AUTHORS¶
Jose Roberto B. de A. Monteiro <jrm@autsens.com>
Pedro Zorzenon Neto <pzn@autsens.com>
MANPAGE AUTHOR¶
This manual page was written by Pedro Zorzenon Neto <pzn@autsens.com>, for
the Debian GNU/Linux system (but may be used by others).