Parser does not need to know all programmer types now, new programmers

will update only the table in pgm_type.c.
  * config_gram.y, lexer.l: removed programmer type keywords,
    use now locate_programmer_type() function
  * pgm_type.[ch]: added new files for table of programmer types
  * main.c: allow list of programmer types by -c ?type
  * avrdude.conf.in: changed all type keywords to quoted strings
  * doc/avrdude.texi: changed description of type definition, list
    of valid types is now included from generated file
  * doc/Makefile.am: generate list of programmer types for doc
  * all programmers [hc]: add xxx_desc string for description of programmer


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1051 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
rliebscher
2012-01-31 17:03:43 +00:00
parent a2a8927d8f
commit 751b96182c
45 changed files with 442 additions and 214 deletions

View File

@@ -52,6 +52,7 @@
#include "avr.h"
#include "pgm.h"
#include "stk500_private.h" // temp until all code converted
#include "stk500v2.h"
#include "stk500v2_private.h"
#include "serial.h"
#include "usbdevs.h"
@@ -3611,6 +3612,7 @@ static void stk600_setup_isp(PROGRAMMER * pgm)
pgm->chip_erase = stk500v2_chip_erase;
}
const char stk500v2_desc[] = "Atmel STK500 Version 2.x firmware";
void stk500v2_initpgm(PROGRAMMER * pgm)
{
@@ -3647,6 +3649,8 @@ void stk500v2_initpgm(PROGRAMMER * pgm)
pgm->page_size = 256;
}
const char stk500pp_desc[] = "Atmel STK500 V2 in parallel programming mode";
void stk500pp_initpgm(PROGRAMMER * pgm)
{
strcpy(pgm->type, "STK500PP");
@@ -3680,6 +3684,8 @@ void stk500pp_initpgm(PROGRAMMER * pgm)
pgm->page_size = 256;
}
const char stk500hvsp_desc[] = "Atmel STK500 V2 in high-voltage serial programming mode";
void stk500hvsp_initpgm(PROGRAMMER * pgm)
{
strcpy(pgm->type, "STK500HVSP");
@@ -3713,6 +3719,8 @@ void stk500hvsp_initpgm(PROGRAMMER * pgm)
pgm->page_size = 256;
}
const char stk500v2_jtagmkII_desc[] = "Atmel JTAG ICE mkII in ISP mode";
void stk500v2_jtagmkII_initpgm(PROGRAMMER * pgm)
{
strcpy(pgm->type, "JTAGMKII_ISP");
@@ -3745,6 +3753,8 @@ void stk500v2_jtagmkII_initpgm(PROGRAMMER * pgm)
pgm->page_size = 256;
}
const char stk500v2_dragon_isp_desc[] = "Atmel AVR Dragon in ISP mode";
void stk500v2_dragon_isp_initpgm(PROGRAMMER * pgm)
{
strcpy(pgm->type, "DRAGON_ISP");
@@ -3776,6 +3786,8 @@ void stk500v2_dragon_isp_initpgm(PROGRAMMER * pgm)
pgm->page_size = 256;
}
const char stk500v2_dragon_pp_desc[] = "Atmel AVR Dragon in PP mode";
void stk500v2_dragon_pp_initpgm(PROGRAMMER * pgm)
{
strcpy(pgm->type, "DRAGON_PP");
@@ -3809,6 +3821,8 @@ void stk500v2_dragon_pp_initpgm(PROGRAMMER * pgm)
pgm->page_size = 256;
}
const char stk500v2_dragon_hvsp_desc[] = "Atmel AVR Dragon in HVSP mode";
void stk500v2_dragon_hvsp_initpgm(PROGRAMMER * pgm)
{
strcpy(pgm->type, "DRAGON_HVSP");
@@ -3842,6 +3856,8 @@ void stk500v2_dragon_hvsp_initpgm(PROGRAMMER * pgm)
pgm->page_size = 256;
}
const char stk600_desc[] = "Atmel STK600";
void stk600_initpgm(PROGRAMMER * pgm)
{
strcpy(pgm->type, "STK600");
@@ -3877,6 +3893,8 @@ void stk600_initpgm(PROGRAMMER * pgm)
pgm->page_size = 256;
}
const char stk600pp_desc[] = "Atmel STK600 in parallel programming mode";
void stk600pp_initpgm(PROGRAMMER * pgm)
{
strcpy(pgm->type, "STK600PP");
@@ -3910,6 +3928,8 @@ void stk600pp_initpgm(PROGRAMMER * pgm)
pgm->page_size = 256;
}
const char stk600hvsp_desc[] = "Atmel STK600 in high-voltage serial programming mode";
void stk600hvsp_initpgm(PROGRAMMER * pgm)
{
strcpy(pgm->type, "STK600HVSP");