0

After set command to avr dude

avrdude -c usbasp -p t13 -U lfuse:w:0x67:m -v

I can't communicate with mcu. I want to erase whole flash or change fuse bits to default

Here is my output:

avrdude -p t13 -c usbasp -e -F -v -B 128kHz

avrdude: Version 6.3-20171130
         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/bubs/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : usbasp
         Setting bit clk period        : 7.8
         AVR Part                      : ATtiny13
         Chip Erase delay              : 4000 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : dedicated
         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     5     4    0 no         64    4      0  4000  4000 0xff 0xff
           flash         65     6    32    0 yes      1024   32     32  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  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: set SCK frequency to 93750 Hz
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0xe8a7da
avrdude: Expected signature for ATtiny13 is 1E 90 07

avrdude done.  Thank you.

So I suppose MCU isn't broken. How to deal with it?
I use usbasp 2.0 lc techonology

I try:

  • connect to programmer few times

  • try to change -B flag

Edit after @AterLux answer It doesn't help.. Still the same problem as above. I try to this Solution, but it doesn't works too. Any other advise?

1 Answers1

2

Your ISP frequency should be at most 1/4 of the CPU frequncy. I.e. not more than 32kHz 4kHz.

UPD As it was commented by @ReAl, you have the bit #4 in Fuse Low Byte programmed (value 0). That means CKDIV8 option is set, therefore your part now is running at approx. 128 / 8 = 16kHz. Therefore ISP frequency should be at most 4kHz

According to this:

avrdude: set SCK frequency to 93750 Hz

it is running much faster. Try to set the frequency using option -B2kHz for example

AterLux
  • 4,566
  • 2
  • 10
  • 13
  • Also, CKDIV8 fuse is programmed by lfuse:w:0x67, so that actual MCU clock is 16 kHz and programming SCK frequency should not be more than **4** kHz – ReAl Mar 28 '23 at 16:00