I have successfully implemented Martin Thomas' avr-gcc port of the butterfly bootloader on an ATmega16. I have successfully reflashed application code to the device from Windows XP using AVRdude 4.4.0 as shipped with WinAVR using the following command:

avrdude -p m16 -c butterfly -D -u -U flash:w:newprogram.hex

I am using the -D option to disable the auto erase to protect against wiping the bootloader code. I have set the fuse and lock bits in an attempt to prevent this, but also took this step to be sure.

However, I really need to be able to program from FreeBSD. I am using AVRdude 4.4.0 on FreeBSD 5.2. I am trying to program the same device with the same hex file as used from Windows, but I get the following verification error following the "Writing" and "Reading" processes:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0067
         0xe6 != 0xe0
avrdude: verification error; content mismatch

This seems to kill the bootloader code as well, as I have to reprogram the bootloader hex to the device and reset the fuses.

Any suggestions or ideas here? I would think that having the verification is a good thing. I would rather not disable this if I can help it, but I don't know how to interpret the error output to know how to go about troubleshooting this problem.

Thanks,
cbailey


_______________________________________________
avrdude-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avrdude-dev

Reply via email to