Μ: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
(Replaced content with "Contact our best group of lawyers for compensation with Motorcycle Accident Attorney New York law firm. We have experts for free consultation. We are known for our 100% cu...")
m (→‎Boot Loader: burn fuses)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
Contact our best group of lawyers for compensation with Motorcycle Accident Attorney New York law firm. We have experts for free consultation. We are known for our 100% customer satisfaction. Most trustworthy group of attorneys at Motorcycle Accident Lawyer NYC has won millions for clients just like you for motorcycle accident attorney. Contact us and make your case consulted from our experts for free.
µ == Micro
 
== ATtiny85 ==
 
=== Boot Loader ===
micronucleus is a 2Kb boot loader that provides a bit banged USB interface for directly updating user code without teh need for a programming device or dedicated USB to UART/Serial hardware.
 
https://github.com/micronucleus/micronucleus
 
A new ATtiny85 chip will need a time operation, i.e., be flashed with this bootloader. avrdude is a useful solution for this, and the following demonstrates such process with a Bus Pirate.
 
'''Check proper connectivity with chip via Bus Pirate connected at ttyUSB0'''
 
<pre>
$ avrdude -c buspirate -P /dev/ttyUSB0 -p t85
 
Attempting to initiate BusPirate binary mode...
avrdude: Paged flash write enabled.
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.09s
 
avrdude: Device signature = 0x1e930b (probably t85)
 
avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)
 
avrdude done.  Thank you.
</pre>
 
 
'''Write file "t85_default.hex" to ATtiny85'''
 
<pre>
$ avrdude -c buspirate -P /dev/ttyUSB0 -p t85 -U flash:w:t85_default.hex
 
Attempting to initiate BusPirate binary mode...
avrdude: Paged flash write enabled.
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.09s
 
avrdude: Device signature = 0x1e930b (probably t85)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
        To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "t85_default.hex"
avrdude: input file t85_default.hex auto detected as Intel Hex
avrdude: writing flash (8124 bytes):
 
Writing | ################################################## | 100% 0.00s
 
avrdude: 8124 bytes of flash written
avrdude: verifying flash memory against t85_default.hex:
avrdude: load data flash data from input file t85_default.hex:
avrdude: input file t85_default.hex auto detected as Intel Hex
avrdude: input file t85_default.hex contains 8124 bytes
avrdude: reading on-chip flash data:
 
Reading | ################################################## | 100% 51.02s
 
avrdude: verifying ...
avrdude: 8124 bytes of flash verified
 
avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)
 
avrdude done.  Thank you.
</pre>
 
 
'''Burn fuses'''
 
<pre>
$ avrdude -c buspirate -P /dev/ttyUSB0 -p t85 -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m -B 20
 
Attempting to initiate BusPirate binary mode...
avrdude: Paged flash write enabled.
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.01s
 
avrdude: Device signature = 0x1e930b (probably t85)
avrdude: reading input file "0xe1"
avrdude: writing lfuse (1 bytes):
 
Writing | ################################################## | 100% 0.01s
 
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xe1:
avrdude: load data lfuse data from input file 0xe1:
avrdude: input file 0xe1 contains 1 bytes
avrdude: reading on-chip lfuse data:
 
Reading | ################################################## | 100% 0.00s
 
avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xdd"
avrdude: writing hfuse (1 bytes):
 
Writing | ################################################## | 100% 0.01s
 
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xdd:
avrdude: load data hfuse data from input file 0xdd:
avrdude: input file 0xdd contains 1 bytes
avrdude: reading on-chip hfuse data:
 
Reading | ################################################## | 100% 0.00s
 
avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xfe"
avrdude: writing efuse (1 bytes):
 
Writing | ################################################## | 100% 0.01s
 
avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xfe:
avrdude: load data efuse data from input file 0xfe:
avrdude: input file 0xfe contains 1 bytes
avrdude: reading on-chip efuse data:
 
Reading | ################################################## | 100% 0.00s
 
avrdude: verifying ...
avrdude: 1 bytes of efuse verified
 
avrdude: safemode: Fuses OK (E:FE, H:DD, L:E1)
 
avrdude done.  Thank yo
</pre>
 
 
Additional Resources:
 
Prior work that lead up to micronucleus development http://www.embedded-creations.com/projects/attiny85-usb-bootloader-overview/details
 
More details, variations on using Bus Pirate for flashing bootloader http://hintshop.ludvig.co.nz/show/buspirate-avr-programming/
 
Some notes on using Bus Pirate with Arch linux https://wiki.archlinux.org/index.php/Bus_pirate
 
The avrdude project http://savannah.nongnu.org/projects/avrdude
 
=== Datasheet ===
http://www.atmel.com/Images/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf
 
=== Schematics ===
 
Digispark using 5v chip supply and "level shifting" diodes on data lines
*https://s3.amazonaws.com/digistump-resources/files/97a1bb28_DigisparkSchematic.pdf
 
Adafruit Gemma using 3.3v regulator and no diodes
*https://cdn-learn.adafruit.com/assets/assets/000/010/950/original/flora_gemmasch.png
 
Threads on USB data line voltages and series/terminator resistor:
*https://electronics.stackexchange.com/questions/190592/why-does-usb-have-vcc-5v-and-high-3-3v
*http://www.eevblog.com/forum/projects/why-usb-data-series-resistors/
 
=== Purchase ===
*https://www.digikey.com/product-detail/en/microchip-technology/ATTINY85-20PU/ATTINY85-20PU-ND
*http://www.mouser.com/ProductDetail/Microchip-Technology-Atmel/ATtiny85-20PU
*https://www.sparkfun.com/products/9378
 
=== DUMPS ===
 
Probing a factory fresh unprogrammed chip with a Bus Pirate per http://dangerousprototypes.com/docs/Bus_Pirate_AVR_ProgrammingChange note change to "-p t85" vs example provided.
 
<pre>
$ avrdude -c buspirate -P /dev/ttyUSB0 -p t85 -v
 
avrdude: Version 6.3, compiled on Aug  9 2017 at 12:31:56
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2014 Joerg Wunsch
 
        System wide configuration file is "/etc/avrdude.conf"
        User configuration file is "/home/neo/.avrduderc"
        User configuration file does not exist or is not a regular file, skipping
 
        Using Port                    : /dev/ttyUSB0
        Using Programmer              : buspirate
        AVR Part                      : ATtiny85
        Chip Erase delay              : 4500 us
        PAGEL                        : P00
        BS2                          : P00
        RESET disposition            : possible i/o
        RETRY pulse                  : SCK
        serial program mode          : yes
        parallel program mode        : yes
        Timeout                      : 200
        StabDelay                    : 100
        CmdexeDelay                  : 25
        SyncLoops                    : 32
        ByteDelay                    : 0
        PollIndex                    : 3
        PollValue                    : 0x53
        Memory Detail                :
 
                                  Block Poll              Page                      Polled
          Memory Type Mode Delay Size  Indx Paged  Size  Size #Pages MinW  MaxW  ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          eeprom        65    6    4    0 no        512    4      0  4000  4500 0xff 0xff
          flash          65    6    32    0 yes      8192  64    128  4500  4500 0xff 0xff
          signature      0    0    0    0 no          3    0      0    0    0 0x00 0x00
          lock          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          lfuse          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          hfuse          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          efuse          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          calibration    0    0    0    0 no          1    0      0    0    0 0x00 0x00
 
        Programmer Type : BusPirate
        Description    : The Bus Pirate
 
Attempting to initiate BusPirate binary mode...
BusPirate binmode version: 1
BusPirate SPI version: 1
avrdude: Paged flash write enabled.
AVR Extended Commands not found.
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.09s
 
avrdude: Device signature = 0x1e930b (probably t85)
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF
 
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)
BusPirate is back in the text mode
 
avrdude done.  Thank you.
</pre>
 
 
 
 
\/ ''Erronious dumps returning not exactly expected results'' \/
 
 
Probing with a Bus Pirate, and NO CHIP CONNECTED
 
<pre>
$ avrdude -c buspirate -P /dev/ttyUSB0 -p attiny2313 -v
 
avrdude: Version 6.3, compiled on Aug  9 2017 at 12:31:56
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2014 Joerg Wunsch
 
        System wide configuration file is "/etc/avrdude.conf"
        User configuration file is "/home/neo/.avrduderc"
        User configuration file does not exist or is not a regular file, skipping
 
        Using Port                    : /dev/ttyUSB0
        Using Programmer              : buspirate
        AVR Part                      : ATtiny2313
        Chip Erase delay              : 9000 us
        PAGEL                        : PD4
        BS2                          : PD6
        RESET disposition            : possible i/o
        RETRY pulse                  : SCK
        serial program mode          : yes
        parallel program mode        : yes
        Timeout                      : 200
        StabDelay                    : 100
        CmdexeDelay                  : 25
        SyncLoops                    : 32
        ByteDelay                    : 0
        PollIndex                    : 3
        PollValue                    : 0x53
        Memory Detail                :
 
                                  Block Poll              Page                      Polled
          Memory Type Mode Delay Size  Indx Paged  Size  Size #Pages MinW  MaxW  ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          eeprom        65    6    4    0 no        128    4      0  4000  4500 0xff 0xff
          flash        65    6    32    0 yes      2048  32    64  4500  4500 0xff 0xff
          signature      0    0    0    0 no          3    0      0    0    0 0x00 0x00
          lock          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          lfuse          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          hfuse          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          efuse          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          calibration    0    0    0    0 no          2    0      0    0    0 0x00 0x00
 
        Programmer Type : BusPirate
        Description    : The Bus Pirate
 
