From 17427c064576c8d1ecb2cd930ff92dcdbb68f9b1 Mon Sep 17 00:00:00 2001 From: "Brian S. Dean" Date: Thu, 6 Feb 2003 05:13:32 +0000 Subject: [PATCH] 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 --- CHANGELOG | 27 +++++++++++++++++- Makefile | 67 +++++++++++++++++++++++++++------------------ Makefile.inc | 45 ------------------------------ avr.c | 4 +-- avrdude.1 | 38 ++++++++++++------------- avrdude.conf.sample | 14 +++++----- config_gram.y | 1 + lexer.l | 2 +- main.c | 10 +++---- stk500.c | 2 +- term.c | 2 +- 11 files changed, 103 insertions(+), 109 deletions(-) delete mode 100644 Makefile.inc diff --git a/CHANGELOG b/CHANGELOG index c2868642..f780f6b6 100644 --- a/CHANGELOG +++ b/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 diff --git a/Makefile b/Makefile index 82a2c300..1a743d52 100644 --- a/Makefile +++ b/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 $@ diff --git a/Makefile.inc b/Makefile.inc deleted file mode 100644 index 04dd5297..00000000 --- a/Makefile.inc +++ /dev/null @@ -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 - diff --git a/avr.c b/avr.c index 5ea05f9d..45b661b7 100644 --- a/avr.c +++ b/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; } diff --git a/avrdude.1 b/avrdude.1 index 40df169f..11b0babd 100644 --- a/avrdude.1 +++ b/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 . .Pp This man page by diff --git a/avrdude.conf.sample b/avrdude.conf.sample index 555b908c..54a474d6 100644 --- a/avrdude.conf.sample +++ b/avrdude.conf.sample @@ -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 diff --git a/config_gram.y b/config_gram.y index 8b6bbbc4..21020f18 100644 --- a/config_gram.y +++ b/config_gram.y @@ -471,6 +471,7 @@ mem_spec : #include "pindefs.h" #include "ppi.h" #include "pgm.h" +#include "stk500.h" #include "avr.h" extern char * progname; diff --git a/lexer.l b/lexer.l index ef1e9862..3e491247 100644 --- a/lexer.l +++ b/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", diff --git a/main.c b/main.c index 201d983c..39bc6f48 100644 --- a/main.c +++ b/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 */ diff --git a/stk500.c b/stk500.c index 70ff056f..b6bc90c5 100644 --- a/stk500.c +++ b/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 diff --git a/term.c b/term.c index 4925329e..2e38fb9a 100644 --- a/term.c +++ b/term.c @@ -642,7 +642,7 @@ int terminal_mode(PROGRAMMER * pgm, struct avrpart * p) char ** argv; rc = 0; - while ((cmdbuf = readline("avrprog> ")) != NULL) { + while ((cmdbuf = readline("avrdude> ")) != NULL) { len = strlen(cmdbuf); if (len >= 1) add_history(cmdbuf);