avrp(1)

πŸŽ€ avrp(1) β€” general commands manual πŸŽ€

hii bestie, welcome to the avrp page, aka section 1 of the General Commands Manual πŸ’– it's the Atmel AVR programming software you use with Atmel's serial-port programmers, and yes it is as niche as it sounds and yes I'm obsessed.


✨ NAME ✨

avrp β€” Atmel AVR programming software to use with Atmel's serial-port programmers 🫢


🌸 SYNOPSIS 🌸

avrp [-s <serial port>] [-a <chip type>] [-prv] [-f <filename>]  [-e
<filename>] [-d <deffile>] [-l <lockmode>] [--enable <fuse>] [--disable
<fuse>] [--version] [--help] [-qIh]

πŸ’… DESCRIPTION πŸ’…

okay so here's the vibe: avrp works on serial-port programmers that use Atmel's communication protocol for serial-port programmers. Those programmers can program AVR (and other) chips both in serial mode and in parallel mode. versatile queen behavior honestly.

These programmers are the known ones, bestie:

  • AVR ICP β€” Atmel In-circuit programmer
  • AVR PPR β€” Atmel parallel programmer
  • AVR DEV β€” Atmel development board
  • AVR A.G β€” Parallel mode programmer by Adrian Godwin

Adrian Godwin's programmer can be found on http://www.fangorn.demon.co.uk

Instructions on how to build Atmel's in-circuit programmer can be found on Atmel's homepage (http://www.atmel.com). Look for application note avr910 πŸ‘‘

avrp is currently supporting these systems:

  • Linux
  • FreeBSD
  • AmigaOS
  • win32 (windows 95++ and NT)

The source-code part of Atmel's application note AVR910 was used to determine how to communicate with these programmers. no cap, that's literally where the knowledge came from.


✨ OPTIONS ✨

A lil heads up before we dive in: several options can be given after one -, but if an option requires an argument, that argument must be given right after that option. keep it tight, don't be messy πŸ’…

  • -s <serial port> β€” specifies which serial port to talk through. You can skip this option entirely if you set the environment variable AVRP_SERIALPORT.
  • -a <chip type> β€” specifies what kind of chip to talk to. Use -a list as the chip type and it'll hand you a list of supported devices. You can use the shortest possible abbreviation to identify a chip, so you're not out here typing a whole novel. You can skip this option if you set the environment variable AVRP_AVRTYPE.
  • -p β€” program a chip. You must specify -f <filename> and/or -e <filename> so it knows which files to read from. (-f specifes flash, and -e eeprom πŸ“)
  • -r β€” read a chip. You must specify -f <filename> and/or -e <filename> so it knows which files to write to. (-f specifes flash, and -e eeprom πŸ“)
  • -v β€” verify. Performs a standalone verify. (The program function will always do an inline verify, so this one's the solo act.) You must specify -f <filename> and/or -e <filename> so it knows which files to read from. (-f specifes flash, and -e eeprom πŸ“)
  • -f <filename> β€” specifies which flash-file to read/write. Supportet formats are Intel HEX and Atmel's generic fileformat. iconic file choices honestly.
  • -e <filename> β€” specifies which eeprom-file to read/write. Supportet formats are Intel HEX and Atmel's generic fileformat. same energy, different memory.
  • -l <lockmode> β€” specifies lockmode to progam into the chip. Use -l list to get a list of possible lockmodes. πŸ”’
  • -q β€” quiet. Don't write any progress information. Will speed up programming. silence is golden and also faster ✨
  • -d <deffile> β€” specifies the path and filename of avrp.def if the default location is not possible. Can also be set with the environment variable AVRP_DEFFILE.
  • -I β€” ignores the signature in the chip. This is very useful if the signature in the chip has been destroyed in some way. (been there tbh 😭)
  • --enable <fuses> β€” enables specified fuses.
  • --disable <fuses> β€” disables specified fuses.
  • --autoinc β€” you can use this to speed up programming on newer programmer firmware. go fast, bestie πŸ”₯
  • --version β€” print out version information.
  • --help, -h β€” print out a short help text.

πŸ¦‹ FILES πŸ¦‹

  • /etc/avrp.def β€” Definition file

🌈 ENVIRONMENT 🌈

  • AVRP_SERIALPORT β€” specifies which serial port to use.
  • AVRP_AVRTYPE β€” specifies chip to talk to.
  • AVRP_DEFFILE β€” specifies the location of avrp.def

πŸ’– EXAMPLES πŸ’–

Print out information on the programmer:

avrp -s /dev/ttyS1

Same as above, but also give information on the inserted chip:

avrp -s /dev/ttyS1 -a AT90S1200-D/E/F

Program a chip (flash only, and using a short chip-descriptor):

avrp -s /dev/ttyS1 -a 1200-d -p -f avr910.rom

Read a chip (flash and eeprom, AVRP_SERIALPORT is set):

avrp -a 8515 -rf test.hex -e test.eep.hex

Copyright (C) 1997-1998 Jon Anders Haugum

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

fr fr, that warranty disclaimer is not a joke β€” no promises, no drama, just the GPL doing its thing πŸ’€

🧚 AUTHOR 🧚

Jon Anders Haugum <jonah@colargol.tihlde.hist.no>


and that's the whole page, bestie 🫢 this was Version 1.0 beta 3, dated 28 September 1998 β€” yes, a 1998 icon, we love her, she ate and left no crumbs βœ¨πŸ’œ bye bye, go program something cute πŸŽ€