Advanced Operations using the Flash Controller
467
SLAU356I – March 2015 – Revised June 2019
Copyright © 2015–2019, Texas Instruments Incorporated
Flash Controller (FLCTL)
9.3.2.3
Burst Program Mode
The Burst Program feature enhances the full-word programming mode of operation by permitting multiple
(up to 4) 128-bit words to be written in one single burst command. This is a valuable feature in cases
where a large number of bytes (a block of data) are required to be programmed to contiguous addresses
in the flash in quick succession. Implementing a burst operation permits a lower overall write latency
because the setup and hold times associated with flash programming operation (transparently handled by
the controller) are not repeated for each iteration.
To enable Burst Programming the following information needs to be made available:
•
Data Input Buffer: This is a 4-deep 128-bit wide buffer that can be preloaded with data either by the
application code, or through the DMA. The buffer is implemented as 16- or 32-bit registers to facilitate
direct writes from the CPU and DMA. The FLCTL_PRGBRST_DATAx_y registers are used to load the
burst data.
•
Start address register: The start address is configured in the FLCTL_PRGBRST_STARTADDR register
(must be a 128 bit boundary)
•
Burst program length: This is configured by setting the LEN bits in the FLCTL_PRGBRST_CTLSTAT to
indicate the number of 128-bit words to be written in sequence (up to 4 words can be written in
succession)
In this mode of operation, if all the writes are within the same sector, the setup and hold delays of the
program operation are incurred only once through the burst. If the write happens to cross a sector
boundary, the operation is broken into two bursts.
It is the responsibility of the application to ensure that the data input buffer registers are loaded with
appropriate data to be programmed before the burst operation is started. Bits that are not to be
programmed should be set to 1 to mask them from the program pulse.
Considerations for using the auto-verify feature in burst programming mode are described in
The Burst Program feature is configured by the ENABLE bit in the FLCTL_PRG_CTLSTAT register.
9.3.2.3.1 Software Flow for Burst Programming Mode
, and
show the software flow to be followed for reliable burst
programming mode.