Man Linux: Main Page and Category List


       avrprog - Programmer for Atmel AVR microcontrolers


       avrprog  [ -r | -w | -c | -e | -b reset-pin-value | -L lock-mode ] [ -E
       ] [ -d device ] [ -p port-address ] [ -R ] [ -v ] [ -V ] [ -h ]


       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.


       -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
              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

       -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).


       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.

       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
       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.


              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.

              general  configuration  file.  Human  readable. Handles parallel
              port address.


       If you found any, please send the authors an e-mail.


       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.



       Jose Roberto B. de A. Monteiro <>
       Pedro Zorzenon Neto <>


       This manual page was written by Pedro Zorzenon Neto  <>,
       for the Debian GNU/Linux system (but may be used by others).

                                 jun 25, 2001