Flash Controller Memory Module
535
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
Internal Memory
5.3
Flash Controller Memory Module
Flash is an electrically erasable/programmable nonvolatile memory that can be electrically programmed
and erased many times to ease code development. Flash memory can be used primarily as a program
memory for the core, and secondarily as static data memory.
This section describes the proper sequence to configure the wait states and operating mode of flash. It
also includes information on flash and OTP power modes, how to improve flash performance by enabling
the flash cache/prefetch mode, and the SECDED safety feature.
5.3.1 Features
Features of flash memory include:
•
Dedicated flash bank in the master subsystem (refer to the device data manual for the size of flash
bank)
•
Dedicated flash bank in the control subsystem (refer to the device data manual for the size of flash
bank)
•
Multiple sectors providing the option of leaving some sectors programmed and only erasing specific
sectors
•
User-programmable OTP locations in the master subsystem
•
Single flash pump shared by the master subsystem and control subsystem
•
Hardware flash pump semaphore to control ownership of the pump between the two subsystems. The
semaphore mechanism is not applicable during reads or program execution. It is also transparent
when the CCS Plugin/UniFlash is used for flash programming. However, the semaphore must be
managed when the API is used.
•
Dedicated flash module controller (FMC) in the master subsystem and the control subsystem
•
128 bits (bankwidth) can be programmed at a time along with ECC
•
Enhanced performance using program cache/code-prefetch mechanism and data cache in M3-FMC
•
Enhanced performance using code-prefetch mechanism and data cache in C28x-FMC
•
Configurable wait states to give the best performance for a given execution speed
•
Safety Features
–
SECDED-single error correction and double error detection is supported in both FMCs
–
Address bits are included in ECC
–
Test mode to check the health of ECC logic
•
Supports low-power modes for flash bank and pump for power savings
•
Built-in power mode control logic
•
Integrated program/erase state machine (FSM) in both FMCs
–
Simple flash API algorithms
–
Fast erase and program times (refer to the device data manual for details).
•
Code Security Module to prevent access to the flash by unauthorized persons (refer to the
System
Control and Interrupts
chapter for details)
5.3.2 Flash Tools
Texas Instruments provides the following tools for flash:
•
Code Composer Studio V6.x - the development environment with integrated flash plugin
•
F021 Flash API Library - a set of software functions to erase/program flash
Please refer to the
C2000 F021 Flash Application Programming Interface (API) Reference Guide
,
for more information.
•
UniFlash - standalone tool to erase/program/verify the flash content through JTAG. No CCS is
required.
•
CCS On-Chip Flash Plugin and UniFlash tools are developed for a fully Flash-embedded application,
which should be a standalone program that has all the initialized sections linked to flash. Any code that