Разрешите и мне вставить три копейки: этого нет (по крайней мере я не знаю) ни у кого -
добавить два массива set fuse и fix fuse.
Прошиваться они должны при программировании и "зеркалировать" все конфугурационные регистры, доступные программно.
set fuse - определяет, какие значения будут занесены в конфиг. регистры по сбросу.
(Это позволит по сбросу сразу входить в рабочий режим, минуя стадию инициализации)
fix fuse - определяют, возможно ли программное изменение соответствующих бит в конфиг регистре: 1 - невозможно, 0 - возможно.
(Это позволит защититься от изменения значения вежных бит в результате сбоя - тот же WDT например)
Реализовать аппаратно это не сложно, например так:
--------------- set fuse | | | | | | | | | --------------- ----- | | MUX | reset || ------| | || | |-------> периферия \/ ------| | | ----- --------------- | register | | | | | | | | | | --------------- | | --------- | --------------- fix fuse | | | | | | | | | ---------------а вот преимущества - очевидны.