Core PSPR/DSPR Protection?

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

cross mob
Not applicable
Hello Group,
I work with AURIX TC275_CA step. I write a code in Core1, so that Core1's PSPR/DSPR should be protected, which means Core0 and Core2 should have no write access to it.
DSPR --> 60000000 -- 6001E000
PSPR --> 60100000 -- 60108000

Safety Endinit is Disabled
I define the above Lower and Upper ranges in SPROT_RGNLAx/UAx registers like this:
/*! Setup DSPR Ranges for Protection */
SPROT_RGNLA0.u32 = 0x60000000;
SPROT_RGNUA0.u32 = 0x6001E000;

/*! Setup PSPR Ranges for Protection */
SPROT_RGNLA1.u32 = 0x60100000;
SPROT_RGNUA1.u32 = 0x60108000;

and give access only to Core1 by enabling only CPU1_SAFE (0x08) and CPU1_NON_SAFE(0x04) Tag Id's in RGNACCENAx registers like this
SPROT_RGNACCENA0.EN = 0x0000000C;
SPROT_RGNACCENA1.EN = 0x0000000C;

Then enable SafetyEndinit.
But now after this has been executed in Core1, then I try to make a write access to this address 0x60000000 from Core 0, still I am able to write.

Few short questions:
Am I using the write Registers to protect Core's DSPR / PSPR region?
Is there any Global Protection Enable to be done?
What should happen, if after protecting Core1 PSPR/DSPR, a Core 0/2 write access to this address happens, a trap/exception or a SMU alarm?
Thanks in Advance.
0 Likes
1 Reply
Not applicable
Hello,

I am also facing same issue.

Did you able to sovle this issue?
0 Likes