小库里 发表于 2025-10-25 22:51

使用 STM32CubeIDE 时缺失函数

我使用 STM32L4xx 和 FreeRTOS CMSIS v2 中使用 STM32CubeIDE 时缺失的函数。我在 STM32CubeIDE 中的 FreeRTOS CMSIS v2 中使用这两个函数:
osKernelSuspend()         osKernelResume()
我是想用MCU的停止模式。
编译项目时出现错误。
问题如下:这两个函数仅在 cmsis_os2.h 中定义,但在 cmsis_os2.c 中缺失。
这些函数在文档中有详细描述:
https://www.keil.com/pack/doc/CMSIS/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f
但它们在 FreeRTOS 文件夹中缺失。



豌豆爹 发表于 2025-10-27 15:32

手动实现或改用 vTaskSuspendAll()/xTaskResumeAll()

茉璃夏 发表于 2025-10-27 18:33

更新STM32CubeIDE或使用Keil官方CMSIS-RTOS v2 实现

甜心puppy 发表于 2025-10-27 20:33

检查FreeRTOSConfig.h是否正确配置。

没有太阳的晴天 发表于 2025-10-27 22:34

更新STM32CubeIDE到最新版本。

kmnqhaha 发表于 2025-10-27 23:44

用于恢复被暂停的内核调度,需与osKernelSuspend()配合,确保从低功耗模式唤醒后正确重启调度。
页: [1]
查看完整版本: 使用 STM32CubeIDE 时缺失函数