Overview
340
SPNU563A – March 2018
Copyright © 2018, Texas Instruments Incorporated
F021 Level 2 Flash Module Controller (L2FMC)
•
OTP (one-time programmable): A program-only-once Flash sector (cannot be erased)
•
Sector: A contiguous region of Flash memory that must be erased simultaneously.
•
Wide_Word - the width of the data output from the Flash bank. This is 288-bits wide for main Flash
banks and 72-bits wide for the FEE bank.
•
Prefetch Mode - Provides higher performance by fetching the subsequent cache line ahead of the
actual request.
•
Read Margin 1 mode: More stringent read mode designed for early detection of marginally erased bits.
•
Read Margin 0 mode: More stringent read mode designed for early detection of marginally
programmed bits.
•
Implicit read - At startup the L2FMC performs multiple automatic reads from OTP to read device
settings.
•
Bus Error - L2FMC will generate a bus error to the bus master on certain accesses for example, writes
to Flash on Port A/Port B or access to addresses beyond the available Flash space.
•
POM - Parameter Overlay Module provides a method to remap the Flash when there is a need to have
different values in the Flash contents without actually erasing and reprogramming the Flash.
7.1.3 F021 Flash Tools
Texas Instruments provides the following tools for F021 Flash:
•
Generation Tool - to generate the Flash ECC from the Flash data.
•
Programming Tool - to erase/program/verify the device Flash content through JTAG.
•
Code Composer Studio - the development environment with integrated Flash programming capabilities.
•
F021 Flash API Library - a set of software peripheral functions to program/erase the Flash module.
Refer to
F021 Flash API Reference Guide
) for more information.
7.2
Default Flash Configuration
At power up, the Flash module state exhibits the following properties:
•
Wait states are set to 1 data wait state. An implicit address wait states are set to 1 and cannot be
changed.
•
Prefetch mode is enabled
•
The Flash content is protected from modification
•
Power modes are set to
Active
(no power savings)
•
The boot code must initialize the wait states and the desired prefetch mode by initializing the
FRDCNTL register to achieve the optimum system performance. This needs to be done before
switching to the final device operating frequency.
7.3
EEPROM Emulation Support
Several features of the L2FMC support EEPROM emulation. They are listed here.
•
In order to allow zeroing out used portions of Flash when the table has to be moved to a new block,
L2FMC allows replacing the all-zero ECC with the correct ECC value of an all-zero 64b data. This is
enabled by setting the EE_FEDACCTRL1.EZCV bit at address offset 8h.
•
Similarly, in order to be able to read the Flash after successfully erasing it, L2FMC will compute the
correct ECC for all-ones 64b data. This is enabled by setting the EE_FEDACCTRL1.EOCV bit at
address offset 8h.
•
Normally, for ECC to correctly work all the 64b of data must be programmed into the Flash. However, it
is not uncommon to program partial words in the EEPROM Emulation bank. In order to allow this,
L2FMC provides the FEDACSDIS and FEDACSDIS2 registers that identifies up to 4 chosen sectors
where partial words may be programmed. In such a case, L2FMC computes ECC on the fly for these
sectors thus avoiding any errors.