STM32Cube:FreeRTOS 10.0.1 和 CMSIS v2 生成警告

STM32Cube: FreeRTOS 10.0.1 and CMSIS v2 generate warnings

我正在使用 STM32Cube 通过 FreeRTOS 10.0.1 和 CMSISv2 API 生成一个 IAR EW 8.2 项目。当我清理项目并再次构建时,我收到以下警告

Warning[Pe177]: variable "hTask" was declared but never referenced

Warning[Pe177]: variable "hTimer" was declared but never referenced

Warning[Pe177]: variable "hEventGroup" was declared but never referenced

Warning[Pe177]: variable "hSemaphore" was declared but never referenced

Warning[Pe177]: variable "hQueue" was declared but never referenced

我知道这些警告不应该影响我的代码,但如果这些警告始终存在或者它们是否取决于我的设置,我会很感兴趣。

这些是 IAR 编译器生成的警告。使用这些变量后,它们就会消失。如果不使用它们。 . .摆脱它们,警告也会消失 ;-) 死代码永远不是一件好事!具体来说,您应该真正考虑将警告更像错误对待,因为它会强制代码库更清晰。

如果您真的想要抑制警告,您可以在 IAR 中屏蔽个别警告: 1. Select 项目-->选项-->编译器选项卡 2. Select 抑制这些诊断并指定您想要的警告 3. 单击确定。