前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Polyspace不认识Interrupt,肿么办?

Polyspace不认识Interrupt,肿么办?

作者头像
用户1605515
发布2018-04-10 14:26:03
7380
发布2018-04-10 14:26:03
举报
文章被收录于专栏:嵌入式程序猿

曾经在公众号中介绍过优秀的软件验证工具Polyspace,有好多猿友在交流群里咨询这个软件的问题,今天我们就典型的如何处理中断来给大家介绍下。

在嵌入式软件工程中,一定会有中断处理程序,但是Polyspace不认识interrupt,那么问题来了,肿么办?当然是必须另辟蹊径使Polyspace认识interrupt,重新写一个函数来调用中断函数,并在polyspace的配置界面填入这个函数的入口,在多入口配置处填入我们重新包装的中断函数名polys_it,函数名可以随便起。这样中断也就作为一个入口被polyspace验证。假设我们完成的函数名为polys_it如下图所示:

如何修改代码?

代码语言:javascript
复制
#ifdef POLYSPACE
externvolatileint rnd;
#endif 
void polys_it(void)
{
#ifdef POLYSPACE
 while(rnd)
    {
#else 
 while(1)
   { 
#endif
    ISR();
   }
}
staticvoid interrupt ISR(void) 
{   
……
}

同时需要在Polyspace的宏配置界面填入POLYSPACE

按照以上修改完代码后,保存编译,生成报告。怎么样就是这么简单,就可以处理中断函数被Polyspace识别。有兴趣的可以动手试一试。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档