Lỗi avrdude expected signature for atmega328p is 1e 95 0f năm 2024

I have been experiencing problems with the DIY USBtiny. When I first assembled the USBtiny, I successfully managed to burn the Arduino boot loader onto a Attiny 85 [proving I assembled it correctly]. However, when I tried to use AVRDude in Terminal a few weeks later to check a custom bare arduino clone with an Atmega 328p-au it gives me:

Code:

avrdude: Device signature = 0x009500
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
avrdude: safemode: Verify error - unable to read lfuse properly. Programmer may not be reliable.
avrdude: safemode: To protect your AVR the programming will be aborted

And when I run the check multiple times, the Device signature sporadically changes. I did accidentally short out the USBtiny while attempting to program the new boards with the Atmega328p-au. Could that be the problem? I know it’s hard to diagnose remotely, but would you recommend a new USBtiny or double checking the placement of the 328p etc.?

wizink Posts: 7 Joined: Thu Jan 16, 2014 11:39 pm

by wizink » Fri Jan 17, 2014 6:27 pm

Front and back images.

Attachmentsusbtinyback.jpg [755.45 KiB] Viewed 3528 timesusbtinyfront.jpg [889.16 KiB] Viewed 3528 times

adafruit_support_rick Posts: 35092 Joined: Tue Mar 15, 2011 11:42 am

by adafruit_support_rick » Fri Jan 17, 2014 7:16 pm

Ooo! Nice work! You've done this sort of thing before

The first thing is to try replacing R4 and R7 with jumpers. Those resistors are only there for use with the SpokePOV. See if that helps.

If not, you might try reducing the bit rate in avrdude with the '-B' option:

You can use the -B option to specify the ISP speed. By default the value is 10 which means 100KHz clock, this is good for target clock speeds > 500KHz. If you want the high speed clockrate [400KHz] for target frequencies > 4MHz you can use "-B 1" to speed up programming. To calculate the SPI frequency from the delay value, use this formula: SPI clock frequency in KHz = 1000/[1.5+B] where B is the delay value. In general, the clock frequency should be at least 4 times larger than the target clock frequency. Try "-B 32" if you're having clocking issues, that should handle even 128khz clocks.

wizink Posts: 7 Joined: Thu Jan 16, 2014 11:39 pm

by wizink » Mon Jan 20, 2014 6:07 pm

I did as suggested, and unfortunately the USBtiny was still not performing as expected. I tried the classic Arduino as ISP option to verify if my board is smoked. Using the IDE to burn the "Atmega328 on breadboard [8mhz]" I get the error:

Code:

avrdude: verification error, first mismatch at byte 0x0000
         0x3f != 0x3c
avrdude: verification error; content mismatch

And then in terminal trying to verify the board I get:

Code:

Jonathans-MacBook-Pro:~ jonota$ avrdude -P /dev/tty.usbmodem1451 -c arduino -b 19200 -p m328p -v
avrdude: Version 5.11.1, compiled on Feb 12 2013 at 01:24:54
         Copyright [c] 2000-2005 Brian Dean, //www.bdmicro.com/
         Copyright [c] 2007-2009 Joerg Wunsch
         System wide configuration file is "/usr/local/CrossPack-AVR-20130212/etc/avrdude.conf"
         User configuration file is "/Users/jonota/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping
         Using Port                    : /dev/tty.usbmodem1451
         Using Programmer              : arduino
         Overriding Baud Rate          : 19200
         AVR Part                      : ATMEGA328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         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    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           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
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e950f
avrdude: safemode: Verify error - unable to read lfuse properly. Programmer may not be reliable.
avrdude: safemode: To protect your AVR the programming will be aborted
avrdude done.  Thank you.

Unfortunately, I don't know how to interpret what's all going on here, but it looks like the device signature is being correctly read. Any thoughts?

wizink Posts: 7 Joined: Thu Jan 16, 2014 11:39 pm

by wizink » Tue Jan 21, 2014 2:44 pm

Well, at least it's for progress!

Here's a new error

Code:

Jonathans-MacBook-Pro:~ jonota$ avrdude -P /dev/tty.usbmodem1451 -c arduino -p m328p -b 19200 -B 4 -v
avrdude: Version 5.11.1, compiled on Feb 12 2013 at 01:24:54
         Copyright [c] 2000-2005 Brian Dean, //www.bdmicro.com/
         Copyright [c] 2007-2009 Joerg Wunsch
         System wide configuration file is "/usr/local/CrossPack-AVR-20130212/etc/avrdude.conf"
         User configuration file is "/Users/jonota/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping
         Using Port                    : /dev/tty.usbmodem1451
         Using Programmer              : arduino
         Overriding Baud Rate          : 19200
         Setting bit clk period        : 4.0
         AVR Part                      : ATMEGA328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         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    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           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
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude: Device signature = 0x1e950f
avrdude: safemode: lfuse reads as E2
avrdude: safemode: Verify error - unable to read hfuse properly. Programmer may not be reliable.
avrdude: safemode: To protect your AVR the programming will be aborted
avrdude done.  Thank you.

