Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

AURIX™ Forum Discussions

User18151
Level 3
Level 3
First solution authored
Hi all,

How to enable and test lockstep function ?

Kind regards,
Christine

#8042000 19979
0 Likes
2 Replies
User18237
Level 5
Level 5
First solution authored First like received
Hi Christine,

Take tc265 for example:
Precondition:
Lockstep configuration
Upon cold power-on only SSW performs Lockstep configuration as follows:
• if valid BMI has been found during start-up mode evaluation:
– Lockstep control for CPU1 is installed in LCLCON1.LSEN from BMI[9]
Step 1: Enable lockstep function. SCU.LSEN=enabled:
Step 2: inject a lockstep fault: SCU.LCLTEST.U32 = 0x02.
Note: In TC265, only core 1 has check core.
Step 3: The core1 lockstep fault injected and there is a SMU fault of group1 index0.
read related alarm immediately, SMU.AG[1].SF0=1
Step 4: Wait for 5μs.
Step 5: read out the alarm successfully. During step4, SMU State Machine (SMU.SSM) change from RUN to FAULT, SMU.AG[1] is saved to SMU.AD[1]

Best regards,
Mr. AURIX™
0 Likes
User13836
Level 5
Level 5
10 solutions authored 50 replies posted 25 sign-ins
Hello Christine,

about enabling the lockstep you can have a look at your previous forum post:

https://www.infineonforums.com/threads/10647-How-to-enable-Lockstep-logic?highlight=lockstep

About testing if lockstep is enabled: please find below some details from previous tests I did:

-------------------------------
I did some testing using a TC27x TriBoard hardware. There it works as expected. When I enabled lockstep mode for Core 0 after a power on reset the LS bit of the LCLCON0 SFR register was set. You need to ensure that it's really a power on reset? To be 100% sure the board can be disconnected from the power supply and the debug connection can be removed too.

To be able to test the lockstep status also when the application is running without a debugger I did add the code:

if(SCU_LCLCON0.B.LS==0)
{
while(1)
__nop();
}

at the beginning of the main function. If the application runs normal afterwards this shows that the LS flag was set for active lockstep mode. If it's stuck in the endless while loop the lockstep mode was not enabled.
-------------------------------

Best regards,
Ulrich Kloidt

TASKING tools support
0 Likes