"avrdude: verification error; content mismatch"

When uploading a sketch, I got the following error message after the upload had completed:

Binary sketch size: 10636 bytes (of a 30720 byte maximum)

avrdude: verification error, first mismatch at byte 0x0980
         0xff != 0x0e
avrdude: verification error; content mismatch

Searching around, I've seen this in reference to bootloader uploading failure, or the bootloader becoming damaged. However, this is occurring when uploading a sketch through the Arduino IDE and the bootloader seems unaffected. Uploading other sketches does not produce the message.

The sketch uses 7680 bytes of PROGMEM, some of which seems to become corrupted -- This is image data for a little LCD so I can see the bad data as noise. The amount of PROGMEM used is really the only significant difference between this sketch and another that doesn't produce the error.

I'm using a BareBonesBoard with a pre-programmed ATmega328 I bought from SparkFun -- I don't know what bootloader version I'm using. -- and Arduino 0017.

If needed, I'll post the code. It's just sort of ugly and bulky.

Thanks!

I think I saw something about problems if you uploaded 256 consecutive bytes of 0 (or maybe 255/-1). Do you have long runs of constant bytes in your PROGMEM data?

Aha, that could very well be it; there is a lot of white space in the image (0x00). I'm going to replace my bitmap with RLE-compressed data which will probably take care of that problem.

Thanks!

I had the same compilation problem. I have a image but with a big PROGMEM with 0xFF. I changed it and the problem is solved!!

Thanks for the info!

I ran into this problem yesterday with Arduino 0017 under Slackware Linux. I had an array in PROGMEM with about 255 bytes, each initialised to 255. Is there any way to fix the problem? Or are there only work-arounds?