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