如何快速MISRA合规的自动生成的代码

代码生成极大地简化了MISRA合规流程。编码标准的主要目标(如MISRA)可读性,可维护性和可移植性,除了确保安全性和可靠性。因为模型是开发过程的核心和代码可以从模型中生成以一致的方式对不同的平台,它简化了可移植性和可维护性。

因此,有一个小的子集规则上下文中的代码生成,如MISRA交流自动增益控制或部分新MISRA - C: 2012编码规则。MISRA兼容为了生成代码,您需要确保特定建模模式不是违反并适当地配置代码生成选项。

你可以检查生成的信息MISRA兼容的代码与嵌入式编码器®。同样,你可以学习使用dSPACE®TargetLink

但在大多数现实世界应用程序中,你最终会与某些违规,你需要解决偏差的过程,由MISRA推荐。其中一些可能是一个设计决策的结果。

您可以运行分析生成的代码手动或作为构建系统的一部分。然后您可以解决任何违反将评论添加到代码或与你的结果分别保存。与Polyspace工具可以执行相同的任务,但如果有更有效的方式吗?工程有多少时间是浪费了违反100年重复的说如果你有重新生成代码?

与基于模型的设计工具集成的好处

这样一个集成的关键好处是使这个偏差过程高效。通过添加模型级别的理由,你可以避免返工每次生成代码,更新后或一个不同的目标平台。你可以继续保持模型为中心的设计和自动传播到Polyspace理由®分析;这是由于与自动集成嵌入式编码器和TargetLink等程序员。

左移位操作MISRA违反但高效的代码是一种设计选择。此外,它没有副作用,被证明是安全的。它可以追溯到获得块注释。
左移位操作MISRA违反但高效的代码是一种设计选择。此外,它没有副作用,被证明是安全的。它可以追溯到获得块注释。

在上面的示例中,这是一个设计的选择来生成代码,使用逐位移位操作来代替乘法获得更高的效率。下面,你可以看到嵌入式编码器提供的选项来启用或禁用这些设置。嵌入式编码进一步提供了代码生成顾问指导MISRA流程效率或遵从性。

代码生成选项来配置转移操作的使用上面讨论的示例。
代码生成选项来配置转移操作的使用上面讨论的示例。

此外,Polyspace自动配置的子集规则适用的上下文中的代码生成。例如,对于MISRA - C: 2012年,某些规则重新分类生成代码,和Polyspace MISRA检查进口这类信息时发射的代码生成环境。

示例的设置进口从代码生成环境。
示例的设置进口从代码生成环境。

事实上,你可以自动化执行Polyspace后处理一步代码生成来评估代码组件后MISRA兼容之前住进你的源代码管理系统。例如,您可以选择单一机组子集的规则,可以在本地进行分析和解决。追溯回模型可以帮助你解决这些违反直接在模型。最后但并非最不重要,你可以生成详细MISRA报告合规记录水平。

关于MISRA合规使用Polyspace工具的更多信息,请参考下面的链接: