English
Language : 

LM3S9B81 Datasheet, PDF (205/1155 Pages) Texas Instruments – Stellaris® LM3S9B81 Microcontroller
Stellaris® LM3S9B81 Microcontroller
7.3.2
7.3.2.1
7.3.3
2. Poll the FMC register until the MERASE bit is cleared.
32-Word Flash Memory Write Buffer
A 32-word write buffer provides the capability to perform faster write accesses to the Flash memory
by concurrently programing 32 words with a single buffered Flash memory write operation. The
buffered Flash memory write operation takes the same amount of time as the single word write
operation controlled by bit 0 in the FMC register. The data for the buffered write is written to the
Flash Write Buffer (FWBn) registers.
The registers are 32-word aligned with Flash memory, and therefore the register FWB0 corresponds
with the address in FMA where bits [6:0] of FMA are all 0. FWB1 corresponds with the address in
FMA + 0x4 and so on. Only the FWBn registers that have been updated since the previous buffered
Flash memory write operation are written. The Flash Write Buffer Valid (FWBVAL) register shows
which registers have been written since the last buffered Flash memory write operation. This register
contains a bit for each of the 32 FWBn registers, where bit[n] of FWBVAL corresponds to FWBn.
The FWBn register has been updated if the corresponding bit in the FWBVAL register is set.
To program 32 words with a single buffered Flash memory write operation
1. Write the source data to the FWBn registers.
2. Write the target address to the FMA register. This must be a 32-word aligned address (that is,
bits [6:0] in FMA must be 0s).
3. Write the Flash memory write key and the WRBUF bit (a value of 0xA442.0001) to the FMC2
register.
4. Poll the FMC2 register until the WRBUF bit is cleared.
Nonvolatile Register Programming
This section discusses how to update registers that are resident within the Flash memory itself.
These registers exist in a separate space from the main Flash memory array and are not affected
by an ERASE or MASS ERASE operation. The bits in these registers can be changed from 1 to 0
with a write operation. The register contents are unaffected by any reset condition except power-on
reset, which returns the register contents to 0xFFFF.FFFF. By committing the register values using
the COMT bit in the FMC register, the register contents become nonvolatile and are therefore retained
following power cycling. Once the register contents are committed, the only way to restore the factory
default values is to perform the sequence described in “Recovering a "Locked"
Microcontroller” on page 91.
With the exception of the Boot Configuration (BOOTCFG) register, the settings in these registers
can be tested before committing them to Flash memory. For the BOOTCFG register, the data to be
written is loaded into the FMD register before it is committed. The FMD register is read only and
does not allow the BOOTCFG operation to be tried before committing it to nonvolatile memory.
Important: The Flash memory resident registers can only have bits changed from 1 to 0 by user
programming and can only be committed once. After being committed, these registers
can only be restored to their factory default values only by performing the sequence
described in “Recovering a "Locked" Microcontroller” on page 91. The mass erase of
the main Flash memory array caused by the sequence is performed prior to restoring
these registers.
June 29, 2010
205
Texas Instruments-Advance Information