diff --git a/src/doc/avrdude.texi b/src/doc/avrdude.texi index 140ee111..4fa92c2e 100644 --- a/src/doc/avrdude.texi +++ b/src/doc/avrdude.texi @@ -1255,20 +1255,83 @@ The following commands are implemented: @table @code -@item dump @var{memtype} @var{addr} @var{nbytes} +@item dump @var{memtype} [@var{start_addr} [@var{nbytes}]] Read @var{nbytes} from the specified memory area, and display them in the usual hexadecimal and ASCII form. -@item dump +@item dump @var{memtype} [@var{start_addr}] @dots{} +Start reading from @var{start_addr}, all the way to the last memory address. + +@item dump @var{memtype} Continue dumping the memory contents for another @var{nbytes} where the previous dump command left off. -@item write @var{memtype} @var{addr} @var{byte1} @dots{} @var{byteN} -Manually program the respective memory cells, starting at address addr, -using the values @var{byte1} through @var{byteN}. This feature is not +@item write @var{memtype} @var{start_addr} @var{data1} @var{data2} @dots{} @var{dataN} +Manually program the respective memory cells, starting at address @var{start_addr}, +using the values @var{data1} through @var{dataN}. This feature is not implemented for bank-addressed memories such as the flash memory of ATMega devices. +Items @var{dataN} can have the following formats: + +@multitable @columnfractions .3 .4 .3 +@item @strong{Type} +@tab @strong{Example} +@tab @strong{Size (bytes)} + +@item Character +@tab @code{'A'} +@tab 1 + +@item Decimal integer +@tab 12345 +@tab 1, 2, 4, or 8 (see below) + +@item Octal integer +@tab 012345 +@tab 1, 2, 4, or 8 (see below) + +@item Hexadecimal integer +@tab 0x12345 +@tab 1, 2, 4, or 8 (see below) + +@item Float +@tab 3.1415926 +@tab 4 + +@end multitable + +Integer constants can be 1, 2, 4, or 8 bytes long. +By default, the smallest possible size will be used where +the specified number just fits into. +A specific size can be denoted by appending one of these suffixes: + +@table @code +@item LL +@itemx ll +8 bytes / 64 bits +@item L +@itemx l +4 bytes / 32 bits +@item H +@itemx h +@itemx S +@itemx s +2 bytes / 16 bits +@item HH +@itemx hh +1 byte / 8 bits +@end table + +Similarly, floating-point constants can have an @code{F} or @code{f} +appended, but only 32-bit floating-point values are supported. + +@item write @var{memtype} @var{start_addr} @var{data1} @var{data2} @var{dataN} @dots{} + +Similar to the above, but the entire memory region is written to. +For that purpose, after writing the initial items, @var{dataN} is +replicated as many times as needed to fill the memory area. + @item erase Perform a chip erase. @@ -1460,6 +1523,31 @@ avrdude> @end cartouche @end smallexample +@smallexample +@cartouche +% avrdude -c pkobn_updi -p avr128db48 -t + + Vtarget : 4.71 V + PDI/UPDI clock Xmega/megaAVR : 100 kHz + +avrdude: AVR device initialized and ready to accept instructions + +Reading | ################################################## | 100% 0.01s + +avrdude: Device signature = 0x1e970c (probably avr128db48) +avrdude> write eeprom 0 1234567890 'A' 'V' 'R' 2.718282 +>>> write eeprom 0 1234567890 'A' 'V' 'R' 2.718282 +Warning: no size suffix specified for "1234567890". Writing 4 byte(s) + +avrdude> dump eeprom 0 32 +>>> dump eeprom 0 32 +0000 d2 02 96 49 41 56 52 55 f8 2d 40 ff ff ff ff ff |...IAVRU.-@.....| +0010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| + +avrdude> q +@end cartouche +@end smallexample + @c @c Node