Z8 Encore! XP® 4K Series
Product Specification
141
.
Table 80. Flash Code Protection Using the Flash Option Bits
FWP Flash Code Protection Description
0
Programming and erasing disabled for all of Flash Program
Memory. In user code programming, Page Erase, and Mass Erase
are all disabled. Mass Erase is available through the On-Chip
Debugger.
1
Programming, Page Erase, and Mass Erase are enabled for all of
Flash Program Memory.
Flash Code Protection Using the Flash Controller
At Reset, the Flash Controller locks to prevent accidental program or erasure of the Flash
memory. To program or erase the Flash memory, first write the Page Select Register with
the target page. Unlock the Flash Controller by making two consecutive writes to the
Flash Control register with the values 73Hand 8CH, sequentially. The Page Select Register
must be rewritten with the target page. If the two Page Select writes do not match, the con-
troller reverts to a locked state. If the two writes match, the selected page becomes active.
See Figure 22 for details.
After unlocking a specific page, the user can enable either Page Program or Erase. Writing
the value 95Hcauses a Page Erase only if the active page resides in a sector that is not pro-
tected. Any other value written to the Flash Control register locks the Flash Controller.
Mass Erase is not allowed in the user code but only in through the Debug Port.
After unlocking a specific page, the user can also write to any byte on that page. After a
byte is written, the page remains unlocked, allowing for subsequent writes to other bytes
on the same page. Further writes to the Flash Control Register cause the active page to
revert to a locked state.
Sector Based Flash Protection
The final protection mechanism is implemented on a per-sector basis. The Flash memories
of Z8 Encore!® devices are divided into at most 8 sectors. A sector is 1/8 of the total size
of the Flash memory, unless this value is smaller than the page size, in which case the sec-
tor and page sizes are equal. On the Z8 Encore! XP® 4K Series devices, the sector size is
512 bytes, equal to the page size.
The Sector Protect Register controls the protection state of each Flash sector. This register
is shared with the Page Select Register. It is accessed by writing 73H followed by 5EH to
the Flash controller. The next write to the Flash Control Register targets the Sector Protect
Register.
The Sector Protect Register is initialized to 0 on reset, putting each sector into an unpro-
tected state. When a bit in the Sector Protect Register is written to 1, the corresponding
PS022815-0206
Flash Memory