Merge pull request #1234 from stefanrueger/docs

Mention developer options in documentation and Usage()
This commit is contained in:
Stefan Rueger 2022-12-23 13:17:43 +00:00 committed by GitHub
commit 857344295c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 36 additions and 12 deletions

View File

@ -155,7 +155,7 @@ for the Arduino Uno Rev3 or any AVR that runs the Optiboot bootloader.
.Pp .Pp
Urprotocol is a leaner version of the STK500 1.x protocol that is designed Urprotocol is a leaner version of the STK500 1.x protocol that is designed
to be backwards compatible with STK500 v1.x, and allows bootloaders to be to be backwards compatible with STK500 v1.x, and allows bootloaders to be
much smaller, eg, as implemented in the urboot project much smaller, e.g., as implemented in the urboot project
https://github.com/stefanrueger/urboot. The programmer type ``urclock'' https://github.com/stefanrueger/urboot. The programmer type ``urclock''
caters for these urboot programmers. Owing to its backward compatibility, caters for these urboot programmers. Owing to its backward compatibility,
bootloaders that can be served by the arduino programmer can normally bootloaders that can be served by the arduino programmer can normally
@ -345,6 +345,11 @@ and bit-bang programmers.
The ATtiny11 can only be The ATtiny11 can only be
programmed in high-voltage serial mode. programmed in high-voltage serial mode.
.El .El
.It Fl p Ar wildcard/flags
Run developer options for MCUs that are matched by wildcard. Whilst
their main use is for developers some flags can be of utility for users, e.g.,
avrdude -p m328p/S outputs AVRDUDE's understanding of ATmega328P MCU properties;
for more information run avrdude -p x/h.
.It Fl b Ar baudrate .It Fl b Ar baudrate
Override the RS-232 connection baud rate specified in the respective Override the RS-232 connection baud rate specified in the respective
programmer's entry of the configuration file. programmer's entry of the configuration file.
@ -388,6 +393,11 @@ If -c ? is specified with a specific part, see
to be able to handle this part, together with the programming interface(s) that can be to be able to handle this part, together with the programming interface(s) that can be
used in that combination. In reality there can be deviations from this list, used in that combination. In reality there can be deviations from this list,
particularly if programming is directly via a bootloader. particularly if programming is directly via a bootloader.
.It Fl c Ar wildcard/flags
Run developer options for programmers that are matched by wildcard. Whilst
their main use is for developers some flags can be of utility for users, e.g.,
avrdude -c usbtiny/S shows AVRDUDE's understanding of usbtiny's properties;
for more information run avrdude -c x/h.
.It Fl C Ar config-file .It Fl C Ar config-file
Use the specified config file to load configuration data. This file Use the specified config file to load configuration data. This file
contains all programmer and part definitions that contains all programmer and part definitions that
@ -874,7 +884,7 @@ or C-style strings and characters. For integers, an optional case-insensitive
suffix specifies the data size: HH 8 bit, H/S 16 bit, L 32 bit, LL 64 bit. suffix specifies the data size: HH 8 bit, H/S 16 bit, L 32 bit, LL 64 bit.
Suffix D indicates a 64-bit double, F a 32-bit float, whilst a floating point Suffix D indicates a 64-bit double, F a 32-bit float, whilst a floating point
number without suffix defaults to 32-bit float. Hexadecimal floating point number without suffix defaults to 32-bit float. Hexadecimal floating point
notation is supported. An ambiguous trailing suffix, eg, 0x1.8D, is read as notation is supported. An ambiguous trailing suffix, e.g., 0x1.8D, is read as
no-suffix float where D is part of the mantissa; use a zero exponent 0x1.8p0D no-suffix float where D is part of the mantissa; use a zero exponent 0x1.8p0D
to clarify. to clarify.
.Pp .Pp
@ -908,7 +918,7 @@ item.
Synchronise with the device all pending cached writes to EEPROM or flash. Synchronise with the device all pending cached writes to EEPROM or flash.
With some programmer and part combinations, flash (and sometimes EEPROM, With some programmer and part combinations, flash (and sometimes EEPROM,
too) looks like a NOR memory, ie, one can only write 0 bits, not 1 bits. too) looks like a NOR memory, ie, one can only write 0 bits, not 1 bits.
When this is detected, either page erase is deployed (eg, with parts that When this is detected, either page erase is deployed (e.g., with parts that
have PDI/UPDI interfaces), or if that is not available, both EEPROM and have PDI/UPDI interfaces), or if that is not available, both EEPROM and
flash caches are fully read in, a chip erase command is issued and both flash caches are fully read in, a chip erase command is issued and both
EEPROM and flash are written back to the device. Hence, it can take EEPROM and flash are written back to the device. Hence, it can take

