SWCU195A December 2024 – May 2025 CC2744R7-Q1 , CC2745P10-Q1 , CC2745R10-Q1 , CC2745R7-Q1 , CC2755R10
MCAN RAM ECC errors:
The correctable and uncorrectable ECC error flags for CAN message RAM are available in the MCAN wrapper interrupt registers. They can be unmasked to trigger SEC or DED interrupt to CPU.
The uncorrectable ECC error is also captured in the interrupt registers of Bosch CAN controller but the correctable ECC error is available only in the CC27XX MCAN wrapper interrupt registers. It is possible for application to either unmask the ECC uncorrectable interrupt flag in the Bosch CAN controller or in the CC27XX MCAN wrapper to service it.
When the uncorrectable ECC error is triggered the Tx/Rx operation is disabled by the Bosch CAN IP after handling the ECC uncorrectable error condition.
Accessing MCAN ERR registers:
This register is accessed through the ECC aggregator via an internal serial bus. To access, the appropriate procedure must be first followed in the MCAN ECC Vector Register.
Each error detection and correction (EDC) controller has a bank of error registers (offsets 0x10 - 0x3B) associated with it. These registers are accessed via an internal serial bus (SVBUS). To access them through the ECC aggregator the controller ID desired must be written to the MCANERR_VECTOR.ECC_VECTOR field, together with the MCANERR_VECTOR.RD_SVBUS trigger and MCANERR_VECTOR.RD_SVBUS_ADDRESS bit field. This initiates the serial read which consummates by setting the MCANERR_VECTOR.RD_SVBUS_DONE bit. At this point the addressed register may be read by a normal CPU read of the appropriate offset address.
MCANSS_IES provides the masked interrupt status. It is the logical AND of IRS and IE for the respective bits.
MCAN RAM initialization:
MCAN RAM goes through hardware-based auto initialization sequence whenever SVT domain reset is released in scenarios like device cold powerup, chip reset or standby/shutdown wake.
There is a status bit MEM_INIT_DONE in MCANSS_STAT register that needs to be polled or checked by application software before performing any read or writes to MCAN message RAM.
If this recommendation is violated, then writes to MCAN RAM will be ignored and reads will provide unpredictable data. Design note: Read in such case returns value on the internal read data path which can be 0 or last read value from any of the MMRs.
MCAN ECC implementation:
ECC SECDED is implemented only for the CAN 4KB message RAM. It is not available for the TX DMA BRP. Though the NUM_RAMS value is set to 2 in MCANERR_STAT register it is only the CAN message RAM that is considered for ECC functionality and diagnostics.
The TX DMA BRP specific bit has been removed from MCANERR_DED_STATUS, MCANERR_DED_ENABLE_SET and MCANERR_DED_ENABLE_CLR registers.