Attempting to initiate BusPirate binary mode...
BusPirate binmode version: 1
BusPirate SPI version: 1
avrdude: Paged flash write enabled.
AVR Extended Commands not found.
avrdude: initialization failed, rc=-2
        Double check connections and try again, or use -F to override
        this check.
 
BusPirate is back in the text mode
 
avrdude done.  Thank you.
</pre>
 
 
Probing with chip connected, and using wrong partno (-p attiny2313) per default example.
 
<pre>
$ avrdude -c buspirate -P /dev/ttyUSB0 -p attiny2313 -v
 
avrdude: Version 6.3, compiled on Aug  9 2017 at 12:31:56
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2014 Joerg Wunsch
 
        System wide configuration file is "/etc/avrdude.conf"
        User configuration file is "/home/neo/.avrduderc"
        User configuration file does not exist or is not a regular file, skipping
 
        Using Port                    : /dev/ttyUSB0
        Using Programmer              : buspirate
        AVR Part                      : ATtiny2313
        Chip Erase delay              : 9000 us
        PAGEL                        : PD4
        BS2                          : PD6
        RESET disposition            : possible i/o
        RETRY pulse                  : SCK
        serial program mode          : yes
        parallel program mode        : yes
        Timeout                      : 200
        StabDelay                    : 100
        CmdexeDelay                  : 25
        SyncLoops                    : 32
        ByteDelay                    : 0
        PollIndex                    : 3
        PollValue                    : 0x53
        Memory Detail                :
 
                                  Block Poll              Page                      Polled
          Memory Type Mode Delay Size  Indx Paged  Size  Size #Pages MinW  MaxW  ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          eeprom        65    6    4    0 no        128    4      0  4000  4500 0xff 0xff
          flash        65    6    32    0 yes      2048  32    64  4500  4500 0xff 0xff
          signature      0    0    0    0 no          3    0      0    0    0 0x00 0x00
          lock          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          lfuse          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          hfuse          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          efuse          0    0    0    0 no          1    0      0  9000  9000 0x00 0x00
          calibration    0    0    0    0 no          2    0      0    0    0 0x00 0x00
 
        Programmer Type : BusPirate
        Description    : The Bus Pirate
 
Attempting to initiate BusPirate binary mode...
BusPirate binmode version: 1
BusPirate SPI version: 1
avrdude: Paged flash write enabled.
AVR Extended Commands not found.
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.09s
 
avrdude: Device signature = 0x1e930b (probably t85)
avrdude: Expected signature for ATtiny2313 is 1E 91 0A
        Double check chip, or use -F to override this check.
BusPirate is back in the text mode
 
avrdude done.  Thank you.
</pre>

Latest revision as of 17:05, 15 October 2017

µ == Micro

ATtiny85[edit]

Boot Loader[edit]

micronucleus is a 2Kb boot loader that provides a bit banged USB interface for directly updating user code without teh need for a programming device or dedicated USB to UART/Serial hardware.

https://github.com/micronucleus/micronucleus

A new ATtiny85 chip will need a time operation, i.e., be flashed with this bootloader. avrdude is a useful solution for this, and the following demonstrates such process with a Bus Pirate.

Check proper connectivity with chip via Bus Pirate connected at ttyUSB0

$ avrdude -c buspirate -P /dev/ttyUSB0 -p t85

Attempting to initiate BusPirate binary mode...
avrdude: Paged flash write enabled.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.09s

avrdude: Device signature = 0x1e930b (probably t85)

avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)

avrdude done.  Thank you.


Write file "t85_default.hex" to ATtiny85

$ avrdude -c buspirate -P /dev/ttyUSB0 -p t85 -U flash:w:t85_default.hex 

Attempting to initiate BusPirate binary mode...
avrdude: Paged flash write enabled.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.09s

avrdude: Device signature = 0x1e930b (probably t85)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "t85_default.hex"
avrdude: input file t85_default.hex auto detected as Intel Hex
avrdude: writing flash (8124 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 8124 bytes of flash written
avrdude: verifying flash memory against t85_default.hex:
avrdude: load data flash data from input file t85_default.hex:
avrdude: input file t85_default.hex auto detected as Intel Hex
avrdude: input file t85_default.hex contains 8124 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 51.02s

avrdude: verifying ...
avrdude: 8124 bytes of flash verified

avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)

avrdude done.  Thank you.


Burn fuses

$ avrdude -c buspirate -P /dev/ttyUSB0 -p t85 -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xfe:m -B 20

