Advanced Operations using the Flash Controller
461
SLAU356I – March 2015 – Revised June 2019
Copyright © 2015–2019, Texas Instruments Incorporated
Flash Controller (FLCTL)
•
Normal Read: This is the most commonly used mode. Users must ensure that CPU execution happens
only in this mode.
•
Read Margin 0/1: Marginal read modes are primarily test modes to check flash memory. These modes
are useful in determining the margins of programmed bits after a long duration of device operation in
the field.
•
Program Verify: This read mode helps check if the memory is programmed with sufficient margin. This
mode is used whenever a user sees a post verify error during program operations.
•
Erase Verify: This read mode helps check if the memory is erased with sufficient margin. This mode
should be used following every erase operation.
The required read mode can be enabled using the RD_MODE bits in the FLCTL_BANKx_RDCTL register.
It is important to note that each flash bank has its own individual settings for the read modes. All accesses
to the bank are carried out as per the configured read mode.
NOTE:
Due to mode transition latencies, there is a delay between configuration of the new mode
setting for a Bank and the time it is actually ready to process reads in that mode. In addition,
the flash controller may stall the transition of a bank into a particular mode because of a
simultaneous operation on the other bank. After changing the mode setting, it is the
application's responsibility to ensure that the read mode status for the bank reflects the new
mode. This ensures that all subsequent reads happen in the targeted mode; otherwise, a few
of the reads to the Bank may continue to be serviced in the old mode.
MSP432 Driver Library API in
can be used to configure the read mode.
Table 9-7. MSP432 Driver Library API for Setting up Flash Read Modes
MSP432 Driver Library API
Function
FlashCtl_setReadMode
Sets the flash read mode to be used by flash read operations
FlashCtl_getReadMode
Gets the flash read mode to be used by flash read operations.
9.3.1.1
Burst Read and Compare Feature
The flash controller supports a Burst Read and Compare feature, which permits a fast read and compare
operation on a contiguous section of the flash memory. Implementing a burst read permits the flash
controller to optimize the time taken for the operation by comparing all 128 bits at a time.
The burst read and compare feature is useful for the verification of the memory post an erase. This is
done in the Erase Verify read mode of operation.
9.3.2 Advanced Flash Program
Programming MSP432 flash requires the following stages to be incorporated into user software:
1. Pre-program-verify
2. Initiate Program
3. Post-program-verify
The MSP432 flash controller requires that user application implements the exact routines listed in
or
depending on the programing mode used. Failure to follow the
documented software flow could result in the MSP432 flash being programmed incorrectly. TI
recommends users read and understand the requirements for custom in-system programming before
implementation.
The pre-program-verify stage is not mandatory if the application knows that the flash location to be
programed is already in erased state. However, post-program-verify is required following every program
operation.