Polyspace errors cause from "@interrupt"

6 views (last 30 days)
MS
MS on 14 Apr 2025
Answered: Christian Bard on 22 Apr 2025
Hello Matlab Community
I use Polyspace R2022b for verify code for s12z Cosmic compiler.
In Cosmic compiler, for use interrupt, @interrupt code is needed.
ex) @interrupt void ISR_TIMER(void);
But Polyspace is not allowed this I think.
I also tried add "@interrupt=" at macro option but couldn't solve it.
How to do sovle this problem?

Answers (2)

Anirban
Anirban on 21 Apr 2025
Setting the compiler option in Polyspace to Cosmic will get you past the error. For more information, see Cosmic Compiler.
For instance, this code will compile with the option -compiler cosmic, but fail compilation otherwise.
// Interrupt Service Routine for Timer 2 Overflow
@interrupt void ISR_TIMER2_OVF(void)
{
}
void main(void)
{
while (1)
{
// Main loop does nothing; LED toggling is handled in ISR
}
}

Christian Bard
Christian Bard on 22 Apr 2025
If you are not setting -compiler cosmic, you may use a Perl -post-preprocessing-command script like below (see doc):
#!/usr/bin/perl
#
binmode STDOUT;
while ($line = <STDIN>)
{
# comment @interrupt
$line =~ s/(\@interrupt)/\/\* $1 \*\/ /g;
print $line;
}

Tags

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!