XC2200 Derivatives
System Units (Vol. 1 of 2)
Memory Organization
User’s Manual
3-21
V2.1, 2008-08
MemoryX2K, V1.3
•
In case of detecting an execution error like attempting to write to a write protected
range, sending a wrong password, after all sequence errors.
For the long lasting commands the read mode stays active until the last command of the
sequence is received and the operation is started.
3.9.2.2
Command Mode
After receiving the last command of a command sequence the addressed flash module
(not the whole flash memory!) is placed into command mode. For most commands this
will not be noticed by the user as the command executes immediately and afterwards the
flash module is placed again into read mode. For the long lasting commands the flash
module stays in command mode for several milliseconds. This is reported by setting the
corresponding “busy” flag. The data of a busy flash module cannot be read. New
command sequences are not accepted (even if they target different flash modules) and
cause a sequence error until the running operation has finished.
Read accesses to busy flash modules stall the CPU until the read mode is entered again.
A stalled CPU responds only to the reset. As no interrupts can be handled this state must
be avoided. Nevertheless this feature can be used to execute code from a flash module
that erases or programs data in the same flash module.
The IMB Core is limited to control only one running operation. Consequently when one
flash module is in command mode no other commands to either modules are accepted
but the other modules stay readable.
3.9.2.3
Page Mode
The page mode is entered with the “
” command. Please find its
description below. A flash module that is in page mode can still be read (so it is
concurrently in “read mode”). At a time only one flash module can be in page mode.
When the flash memory is in page mode — i.e. one of the flash modules is in page mode
— some command sequences are not allowed. These are all erase sequences and the
“change read margin” sequence. These are ignored and a sequence error is reported.