For the AVR-Dx family, the last item in test-avrdude alternates between passing and failing, allowing the -T erase usersig operation to cope with this.
Testing ../build_darwin/src/avrdudePrepare "-cpickit4_updi -pavr64du28" and press 'enter' or 'space' to continue. Press any other key to skip
✅ 0.235 s: fuse access: clear, set and read eesave fuse bit
✅ 0.256 s: fuse access: set eesave fusebit to delete EEPROM on chip erase
✅ 0.658 s: chip erase
✅ 2.927 s: flash -U write/verify holes_rjmp_loops_65536B.hex
✅ 1.317 s: flash -T write/verify holes_rjmp_loops_65536B.hex
✅ 0.287 s: eeprom check whether programmer can flip 0s to 1s
✅ 1.646 s: eeprom -U write/verify holes_pack_my_box_256B.hex
✅ 3.102 s: eeprom -T write/verify holes_{the_five_boxing_wizards,pack_my_box}_256B.hex
✅ 1.737 s: chip erase and spot check flash is actually erased
✅ 0.483 s: spot check eeprom is erased, too
❌ 2.655 s: usersig -T/-U write/read random_data_512B.bin (failed command below)
$ ../build_darwin/src/avrdude -qq -cpickit4_updi -pavr64du28 -T "erase usersig; write usersig ./test_files/random_data_512B.bin" -T flush -U usersig:r:/tmp/test-avrdude.tmp.WlPp8Q:r -U usersig:v:/tmp/test-avrdude.tmp.WlPp8Q:r -T "erase usersig" -T flush -U usersig:v:./test_files/0xff_512B.hex:i
One or more AVRDUDE "-cpickit4_updi -pavr64du28" tests failed. Do you want to retry this particular test? (y/n): y
Prepare "-cpickit4_updi -pavr64du28" and press 'enter' or 'space' to continue. Press any other key to skip
✅ 0.270 s: fuse access: clear, set and read eesave fuse bit
✅ 0.259 s: fuse access: set eesave fusebit to delete EEPROM on chip erase
✅ 0.658 s: chip erase
✅ 2.932 s: flash -U write/verify holes_rjmp_loops_65536B.hex
✅ 1.321 s: flash -T write/verify holes_rjmp_loops_65536B.hex
✅ 0.288 s: eeprom check whether programmer can flip 0s to 1s
✅ 1.643 s: eeprom -U write/verify holes_pack_my_box_256B.hex
✅ 3.070 s: eeprom -T write/verify holes_{the_five_boxing_wizards,pack_my_box}_256B.hex
✅ 1.741 s: chip erase and spot check flash is actually erased
✅ 0.486 s: spot check eeprom is erased, too
✅ 0.833 s: usersig -T/-U write/read random_data_512B.bin
This situation does not occur with -U only operation, and has not occurred with other families.
For the AVR-Dx family, the last item in
test-avrdude
alternates between passing and failing, allowing the-T erase usersig
operation to cope with this.This situation does not occur with
-U
only operation, and has not occurred with other families.