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.

[参考译文] 编译器:错误分配 Misra 12.6违规

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/688429/compiler-misra-12-6-violation-incorrectly-assigned

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

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

C2000编译器18.1.0.LTS 和 C2000Ware_1_00_04_00

对 F2837xD 控制卡的 CPU1使用闪烁示例

在 F2837xD_SYSCTRL.c 中

如果在此 SYSCTRL 文件中仅为第12.6节启用了 MISRA 检查、则会得到一些违反12.6的行。  有些实际上违反了12.6、有些我认为错误地解释为违反了12.6。

具体而言、

//第630行
ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = DIFFEL;
//第851行
WdRegs.WDCR.ALL = WDCR;
//第882行
ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCYSCLKDIVIV = DIVSEL; 

#1483-D (MISRA-C:2004 12.6/A)有效布尔表达式不应用于对无效布尔表达式的运算中

这里似乎没有任何布尔值。

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

    感谢您报告问题并发送相关详细信息。  我可以重现这些诊断、其他人也喜欢它们。  有关 此问题、已在 SDOWP 系统中提交条目 CodeGen-4617。  我向其中添加了您的测试用例。  欢迎您在我的签名中使用下面的 SDOWP 链接进行访问。

    谢谢、此致、

    乔治