Tool/software:
I am trying to get a PWM-based-interrupt and a background task to run together with your sdl_ecc_r5_atcm0 example. My current theory is the sdl_ecc_r5_atcm0 example leaves the processor in a constant ECC-error condition, because the fiqExptnHandler is called every ~400ns, which is starving-out my application ISR and background task.
There are 2 bit-errors caused in the this example, and I if-def-ed out the second single-bit error in ECC_sdlFuncTest. After the double-bit error test has passed, I tried the following calls:
SDL_ecc_aggrWriteEccRamCtrlReg(eccAggrRegs, ramId, 0U);
SDL_ecc_aggrWriteEccRamErrCtrlReg(eccAggrRegs, ramId, 0U, 0U);
SDL_ecc_aggrWriteEccRamErrCtrlReg(eccAggrRegs, ramId, 1U, 0U);
HW_WR_REG32(0x53010020, 0xFF80); //ECC_AGG_TOP_ERR_STAT1
Note eccAggrRegs and ramId were both set in the example code above these calls.
With the intent of clearing the CTRL, CTRL1, CTRL2, and STAT1 registers in the ECC_AGGR register section. These did not clear any of these registers (all were 1D0 and the CTRL was D0).
What is the proper way to clear the invoked ECC error?
Thanks,
Jim