NXP Semiconductors
FXTH87E
FXTH87E, Family of Tire Pressure Monitor Sensors
FXTH87ERM
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2019. All rights reserved.
Reference manual
Rev. 5.0 — 4 February 2019
28 / 183
•
Writing a second time to FCMD before launching the previous command (There is only
one write to FCMD for every command.)
•
Writing to any FLASH control register other than FCMD after writing to a FLASH
address
•
Writing any command code other than the five allowed codes (0x05, 0x20, 0x25, 0x40,
or 0x41) to FCMD
•
Accessing (read or write) any FLASH control register other than the write to FSTAT (to
clear FCBEF and launch the command) after writing the command to FCMD.
•
The MCU enters STOP mode while a program or erase command is in progress (The
command is aborted.)
•
Writing the byte program, burst program, or page erase command code (0x20,
0x25, or 0x40) with a BACKGROUND DEBUG command while the MCU is secured
(the BACKGROUND DEBUG controller can only do blank check and mass erase
commands when the MCU is secure.)
•
Writing 0 to FCBEF to cancel a partial command.
6.7.6 FLASH block protection
The block protection feature prevents the protected region of FLASH from program or
erase changes. Block protection is controlled through the FLASH Protection Register
(FPROT). When enabled, block protection begins at any 512-byte boundary below the
last address of FLASH, 0xFFFF. (see
Section 6.9.4
).
After exit from reset, FPROT is loaded with the contents of the NVPROT location which
is in the nonvolatile register block of the FLASH memory. FPROT cannot be changed
directly from application software so a runaway program cannot alter the block protection
settings. Because NVPROT is within the last 512 bytes of FLASH, if any amount of
memory is protected, NVPROT is itself protected and cannot be altered (intentionally or
unintentionally) by the application software. FPROT can be written through background
debug commands which allows a way to erase and reprogram a protected FLASH
memory.
The block protection mechanism is illustrated below. The FPS bits are used as the upper
bits of the last address of unprotected memory. This address is formed by concatenating
FPS7:FPS1 with logic 1 bits as shown. For example, in order to protect the last 8192
bytes of memory (addresses 0xE000 through 0xFFFF), the FPS bits must be set to 1101
111 which results in the value 0xDFFF as the last address of unprotected memory. In
addition to programming the FPS bits to the appropriate value, FPDIS (bit 0 of NVPROT)
must be programmed to logic 0 to enable block protection. Therefore the value 0xDE
must be programmed into NVPROT to protect addresses 0xE000 through 0xFFFF.
Figure 11. Block Protection Mechanism
FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1
A15
A14
A13
A12
A11
A10
A9
A8
1
A7 A6 A5 A4 A3 A2 A1 A0
aaa-028493
1
1
1
1
1
1
1
1
One use for block protection is to block protect an area of FLASH memory for a boot
loader program. This boot loader program then can be used to erase the rest of the
FLASH memory and reprogram it. Because the boot loader is protected, it remains intact
even if MCU power is lost in the middle of an erase and reprogram operation.
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from
Downloaded from