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.

Initial value of ESMSR register [ TMS570LS122x ]

Hi,

Please teach me about initial value of ESMSR register.

Now, Loading the program into the FLASH using CCS and the device startup (before the _c_int00),

flag of ESMSR is sometimes set.

This flag is "FMC - correctable ECC error: bus1 and bus2 interfaces"

or "FMC - uncorrectable address parity error on accesses to main flash".

Is correct behavior of this flag is set ?

If it is incorrect, please teach me about condition that ECC flag is set.

Best regards,

FSSer

  • Hello FSSer,

    The state of the ESMSRx is going to be dependent on what has happened prior to the reset and what type of reset your are referring to. In CCS, there is a CPU reset and there is a System Reset. If you perform a CPU reset, this is a soft reset and the content of ESMSRx will be retained from prior execution on the device. i.e., if you had loaded code on the device previously and forgot to program ECC or somehow generated an ESM error resulting in an exception, the ESMSR flags would remain set if you do not perform a System reset with the debugger even if you stop the debug session and reprogram the device. This is so that if there is an error in the real application, an nRST (warm boot or soft reset) can be performed and the error information retained for determination of how to proceed once the system is back up and running. Some error types can be critical such as continuous double bit ECC errors indicating a hard fault for permanent fault in memory.

    If there is a fresh power up or a hard reset (nPORRST), the ESMSRx registers should come up all 0's as stated in the TRM.

  • Hi Chuck,

    Thank you for your reply.

    I had loaded code on the device previously.

    Probably, I think that loaded code is main cause.

    Regards,

    FSSer