English
Language : 

MSE9S08QG8 Datasheet, PDF (2/8 Pages) Freescale Semiconductor, Inc – Mask Set Errata for Mask 3M77B
Workaround
This problem applies to the non-interrupt functions that are shared with IRQ and KBI functions. Because
interrupts from IRQ or KBI are disabled, these pins are not used to wake up the MCU from stop. To
prevent signals on IRQ or KBI from causing an unexpected partial wakeup from stop in these applications,
disable the IRQ and KBI modules just before entering stop mode. Also verify that any previous interrupt
flags associated with IRQ and KBI have been cleared.
Unexpected Flash Block Protection Errors
SE133-FLASH
Description
If a portion of the nonvolatile memory (NVM) is block protected, unexpected flash block protect violation
(FPVIOL) errors can result. These errors can occur during an attempt to program or erase locations in
areas of the NVM that are not block protected. Software methods can be used to avoid this potential
problem. The problem is more likely to be seen on devices that have multiple nonvolatile blocks, including
devices with two or more separate flash blocks or with flash plus EEPROM. If block protection is not
enabled, no errors occur.
This error is related to logic that compares current block protection settings to an internally latched
address. This internal address is written (latched) at reset, at the end of most flash commands, and
whenever there is a write to a location in NVM. If a read access to the partially protected NVM is
performed immediately before the write to unprotected memory that starts a new flash command, the
erroneous address that was previously in the internal latch can cause a false indication of a protection
violation. A short sequence of instructions can be performed before starting normal flash commands to
ensure that the address in the internal latch is not a protected address.
Workarounds
The preferred workaround starts a command to a known unprotected address (which internally latches
the known-unprotected address), forces an access error to abort that command, and then clears the
resulting error flags before starting any new flash command. This workaround assumes the H:X index
register points to the location or sector you want to program or erase, and accumulator A has the data
value you plan to write to that location. Start your program or erase routine with the following instructions.
STA
NOP
STA
PSHA
LDA
STA
PULA
STA
,X
,X
#$30
FSTAT
,X
;latch the unprotected address from H:X
;brief delay to allow the command state machine to start
;intentionally cause an access error to abort this command
;temporarily save data value
;1’s in PVIOL and ACCERR bit positions
;clear any error flags
;restore data value
;STEP 1 write data to start new command
Mask Set Errata for 9S08QG8, Mask 3M77B
2
Freescale Semiconductor