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.

TMS570LC4357: Flash, Parity Override Register, how to set a port to idle State

Part Number: TMS570LC4357

Hello,

I noticed it is not possible to set FPAR_OVR register field PAR_OVR_SEL to 1 (all other values can be set) when PAR_OVR_KEY field is set to 5 (it leads to a reset of the register to nominal value :0x00005400).

I wonder if it is required to set one of the flash port to idle state but I did not found anything in the TRM.

Thanks,

Regards

  • Hello,

    You are right, the FPAR_OVR_KEY and the PAR_OVR_SEL is cleared automatically after performing the test.

    1) write PAR_OVR_SEL (FPAR_OVR[17:16]) appropriately -- 0 for idle state parity checker
    2) Write DIAG_BUF_SEL=0 for PORTA, or DIAG_BUF_SEL=4 for PORTB (FDIACTRL[10:8])
    3) Write to PAR_OVR_KEY (FPAR_OVR[11:9]) to enable the flip
    4) After performing this for one access, the FPAR_OVR_KEY and the PAR_OVR_SEL is cleared automatically.
  • /* Idle state parity checker received inverted parity polarity. */
    flashWREG->FPAR_OVR = 0x00010000U;

    /* Enable diagnostic mode and select diag mode 7 */
    /* DIAG_BUF_SEL [10:8] [10:8] = 0 : Port A selected to flip data/ECC */
    /* DIAG_BUF_SEL = 4: Port B selected to flip data/ECC */
    flashWREG->FDIAGCTRL = 0x00150007U;

    /* enables the parity checking on the access */
    flashWREG->FPAR_OVR |= 0x00005A00U;

    /* disable diagnostic mode */
    flashWREG->FDIAGCTRL = 0x000A0007U;

    The Parity Error in idle state for port A is set (MCMD_PAR_ERR in FEDAC_PASTATUS register, and L2FMC - parity error is set as well (channel 17 of ESM group 2)
  • I followed these steps yet when I write in the FPAR_OVR register to enable the parity checking on the access, the register is cleared automatically as expected yet MCMD_PAR_ERR in FEDAC_PASTATUS register is not set .
  • Hello,

    I repeated the test several times, and got the same result:

  • Sorry for replying so late, yes it does work I just to adjust the code in order that very little instruction occurs between the test trig and the parity overide.

    Thanks,
    Regards