首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >避免MISRA警告,从嵌入式编码器生成自动化代码

避免MISRA警告,从嵌入式编码器生成自动化代码
EN

Stack Overflow用户
提问于 2014-02-18 15:40:47
回答 1查看 904关注 0票数 0

我想知道在使用嵌入式代码从Simulink模型生成代码后,是否有可能避免MISRA警告10.1、13.2和12.6 (或者是否可以使用其他方法生成代码?)。

例如(生成的代码)

代码语言:javascript
运行
复制
if (A)
{;}

在if(A)语句中存在MISRA冲突。

是否有可能使用嵌入式编码器生成代码,如

代码语言:javascript
运行
复制
if (A !=0)
{;}
EN

回答 1

Stack Overflow用户

发布于 2016-02-08 02:20:42

我很难在不使用布尔类型的情况下生成这种类型的构造if (A),在这种情况下,不会违反规则13.2。

如果没有Boolean类型,我会得到如下结果:

如果(A > 1) { ...}

我使用的是R2015b版本。如果你能分享一个生成这类代码的示例模型,那就更好了。

此外,所有列出的规则(10.1、12.6、13.2)都是推荐的,根据MISRA AC AGC标准( MISRA-C: 2004在自动代码生成上下文中的应用指南),这些规则不是强制性的。

因此,对这些规则的遵守取决于应用程序的关键程度。

即使在最新的MISRA 2012标准中,这些规则已经被重新分类,它们仍然被归类为生成的代码上下文中的建议。

对于生成代码的MISRA遵从性的一般信息,这是一个很好的参考:

http://www.mathworks.com/solutions/automotive/standards/misra-c.html

http://www.mathworks.com/solutions/aerospace-defense/standards/misra-c.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21847124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档