RAM Control Module
469
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
Internal Memory
5.1.1.7.1 Error Detection and Correction
Error detection is done while reading the data from memory. The error detection is performed for data as
well as address. For parity memory, only a single-bit error gets detected whereas, in case of ECC
memory, along with a single-bit error, a double-bit error also gets detected. These errors are called
correctable error and uncorrectable errors.
•
Parity errors are always uncorrectable errors
•
Single-bit ECC errors are correctable errors
•
double bit ECC errors are uncorrctbale errors
•
Address ECC errors are also uncorrectable errors.
Correctable errors get corrected by RAM Control module and then correct data is given back as read data
to master and also written back into the memory. Since RAM Control module performs a read-modify-write
operation during byte access from master on M3 subsystem side, there could be error duing read phase.
In case this is correctable error, the controller corrects the data and writes into memory but incase of
uncorrectable error, appropriate error get generated.
5.1.1.7.2 Error Handling
For each correctable error, the count in the correctable error count register will increment by one. When
the value in this count register becomes equal to the value configured into the correctable error threshold
register, an interrupt is generated to the respective CPU; that is, if the interrupt is enabled in the
correctable interrupt enable register. The user needs to configure the correctable error threshold register
based on the system requirement. Also the address for which error occurred, gets latched into the master
specific status register and a flag is set. Each of these registers are dedicated for each subsystems.
If there are uncorrectable errors, a BUS-FAULT gets generated for the M3 CPU and a DMA ERROR
interrupt gets generated for the µDMA. On the C28x side, an NMI gets generated for the C28x CPU as
well as the C28x DMA. Also, in this case, the address for which error occurred, gets latched into the
master-specific address status register, and a flag gets set.
summarizes different error situations that can arise. These need to be handled appropriately in
software using the status and interrupt indications provided.