askn37 / UPDI4AVR-USB

Easily convert AVR-DU family into a USB connected UPDI/TPI programmer.
MIT License
5 stars 0 forks source link

NVMV2+4 user_sig page erase missing #2

Closed askn37 closed 2 months ago

askn37 commented 2 months ago

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.