Internal Flash memory
The protection bits are stored in Non Volatile Flash cells, that are read once at reset and
stored in 5 Volatile registers. Before they are read from the Non Volatile cells, all the
available protections are forced active during reset.
The protections can be programmed using the Set Protection operation (see Flash Control
Registers paragraph), that can be executed from all the internal or external memories.
Two kind of protections are available: write protections to avoid unwanted writings and
access protections to avoid piracy. In next paragraphs all different level of protections are
shown, and architecture limitations are highlighted as well.
The 5 Non Volatile Protection Registers are one time programmable for the user.
Two register (FNVWPIRL/FNVWPIRH) are used to store the Write Protection fuses for each
sector IFlash module. The other three Registers (FNVAPR0 and FNVAPR1L/H) are used to
store the Access Protection fuses.
This bit is automatically set when a suspended Program or Erase operation is not resumed
correctly due to a protocol error. In this case the suspended operation is aborted. This bit has to be
Write protection flag
This bit is automatically set when trying to program or erase in a sector write protected. In case of
multiple Sector Erase, the not protected sectors are erased, while the protected sectors are not
erased and bit WPF is set. This bit has to be software reset.
Flash error register