Polyspace errors cause from "@interrupt"

조회 수: 5 (최근 30일)
MS
MS 2025년 4월 14일
답변: Christian Bard 2025년 4월 22일
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