行业标准

MISRA C

为了协助评估电子控制单元所用软件代码的质量,汽车工业软件可靠性协会 (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 标准。

有关 MISRA C 的详细信息,请访问 https://www.misra.org.uk/

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 模型

用于开发 MISRA C 应用的主要产品: