MISRA违反规则生成的代码为嵌入式编码器

23日视图(30天)
你好,
我使用嵌入式编码器生成C源代码从仿真软件模型,选择MISRA-C合规目标,当我运行Polyspace分析,我得到很多M万博1manbetxISRA违反规则。
这是如何固定的?
的问候。

答案(3)

Anirban
Anirban 2018年10月4日
除了前面的回答,另一种可能可以,你跑Polyspace MISRA规则用于手写代码,而不是生成的代码。MISRA - C: 2012(附录E)几个规则从咨询所需的类别或可读性类别如果代码生成模型。如果你跑Polyspace所需的子集MISRA - C: 2012跳棋手写代码,你可能会得到更多的违反而生成的代码所需的子集。
运行Polyspace MISRA - C: 2012检查器生成的代码,使用Polyspace选项 使用生成的代码的需求 ( -misra3-agc-mode )。看到 文档的选项 。如果你直接从仿真软件运行Polyspace,这个选项会自动启用。万博1manbetx

Prakhar耆那教徒的
Prakhar耆那教徒的 2018年9月25日
规则MISRA - C: 2012经常被更新为新版本和各种原因可以负责违反。请查收以下违反规则的场景已为后来的版本,可能造成侵犯。
1)如果有标识符开始凸显
2)如果保留标识符或宏的名字是宣布
注:以上解决方案可能/可能不适合你的情况。
如果你只希望删除警告,你可以随时取消规则的编码规则和代码度量在配置面板中。遵循以下步骤:
1)打开配置面板中
2)点击编辑按钮见红色的截图
3)去假设规则没有21.2和取消它在红如截图所示
这是一个连接 链接 同样的。
上面也可以不删除警告其他违反规则的行为如果需要。

迈克尔·伯克
迈克尔·伯克 2019年12月2日
注:有一件事你应该看看模型配置参数。这个链接提供了一个很好的概述你应该做些什么来配置您的模型: