Change the name from AVRPROG to AVRDUDE.
This change represents a name change only. There is currently an effort to port AVRPROG to other platforms including Linux and Windows. Since Atmel's programmer binary that's included within their AVR Studio software is named AVRPROG.EXE on the Windows OS, there is the chance for confusion if we keep calling this program AVRPROG as well. Up until now the name hasn't really been a problem since there was no chance to confuse 'avrprog' on Unix with Atmel's AVRPROG because Atmel's tools only run on Windows. But with the Unix 'avrprog' possibly being ported to Windows, I felt a name change was the best way to avoid problems. So - from this point forward, my FreeBSD Unix program formerly known as AVRPROG will subsequently be known as AVRDUDE (AVR Downloader/UploaDEr). This change also represents a time when the AVRDUDE sources move from my own private repository to a public repository. This will give other developers a chance to port AVRDUDE to other platforms and extend its functionality to support additional programming hardware, etc. So goodbye AVRPROG, welcome AVRDUDE! git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@170 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
parent
4339967b19
commit
c1bcfe53a7
27
CHANGELOG
27
CHANGELOG
|
@ -1,9 +1,34 @@
|
|||
$Id$
|
||||
|
||||
Approximate change log for AVRPROG by version
|
||||
Approximate change log for AVRDUDE by version
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Version 3.1.0
|
||||
|
||||
* This change represents a name change only. There is currently an
|
||||
effort to port AVRPROG to other platforms including Linux and
|
||||
Windows. Since Atmel's programmer binary that's included within
|
||||
their AVR Studio software is named AVRPROG.EXE on the Windows OS,
|
||||
there is the chance for confusion if we keep calling this program
|
||||
AVRPROG as well. Up until now the name hasn't really been a
|
||||
problem since there was no chance to confuse 'avrprog' on Unix
|
||||
with Atmel's AVRPROG because Atmel's tools only run on Windows.
|
||||
But with the Unix 'avrprog' possibly being ported to Windows, I
|
||||
felt a name change was the best way to avoid problems.
|
||||
|
||||
So - from this point forward, my FreeBSD Unix program formerly
|
||||
known as AVRPROG will subsequently be known as AVRDUDE (AVR
|
||||
Downloader/UploaDEr).
|
||||
|
||||
This change also represents a time when the AVRDUDE sources move
|
||||
from my own private repository to a public repository. This will
|
||||
give other developers a chance to port AVRDUDE to other platforms
|
||||
and extend its functionality to support additional programming
|
||||
hardware, etc.
|
||||
|
||||
So goodbye AVRPROG, welcome AVRDUDE!
|
||||
|
||||
Version 3.0.0
|
||||
|
||||
* Rewrite parts of the code to make it easy to support other types
|
||||
|
|
67
Makefile
67
Makefile
|
@ -4,13 +4,13 @@
|
|||
#
|
||||
|
||||
|
||||
TARGET = avrprog
|
||||
TARGET = avrdude
|
||||
|
||||
PREFIX ?= /usr/local
|
||||
BINDIR = ${PREFIX}/bin
|
||||
MANDIR = ${PREFIX}/man/man1
|
||||
MANUAL = avrprog.1
|
||||
DOCDIR = ${PREFIX}/share/doc/avrprog
|
||||
MANUAL = avrdude.1
|
||||
DOCDIR = ${PREFIX}/share/doc/avrdude
|
||||
CONFIGDIR = ${PREFIX}/etc
|
||||
|
||||
DIRS = ${BINDIR} ${MANDIR} ${DOCDIR} ${CONFIGDIR}
|
||||
|
@ -31,33 +31,46 @@ LIBS = -lreadline
|
|||
|
||||
YYDEF = -DYYSTYPE="struct token_t *"
|
||||
|
||||
OBJS = config_gram.o avr.o config.o fileio.o lexer.o lists.o main.o pgm.o \
|
||||
ppi.o stk500.o term.o
|
||||
|
||||
.include "Makefile.inc"
|
||||
all : ${TARGET}
|
||||
|
||||
EXTRA_OBJS = config_gram.o lexer.o
|
||||
OBJECTS = ${EXTRA_OBJS} ${OBJS}
|
||||
|
||||
all :
|
||||
@if [ ! -f y.tab.h ]; then touch y.tab.h; fi
|
||||
make depend
|
||||
make ${TARGET}
|
||||
|
||||
${TARGET} : ${OBJECTS}
|
||||
${CC} ${LDFLAGS} -o ${TARGET} ${OBJECTS} ${LIBS}
|
||||
${TARGET} : ${OBJS}
|
||||
${CC} ${LDFLAGS} -o ${TARGET} ${OBJS} ${LIBS}
|
||||
|
||||
clean :
|
||||
rm -f *.o lexer.c ${TARGET} *~ *.core y.tab.c y.tab.h
|
||||
touch y.tab.h
|
||||
rm -f *.o lexer.c ${TARGET} *~ *.core y.tab.c y.tab.h y.output
|
||||
|
||||
install : dirs \
|
||||
${BINDIR}/${TARGET} \
|
||||
${MANDIR}/${MANUAL} \
|
||||
${DOCDIR}/avrprog.pdf \
|
||||
${CONFIGDIR}/avrprog.conf.sample \
|
||||
${CONFIGDIR}/avrprog.conf
|
||||
${DOCDIR}/avrdude.pdf \
|
||||
${CONFIGDIR}/avrdude.conf.sample \
|
||||
${CONFIGDIR}/avrdude.conf
|
||||
|
||||
config_gram.o : avr.h config.h lists.h pindefs.h
|
||||
|
||||
avr.o: avr.c avr.h avrpart.h lists.h pgm.h pindefs.h config.h ppi.h
|
||||
|
||||
config.o: config.c avr.h avrpart.h lists.h pgm.h pindefs.h config.h
|
||||
|
||||
fileio.o: fileio.c avr.h avrpart.h lists.h pgm.h pindefs.h fileio.h
|
||||
|
||||
lists.o: lists.c lists.h
|
||||
|
||||
main.o: main.c avr.h avrpart.h lists.h pgm.h pindefs.h config.h fileio.h \
|
||||
ppi.h term.h
|
||||
|
||||
pgm.o: pgm.c pgm.h avrpart.h lists.h pindefs.h
|
||||
|
||||
ppi.o: ppi.c avr.h avrpart.h lists.h pgm.h pindefs.h ppi.h config.h
|
||||
|
||||
stk500.o: stk500.c avr.h avrpart.h lists.h pgm.h pindefs.h stk500_private.h
|
||||
|
||||
term.o: term.c avr.h avrpart.h lists.h pgm.h pindefs.h config.h ppi.h
|
||||
|
||||
|
||||
dirs :
|
||||
@for dir in ${DIRS}; do \
|
||||
|
@ -73,17 +86,17 @@ ${BINDIR}/${TARGET} : ${TARGET}
|
|||
${MANDIR}/${MANUAL} : ${MANUAL}
|
||||
${INSTALL_MANUAL} ${MANUAL} $@
|
||||
|
||||
${DOCDIR}/avrprog.pdf : avrprog.pdf
|
||||
${INSTALL_DATA} avrprog.pdf $@
|
||||
${DOCDIR}/avrdude.pdf : avrdude.pdf
|
||||
${INSTALL_DATA} avrdude.pdf $@
|
||||
|
||||
${CONFIGDIR}/avrprog.conf.sample : avrprog.conf.sample
|
||||
${INSTALL_DATA} avrprog.conf.sample $@
|
||||
${CONFIGDIR}/avrdude.conf.sample : avrdude.conf.sample
|
||||
${INSTALL_DATA} avrdude.conf.sample $@
|
||||
|
||||
${CONFIGDIR}/avrprog.conf : avrprog.conf.sample
|
||||
@if [ -f ${CONFIGDIR}/avrprog.conf ]; then \
|
||||
${CONFIGDIR}/avrdude.conf : avrdude.conf.sample
|
||||
@if [ -f ${CONFIGDIR}/avrdude.conf ]; then \
|
||||
export TS=`date '+%Y%m%d%H%M%S'`; \
|
||||
echo "NOTE: backing up ${CONFIGDIR}/avrprog.conf to ${CONFIGDIR}/avrprog.conf.$${TS}"; \
|
||||
cp -p ${CONFIGDIR}/avrprog.conf ${CONFIGDIR}/avrprog.conf.$${TS}; \
|
||||
echo "NOTE: backing up ${CONFIGDIR}/avrdude.conf to ${CONFIGDIR}/avrdude.conf.$${TS}"; \
|
||||
cp -p ${CONFIGDIR}/avrdude.conf ${CONFIGDIR}/avrdude.conf.$${TS}; \
|
||||
fi
|
||||
${INSTALL_DATA} avrprog.conf.sample $@
|
||||
${INSTALL_DATA} avrdude.conf.sample $@
|
||||
|
||||
|
|
45
Makefile.inc
45
Makefile.inc
|
@ -1,45 +0,0 @@
|
|||
|
||||
.SUFFIXES: .o .c .l .y
|
||||
|
||||
first_rule : all
|
||||
|
||||
.y.o:
|
||||
${YACC} ${YFLAGS} ${.IMPSRC}
|
||||
${CC} ${CFLAGS} -c y.tab.c
|
||||
rm -f y.tab.c
|
||||
mv y.tab.o ${.TARGET}
|
||||
|
||||
|
||||
.depend : .PHONY
|
||||
@echo "# dependencies generated `date +'%D %T'`" > .depend
|
||||
@echo >> .depend
|
||||
@echo "# SUBDIR=`pwd`" >> .depend
|
||||
@echo >> .depend
|
||||
@echo >> .depend
|
||||
@echo "SRCS = \\" >> .depend
|
||||
@for i in *.S *.c; do \
|
||||
if [ -f "$$i" ]; then \
|
||||
echo " $$i \\" >> .depend; \
|
||||
fi ; \
|
||||
done
|
||||
@echo >> .depend
|
||||
@echo "OBJS = \\" >> .depend
|
||||
@for i in *.S *.c; do \
|
||||
if [ -f "$$i" ]; then \
|
||||
echo " $${i%%.*}.o \\" >> .depend; \
|
||||
fi ; \
|
||||
done
|
||||
@echo >> .depend
|
||||
@for i in *.S *.c; do \
|
||||
if [ -f "$$i" ]; then \
|
||||
$(CC) -E $(CFLAGS) -M $$i >> .depend; \
|
||||
fi ; \
|
||||
done
|
||||
@echo >> .depend
|
||||
|
||||
.if exists(.depend)
|
||||
.include ".depend"
|
||||
.endif
|
||||
|
||||
depend : .depend
|
||||
|
4
avr.c
4
avr.c
|
@ -623,8 +623,8 @@ int avr_write_byte(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,
|
|||
"%s bits\n", progname, mem->desc);
|
||||
fprintf(stderr,
|
||||
"%s: you must manually power-down the device and restart\n"
|
||||
"%s: avrprog to continue.\n",
|
||||
progname, progname);
|
||||
"%s: %s to continue.\n",
|
||||
progname, progname, progname);
|
||||
return -3;
|
||||
}
|
||||
|
||||
|
|
38
avrdude.1
38
avrdude.1
|
@ -26,9 +26,9 @@
|
|||
.\"
|
||||
.Dd DATE January 11, 2002
|
||||
.Os
|
||||
.Dt AVRPROG 1
|
||||
.Dt AVRDUDE 1
|
||||
.Sh NAME
|
||||
.Nm avrprog
|
||||
.Nm avrdude
|
||||
.Nd driver program for ``simple'' Atmel AVR MCU programmer
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
|
@ -52,10 +52,10 @@
|
|||
.Op Fl y
|
||||
.Op Fl Y
|
||||
.Sh DESCRIPTION
|
||||
.Nm Avrprog
|
||||
.Nm Avrdude
|
||||
is a program for downloading code and data to Atmel AVR
|
||||
microcontrollers.
|
||||
.Nm Avrprog
|
||||
.Nm Avrdude
|
||||
supports Atmel's STK500 programmer as well as a simple hard-wired
|
||||
programmer connected directly to a
|
||||
.Xr ppi 4
|
||||
|
@ -82,7 +82,7 @@ signal is available to control a buffer/driver IC 74LS367 (or
|
|||
from the MCU when in-system programming is used.
|
||||
.Pp
|
||||
See the file
|
||||
.Pa ${PREFIX}/share/doc/avrprog/avrprog.pdf
|
||||
.Pa ${PREFIX}/share/doc/avrdude/avrdude.pdf
|
||||
for a schematic of the
|
||||
.Xr ppi 4
|
||||
based programming hardware.
|
||||
|
@ -100,7 +100,7 @@ as a standalone assembler, or
|
|||
.Xr avr-objcopy 1
|
||||
for the final stage of the GNU toolchain for the AVR microcontroller.
|
||||
.Pp
|
||||
.Nm Avrprog
|
||||
.Nm Avrdude
|
||||
can program the EEPROM and flash ROM memory cells of supported AVR
|
||||
parts. Where supported by the serial instruction set, fuse bits and
|
||||
lock bits can be programmed as well. These are implemented within
|
||||
|
@ -120,13 +120,13 @@ individual memory cells.
|
|||
.Ss Options
|
||||
In order to control all the different operation modi, a number of options
|
||||
need to be specified to
|
||||
.Nm avrprog .
|
||||
.Nm avrdude .
|
||||
.Bl -tag -offset indent -width indent
|
||||
.It Fl p Ar partno
|
||||
This is the only option that is mandatory for every invocation of
|
||||
.Nm avrprog .
|
||||
.Nm avrdude .
|
||||
It specifies the type of the MCU connected to the programmer. These are read from the config file. If
|
||||
.Nm avrprog
|
||||
.Nm avrdude
|
||||
does not know about a part that you have, simply add it to the config
|
||||
file (be sure and submit a patch back to the author so that it can be
|
||||
incorporated for the next version). See the sample config file for
|
||||
|
@ -156,7 +156,7 @@ configurations are read from the config file (see the
|
|||
.Fl C
|
||||
option). New pin configurations can be easily added or modified
|
||||
through the use of a config file to make
|
||||
.Nm avrprog
|
||||
.Nm avrdude
|
||||
work with different programmers as long as the programmer supports the
|
||||
Atmel AVR serial program method. If that file contains an entry named
|
||||
.Dq default ,
|
||||
|
@ -166,13 +166,13 @@ is missing; otherwise a builtin default will be used.
|
|||
.It Fl C Ar config-file
|
||||
Use the specified config file to load configuration data. This file
|
||||
contains all programmer and part definitions that
|
||||
.Nm avrprog
|
||||
.Nm avrdude
|
||||
knows about. If you have a programmer or part that
|
||||
.Nm avrprog
|
||||
.Nm avrdude
|
||||
does not know about, you can add it to the config file (be sure and
|
||||
submit a patch back to the author so that it can be incorporated for
|
||||
the next version). See the sample config file, located at
|
||||
.Pa ${PREFIX}/etc/avrprog.conf.sample ,
|
||||
.Pa ${PREFIX}/etc/avrdude.conf.sample ,
|
||||
which contains a description of the format.
|
||||
.It Fl e
|
||||
Causes a chip erase to be executed. This will reset the contents of the
|
||||
|
@ -287,7 +287,7 @@ by a particular device. The default is
|
|||
.Em flash .
|
||||
.It Fl n
|
||||
No-write - disables actually writing data to the MCU (useful for debugging
|
||||
.Nm avrprog
|
||||
.Nm avrdude
|
||||
).
|
||||
.It Fl o Ar filename
|
||||
Specifies the name of the output file to write, and causes the respective
|
||||
|
@ -389,7 +389,7 @@ Display the current part settings.
|
|||
Give a short on-line summary of the available commands.
|
||||
.It Ar quit
|
||||
Leave terminal mode and thus
|
||||
.Nm avrprog .
|
||||
.Nm avrdude .
|
||||
.El
|
||||
.Ss Default Parallel port pin connections
|
||||
(these can be changed, see the
|
||||
|
@ -410,15 +410,15 @@ ll.
|
|||
.It Pa /dev/ppi0
|
||||
default device to be used for communication with the programming
|
||||
hardware
|
||||
.It Pa ${PREFIX}/etc/avrprog.conf.sample
|
||||
.It Pa ${PREFIX}/etc/avrdude.conf.sample
|
||||
sample programmer and parts configuration file
|
||||
.It Pa ${PREFIX}/etc/avrprog.conf
|
||||
.It Pa ${PREFIX}/etc/avrdude.conf
|
||||
default programmer and parts configuration file
|
||||
.It Pa ~/.inputrc
|
||||
Initialization file for the
|
||||
.Xr readline 3
|
||||
library
|
||||
.It Pa ${PREFIX}/share/doc/avrprog/avrprog.pdf
|
||||
.It Pa ${PREFIX}/share/doc/avrdude/avrdude.pdf
|
||||
Schematic of programming hardware
|
||||
.El
|
||||
.\" .Sh EXAMPLES
|
||||
|
@ -433,7 +433,7 @@ The AVR microcontroller product description can be found at
|
|||
.Dl "http://www.atmel.com/atmel/products/prod23.htm"
|
||||
.\" .Sh HISTORY
|
||||
.Sh AUTHORS
|
||||
.Nm Avrprog
|
||||
.Nm Avrdude
|
||||
was written by Brian S. Dean <bsd@bsdhome.com>.
|
||||
.Pp
|
||||
This man page by
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
# $Id$
|
||||
#
|
||||
# AVRPROG Configuration File
|
||||
# AVRDUDE Configuration File
|
||||
#
|
||||
# This file contains configuration data used by AVRPROG which describes
|
||||
# This file contains configuration data used by AVRDUDE which describes
|
||||
# the programming hardware pinouts and also provides part definitions.
|
||||
# AVRPROG's "-C" command line option specifies the location of the
|
||||
# AVRDUDE's "-C" command line option specifies the location of the
|
||||
# configuration file. The "-c" option names the programmer configuration
|
||||
# which must match one of the entry's "id" parameter. The "-p" option
|
||||
# identifies which part AVRPROG is going to be programming and must match
|
||||
# identifies which part AVRDUDE is going to be programming and must match
|
||||
# one of the parts' "id" parameter.
|
||||
#
|
||||
# Possible entry formats are:
|
||||
|
@ -58,7 +58,7 @@
|
|||
#
|
||||
# If any of the above parameters are not specified, the default value
|
||||
# of 0 is used for numerics or the empty string ("") for string
|
||||
# values. If a required parameter is left empty, AVRPROG will
|
||||
# values. If a required parameter is left empty, AVRDUDE will
|
||||
# complain.
|
||||
#
|
||||
# NOTES:
|
||||
|
@ -69,9 +69,9 @@
|
|||
# * Example memory types are:
|
||||
# "flash", "eeprom", "fuse", "lfuse" (low fuse), "hfuse" (high
|
||||
# fuse), "signature", "calibration", "lock"
|
||||
# * The memory type specified on the avrprog command line must match
|
||||
# * The memory type specified on the avrdude command line must match
|
||||
# one of the memory types defined for the specified chip.
|
||||
# * The pwroff_after_write flag causes avrprog to attempt to
|
||||
# * The pwroff_after_write flag causes avrdude to attempt to
|
||||
# power the device off and back on after an unsuccessful write to
|
||||
# the affected memory area if VCC programmer pins are defined. If
|
||||
# VCC pins are not defined for the programmer, a message
|
||||
|
|
|
@ -471,6 +471,7 @@ mem_spec :
|
|||
#include "pindefs.h"
|
||||
#include "ppi.h"
|
||||
#include "pgm.h"
|
||||
#include "stk500.h"
|
||||
#include "avr.h"
|
||||
|
||||
extern char * progname;
|
||||
|
|
2
lexer.l
2
lexer.l
|
@ -184,7 +184,7 @@ yes { yylval=new_token(K_YES); return K_YES; }
|
|||
c: { fprintf(stderr, "error at %s:%d: possible old-style config file entry\n",
|
||||
infile, lineno);
|
||||
fprintf(stderr, " Update your config file (see %s%s for a sample)\n",
|
||||
CONFIG_DIR, "/avrprog.conf.sample");
|
||||
CONFIG_DIR, "/avrdude.conf.sample");
|
||||
exit(1); }
|
||||
|
||||
. { fprintf(stderr, "error at %s:%d unrecognized character: \"%s\"\n",
|
||||
|
|
10
main.c
10
main.c
|
@ -461,7 +461,7 @@ int main(int argc, char * argv [])
|
|||
ppiclrbits = 0;
|
||||
exitspecs = NULL;
|
||||
pgm = NULL;
|
||||
pinconfig = "avrprog"; /* compiled-in default */
|
||||
pinconfig = "avrdude"; /* compiled-in default */
|
||||
verbose = 0;
|
||||
do_cycles = 0;
|
||||
set_cycles = -1;
|
||||
|
@ -470,7 +470,7 @@ int main(int argc, char * argv [])
|
|||
i = strlen(configfile);
|
||||
if (i && (configfile[i-1] != '/'))
|
||||
strcat(configfile, "/");
|
||||
strcat(configfile, "avrprog.conf");
|
||||
strcat(configfile, "avrdude.conf");
|
||||
|
||||
/*
|
||||
* initialize compiled-in default programmer
|
||||
|
@ -478,8 +478,8 @@ int main(int argc, char * argv [])
|
|||
compiled_in_pgm = pgm_new();
|
||||
pgm = compiled_in_pgm;
|
||||
ppi_initpgm(pgm);
|
||||
ladd(pgm->id, dup_string("avrprog"));
|
||||
strcpy(pgm->desc, "avrprog compiled-in default");
|
||||
ladd(pgm->id, dup_string("avrdude"));
|
||||
strcpy(pgm->desc, "avrdude compiled-in default");
|
||||
pgm->pinno[PPI_AVR_VCC] = 0x0f; /* ppi pins 2-5, data reg bits 0-3 */
|
||||
pgm->pinno[PPI_AVR_BUFF] = 0;
|
||||
pgm->pinno[PIN_AVR_RESET] = 7;
|
||||
|
@ -679,7 +679,7 @@ int main(int argc, char * argv [])
|
|||
exit(1);
|
||||
}
|
||||
|
||||
if (strcmp(pinconfig, "avrprog") == 0) {
|
||||
if (strcmp(pinconfig, "avrdude") == 0) {
|
||||
pgm = locate_pinconfig(programmers, "default");
|
||||
if (pgm == NULL) {
|
||||
/* no default config listed, use the compile-in default */
|
||||
|
|
2
stk500.c
2
stk500.c
|
@ -30,7 +30,7 @@
|
|||
/* $Id$ */
|
||||
|
||||
/*
|
||||
* avrprog interface for Atmel STK500 programmer
|
||||
* avrdude interface for Atmel STK500 programmer
|
||||
*
|
||||
* Note: most commands use the "universal command" feature of the
|
||||
* programmer in a "pass through" mode, exceptions are "program
|
||||
|
|
Loading…
Reference in New Issue