Hello
Update to this
Lock fuse is 0x0F
Low Fuse = 0xFF
High Fuse =0xDC
Extended Fuse =0xFD
Sp for a ATMega644P it looks like the Lock fuse is in Protection Mode 3. Should I change it to 0xFF?
Or would a chip reset fix the fuses?
In summary I'm getting a file verification error after the IDE uploads the sketch. First mismatch at byte 0x004a 0x37 != 0x8cIt happens both with the bootloader over the serial connection and when using the ISP programmer. Using the ISP the bootloader burn seems to work fine and passes the verification although I suspect it's not really writing to flash and is just verifying what is already there.
There is also a led blink program running on the board which always keeps running. I just can't upload a new program. I'm also getting a "the selected serial port does not exist or is not connected" which is confusing as the IDE seems to be able to talk to the chip. It was all working fine until recently.
Verbose output from the below follows
1 - The ISP upload attempt
2 - The ISP bootloader burn
3 - The upload attempt using the serial connection
I'd like to know if this is a hardware issue before I buy another board. Any help triaging the problem much appreciated.
ISP upload
Arduino: 1.8.3 (Mac OS X), Board: "ArbotiX Std"
Sketch uses 780 bytes (1%) of program storage space. Maximum is 65536 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 4087 bytes for local variables. Maximum is 4096 bytes.
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega644p -cusbasp -Pusb -Uflash:w:/var/folders/6k/t8lxrw3x7k32nmsfp3js0gch0000gn/T/arduino_build_323035/Arbotix_LED_on.ino.hex:i
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:01:35
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
User configuration file is "/Users/john/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : usb
Using Programmer : usbasp
AVR Part : ATmega644P
Chip Erase delay : 55000 us
PAGEL : PD7
BS2 : PA0
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 10 128 0 no 2048 8 0 9000 9000 0xff 0xff
flash 33 6 256 0 yes 65536 256 256 4500 4500 0xff 0xff
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
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
Programmer Type : usbasp
Description : USBasp, USBasp - USB programmer for Atmel AVR controllers - fischl.de
avrdude: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e960a (probably m644p)
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: auto set sck period (because given equals null)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "/var/folders/6k/t8lxrw3x7k32nmsfp3js0gch0000gn/T/arduino_build_323035/Arbotix_LED_on.ino.hex"
avrdude: writing flash (780 bytes):
Writing | ################################################## | 100% 0.74s
avrdude: 780 bytes of flash written
avrdude: verifying flash memory against /var/folders/6k/t8lxrw3x7k32nmsfp3js0gch0000gn/T/arduino_build_323035/Arbotix_LED_on.ino.hex:
avrdude: load data flash data from input file /var/folders/6k/t8lxrw3x7k32nmsfp3js0gch0000gn/T/arduino_build_323035/Arbotix_LED_on.ino.hex:
avrdude: input file /var/folders/6k/t8lxrw3x7k32nmsfp3js0gch0000gn/T/arduino_build_323035/Arbotix_LED_on.ino.hex contains 780 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.65s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x004a
0x37 != 0x8c
avrdude: verification error; content mismatch
avrdude done. Thank you.
the selected serial port
does not exist or your board is not connected
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
ISP Burn bootloader
Avrdude reports this a done without errors. It verifies 65382 bytes of flash but I suspect it didn't really write anything and is just verifying what is already in flash. I can't see how to copy this output here.
Upload_Error.txt (4.44 KB)