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.

TMS570LS3137: Lock step core configuration

Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN

Hi Team,

Lock step core can be enabled by configuring the CCMKEYR - MKEY value to 0x00 and PSCON register MKEY is updated to 0x00 for error reporting.
But, along with this, we could see that in 9.3.1 paragraph of TMS570LS3137 Technical reference manual:

"
Not all internal registers of the Cortex R4F CPU have fixed values upon reset. To avoid an erroneous
CCMR4F compare error, the application software needs to ensure that the CPU registers of both CPUs
are initialized with the same values before the registers are used, including function calls where the
register values are pushed onto the stack."

Can you please support the following:
1. Do we have access to lock step core?
2. If so, any special conditions/care to be taken?
3. Do we have an application note mentioning the details on this?

Regards,
M.Sreenivasan.

  • Hello M.Sreenivasan,

    sreenivasan m said:
    1. Do we have access to lock step core?

    From a debug perspective, the lockstep cores appear as a single core. The core designated as the diagnostic core, is not accessible by SW or debug. The only indication of a synchronization error would be the CCMR4 module.

    sreenivasan m said:
    2. If so, any special conditions/care to be taken?

    See note above.

    sreenivasan m said:
    3. Do we have an application note mentioning the details on this?

    Device startup considerations are discussed in SPNA106

    Also worth noting, the startup code provided by Halcogen fulfills all the requirements of core synchronization so use of Halcogen generated code as a reference will also serve as a guide to insure compliance to the necessary procedures.

  • Thanks Chuck.
    Can you please tell us how to test whether lock step core is enabled or not?

    Regards,
    M.Sreenivasan.
  • Sreenivasan,

    Lockstep cores cannot be disabled but they must be synchronized at boot time, otherwise, a core compare error will be triggered.
  • Hi Chuck,

    If we want to simulate the lock step core error scenario, is there any way to do it?

    Regards,
    M.Sreenivasan.
  • The CCM has self-test mode will will simulate a lockstep error which is how most customers are performing a test of error path or error response mechanism.

    If you wanted to create a lockstep error, you could enable the CCM at boot time without performing the synchronization. However, this will not be 100% because the content of the two cores is not guaranteed so it is possible that they could reset to the same content ;but, considering there are 15 registers each with 32 bits the likely hood of the cores being randomly synchronized is very, very remote.

    The key for this approach latter approach where you skip the synchronization is how you react to it. Most likely, since it is boot time, the nERROR monitor external to the device would not be in an active state (depends on you implementation and how you monitor the nERROR signal) so it will only result in a Group 2 channel 2 ESM error which generates an NMI where you would have to be able to know the context of the injected error so you could differentiate between the diagnostic check and a real event. If it is the injected fault you would check to insure the correct ESM flag is set and the nERROR pin is asserted. Once it is confirmed that the correct action has occurred, clear the ESM flag and reset the nERROR pin. Once the error condition is cleared, disable the CCM, synchronize the cores then re-enable the CCM and continue with boot up.
  • Thanks Chuck.
    We tried to call ccmSelfCheck and wanted to check if CCMSR is updated or not which is not happening. Also, we tried to manually update CCMKEYR register for error injection, still its not getting updated.
    As we are using eval boards, will these work on these boards?

    Regards,
    M.Sreenivasan.
  • Hello Chuck,

    Can you please respond to the above comment?

    Regards,
    M.Sreenivasan.