This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSPM0G3507: MSPM0G3507 SRAM ECC fault injection / ECC bypass test support

Part Number: MSPM0G3507

Hi TI team,

I am using MSPM0G3507 and would like to implement a RAM ECC self-test similar to the Renesas MCU ECC diagnostic flow.

On Renesas MCU, the self-test can intentionally create real SRAM ECC errors by using ECC bypass / test write mode:
1. Write normal data to SRAM.
2. Disable ECC check or enable ECC bypass/test mode.
3. Modify 1 bit or 2 bits of the SRAM data without updating the ECC syndrome.
4. Re-enable ECC check.
5. Read the SRAM address to trigger the ECC decoder.
6. Verify that 1-bit correctable error or 2-bit uncorrectable error is detected.

For MSPM0G3507, I found the following SYSCTL status/software-set events:
- SRAMSEC
- SRAMDED
- SYSCTL_ISET_SRAMSEC_MASK
- SYSCTL_NMIISET_SRAMDED_MASK
- SYSCTL_NMIIIDX_STAT_SRAMDED

I can use these registers to force the SRAMSEC/SRAMDED event path, but this only verifies the event/NMI handling path. It does not create a real SRAM data/ECC syndrome mismatch.

My question is:

Does MSPM0G3507 support any official method to inject real SRAM ECC/parity faults for diagnostic self-test?

Specifically:
1. Is there an ECC bypass mode, ECC test mode, or syndrome write mode for SRAM?
2. Can firmware intentionally create a 1-bit correctable SRAM ECC error?
3. Can firmware intentionally create a 2-bit uncorrectable SRAM ECC error and trigger SRAMDED/NMI?
4. If real SRAM ECC fault injection is not supported, is using SYSCTL_ISET_SRAMSEC_MASK and SYSCTL_NMIISET_SRAMDED_MASK the recommended way to verify the ECC event handling path?

SDK version: MSPM0 SDK 2.10.00.04
Diagnostic library version: mspm0_diag_lib_1_00_00_15
Toolchain: IAR Embedded Workbench for Arm 9.50.2

Thank you.

  • I can use these registers to force the SRAMSEC/SRAMDED event path, but this only verifies the event/NMI handling path. It does not create a real SRAM data/ECC syndrome mismatch.

    These are hardware Functional safety function, also, we provide safety manual for your reference: https://www.ti.com/lit/pdf/sffs624

    Specifically:
    1. Is there an ECC bypass mode, ECC test mode, or syndrome write mode for SRAM?
    2. Can firmware intentionally create a 1-bit correctable SRAM ECC error?
    3. Can firmware intentionally create a 2-bit uncorrectable SRAM ECC error and trigger SRAMDED/NMI?
    4. If real SRAM ECC fault injection is not supported, is using SYSCTL_ISET_SRAMSEC_MASK and SYSCTL_NMIISET_SRAMDED_MASK the recommended way to verify the ECC event handling path?

    All #1 #2 #3 is supported, both on hardware and software.

    Diagnostic library version: mspm0_diag_lib_1_00_00_15

    But in this lib, only basic SRAM test and fault injection function are supported, you can find related RAM test in its document for details.

    Specifically:

    The functions #1~3 you required are coming from safetylib, try to contact your local support team to request the safety lib software code access.

  • Hi Helic:

    Thank you for the clarification.

    We would like to request access to the MSPM0 safetylib software code, especially the SRAM ECC fault injection APIs for:

    1. ECC bypass / ECC test mode / syndrome write mode
    2. Firmware-based 1-bit correctable SRAM ECC fault injection
    3. Firmware-based 2-bit uncorrectable SRAM ECC fault injection to trigger SRAMDED/NMI

    Our target device is MSPM0G3507. We are currently using mspm0_diag_lib_1_00_00_15, but as you mentioned, the above functions are provided by safetylib instead of the public diagnostic library.

    Could you please help forward this request to the appropriate TI local support team / FAE, or advise the correct process to request safetylib software access?

    Thank you.

  • Could you please help forward this request to the appropriate TI local support team / FAE, or advise the correct process to request safetylib software access?

    I don't know who is your local support team...

    For your local support team, do you know who is he?

    You can send your ti.com login email and your project information to FAE via email.

    FAE will touch us for the access, and they should know the request link.

**Attention** This is a public forum