STM32
直播中

幽默

9年用户 822经验值
擅长:362163
私信 关注
[问答]

在win10环境下运行一下ST的F7系列的例程,Free RTOS编译时总会报错的原因?

今天在win10环境下运行一下ST的F7系列的例程,发现有些项目比如Free RTOS编译时总会报出:1.../../../../../../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h(94): error:  #5: cannot open source input file "portmacro.h": No such file or directory
2.../../../../../../Middlewares/Third_Party/FreeRTOS/Source/include/portable.h(87): error:  #5: cannot open source input file "deprecated_definitions.h": No such file or directory
这样的错误,但实际上这些文件所在的路径都是已经包含的,而且这些在win7 MDK V5.15下编译都是OK的。请问有人碰到过这些现象吗。(Keil官网说明5.24a是支持win10 pro的)

回帖(1)

王艳

2024-4-30 17:22:34
在 Win10 环境下运行 ST 的 F7 系列例程时,如果 FreeRTOS 编译时出现错误,可能是由于以下几个原因:

1. 路径问题:错误信息表明编译器无法找到 "portmacro.h" 和 "deprecated_definitions.h" 文件。这可能是因为文件路径不正确。请确保这些文件位于正确的目录中,并且项目配置中的包含路径设置正确。

2. 文件缺失:如果上述文件确实不存在,可能是因为 FreeRTOS 库文件不完整或损坏。请尝试重新下载或安装 FreeRTOS 库。

3. 项目配置问题:请检查项目配置,确保所有必要的库文件和头文件都已正确添加到项目中。

4. 版本兼容性问题:请确保你使用的 FreeRTOS 版本与 STM32F7 系列兼容。如果不兼容,请尝试使用与 STM32F7 系列兼容的 FreeRTOS 版本。

为了解决这个问题,你可以尝试以下步骤:

1. 检查 "portmacro.h" 和 "deprecated_definitions.h" 文件是否存在于 Middlewares/Third_Party/FreeRTOS/Source/include 目录下。如果不存在,请重新下载或安装 FreeRTOS 库。

2. 确保项目配置中的包含路径设置正确。在 Keil uVision 中,可以在 "Project" 菜单中选择 "Options for Target",然后在 "C/C++" 选项卡中检查 "Include paths" 设置。

3. 如果问题仍然存在,请尝试创建一个新的 STM32F7 项目,并使用官方提供的 FreeRTOS 配置文件。这可以确保所有设置都是正确的。

4. 如果你仍然遇到问题,可以考虑在 STM32CubeMX 中配置 FreeRTOS,然后生成代码。这样可以确保所有配置都是正确的,并且与 STM32F7 系列兼容。

希望这些建议能帮助你解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助你。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分