AM2432: How to Enable ECC in PRU

Part Number: AM2432

Hi TI Experts,

Customer is working on AM2432 latest SDK. As we know our Open-PRU has integrated more and more functions & applications making it more popular for customer to apply. And also some customers choosing AM24 is mainly for functional safety purpose (SIL2 hardware level). For these customers who require both PRU & functional safety, they are required by the certification body to provide enough safety mateirals on PRU to prove it is functional safety capable.

To tear down the requirement, for example, we know SDL is very useful on R5f side and when customer tried to get the functional safety certification (e.g. CAT3) in the past (no PRU used at that time), the SDL package helped a lot for certification body to review. Now, since customer will apply the additional PRU based applications, they also need to prove how SDL or some essential parts of SDL (e.g. ECC) could be enabled in PRU, otherwise the certification body may see a risk.

Thanks,

Kevin

  • Hello Kevin, Even if there is an application running on PRU - we will need to run SDL from R5. The R5 is considered as the safety core and the core that can take the decision if there is a fault detected. Is the question about enabling ECC on the ICSS memories or running SDL on PRU? The latter is currently not supported and not recommended.

    In order to check faults on the ICSS/PRU memories, we can provide you with the instruction on how to do this from the R5? Is this what you are looking for?

  • Hi Kevin,

    Now, since customer will apply the additional PRU based applications, they also need to prove how SDL or some essential parts of SDL (e.g. ECC) could be enabled in PRU, otherwise the certification body may see a risk.

    There are a couple of ECC aggregators in the SoC that can be used to enable ECC for the PRU memories. The aggregator names are listed below:

    SDL_PRU_ICSSG0_ICSS_G_16FF_CORE_BORG_ECC_AGGR
    SDL_PRU_ICSSG1_ICSS_G_16FF_CORE_BORG_ECC_AGGR

    The SDL APIs can be used to enable ECC for the PRU memories. The SDL_ECC_init() API can be called with one of the above aggregators and the corresponding RAM ID list.

    You can refer to the following example in the MCU+ SDK:

    examples/sdl/ecc_sec

    Please note that while ECC can be enabled using this API, we have not yet tested the software-based error injection flow for the PRU memories using the SDL APIs.

    Regards,
    Nihar Potturu