Add autobaud_sync to avrdude.conf part description
This commit is contained in:
parent
d2a2ec1d1b
commit
231e88aaf9
|
@ -130,7 +130,7 @@
|
||||||
# programfusepolltimeout = <num> ;
|
# programfusepolltimeout = <num> ;
|
||||||
# programlockpulsewidth = <num> ; # PP only
|
# programlockpulsewidth = <num> ; # PP only
|
||||||
# programlockpolltimeout = <num> ;
|
# programlockpolltimeout = <num> ;
|
||||||
# # JTAG ICE mkII parameters, also from ATDF files
|
# # debugWIRE and/or JTAG ICE mkII parameters, also from ATDF files
|
||||||
# allowfullpagebitstream = <yes/no> ;
|
# allowfullpagebitstream = <yes/no> ;
|
||||||
# enablepageprogramming = <yes/no> ;
|
# enablepageprogramming = <yes/no> ;
|
||||||
# idr = <num> ; # IO addr of IDR (OCD) reg
|
# idr = <num> ; # IO addr of IDR (OCD) reg
|
||||||
|
@ -143,6 +143,8 @@
|
||||||
# ocdrev = <num> ;
|
# ocdrev = <num> ;
|
||||||
# pgm_enable = <instruction format> ;
|
# pgm_enable = <instruction format> ;
|
||||||
# chip_erase = <instruction format> ;
|
# chip_erase = <instruction format> ;
|
||||||
|
# # parameters for bootloaders
|
||||||
|
# autobaud_sync = <num> ; # autobaud detection byte, default 0x30
|
||||||
#
|
#
|
||||||
# memory <memtype>
|
# memory <memtype>
|
||||||
# paged = <yes/no> ; # yes/no (flash only, do not use for EEPROM)
|
# paged = <yes/no> ; # yes/no (flash only, do not use for EEPROM)
|
||||||
|
@ -175,12 +177,13 @@
|
||||||
#
|
#
|
||||||
# If any of the above parameters are not specified, the default value
|
# If any of the above parameters are not specified, the default value
|
||||||
# of 0 is used for numerics (except for mcuid, hvupdi_variant and
|
# of 0 is used for numerics (except for mcuid, hvupdi_variant and
|
||||||
# ocdrev, where the default value is -1) or the empty string "" for
|
# ocdrev, where the default value is -1, and for autobaud_sync which
|
||||||
# string values. If a required parameter is left empty, AVRDUDE will
|
# defaults to 0x30), or the empty string "" for string values. If a
|
||||||
# complain. Almost all occurrences of numbers (with the exception of
|
# required parameter is left empty, AVRDUDE will complain. Almost all
|
||||||
# pin numbers and where they are separated by space, eg, in signature
|
# occurrences of numbers (with the exception of pin numbers and where
|
||||||
# and readback) can also be given as simple expressions involving
|
# they are separated by space, eg, in signature and readback) can also
|
||||||
# arithemtic and bitwise operators.
|
# be given as simple expressions involving arithemtic and bitwise
|
||||||
|
# operators.
|
||||||
#
|
#
|
||||||
# Parts can also inherit parameters from previously defined parts
|
# Parts can also inherit parameters from previously defined parts
|
||||||
# using the following syntax. In this case specified integer and
|
# using the following syntax. In this case specified integer and
|
||||||
|
@ -12011,6 +12014,7 @@ part
|
||||||
n_boot_sections = 1;
|
n_boot_sections = 1;
|
||||||
mcu_base = 0x0090;
|
mcu_base = 0x0090;
|
||||||
nvm_base = 0x01c0;
|
nvm_base = 0x01c0;
|
||||||
|
autobaud_sync = 0x20;
|
||||||
|
|
||||||
memory "fuse1"
|
memory "fuse1"
|
||||||
size = 1;
|
size = 1;
|
||||||
|
@ -16329,6 +16333,7 @@ part parent "m88"
|
||||||
id = "lgt8f88p";
|
id = "lgt8f88p";
|
||||||
mcuid = 227;
|
mcuid = 227;
|
||||||
signature = 0x1e 0x93 0x0f;
|
signature = 0x1e 0x93 0x0f;
|
||||||
|
autobaud_sync = 0x1c;
|
||||||
;
|
;
|
||||||
|
|
||||||
#------------------------------------------------------------
|
#------------------------------------------------------------
|
||||||
|
@ -16340,6 +16345,7 @@ part parent "m168"
|
||||||
id = "lgt8f168p";
|
id = "lgt8f168p";
|
||||||
mcuid = 228;
|
mcuid = 228;
|
||||||
signature = 0x1e 0x94 0x0b;
|
signature = 0x1e 0x94 0x0b;
|
||||||
|
autobaud_sync = 0x1c;
|
||||||
;
|
;
|
||||||
|
|
||||||
#------------------------------------------------------------
|
#------------------------------------------------------------
|
||||||
|
@ -16351,4 +16357,5 @@ part parent "m328"
|
||||||
id = "lgt8f328p";
|
id = "lgt8f328p";
|
||||||
mcuid = 229;
|
mcuid = 229;
|
||||||
signature = 0x1e 0x95 0x0f;
|
signature = 0x1e 0x95 0x0f;
|
||||||
|
autobaud_sync = 0x1c;
|
||||||
;
|
;
|
||||||
|
|
|
@ -578,6 +578,7 @@ AVRPART *avr_new_part(void) {
|
||||||
// Default values
|
// Default values
|
||||||
p->mcuid = -1;
|
p->mcuid = -1;
|
||||||
p->hvupdi_variant = -1;
|
p->hvupdi_variant = -1;
|
||||||
|
p->autobaud_sync = 0x30; // STK_GET_SYNC
|
||||||
memset(p->signature, 0xFF, 3);
|
memset(p->signature, 0xFF, 3);
|
||||||
p->reset_disposition = RESET_DEDICATED;
|
p->reset_disposition = RESET_DEDICATED;
|
||||||
p->retry_pulse = PIN_AVR_SCK;
|
p->retry_pulse = PIN_AVR_SCK;
|
||||||
|
|
|
@ -72,6 +72,7 @@ Component_t avr_comp[] = {
|
||||||
part_comp_desc(n_page_erase, COMP_INT),
|
part_comp_desc(n_page_erase, COMP_INT),
|
||||||
part_comp_desc(n_boot_sections, COMP_INT),
|
part_comp_desc(n_boot_sections, COMP_INT),
|
||||||
part_comp_desc(boot_section_size, COMP_INT),
|
part_comp_desc(boot_section_size, COMP_INT),
|
||||||
|
part_comp_desc(autobaud_sync, COMP_CHAR),
|
||||||
|
|
||||||
// AVRMEM
|
// AVRMEM
|
||||||
mem_comp_desc(n_word_writes, COMP_INT),
|
mem_comp_desc(n_word_writes, COMP_INT),
|
||||||
|
|
|
@ -716,6 +716,7 @@ static void dev_part_strct(const AVRPART *p, bool tsv, const AVRPART *base, bool
|
||||||
_if_partout(intcmp, "0x%04x", nvm_base);
|
_if_partout(intcmp, "0x%04x", nvm_base);
|
||||||
_if_partout(intcmp, "0x%04x", ocd_base);
|
_if_partout(intcmp, "0x%04x", ocd_base);
|
||||||
_if_partout(intcmp, "%d", ocdrev);
|
_if_partout(intcmp, "%d", ocdrev);
|
||||||
|
_if_partout(intcmp, "0x%02x", autobaud_sync);
|
||||||
|
|
||||||
for(int i=0; i < AVR_OP_MAX; i++)
|
for(int i=0; i < AVR_OP_MAX; i++)
|
||||||
if(!base || opcodecmp(p->op[i], base->op[i], i))
|
if(!base || opcodecmp(p->op[i], base->op[i], i))
|
||||||
|
|
|
@ -1925,7 +1925,7 @@ part
|
||||||
programfusepolltimeout = <num> ;
|
programfusepolltimeout = <num> ;
|
||||||
programlockpulsewidth = <num> ; # PP only
|
programlockpulsewidth = <num> ; # PP only
|
||||||
programlockpolltimeout = <num> ;
|
programlockpolltimeout = <num> ;
|
||||||
# JTAG ICE mkII parameters, also from ATDF files
|
# debugWIRE and/or JTAG ICE mkII parameters, also from ATDF files
|
||||||
allowfullpagebitstream = <yes/no> ;
|
allowfullpagebitstream = <yes/no> ;
|
||||||
enablepageprogramming = <yes/no> ;
|
enablepageprogramming = <yes/no> ;
|
||||||
idr = <num> ; # IO addr of IDR (OCD) reg
|
idr = <num> ; # IO addr of IDR (OCD) reg
|
||||||
|
@ -1938,6 +1938,8 @@ part
|
||||||
ocdrev = <num> ;
|
ocdrev = <num> ;
|
||||||
pgm_enable = <instruction format> ;
|
pgm_enable = <instruction format> ;
|
||||||
chip_erase = <instruction format> ;
|
chip_erase = <instruction format> ;
|
||||||
|
# parameters for bootloaders
|
||||||
|
autobaud_sync = <num> ; # autobaud detection byte, default 0x30
|
||||||
|
|
||||||
memory <memtype>
|
memory <memtype>
|
||||||
paged = <yes/no> ; # yes/no (flash only, do not use for EEPROM)
|
paged = <yes/no> ; # yes/no (flash only, do not use for EEPROM)
|
||||||
|
@ -1970,14 +1972,14 @@ part
|
||||||
@end smallexample
|
@end smallexample
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
If any of the above parameters are not specified, the default value
|
If any of the above parameters are not specified, the default value of 0
|
||||||
of 0 is used for numerics (except for @code{mcuid}, @code{hvupdi_variant} and @code{ocdrev},
|
is used for numerics (except for @code{mcuid}, @code{hvupdi_variant} and
|
||||||
where the default value is -1) or the empty string @code{""} for string
|
@code{ocdrev}, where the default value is -1, and for @code{autobaud_sync}
|
||||||
values. If a required parameter is left empty, AVRDUDE will complain.
|
which defaults to 0x30) or the empty string @code{""} for string values.
|
||||||
Almost all occurrences of numbers (with the exception of pin numbers
|
If a required parameter is left empty, AVRDUDE will complain. Almost all
|
||||||
and where they are separated by space, eg, in signature and readback)
|
occurrences of numbers (with the exception of pin numbers and where they
|
||||||
can also be given as simple expressions involving arithemtic and
|
are separated by space, eg, in signature and readback) can also be given
|
||||||
bitwise operators.
|
as simple expressions involving arithemtic and bitwise operators.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Parent Part::
|
* Parent Part::
|
||||||
|
|
|
@ -122,7 +122,7 @@ SIGN [+-]
|
||||||
|
|
||||||
|
|
||||||
(?x: prog_modes | mcuid | n_interrupts | n_page_erase | n_word_writes | n_boot_sections |
|
(?x: prog_modes | mcuid | n_interrupts | n_page_erase | n_word_writes | n_boot_sections |
|
||||||
boot_section_size ) { /* Components for assignment */
|
boot_section_size | autobaud_sync) { /* Components for assignment */
|
||||||
|
|
||||||
Component_t *cp = cfg_comp_search(yytext, current_strct);
|
Component_t *cp = cfg_comp_search(yytext, current_strct);
|
||||||
if(!cp) {
|
if(!cp) {
|
||||||
|
|
|
@ -252,56 +252,63 @@ typedef struct avrpart {
|
||||||
this pin (PIN_AVR_*) */
|
this pin (PIN_AVR_*) */
|
||||||
unsigned flags; /* see AVRPART_ masks */
|
unsigned flags; /* see AVRPART_ masks */
|
||||||
|
|
||||||
int timeout; /* stk500 v2 xml file parameter */
|
/* STK500 v2 parameters from ATDF files */
|
||||||
int stabdelay; /* stk500 v2 xml file parameter */
|
int timeout;
|
||||||
int cmdexedelay; /* stk500 v2 xml file parameter */
|
int stabdelay;
|
||||||
int synchloops; /* stk500 v2 xml file parameter */
|
int cmdexedelay;
|
||||||
int bytedelay; /* stk500 v2 xml file parameter */
|
int synchloops;
|
||||||
int pollindex; /* stk500 v2 xml file parameter */
|
int bytedelay;
|
||||||
unsigned char pollvalue; /* stk500 v2 xml file parameter */
|
int pollindex;
|
||||||
int predelay; /* stk500 v2 xml file parameter */
|
unsigned char pollvalue;
|
||||||
int postdelay; /* stk500 v2 xml file parameter */
|
int predelay;
|
||||||
int pollmethod; /* stk500 v2 xml file parameter */
|
int postdelay;
|
||||||
|
int pollmethod;
|
||||||
|
|
||||||
enum ctl_stack_t ctl_stack_type; /* what to use the ctl stack for */
|
enum ctl_stack_t ctl_stack_type; /* what to use the ctl stack for */
|
||||||
unsigned char controlstack[CTL_STACK_SIZE]; /* stk500v2 PP/HVSP ctl stack */
|
unsigned char controlstack[CTL_STACK_SIZE]; /* stk500v2 PP/HVSP ctl stack */
|
||||||
unsigned char flash_instr[FLASH_INSTR_SIZE]; /* flash instructions (debugWire, JTAG) */
|
unsigned char flash_instr[FLASH_INSTR_SIZE]; /* flash instructions (debugWire, JTAG) */
|
||||||
unsigned char eeprom_instr[EEPROM_INSTR_SIZE]; /* EEPROM instructions (debugWire, JTAG) */
|
unsigned char eeprom_instr[EEPROM_INSTR_SIZE]; /* EEPROM instructions (debugWire, JTAG) */
|
||||||
|
|
||||||
int hventerstabdelay; /* stk500 v2 hv mode parameter */
|
/* STK500 v2 hv mode parameters */
|
||||||
int progmodedelay; /* stk500 v2 hv mode parameter */
|
int hventerstabdelay;
|
||||||
int latchcycles; /* stk500 v2 hv mode parameter */
|
int progmodedelay;
|
||||||
int togglevtg; /* stk500 v2 hv mode parameter */
|
int latchcycles;
|
||||||
int poweroffdelay; /* stk500 v2 hv mode parameter */
|
int togglevtg;
|
||||||
int resetdelayms; /* stk500 v2 hv mode parameter */
|
int poweroffdelay;
|
||||||
int resetdelayus; /* stk500 v2 hv mode parameter */
|
int resetdelayms;
|
||||||
int hvleavestabdelay; /* stk500 v2 hv mode parameter */
|
int resetdelayus;
|
||||||
int resetdelay; /* stk500 v2 hv mode parameter */
|
int hvleavestabdelay;
|
||||||
int chiperasepulsewidth; /* stk500 v2 hv mode parameter */
|
int resetdelay;
|
||||||
int chiperasepolltimeout; /* stk500 v2 hv mode parameter */
|
int chiperasepulsewidth;
|
||||||
int chiperasetime; /* stk500 v2 hv mode parameter */
|
int chiperasepolltimeout;
|
||||||
int programfusepulsewidth; /* stk500 v2 hv mode parameter */
|
int chiperasetime;
|
||||||
int programfusepolltimeout; /* stk500 v2 hv mode parameter */
|
int programfusepulsewidth;
|
||||||
int programlockpulsewidth; /* stk500 v2 hv mode parameter */
|
int programfusepolltimeout;
|
||||||
int programlockpolltimeout; /* stk500 v2 hv mode parameter */
|
int programlockpulsewidth;
|
||||||
int synchcycles; /* stk500 v2 hv mode parameter */
|
int programlockpolltimeout;
|
||||||
int hvspcmdexedelay; /* stk500 v2 hv mode file parameter */
|
int synchcycles;
|
||||||
|
int hvspcmdexedelay;
|
||||||
|
|
||||||
unsigned char idr; /* JTAG ICE mkII XML file parameter */
|
|
||||||
unsigned char rampz; /* JTAG ICE mkII XML file parameter */
|
|
||||||
unsigned char spmcr; /* JTAG ICE mkII XML file parameter */
|
|
||||||
unsigned char eecr; /* JTAC ICE mkII XML file parameter */
|
|
||||||
unsigned int mcu_base; /* Base address of MCU control block in ATxmega devices */
|
|
||||||
unsigned int nvm_base; /* Base address of NVM controller in ATxmega devices */
|
|
||||||
unsigned int ocd_base; /* Base address of OCD module in AVR8X/UPDI devices */
|
|
||||||
int ocdrev; /* OCD revision (JTAGICE3 parameter, from AS6 XML files) */
|
|
||||||
|
|
||||||
OPCODE * op[AVR_OP_MAX]; /* opcodes */
|
/* debugWIRE and/or JTAG ICE mkII XML file parameters */
|
||||||
|
unsigned char idr; /* I/O address of IDR (OCD) reg */
|
||||||
|
unsigned char rampz; /* I/O address of RAMPZ reg */
|
||||||
|
unsigned char spmcr; /* memory address of SPMCR reg */
|
||||||
|
unsigned char eecr; /* memory address of EECR reg */
|
||||||
|
unsigned int mcu_base; /* Base address of MCU control block in ATxmega devices */
|
||||||
|
unsigned int nvm_base; /* Base address of NVM controller in ATxmega devices */
|
||||||
|
unsigned int ocd_base; /* Base address of OCD module in AVR8X/UPDI devices */
|
||||||
|
int ocdrev; /* OCD revision (JTAGICE3 parameter, from AS6 XML files) */
|
||||||
|
|
||||||
LISTID mem; /* avr memory definitions */
|
/* Bootloader paramater */
|
||||||
LISTID mem_alias; /* memory alias definitions */
|
unsigned char autobaud_sync; /* Sync byte for bootloader autobaud, must be <= 0x30 */
|
||||||
const char * config_file; /* config file where defined */
|
|
||||||
int lineno; /* config file line number */
|
OPCODE * op[AVR_OP_MAX]; /* opcodes */
|
||||||
|
|
||||||
|
LISTID mem; /* avr memory definitions */
|
||||||
|
LISTID mem_alias; /* memory alias definitions */
|
||||||
|
const char * config_file; /* config file where defined */
|
||||||
|
int lineno; /* config file line number */
|
||||||
} AVRPART;
|
} AVRPART;
|
||||||
|
|
||||||
typedef struct avrmem {
|
typedef struct avrmem {
|
||||||
|
|
Loading…
Reference in New Issue