This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器:与 HALCoGen 的 MISRA-C 兼容性

Guru**** 2325560 points
Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/589595/compiler-misra-c-compiance-with-halcogen

主题中讨论的其他器件:HALCOGEN

工具/软件:TI C/C++编译器

我们的项目需要符合 MISRA-C 的代码生成

我们使用的是的最新版本

-      HalCoGen (V4.06.01)

-      SafeTI 库(2.3.1)

      - CCS 版本:7.1.0.00016

-      编译器 TI v17.3.0.STS

特别是、

安全库\包含\ sl_types.h、

如果在编译期间启用了规则19、则会生成几乎1000个 MISRA-C 合规性错误。  还有许多其他 TI 源代码文件会生成警告。

我们希望所有的 HalCoGen 源代码和安全库都符合 MISr-C 标准。

如果我们启用所有 MISRA-C 规则,则会生成数千条警告。  太多、我们无法管理。

这对我们来说是一个严重的问题、因为我们需要证明 MISRA-C 合规性。

我们如何解决不符合所提供源代码的问题?

MISr-C 检查是否可以应用于特定源代码文件? 我们的源代码文件是否有助于加快编译和管理警告数量?

此致

Rob

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Rob、您好!

    MISRA-C 标准提供了许多可选规则、可由实现者自行决定是否包含这些规则。 由于我没有密切参与代码开发、因此我对所做的所有决策或解释都不了解。 当然、代码中有一些注释、用于识别在完全了解潜在风险(即潜在无限 while 循环等)的情况下发生异常的区域。 作为协议声明、提供的代码与 MISRA-C 兼容、但与 TI 开发团队选择排除的规则相比、它可能不符合您可能选择使用的特定可选规则。

    关于将 MISRA-A 规则应用于特定文件、我不知道 CCS 的全部功能、建议您将该问题单独发布为 CCS 支持问题。 但是、我确实认为可以为每个文件创建一个包含显式构建选项的 make 文件、您可能只需要 MISRA-C 检查所需的文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rob:

    注:

    是针对安全关键型系统( SIL 或 ASIL )的应用。 我提出的原因是、您用于这些类型的静态分析的工具必须通过安全应用认证。 我们的安全库 HALCoGen 使用 LDRA 工具进行所有静态分析(MISRA 及其指标)。 我们不建议客户在安全关键型应用中使用 CCS 进行静态分析。

    谈到您的问题、Hercules 软件团队遵循我们所有安全软件产品的 MISRA 政策文档。 如果需要、我可以与您分享、其中包含哪些规则被检查以及哪些规则被放弃和证明是合理的详细信息。 我们的软件组件包括编译器的头文件、因此这些头文件中的错误会在使用它们的位置列出、通常是 std_types 类型的头文件。 这可以被全局采用、忽略或调整。

    HALCoGen 和安全诊断库都附带了称为合规性支持包( CSP)的内容,其伪像

    CSP 已充电、因为它包含用于运行测试的 LDRA 工具。 但是有一个演示版本、您可以下载并查看以下伪影的示例。

    CSP 伪影
    标题 说明
    要求和设计
    软件安全要求规范 本文档包含 HALCoGen 的软件安全要求规范。
    软件架构文档 本文档介绍了 HALCoGen 的软件架构。
    设计文档 本文档介绍了 HALCoGen 的软件设计。
    TI FEE 设计文档 本文档介绍了 HALCoGen TI FEE 驱动器的软件设计。
    测试
    详细静态分析报告 此报告提供软件质量指标和 MISRA-C 2004违规汇总。
    详细动态分析报告 此报告提供结构覆盖率指标(Statement、Branch、MC/DC 覆盖率指标)的摘要。
    测试结果 本报告提供了有关正式测试结果的详细信息。
    可追溯性矩阵 本报告提供了软件开发不同阶段之间的可追溯性矩阵。
    手册
    Hercules 软件安全手册 本文档是 HALCoGe 的软件安全手册
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    是的、此应用适用于 SIL。

    感谢您提供任何其他信息。

    我们最终将投资 CSP、但我希望首先控制大部分 MISRA 规则。

    仍在为生成的警告数量(大于10、000、比近30、000)和一些警告而挣扎、我被骗了如何纠正。

    此致

    Rob