patch #7184 Support for PICKit2 programmer

* Makefile.am: add pickit2 files
	* pickit2.[ch]: new programmer implementation
	* pgm_type.c: add pickit to list
	* avrdude.1: documentation for pickit2
	* doc/avrdude.texi: documentation for pickit2
	* avrdude.conf.in: add pickit2 programmer entry

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1102 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
rliebscher 2012-08-15 18:34:53 +00:00
parent 911791686c
commit ae88486420
8 changed files with 1467 additions and 0 deletions

View File

@ -1,3 +1,13 @@
2012-08-15 Rene Liebscher <R.Liebscher@gmx.de>
patch #7184 Support for PICKit2 programmer
* Makefile.am: add pickit2 files
* pickit2.[ch]: new programmer implementation
* pgm_type.c: add pickit to list
* avrdude.1: documentation for pickit2
* doc/avrdude.texi: documentation for pickit2
* avrdude.conf.in: add pickit2 programmer entry
2012-08-15 Rene Liebscher <R.Liebscher@gmx.de> 2012-08-15 Rene Liebscher <R.Liebscher@gmx.de>
bug #30559 Ft232 bit-bang support, see comment #30 bug #30559 Ft232 bit-bang support, see comment #30

View File

@ -131,6 +131,8 @@ libavrdude_a_SOURCES = \
pgm.h \ pgm.h \
pgm_type.c \ pgm_type.c \
pgm_type.h \ pgm_type.h \
pickit2.c \
pickit2.h \
pindefs.h \ pindefs.h \
ppi.c \ ppi.c \
ppi.h \ ppi.h \

View File

@ -948,6 +948,25 @@ No toggling of DTR/RTS is performed if
.Ar snooze .Ar snooze
is greater than 0. is greater than 0.
.El .El
.It Ar PICkit2
Connection to the PICkit2 programmer:
.Bd -literal
(AVR) (PICkit2)
RST - VPP/MCLR (1)
VDD - VDD Target (2) -- possibly optional if AVR self powered
GND - GND (3)
MISO - PGD (4)
SCLK - PDC (5)
MOSI - AUX (6)
.Ed
Extended commandline parameters:
.Bl -tag -offset indent -width indent
.It Ar clockrate=<rate>
Sets the SPI clocking rate in Hz (default is 100kHz). Alternately the -B or -i options can be used to set the period.
.It Ar timeout=<usb-transaction-timeout>
Sets the timeout for USB reads and writes in milliseconds (default is 1500 ms).
.El
.El .El
.Sh FILES .Sh FILES
.Bl -tag -offset indent -width /dev/ppi0XXX .Bl -tag -offset indent -width /dev/ppi0XXX

View File

@ -873,6 +873,13 @@ programmer
connection_type = serial; connection_type = serial;
; ;
programmer
id = "pickit2";
desc = "MicroChip's PICkit2 Programmer";
type = "pickit2";
connection_type = usb;
;
@HAVE_PARPORT_BEGIN@ Inclusion of the following depends on --enable-parport @HAVE_PARPORT_BEGIN@ Inclusion of the following depends on --enable-parport
# Parallel port programmers. # Parallel port programmers.

View File

@ -839,6 +839,26 @@ After performing the port open phase, AVRDUDE will wait/snooze for
No toggling of DTR/RTS is performed if @var{snooze} > 0. No toggling of DTR/RTS is performed if @var{snooze} > 0.
@end table @end table
@item PICkit2
Connection to the PICkit2 programmer:
@multitable @columnfractions .05 .3
@item @code{(AVR)} @tab @code{(PICkit2)}
@item @code{RST} @tab @code{VPP/MCLR (1) }
@item @code{VDD} @tab @code{VDD Target (2) -- possibly optional if AVR self powered }
@item @code{GND} @tab @code{GND (3) }
@item @code{MISO} @tab @code{PGD (4) }
@item @code{SCLK} @tab @code{PDC (5) }
@item @code{OSI} @tab @code{AUX (6) }
@end multitable
Extended commandline parameters:
@table @code
@item @samp{clockrate=@var{rate}}
Sets the SPI clocking rate in Hz (default is 100kHz). Alternately the -B or -i options can be used to set the period.
@item @samp{timeout=@var{usb-transaction-timeout}}
Sets the timeout for USB reads and writes in milliseconds (default is 1500 ms).
@end table
@end table @end table
@page @page

View File

@ -39,6 +39,7 @@
#include "jtagmkI.h" #include "jtagmkI.h"
#include "jtagmkII.h" #include "jtagmkII.h"
#include "par.h" #include "par.h"
#include "pickit2.h"
#include "ppi.h" #include "ppi.h"
#include "serbb.h" #include "serbb.h"
#include "stk500.h" #include "stk500.h"
@ -70,6 +71,7 @@ const PROGRAMMER_TYPE const programmers_types[] = {
{"jtagmkii_isp", stk500v2_jtagmkII_initpgm, stk500v2_jtagmkII_desc}, {"jtagmkii_isp", stk500v2_jtagmkII_initpgm, stk500v2_jtagmkII_desc},
{"jtagmkii_pdi", jtagmkII_pdi_initpgm, jtagmkII_pdi_desc}, {"jtagmkii_pdi", jtagmkII_pdi_initpgm, jtagmkII_pdi_desc},
{"par", par_initpgm, par_desc}, {"par", par_initpgm, par_desc},
{"pickit2", pickit2_initpgm, pickit2_desc},
{"serbb", serbb_initpgm, serbb_desc}, {"serbb", serbb_initpgm, serbb_desc},
{"stk500", stk500_initpgm, stk500_desc}, {"stk500", stk500_initpgm, stk500_desc},
{"stk500generic", stk500generic_initpgm, stk500generic_desc}, {"stk500generic", stk500generic_initpgm, stk500generic_desc},

1369
pickit2.c Normal file

File diff suppressed because it is too large Load Diff

38
pickit2.h Normal file
View File

@ -0,0 +1,38 @@
/*
* avrdude - A Downloader/Uploader for AVR device programmers
* Copyright (C) 2006 Thomas Fischl
*
* 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; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/* $Id: pickit2.h 2010-05-03 dbrown $ */
#ifndef pickit2_h
#define pickit2_h
#include "avrpart.h"
#ifdef __cplusplus
extern "C" {
#endif
extern const char pickit2_desc[];
void pickit2_initpgm (PROGRAMMER * pgm);
#ifdef __cplusplus
}
#endif
#endif // pickit2_h