View File

@ -290,7 +290,7 @@ below for details.
Urprotocol is a leaner version of the STK500 1.x protocol that is designed Urprotocol is a leaner version of the STK500 1.x protocol that is designed
to be backwards compatible with STK500 v1.x; it allows bootloaders to be to be backwards compatible with STK500 v1.x; it allows bootloaders to be
much smaller, eg, as implemented in the urboot project much smaller, e.g., as implemented in the urboot project
@uref{https://github.com/stefanrueger/urboot}. The programmer type ``urclock'' @uref{https://github.com/stefanrueger/urboot}. The programmer type ``urclock''
caters for these urboot bootloaders. Owing to its backward compatibility, caters for these urboot bootloaders. Owing to its backward compatibility,
bootloaders that can be served by the arduino programmer can normally also bootloaders that can be served by the arduino programmer can normally also
@ -449,6 +449,12 @@ from that of other AVRs. Thus, not all programmers support this
device. Known to work are all direct bitbang programmers, and all device. Known to work are all direct bitbang programmers, and all
programmers talking the STK500v2 protocol. programmers talking the STK500v2 protocol.
@item -p @var{wildcard/flags}
Run developer options for MCUs that are matched by @var{wildcard}. Whilst
their main use is for developers some @var{flags} can be of utility for
users, e.g., @code{avrdude -p m328p/S} outputs AVRDUDE's understanding of
ATmega328P MCU properties; for more information run @code{avrdude -p x/h}.
@item -b @var{baudrate} @item -b @var{baudrate}
Override the RS-232 connection baud rate specified in the respective Override the RS-232 connection baud rate specified in the respective
programmer's entry of the configuration file. programmer's entry of the configuration file.
@ -489,12 +495,18 @@ programmer ids are understood and supported:
@cindex Programmer support @cindex Programmer support
@multitable @columnfractions .2 .6 @multitable @columnfractions .3 .68
@include programmers.texi @include programmers.texi
@end multitable @end multitable
@item -c @var{wildcard/flags}
Run developer options for programmers that are matched by @var{wildcard}.
Whilst their main use is for developers some @var{flags} can be of utility
for users, e.g., @code{avrdude -c usbtiny/S} shows AVRDUDE's understanding of
usbtiny's properties; for more information run @code{avrdude -c x/h}.
@item -C @var{config-file} @item -C @var{config-file}
Use the specified config file for configuration data. This file Use the specified config file for configuration data. This file
contains all programmer and part definitions that AVRDUDE knows about. contains all programmer and part definitions that AVRDUDE knows about.
@ -1544,7 +1556,7 @@ suffix specifies the data size as in the table below:
Suffix @code{D} indicates a 64-bit double, @code{F} a 32-bit float, whilst a Suffix @code{D} indicates a 64-bit double, @code{F} a 32-bit float, whilst a
floating point number without suffix defaults to 32-bit float. Hexadecimal floating point number without suffix defaults to 32-bit float. Hexadecimal
floating point notation is supported. An ambiguous trailing suffix, eg, floating point notation is supported. An ambiguous trailing suffix, e.g.,
@code{0x1.8D}, is read as no-suffix float where @code{D} is part of the @code{0x1.8D}, is read as no-suffix float where @code{D} is part of the
mantissa; use a zero exponent @code{0x1.8p0D} to clarify. mantissa; use a zero exponent @code{0x1.8p0D} to clarify.
@ -1582,7 +1594,7 @@ needed.
Synchronise with the device all pending cached writes to EEPROM or flash. Synchronise with the device all pending cached writes to EEPROM or flash.
With some programmer and part combinations, flash (and sometimes EEPROM, With some programmer and part combinations, flash (and sometimes EEPROM,
too) looks like a NOR memory, ie, one can only write 0 bits, not 1 bits. too) looks like a NOR memory, ie, one can only write 0 bits, not 1 bits.
When this is detected, either page erase is deployed (eg, with parts that When this is detected, either page erase is deployed (e.g., with parts that
have PDI/UPDI interfaces), or if that is not available, both EEPROM and have PDI/UPDI interfaces), or if that is not available, both EEPROM and
flash caches are fully read in, a chip erase command is issued and both flash caches are fully read in, a chip erase command is issued and both
EEPROM and flash are written back to the device. Hence, it can take EEPROM and flash are written back to the device. Hence, it can take
@ -1917,7 +1929,7 @@ programmer
desc = <description> ; # quoted string desc = <description> ; # quoted string
type = <type>; # programmer type, quoted string type = <type>; # programmer type, quoted string
# supported types can be listed by "-c ?type" # supported types can be listed by "-c ?type"
prog_modes = PM_<i/f> @{ | PM_<i/f> @} # interfaces, eg, PM_SPM|PM_PDI prog_modes = PM_<i/f> @{ | PM_<i/f> @} # interfaces, e.g., PM_SPM|PM_PDI
connection_type = parallel | serial | usb | spi connection_type = parallel | serial | usb | spi
baudrate = <num> ; # baudrate for avr910-programmer baudrate = <num> ; # baudrate for avr910-programmer
vcc = <pin1> [, <pin2> ... ] ; # pin number(s) vcc = <pin1> [, <pin2> ... ] ; # pin number(s)
@ -1986,8 +1998,8 @@ The following programmer types are currently implemented:
part part
desc = <description> ; # quoted string desc = <description> ; # quoted string
id = <id> ; # quoted string id = <id> ; # quoted string
family_id = <id> ; # quoted string, eg, "megaAVR" or "tinyAVR" family_id = <id> ; # quoted string, e.g., "megaAVR" or "tinyAVR"
prog_modes = PM_<i/f> @{| PM_<i/f>@} # interfaces, eg, PM_SPM|PM_ISP|PM_HVPP|PM_debugWIRE prog_modes = PM_<i/f> @{| PM_<i/f>@} # interfaces, e.g., PM_SPM|PM_ISP|PM_HVPP|PM_debugWIRE
mcuid = <num>; # unique id in 0..2039 for 8-bit AVRs mcuid = <num>; # unique id in 0..2039 for 8-bit AVRs
n_interrupts = <num>; # number of interrupts, used for vector bootloaders n_interrupts = <num>; # number of interrupts, used for vector bootloaders
n_page_erase = <num>; # if set, number of pages erased during SPM erase n_page_erase = <num>; # if set, number of pages erased during SPM erase
@ -2103,7 +2115,7 @@ is used for numerics (except for @code{mcuid}, @code{hvupdi_variant} and
which defaults to 0x30) or the empty string @code{""} for string values. which defaults to 0x30) or the empty string @code{""} for string values.
If a required parameter is left empty, AVRDUDE will complain. Almost all If a required parameter is left empty, AVRDUDE will complain. Almost all
occurrences of numbers (with the exception of pin numbers and where they occurrences of numbers (with the exception of pin numbers and where they
are separated by space, eg, in signature and readback) can also be given are separated by space, e.g., in signature and readback) can also be given
as simple expressions involving arithemtic and bitwise operators. as simple expressions involving arithemtic and bitwise operators.
@menu @menu
@ -2126,7 +2138,7 @@ new memory definition refers to an existing one of the same name for
that part then, from v7.1, the existing memory definition is extended, that part then, from v7.1, the existing memory definition is extended,
and components overwritten with new values. Assigning @code{NULL} and components overwritten with new values. Assigning @code{NULL}
removes an inherited SPI instruction format, memory definition, control removes an inherited SPI instruction format, memory definition, control
stack, eeprom or flash instruction, eg, as in @code{memory "efuse" = stack, eeprom or flash instruction, e.g., as in @code{memory "efuse" =
NULL;} NULL;}
@noindent @noindent

View File

@ -166,10 +166,12 @@ static void usage(void)
"Usage: %s [options]\n" "Usage: %s [options]\n"
"Options:\n" "Options:\n"
" -p <partno> Specify AVR device\n" " -p <partno> Specify AVR device\n"
" -p <wildcard>/<flags> Run developer options for matched AVR devices\n"
" -b <baudrate> Override RS-232 baud rate\n" " -b <baudrate> Override RS-232 baud rate\n"
" -B <bitclock> Specify bit clock period (us)\n" " -B <bitclock> Specify bit clock period (us)\n"
" -C <config-file> Specify location of configuration file\n" " -C <config-file> Specify location of configuration file\n"
" -c <programmer> Specify programmer type\n" " -c <programmer> Specify programmer type\n"
" -c <wildcard>/<flags> Run developer options for matched programmers\n"
" -A Disable trailing-0xff removal from file and AVR read\n" " -A Disable trailing-0xff removal from file and AVR read\n"
" -D Disable auto erase for flash memory; implies -A\n" " -D Disable auto erase for flash memory; implies -A\n"
" -i <delay> ISP Clock Delay [in microseconds]\n" " -i <delay> ISP Clock Delay [in microseconds]\n"