Attempting to initiate BusPirate binary mode...
avrdude: Paged flash write enabled.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e930b (probably t85)
avrdude: reading input file "0xe1"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xe1:
avrdude: load data lfuse data from input file 0xe1:
avrdude: input file 0xe1 contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xdd"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xdd:
avrdude: load data hfuse data from input file 0xdd:
avrdude: input file 0xdd contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xfe"
avrdude: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xfe:
avrdude: load data efuse data from input file 0xfe:
avrdude: input file 0xfe contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of efuse verified

avrdude: safemode: Fuses OK (E:FE, H:DD, L:E1)

avrdude done.  Thank yo


Additional Resources:

Prior work that lead up to micronucleus development http://www.embedded-creations.com/projects/attiny85-usb-bootloader-overview/details

More details, variations on using Bus Pirate for flashing bootloader http://hintshop.ludvig.co.nz/show/buspirate-avr-programming/

Some notes on using Bus Pirate with Arch linux https://wiki.archlinux.org/index.php/Bus_pirate

The avrdude project http://savannah.nongnu.org/projects/avrdude

Datasheet[edit]

http://www.atmel.com/Images/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf

Schematics[edit]

Digispark using 5v chip supply and "level shifting" diodes on data lines

Adafruit Gemma using 3.3v regulator and no diodes

Threads on USB data line voltages and series/terminator resistor:

Purchase[edit]

DUMPS[edit]

Probing a factory fresh unprogrammed chip with a Bus Pirate per http://dangerousprototypes.com/docs/Bus_Pirate_AVR_ProgrammingChange note change to "-p t85" vs example provided.

$ avrdude -c buspirate -P /dev/ttyUSB0 -p t85 -v

avrdude: Version 6.3, compiled on Aug  9 2017 at 12:31:56
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/neo/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         Using Programmer              : buspirate
         AVR Part                      : ATtiny85
         Chip Erase delay              : 4500 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65     6     4    0 no        512    4      0  4000  4500 0xff 0xff
           flash          65     6    32    0 yes      8192   64    128  4500  4500 0xff 0xff
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : BusPirate
         Description     : The Bus Pirate

Attempting to initiate BusPirate binary mode...
BusPirate binmode version: 1
BusPirate SPI version: 1
avrdude: Paged flash write enabled.
AVR Extended Commands not found.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.09s

avrdude: Device signature = 0x1e930b (probably t85)
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF

avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)
BusPirate is back in the text mode

avrdude done.  Thank you.



\/ Erronious dumps returning not exactly expected results \/


Probing with a Bus Pirate, and NO CHIP CONNECTED

$ avrdude -c buspirate -P /dev/ttyUSB0 -p attiny2313 -v

avrdude: Version 6.3, compiled on Aug  9 2017 at 12:31:56
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/neo/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         Using Programmer              : buspirate
         AVR Part                      : ATtiny2313
         Chip Erase delay              : 9000 us
         PAGEL                         : PD4
         BS2                           : PD6
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65     6     4    0 no        128    4      0  4000  4500 0xff 0xff
           flash         65     6    32    0 yes      2048   32     64  4500  4500 0xff 0xff
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00

         Programmer Type : BusPirate
         Description     : The Bus Pirate

Attempting to initiate BusPirate binary mode...
BusPirate binmode version: 1
BusPirate SPI version: 1
avrdude: Paged flash write enabled.
AVR Extended Commands not found.
avrdude: initialization failed, rc=-2
         Double check connections and try again, or use -F to override
         this check.

BusPirate is back in the text mode

avrdude done.  Thank you.


Probing with chip connected, and using wrong partno (-p attiny2313) per default example.

$ avrdude -c buspirate -P /dev/ttyUSB0 -p attiny2313 -v

avrdude: Version 6.3, compiled on Aug  9 2017 at 12:31:56
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/neo/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         Using Programmer              : buspirate
         AVR Part                      : ATtiny2313
         Chip Erase delay              : 9000 us
         PAGEL                         : PD4
         BS2                           : PD6
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65     6     4    0 no        128    4      0  4000  4500 0xff 0xff
           flash         65     6    32    0 yes      2048   32     64  4500  4500 0xff 0xff
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00

         Programmer Type : BusPirate
         Description     : The Bus Pirate

Attempting to initiate BusPirate binary mode...
BusPirate binmode version: 1
BusPirate SPI version: 1
avrdude: Paged flash write enabled.
AVR Extended Commands not found.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.09s

avrdude: Device signature = 0x1e930b (probably t85)
avrdude: Expected signature for ATtiny2313 is 1E 91 0A
         Double check chip, or use -F to override this check.
BusPirate is back in the text mode

avrdude done.  Thank you.