Specifically

Code:

avrdude: safemode: lfuse reads as E2
avrdude: safemode: Verify error - unable to read hfuse properly. Programmer may not be reliable.

If I perform a full chip erase, would that reset the fuses? [To be honest, I don't really understand the technical details of what's going on. But I guess that's just called learning.]

wizink Posts: 7 Joined: Thu Jan 16, 2014 11:39 pm

by wizink » Tue Jan 21, 2014 3:12 pm

Sadly I don't.

I did try Nick Gammon's chip programmer. Here's the log if it will give more insight into the issues:

Code:

Atmega chip programmer.
Written by Nick Gammon.
Version 1.21
Compiled on Jan 20 2014 at 01:51:30
Entered programming mode OK.
Signature = 0x1E 0x95 0x0F 
Processor = ATmega328P
Flash memory size = 32768 bytes.
LFuse = 0xE2 
HFuse = 0xDA 
EFuse = 0xFD 
Lock byte = 0xFF 
Clock calibration = 0x9B 
Bootloader address = 0x7E00
Bootloader length = 512 bytes.
Type 'L' to use Lilypad [8 MHz] loader, or 'U' for Uno [16 MHz] loader ...
Using Lilypad 8 MHz loader.
Type 'V' to verify, or 'G' to program the chip with the bootloader ...
Erasing chip ...
Writing bootloader ...
Committing page starting at 0x7800
Committing page starting at 0x7880
Committing page starting at 0x7900
Committing page starting at 0x7980
Committing page starting at 0x7A00
Committing page starting at 0x7A80
Committing page starting at 0x7B00
Committing page starting at 0x7B80
Committing page starting at 0x7C00
Committing page starting at 0x7C80
Committing page starting at 0x7D00
Committing page starting at 0x7D80
Committing page starting at 0x7E00
Committing page starting at 0x7E80
Committing page starting at 0x7F00
Committing page starting at 0x7F80
Written.
Verifying ...
Verification error at address 7801. Got: 0x90  Expected: 0x94 
Verification error at address 7804. Got: 0x00  Expected: 0x0C 
Verification error at address 7809. Got: 0x80  Expected: 0x94 
Verification error at address 7814. Got: 0x04  Expected: 0x0C 
Verification error at address 7825. Got: 0x90  Expected: 0x94 
Verification error at address 7829. Got: 0x80  Expected: 0x94 
Verification error at address 7830. Got: 0x00  Expected: 0x0C 
Verification error at address 783E. Got: 0x50  Expected: 0x51 
Verification error at address 7841. Got: 0x90  Expected: 0x94 
Verification error at address 7844. Got: 0x04  Expected: 0x0C 
Verification error at address 784D. Got: 0x80  Expected: 0x94 
Verification error at address 785D. Got: 0x90  Expected: 0x94 
Verification error at address 7861. Got: 0x80  Expected: 0x94 
Verification error at address 7865. Got: 0x90  Expected: 0x94 
Verification error at address 7870. Got: 0xC0  Expected: 0xDE 
Verification error at address 7880. Got: 0x02  Expected: 0x05 
Verification error at address 7881. Got: 0xC0  Expected: 0x90 
Verification error at address 7882. Got: 0xFF  Expected: 0x0D 
Verification error at address 7883. Got: 0xFF  Expected: 0x92 
Verification error at address 7884. Got: 0xFF  Expected: 0xA2 
Verification error at address 7885. Got: 0xFF  Expected: 0x30 
Verification error at address 7886. Got: 0xFF  Expected: 0xB1 
Verification error at address 7887. Got: 0xFF  Expected: 0x07 
Verification error at address 7888. Got: 0xFF  Expected: 0xD9 
Verification error at address 7889. Got: 0xFF  Expected: 0xF7 
Verification error at address 788A. Got: 0xFF  Expected: 0x12 
Verification error at address 788B. Got: 0xFF  Expected: 0xE0 
Verification error at address 788C. Got: 0xFF  Expected: 0xA2 
Verification error at address 788D. Got: 0xFF  Expected: 0xE0 
Verification error at address 788E. Got: 0xFF  Expected: 0xB1 
Verification error at address 788F. Got: 0xFF  Expected: 0xE0 
etc......

adafruit_support_rick Posts: 35092 Joined: Tue Mar 15, 2011 11:42 am

by adafruit_support_rick » Tue Jan 21, 2014 3:27 pm

So the chip is ok. I'm staring at your pictures, and I just don't see anything wrong. The only difference between yours and mine is that I've got the other end of the cable plugged into mine, so that the red wire matches up with Pin 1.

Could it be that you're connected backwards? I don't think it would work at all that way, but I've been surprised before.

wizink Posts: 7 Joined: Thu Jan 16, 2014 11:39 pm

by wizink » Tue Jan 21, 2014 3:47 pm

To reiterate as well, I am trying to program a atmega 328p soldered onto a custom board design without an external clock.

These latest tests have been performed with an Arduino acting as the ISP instead of the USBtiny to determine whether the board itself is unprogrammable or if the problem lies with USBtiny. When I attempted the same steps with the USBtiny, I experienced a range of signature readings which indicated to me an unreliability with the programmer, hence me using the Arduino.

So far I've gotten further with the ArduinoISP than with the USBtiny, meaning I've been able to at least read the signature of the chip correctly and attempt a burn using the IDE to be cut short with this error

Code:

avrdude: verification error, first mismatch at byte 0x0000
         0x3f != 0x38
avrdude: verification error; content mismatch

Regardless, I'm stuck. I don't know what the next step would be without another board with another fresh 328p. Any insights or suggestions?

wizink Posts: 7 Joined: Thu Jan 16, 2014 11:39 pm

by wizink » Tue Jan 21, 2014 3:55 pm

Aaaannndd another log, this time from the verbose output of the IDE.

Code:

/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P/dev/tty.usbmodem1451 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xE2:m 
avrdude: Version 5.11.1, compiled on Feb 12 2013 at 01:24:54
         Copyright [c] 2000-2005 Brian Dean, //www.bdmicro.com/
         Copyright [c] 2007-2009 Joerg Wunsch
         System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/jonota/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping
         Using Port                    : /dev/tty.usbmodem1451
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Send: 0 [30]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
         AVR Part                      : ATMEGA328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         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    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size 
# Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size 
# Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size 
# Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size 
# Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size 
# Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size 
# Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size 
# Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
avrdude: Send: A [41] . [80]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [02] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [01] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [12] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [98]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
avrdude: Send: A [41] . [84]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [85]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [86]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [87]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [89]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us
avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [01] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [12] 
avrdude: Recv: . [10] 
avrdude: Send: B [42] . [86] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] . [80] . [04] . [00] . [00] . [00] . [80] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: E [45] . [05] . [04] . [d7] . [c2] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: P [50]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: Send: V [56] 0 [30] . [00] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [1e] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] 0 [30] . [00] . [01] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [95] 
avrdude: Recv: . [10] 

