Datasheet

FLASH Memory (FLASH)
MC68HC908GR16A Data Sheet, Rev. 1.0
Freescale Semiconductor 43
2.6.7 FLASH Block Protect Register
The FLASH block protect register (FLBPR) is implemented as a byte within the FLASH memory, and
therefore can only be written during a programming sequence of the FLASH memory. The value in this
register determines the starting location of the protected range within the FLASH memory.
BPR[7:0] — FLASH Block Protect Bits
These eight bits represent bits [13:6] of a 16-bit memory address.
Bit 15 and Bit 14 are 1s and bits [5:0] are 0s.
The resultant 16-bit address is used for specifying the start address of the FLASH memory for block
protection. The FLASH is protected from this start address to the end of FLASH memory, at $FFFF.
With this mechanism, the protect start address can be $XX00, $XX40, $XX80, and $XXC0 (64 bytes
page boundaries) within the FLASH memory.
Figure 2-6. FLASH Block Protect Start Address
Address: $FF7E
Bit 7654321Bit 0
Read:
BPR7 BPR6 BPR5 BPR4 BPR3 BPR2 BPR1 BPR0
Write:
Reset: Unaffected by reset. Initial value from factory is 1.
Write to this register is by a programming sequence to the FLASH memory.
Figure 2-5. FLASH Block Protect Register (FLBPR)
Table 2-2. Examples of Protect Address Ranges
BPR[7:0] Addresses of Protect Range
$00 The entire FLASH memory is protected.
$01 (0000 0001)$C040 (1100 0000 0100 0000) — $FFFF
$02 (0000 0010)$C080 (1100 0000 1000 0000) — $FFFF
$03 (0000 0011) $C0C0 (1100 0000 1100 0000) — $FFFF
$04 (0000 0100)$C100 (1100 0001 0000 0000) — $FFFF
and so on...
$FC (1111 1100) $FF00 (1111 1111 0000 0000) — FFFF
$FD (1111 1101)
$FF40 (1111 1111 0100 0000) — $FFFF
FLBPR and vectors are protected
$FE (1111 1110)
$FF80 (111 1111 1000 0000) — FFFF
Vectors are protected
$FF The entire FLASH memory is not protected.
1
FLBPR VALUE
16-BIT MEMORY ADDRESS
000000
START ADDRESS OF FLASH
1
BLOCK PROTECT