Add the ability to specify which pin to pulse when retrying entry into

programming mode.  Use 'retry_pulse' in the per-part specification
that can currently take values of 'reset' or 'sck', the default being
'sck' which preserves the previous behaviour.  Some newer parts
indicate that /RESET should be pulsed, while older parts say to pulse
SCK.


git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@212 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
Brian S. Dean
2003-02-21 17:24:47 +00:00
parent 38a4dcc703
commit 8ba95cd0c3
6 changed files with 54 additions and 12 deletions

View File

@@ -93,6 +93,7 @@ static int parse_cmdbits(OPCODE * op);
%token K_READBACK_P2
%token K_READMEM
%token K_RESET
%token K_RETRY_PULSE
%token K_SERIAL
%token K_SCK
%token K_SIZE
@@ -307,8 +308,10 @@ prog_parm :
}
} |
K_RESET TKN_EQUAL TKN_NUMBER { assign_pin(PIN_AVR_RESET, $3); } |
K_SCK TKN_EQUAL TKN_NUMBER { assign_pin(PIN_AVR_SCK, $3); } |
K_RESET TKN_EQUAL TKN_NUMBER { free_token($1);
assign_pin(PIN_AVR_RESET, $3); } |
K_SCK TKN_EQUAL TKN_NUMBER { free_token($1);
assign_pin(PIN_AVR_SCK, $3); } |
K_MOSI TKN_EQUAL TKN_NUMBER { assign_pin(PIN_AVR_MOSI, $3); } |
K_MISO TKN_EQUAL TKN_NUMBER { assign_pin(PIN_AVR_MISO, $3); } |
K_ERRLED TKN_EQUAL TKN_NUMBER { assign_pin(PIN_LED_ERR, $3); } |
@@ -347,6 +350,10 @@ parallel_modes :
yesno | K_PSEUDO
;
retry_lines :
K_RESET | K_SCK
;
part_parm :
K_ID TKN_EQUAL TKN_STRING
{
@@ -394,7 +401,7 @@ part_parm :
else if ($3->primary == K_IO)
current_part->reset_disposition = RESET_IO;
free_token($3);
free_tokens(2, $1, $3);
} |
K_SERIAL TKN_EQUAL yesno
@@ -426,6 +433,21 @@ part_parm :
free_token($3);
} |
K_RETRY_PULSE TKN_EQUAL retry_lines
{
switch ($3->primary) {
case K_RESET :
current_part->retry_pulse = PIN_AVR_RESET;
break;
case K_SCK :
current_part->retry_pulse = PIN_AVR_SCK;
break;
}
free_token($1);
} |
/*
K_EEPROM { current_mem = AVR_M_EEPROM; }
mem_specs |