为了协助评估电子控制单元所用软件代码的质量,汽车工业软件可靠性协会 (misra) 引入指南,为使用 c 代码编写汽车和飞机上运行的软件提供指导。1998 年,misra ltd. 发布了 misra c (misra c:1998),提供了一个基于标准化、结构化语言、符合 sil 2 及更高安全完整性等级 (sil) 的受限子集。
到目前为止,该标准发布了数次更新,包括 misra c:2004、自动代码生成背景下的 misra ac agc 标准、针对 c 的 misra c :2008 以及 misra c:2012 标准。
simulink®、stateflow® 和 embedded coder® 广泛用于 misra c® 合规的嵌入式软件。polyspace® 代码验证产品用于分析手写代码或生成的代码是否符合 misra c 标准。polyspace bug finder™ 支持 misra-c:2004、misra-c :2008、misra c:2012、misra ac agc 等编码规范检查。
您可以对模型或子系统进行配置,以便代码生成器使用 code generation advisor 生成尽可能符合 misra c:2012 的代码。生成的代码可以进一步使用 polyspace 检查 misra 合规性,且结果可以追溯到模型。您可以在模型级别进行注释,为存在的任何偏差提供合理解释。
进一步了解 misra 合规代码生成:
为了协助用户进一步实现 misra c 合规,mathworks 提供一个可行性分析包,并就使用 embedded coder 基于 simulink 和 stateflow 模型生成 misra c 合规代码提供建议。
misra c 分析包提供:
- 包含规则摘要和详细示例的文档
- simulink 模型
进一步了解如何使用 polyspace 产品验证 misra 合规性:
-
-
-
- 视频
-