Polyspace errors cause from "@interrupt"

11 次查看(过去 30 天)
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?

回答(2 个)

Anirban
Anirban 2025-4-21
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 2025-4-22
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;
}

标签

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by