diff --git a/src/avrdude.1 b/src/avrdude.1 index 8e53e6b1..65b62e59 100644 --- a/src/avrdude.1 +++ b/src/avrdude.1 @@ -101,13 +101,13 @@ port. Connecting to a serial port emulated on top of USB is likely to not work at all, or to work abysmally slow. .Pp -If you happen to have a Linux system with at least 4 hardware GPIOs -available (like almost all embedded Linux boards) you can do without +If you happen to have a Linux system with at least 4 hardware GPIOs +available (like almost all embedded Linux boards) you can do without any additional hardware - just connect them to the SDO, SDI, RESET and SCK pins on the AVR and use the linuxgpio programmer type. It bitbangs the lines using the Linux sysfs GPIO interface. Of course, care should be taken about voltage level compatibility. Also, although not strictly -required, it is strongly advisable to protect the GPIO pins from +required, it is strongly advisable to protect the GPIO pins from overcurrent situations in some way. The simplest would be to just put some resistors in series or better yet use a 3-state buffer driver like the 74HC244. Have a look at https://kolev.info/blog/2013/01/06/avrdude-linuxgpio/ for a more @@ -231,8 +231,8 @@ frequency of 6.8 MHz or more: factory-set AVR parts, which typically run on an internal oscillator between 1 MHz and 1.6 MHz, cannot be programmed using -c ch341a. If libftdi has has been compiled in .Nm avrdude , -the avrftdi device adds support for many programmers using FTDI's 2232C/D/H -and 4232H parts running in MPSSE mode, which hard-codes (in the chip) +the avrftdi device adds support for many programmers using FTDI's 2232C/D/H +and 4232H parts running in MPSSE mode, which hard-codes (in the chip) SCK to bit 1, SDO to bit 2, and SDI to bit 3. Reset is usually bit 4. .Pp The Atmel DFU bootloader is supported in both, FLIP protocol version 1 @@ -420,7 +420,7 @@ or .Pa ${HOME}/.avrduderc file to assign a default programmer to keep from having to specify this option on every invocation. -A full list of all supported programmers is output to the terminal +A full list of all supported programmers is output to the terminal by using ? as programmer-id. If -c ? is specified with a specific part, see -p above, then only those programmers are output that expect @@ -441,7 +441,7 @@ See the config file, located at .Pa ${PREFIX}/etc/avrdude.conf , which contains a description of the format. .Pp -If +If .Ar config-file is written as .Pa +filename @@ -1145,7 +1145,7 @@ hexadecimal and ASCII form. .It Ar dump memory addr Read from .Ar memory addr -as many bytes as the most recent +as many bytes as the most recent .Ar dump memory addr len command with this very memory had specified (default 256 bytes), and display them. .It Ar dump memory @@ -1880,7 +1880,7 @@ C programming language. .Bl -tag -offset indent -width indent .It Ar no_blockmode Disables the default checking for block transfer capability. -Use +Use .Ar no_blockmode only if your .Ar AVR910 @@ -2024,7 +2024,7 @@ Show help menu and exit. .It Ar buspirate .Bl -tag -offset indent -width indent .It Ar reset=cs,aux,aux2 -The default setup assumes the BusPirate's CS output pin connected to +The default setup assumes the BusPirate's CS output pin connected to the RESET pin on AVR side. It is however possible to have multiple AVRs connected to the same BP with SDI, SDO and SCK lines common for all of them. In such a case one AVR should have its RESET connected to BusPirate's @@ -2036,9 +2036,9 @@ pin and if your BusPirate has an pin (only available on BusPirate version v1a with firmware 3.0 or newer) use that to activate RESET on the third AVR. .Pp -It may be a good idea to decouple the BusPirate and the AVR's SPI buses from +It may be a good idea to decouple the BusPirate and the AVR's SPI buses from each other using a 3-state bus buffer. For example 74HC125 or 74HC244 are some -good candidates with the latches driven by the appropriate reset pin (cs, +good candidates with the latches driven by the appropriate reset pin (cs, aux or aux2). Otherwise the SPI traffic in one active circuit may interfere with programming the AVR in the other design. .It Ar spifreq=<0..7> @@ -2066,12 +2066,12 @@ The only advantage of the "raw-wire" mode is the different SPI frequencies available. Paged writing is not implemented in this mode. .It Ar ascii Attempt to use ASCII mode even when the firmware supports BinMode (binary -mode). +mode). BinMode is supported in firmware 2.7 and newer, older FW's either don't -have BinMode or their BinMode is buggy. ASCII mode is slower and makes +have BinMode or their BinMode is buggy. ASCII mode is slower and makes the above .Ar reset= , spifreq= -and +and .Ar rawfreq= parameters unavailable. Be aware that ASCII mode is not guaranteed to work with newer firmware versions, and is retained only to maintain compatibility @@ -2082,22 +2082,22 @@ whole pages to be written to AVR flash memory at once, resulting in a significant write speed increase. If use of this mode is not desirable for some reason, this option disables it. .It Ar nopagedread -Newer firmware versions support in binary mode SPI command some AVR Extended +Newer firmware versions support in binary mode SPI command some AVR Extended Commands. Using the "Bulk Memory Read from Flash" results in a significant read speed increase. If use of this mode is not desirable for some reason, this option disables it. .It Ar cpufreq=<125..4000> -This sets the AUX pin to output a frequency of +This sets the AUX pin to output a frequency of .Ar n kHz. Connecting -the AUX pin to the XTAL1 pin of your MCU, you can provide it a clock, +the AUX pin to the XTAL1 pin of your MCU, you can provide it a clock, for example when it needs an external clock because of wrong fuses settings. -Make sure the CPU frequency is at least four times the SPI frequency. +Make sure the CPU frequency is at least four times the SPI frequency. .It Ar serial_recv_timeout=<1...> -This sets the serial receive timeout to the given value. -The timeout happens every time avrdude waits for the BusPirate prompt. -Especially in ascii mode this happens very often, so setting a smaller value -can speed up programming a lot. +This sets the serial receive timeout to the given value. +The timeout happens every time avrdude waits for the BusPirate prompt. +Especially in ascii mode this happens very often, so setting a smaller value +can speed up programming a lot. The default value is 100ms. Using 10ms might work in most cases. .It Ar help Show help menu and exit. @@ -2151,11 +2151,11 @@ Show help menu and exit. Connection to the PICkit2 programmer: .Bd -literal (AVR) (PICkit2) -RST - VPP/MCLR (1) -VDD - VDD Target (2) -- possibly optional if AVR self powered -GND - GND (3) +RST - VPP/MCLR (1) +VDD - VDD Target (2) -- possibly optional if AVR self powered +GND - GND (3) SDI - PGD (4) -SCLK - PDC (5) +SCLK - PDC (5) SDO - AUX (6) .Ed .Bl -tag -offset indent -width indent @@ -2381,6 +2381,6 @@ using USBtinyISP, and send must be a multiple of four bytes. .Pp The avrftdi driver allows one to select specific devices using any combination of vid,pid serial number (usbsn) vendor description (usbvendoror part description (usbproduct) -as seen with lsusb or whatever tool used to view USB device information. Multiple +as seen with lsusb or whatever tool used to view USB device information. Multiple devices can be on the bus at the same time. For the H parts, which have multiple MPSSE interfaces, the interface can also be selected. It defaults to interface 'A'.