你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32H743使用Keil V6(AC6)编译FreeRTOS报错__forceinline未定义及CMSIS-RTOS2配置错误,如何解决?

[复制链接]
GHeart 提问时间:2026-5-29 14:46 / 未解决
  • 芯片:STM32H743XIH6
  • 软件:STM32CubeMX生成代码,集成 FreeRTOS + LVGL
  • 编译器:Keil MDK (尝试使用 ARM Compiler 6)

我在使用 CubeMX 生成的工程中发现:

  1. 使用 ****Keil V5 (ARM Compiler 5)** 编译可以通过,但是编译速度非常慢(每次几分钟)。**
  2. 切换到 ****Keil V6 (ARM Compiler 6)** 后,编译速度虽然快了,但报错无法通过。**

【报错信息】** 主要报错集中在 portable/RVDS/ARM_CM4F/portmacro.hcmsis_os2.c:**

  1. 关键字错误:** 提示 unknown type name '__forceinline'。**
    • 报错行:#define portFORCE_INLINE __forceinline
    • 原因推测:AC6 编译器似乎不支持 __forceinline 关键字,或者需要包含特定头文件。
  2. 函数未声明:** 提示 call to undeclared function 'ulPortRaiseBASEPRI'。**
  3. 配置宏错误:** 提示 **"Definition INCLUDE_vTaskDelayUntil must equal 1 to implement Generic Wait Functions API."

请问在 Keil V6 (AC6) 环境下:

  1. 是否需要将 FreeRTOS 的 Port 层从 RVDS 替换为 GCC 或者 ARM_CLANG 版本?
  2. 如果是,具体应该替换哪个文件夹?
  3. 关于 INCLUDE_vTaskDelayUntil 的报错,是否是因为 CMSIS-RTOS2 的依赖问题?
收藏 评论0 发布时间:2026-5-29 14:46

举报

0个回答

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版