Sun 08 May 2016 06:58:32 PM UTC, comment #1:
This bug is a result of commit r1336, which is a move in the right direction as far as fixing of inconsistent behavior described in bug#21954 goes.
But now we should make the behavior of all other programmers consistent.
Per Atmel recommendation unused bits should be set to 1. They are supposed to read back out of hardware as 1. Therefore the user writing the lock bits should just follow the recommendation and get the correct outcome.
Currently:
@$> avrdude -patmega328p -cstk500v2 -Pusb -e -Ulock:w:0xff:m
yields:
avrdude: verifying ...
avrdude: 1 bytes of lock verified
But:
@$> avrdude -patmega328p -cusbtiny -Pusb -e -Ulock:w:0xff:m
yields:
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x3f != 0xff
avrdude: verification error; content mismatch
avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF)
avrdude done. Thank you.
Therefore the lock definition in avrdude.conf should no longer mask reading of unused lock bits the same way as it has already been done for efuse bits with commit r1335 per discussion of bug#22248.
|