Features of Flash memory include:
- Two Flash banks (Bank0 and Bank1) (refer to the device data sheet for the size of the Flash bank)
- Dedicated Flash module controller (FMC) for each bank
- 128 bits (bank width) can be programmed at a time along with ECC
- Multiple sectors providing the option of leaving some sectors programmed and only erasing specific sectors
- User-programmable OTP memory locations (in USER OTP0) for configuring security, OTP boot-mode and boot-mode select pins (if the user is unable to use the factory-default boot-mode select pins)
- Flash pump shared by the two banks
- Hardware Flash pump semaphore to control ownership of the pump between the two FMCs.
The semaphore mechanism is not applicable during reads or program execution. The semaphore is also transparent when the CCS plugin/UniFlash is used tor Flash programming. However, the semaphore must be managed when the API is used. - Enhanced performance using the code-prefetch mechanism and data cache in FMC0 and FMC1
- 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 the FMC
- 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 Flash program/erase state machine (FSM) in the FMC
- Simple Flash API algorithms
- Fast erase and program times (refer to the device data sheet for details)
- Code Security Module (CSM) to prevent access to the Flash by unauthorized persons (refer to Section 3.13 for details)
- Extra wait-state is encountered when code is fetched (or data is read) from Bank1, even for prefetched data