################ avrdude: Send: V [56] 0 [30] . [00] . [02] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [0f] 
avrdude: Recv: . [10] 
################################## | 100% 0.06s
avrdude: Device signature = 0x1e950f
avrdude: Send: V [56] . [a0] . [03] . [fc] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [ff] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] . [a0] . [03] . [fd] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [ff] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] . [a0] . [03] . [fe] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [ff] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] . [a0] . [03] . [ff] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [ff] 
avrdude: Recv: . [10] 
avrdude: erasing chip
avrdude: Send: V [56] . [ac] . [80] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [81]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [01] 
avrdude: Recv: . [10] 
avrdude: Send: A [41] . [82]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [12] 
avrdude: Recv: . [10] 
avrdude: Send: B [42] . [86] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] . [80] . [04] . [00] . [00] . [00] . [80] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: E [45] . [05] . [04] . [d7] . [c2] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: Send: P [50]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: reading input file "0x3F"
avrdude: writing lock [1 bytes]:
Writing | avrdude: Send: V [56] X [58] . [00] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [fc] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] . [ac] . [e0] . [00] . [ff]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [00] 
avrdude: Recv: . [10] 
avrdude: Send: V [56] X [58] . [00] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [ff] 
avrdude: Recv: . [10] 
################################################## | 100% 0.06s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:
Reading | avrdude: Send: V [56] X [58] . [00] . [00] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [fc] 
avrdude: Recv: . [10] 
################################################## | 100% 0.02s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x3f != 0x3c
avrdude: verification error; content mismatch
avrdude: Send: Q [51]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude done.  Thank you.

Hmm. Is there already data at the 0x3F location or something? Is the bootloader aborting after it sees something there? Just a wild guess.

Chủ Đề