Hi. I am working on S32K3X8EVB-Q289 devkit and trying to figure out the right way to determine which cores are configured to be S32K358's lockstep core?
I dumped DCM_GPR.DCMROF19 register and got: 0x60000000 which indicates:
- - DCM DONE
- - LOCKSTEP EN on M7_Core0 and M7_Core1
To verify, I then dumped MSCM's registers
- - Core 0, Cfg2 @ 0x40260034
- Got back 0x09080000 which indicates DTCM and ITCM sizes correspond to lockstep.
- Core 1, Cfg2 @ 0x4026054
- Got back 0x08070000 which can be ignored since DCMROF19 indicates Lockstep is enabled.
- Core 2, Cfg2 @ 0x4026074
- Got back 0x09080000 which indicates DTCM and ITCM sizes correspond to lockstep.
I expected Core 2, Cfg2 register to contain 0x08070000 but instead I see a value that indicates lockstep configuration. So, does this mean Core0 and Core2 are the pairs that make up the lockstep core an if so, this does not line up with what DCM_GPR.DCMROF19 contents as described in the S32K3XX Ref Manual.
I would be grateful if someone could either point out the flaw in my understanding as per the reference manual or provide the foolproof way of detecting which cores are in lockstep configuration.
Thanks in advance.