Chapter 4 Memory
MC9S08LG32 MCU Series, Rev. 5
Freescale Semiconductor
65
4.6.5
Access Errors
An access error occurs whenever the command execution protocol is violated.
Any of the following actions causes the access error flag (FACCERR) in FSTAT to be set. Before any
command can be processed, FACERR must be cleared. To clear FACCERR, write a 1 to FACCERR in
FSTAT.
•
Writing to a flash address before the internal flash clock frequency has been set by writing to the
FCDIV register
•
Writing to a flash address while FCBEF is not set (A new command cannot start until the command
buffer is empty.)
•
Writing a second time to a flash address before launching the previous command (There is only
one write to flash for every command.)
•
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 to FCMD other than the five allowed codes (0x05, 0x20, 0x25, 0x40,
or 0x41)
•
Writing 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
4.6.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
Protection Register (FPROT and NVPROT)
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 to prevent runaway programs from altering 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 protected flash memory to be erased and
reprogrammed.
The block protection mechanism is illustrated in
. 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, to protect the last 1536 bytes of memory (addresses 0xFA00 through 0xFFFF), the
Содержание MC9S08LG16
Страница 2: ......
Страница 4: ......
Страница 8: ......
Страница 20: ......
Страница 26: ...Chapter 1 Device Overview MC9S08LG32 MCU Series Rev 5 26 Freescale Semiconductor...
Страница 40: ...Chapter 2 Pins and Connections MC9S08LG32 MCU Series Rev 5 40 Freescale Semiconductor...
Страница 96: ...Chapter 5 Resets Interrupts and General System Control MC9S08LG32 MCU Series Rev 5 96 Freescale Semiconductor...
Страница 296: ...Chapter 12 Serial Peripheral Interface S08SPIV4 MC9S08LG32 MCU Series Rev 5 296 Freescale Semiconductor...
Страница 372: ......