Aurix 2G SMU Software Monitor Alarms across multiple CPU Cores and Safety WDT

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

cross mob
User9635
Level 4
Level 4
50 replies posted 50 questions asked 25 replies posted
Hello Support,
In Aurix 2G, there is Software Monitor Alarm possible. There are multiple Software Monitor Alarms which are assigned to different Cores.
For each Alarm, the ISR need to clear the Alarm Status Register [AG10 Register] for the respective Alarm Channel so that successive Software Alarm for that channel occurs and checked in the software.
Because these Alarm ISRs are running on different cores, so clearing the AG10 register is not possible because Safety Watchdog is only accessible by a single core due to ACCEN10 protection implementation in software.
Is there any other way to clear the AG10 register flags from different cores without bypassing the Safety Watchdog ACCEN10 feature?
We want to use Software Monitor SMU Alarms with periodic triggers by assigning to individual cores as well as across different Task Period.
Please let me know how to clear the AG10 Flag without SE Protection?
4339.attach
Best Regards
0 Likes
7 Replies
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
We want to use Software Monitor SMU Alarms with periodic triggers by assigning to individual cores as well as across different Task Period.

Using an SMU alarm to indicate normal functionality strikes me as a bad idea. You'll have to keep switching the SMU from FAULT state back to RUN.

What is it you're trying to accomplish with periodic SMU alarms? Why not just use a set of GTM TOMs that interrupt the CPUs?
0 Likes
User9635
Level 4
Level 4
50 replies posted 50 questions asked 25 replies posted
Hello Support,
If Software Monitor Alarm changes the SMU to Fault State, then the FCNT field should also reach maximum.
I see that FCNT=0 always while ACNT field increases smoothly to maximum.
Can you please confirm that SMU FCNT will not increase due to SMU Software Monitor Alarm even though SMU goes to Fault State?
Confused.
I thought Software Monitor Alarm is for Keep Alive feature of Software Control Flow across multiple CPU Cores.
Please provide some more info regarding this FCNT field mismatch.
4341.attach
Register Dump of SMU
4342.attach
Best Regards
0 Likes
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
Please share your configuration for SMU_AG10CF0, SMU_AG10CF1, SMU_AG10CF2, and SMU_AEX.

I thought Software Monitor Alarm is for Keep Alive feature of Software Control Flow across multiple CPU Cores.


I do not recommend using alarms as part of normal software execution. Software alarms have the same properties as hardware alarms. Use the SMU for its intended purpose - to manage AURIX behavior under the presence of faults.
0 Likes
User9635
Level 4
Level 4
50 replies posted 50 questions asked 25 replies posted
Hello Support,
Attached are the requested register values when the software was paused upon entry to Software Monitor Alarm ISR.
Watch FCNT field is zero while ACNT field has increased.
So, the question is does the SMU goes to FAULT State during SMU Software Monitor Alarm?
4344.attach
4345.attach
4346.attach
4347.attach
Best Regards
0 Likes
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
Oops - per 15.3.1.7 SMU_core State Machine, the RUN->FAULT transition only occurs if the FSP is asserted for an alarm. So ACNT increasing but FCNT remaining at 0 is expected in this case, if AG10FSP.FE2=0.
0 Likes
User9635
Level 4
Level 4
50 replies posted 50 questions asked 25 replies posted
Hello Support,
So, can you please tell me what was the design intention [Assumption of Use] of Software Monitor Alarm feature within the Aurix Family?
That will help me to better understand.
Best Regards
0 Likes
NeMa_4793301
Level 6
Level 6
10 likes received 10 solutions authored 5 solutions authored
The intention is to signal an application-specific software fault. Perhaps a parameter outside of the allowed range, an invalid state in a state machine, a hardware input out of range, etc.
0 Likes