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.

[参考译文] 编译器/TM4C123GH6PM:PC-Lint、Misra 和 ROM API

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/590298/compiler-tm4c123gh6pm-pc-lint-misra-and-rom-api

器件型号:TM4C123GH6PM

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

您好!
客户希望使用 Misra check 和 PC-Lint 来验证其代码。 已知 TIVAware 不符合 MISRA 标准。 他必须在 CCS 中设置哪些例外情况和警告?

此外、他还想使用 ROM API。 这样可以减少异常。 如果他使用 ROM API 库、他必须在项目中至少实现哪个源文件? 他不想包含所有文件、因为他与 SVN 合作、并且不想始终检出所有文件。

此致、Holger

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

    异常数量太多、无法列出。 您可以打开项目选项中的 Misra 2004检查并查看生成的所有警告。 规则可以单独关闭,但随后会释放合规性检查的值。

    您可以打开 MISRA 检查、仅选择您自己的源文件、 然后选择"构建所选文件"、但由于头文件的原因、您仍可能会收到太多警告、无法使用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最小源文件为{partnumber}_startup_ccs.c 文件和一个包含 main()的源文件。 要使用 ROM API 库、它们应包含"driverlib/rom.h"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="HS WG-FAE ]TIVAware 已知不符合 MISRA 标准。 [/报价]

    您好 Bob、

    我"单击"了 FAE 的帖子、而不是您的帖子、以便我可以"捕获"并展示他的报价。

    他断言:Misra 合规性-您的帖子(似乎)与此相矛盾。    (并且永远不会/永远不会做海报的"合理"(甚至试图为其 观点/信仰辩护)-令人厌恶!)   "已知"可避免任何来源归属/识别-这使得它远远不能令人信服!

     与 TivaWare 一起使用时、您是否可以解决与 Misra 合规性/不合规性相关的明显"冲突"?   (或-通过 StellarisWare)

    请注意、我们特别喜欢您的"注意事项"-明确指出-(任何)限制/减少"例外和警告"-(可能)违反 Misra 的意图和/或有效性。  

    Bob -您是否知道(有) Misra 上的此类限制/稀释是否"正式"允许?   如果是、那么"多少"就是"太多?"   (如果这不在您的掌握范围内、我将让员工进行检查-不过、您似乎很熟悉。)   Bob、谢谢您、为我们提供了如此周到和有针对性的指导!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 CB1、
    原始海报是正确的。 TivaWare 软件与 MISRA 2004不兼容。 默认情况下、CCS 中不启用 MISRA 检查。 如上所示、您可以启用所有规则或任何子集。 当您在 CCS 中展开规则选择时、您将看到每个规则都列为[必需]或[咨询]。 您可以使用对话框右侧的按钮启用/禁用所有[必需]或[咨询]规则。 在选择"Show Build Settings...(显示构建设置...)"时、您可以通过右键单击单个文件而不是项目来实际设置适用于每个文件的规则。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Bob、

    谢谢-非常及时、详细和感激的回应。

    正如您可能已经指出的那样-公司/我是一个(有点)"词和意思"迷。   (医疗设备和国防设计/销售-这是必需的)

    因此、我是否可以询问-一旦在 CCS 中启用了 MISRA 检查"is"、它(然后)是否符合"MISRA 兼容性"标准?  

    我认识到、此类"监管和/或签发机构"(通常)"难以理解"的规则/方法-是否曾回答/披露过此"合规问题-启用 Misra 时-?

    再次感谢您(许多)回答的快速和精确度...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    精确地说、如果启用了 MISRA 2004检查、并且启用了所有"必需"规则、则在不生成任何错误或警告(MISRA 违规作为警告)的条件下编译的源文件将符合 MISRA 2004标准。 但是,MISRA 2004不是最新版本。 现在有一个 MISRA 2016。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供的详细信息以及(令人愉快的)关于已施加(新)监管障碍的新闻。

    我是否可以注意到(完全)您的同行供应商(或其客户)是否正在谈论"2004年或更新的2016年"版本?

    作为一项一般结论、即使"不"寻求合规性、"通过"此类检查的能力也会提高对创建代码的信心...