Open strawberryhacker opened 1 year ago
Hi @strawberryhacker
Yes, this is a bit of a tricky one for pymcuprog... the catch here is that Studio actually automatically and secretly resets the fuse value after an erase (fuses are untouched through an erase), and we did not want to build in this knowledge to pymcuprog.
A possible workaround is to write the corrected fuse value using pymcuprog, and use the chip-erase-locked-device switch to get in. This will perform a UPDI-key-based erase, and immediately write the fuse.
for example on my tiny1627:
pymcuprog write -m fuses -o 5 -l 0xC7 --chip-erase-locked-device
will do this.
By setting fuses, I have enabled CRC scan of boot section during boot. The CRC scan fails.
Then, I perform chip erase by running:
That does not work, and produces following output:
The chip erase works when using Microchip Studio: Device Programming -> Memories -> Device -> Erase Now. I assume chip erase should work the same way in pymcuprog.