Skip to main content
added 4617 characters in body
Source Link
0x29a
  • 481
  • 1
  • 7
  • 21

UPDATE: Here's the output for one of the ATMEGAs that failed to program.

/usr/bin/avrdude -c avrispv2 -p m328p -P /dev/ttyACM0 -e -U lfuse:w:0xe2:m -B 250.0 -U hfuse:w:0xd9:m

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0x1e950f
avrdude: erasing chip
avrdude: reading input file "0xe2"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.07s

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

Reading | ################################################## | 100% 0.02s

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

Writing | ################################################## | 100% 0.02s

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

Reading | ################################################## | 100% 0.02s

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

avrdude: safemode: Fuses OK (E:07, H:D9, L:E2)

avrdude done.  Thank you.

/usr/bin/avrdude -c avrispv2 -p m328p -P /dev/ttyACM0 -U flash:w:serial.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0x1e950f
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 "serial.hex"
avrdude: input file serial.hex auto detected as Intel Hex
avrdude: writing flash (912 bytes):

Writing |                                                    | 0% 0.00s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ######                                             | 12% 2.84s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | #############                                      | 25% 5.68s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ###################                                | 37% 8.52s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ###############################                    | 62% 14.20s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ######################################             | 75% 17.04s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ############################################       | 87% 19.89s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ################################################## | 100% 22.73s

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

Reading |                                                    | 0% 0.00s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ######                                             | 12% 2.80s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ###################                                | 37% 8.39s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | #########################                          | 50% 11.18s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ###############################                    | 62% 13.98s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ############################################       | 87% 19.57s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ################################################## | 100% 22.37s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x80 != 0x0c
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK (E:07, H:D9, L:E2)

avrdude done.  Thank you.

Makefile:9: recipe for target 'program' failed
make: *** [program] Error 1

UPDATE: Here's the output for one of the ATMEGAs that failed to program.

/usr/bin/avrdude -c avrispv2 -p m328p -P /dev/ttyACM0 -e -U lfuse:w:0xe2:m -B 250.0 -U hfuse:w:0xd9:m

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0x1e950f
avrdude: erasing chip
avrdude: reading input file "0xe2"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.07s

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

Reading | ################################################## | 100% 0.02s

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

Writing | ################################################## | 100% 0.02s

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

Reading | ################################################## | 100% 0.02s

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

avrdude: safemode: Fuses OK (E:07, H:D9, L:E2)

avrdude done.  Thank you.

/usr/bin/avrdude -c avrispv2 -p m328p -P /dev/ttyACM0 -U flash:w:serial.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

avrdude: Device signature = 0x1e950f
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 "serial.hex"
avrdude: input file serial.hex auto detected as Intel Hex
avrdude: writing flash (912 bytes):

Writing |                                                    | 0% 0.00s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ######                                             | 12% 2.84s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | #############                                      | 25% 5.68s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ###################                                | 37% 8.52s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ###############################                    | 62% 14.20s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ######################################             | 75% 17.04s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ############################################       | 87% 19.89s
avrdude: stk500v2_ReceiveMessage(): timeout
Writing | ################################################## | 100% 22.73s

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

Reading |                                                    | 0% 0.00s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ######                                             | 12% 2.80s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ###################                                | 37% 8.39s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | #########################                          | 50% 11.18s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ###############################                    | 62% 13.98s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ############################################       | 87% 19.57s
avrdude: stk500v2_ReceiveMessage(): timeout
Reading | ################################################## | 100% 22.37s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x80 != 0x0c
avrdude: verification error; content mismatch

avrdude: safemode: Fuses OK (E:07, H:D9, L:E2)

avrdude done.  Thank you.

Makefile:9: recipe for target 'program' failed
make: *** [program] Error 1
added 60 characters in body
Source Link
0x29a
  • 481
  • 1
  • 7
  • 21
  • Works as expected when connected straight to the 5V source. Meaning it executes the last code, that was written to it.
  • Can't be programmed. avrdude: stk500v2_command(): command failed. Can't connect.
  • Works as expected when connected straight to the 5V source
  • Can't be programmed. avrdude: stk500v2_command(): command failed. Can't connect.
  • Works as expected when connected straight to the 5V source. Meaning it executes the last code, that was written to it.
  • Can't be programmed. avrdude: stk500v2_command(): command failed. Can't connect.
added 4 characters in body
Source Link
0x29a
  • 481
  • 1
  • 7
  • 21

This mystery has happened so many times before. All I can think of is that it has something to do with the fuse bits or possibly the frequency is 'hardcoded' for one chip at 8Mhz and 16Mhz for the other one 16Mhz. I was expecting that F_CPU defines itthat and avrdude uses that definition to set the fuses correctly.

This mystery has happened so many times before. All I can think of is that it has something to do with the fuse bits or possibly the frequency is 'hardcoded' for one chip at 8Mhz for the other one 16Mhz. I was expecting that F_CPU defines it.

This mystery has happened so many times before. All I can think of is that it has something to do with the fuse bits or possibly the frequency is 'hardcoded' for one chip at 8Mhz and 16Mhz for the other one. I was expecting that F_CPU defines that and avrdude uses that definition to set the fuses correctly.

Source Link
0x29a
  • 481
  • 1
  • 7
  • 21
Loading