cancel
Showing results for 
Search instead for 
Did you mean: 

Functions missing in FreeRTOS CMSIS v2 using STM32CubeIDE

flavio23
Associate III

I'm trying to use these two functions in STM32CubeIDE within FreeRTOS CMSIS v2:

  • osKernelSuspend()
  • osKernelResume()

My goal is to put the microcontroller in STOP MODE.

I get an error when compiling the project.

The problem seems to be the following: the two functions are only defined in cmsis_os2.h, but they are missing in cmsis_os2.c.

Such functions are well described in the documentation:

https://www.keil.com/pack/doc/CMSIS/RTOS2/html/group__CMSIS__RTOS__KernelCtrl.html#gae26683e1606ec633354a2876c68f0c1f

But they are missing in the FreeRTOS folder.

I'm using STM32L4xx microcontroller

Any suggestion to fix the problem?

Thanks in advance!

Flavio

1 ACCEPTED SOLUTION

Accepted Solutions

Hello @flavio23​ ,

Unfortunately, osKernelSuspend and osKernelResume are not supported.

The limitations of CMSIS-FREERTOS are described in the following reference:

https://arm-software.github.io/CMSIS-FreeRTOS/General/html/tech_data.html

BeST Regards,

Walid

View solution in original post

7 REPLIES 7
Imen.D
ST Employee

Hello @flavio23​ ,

I added the right topic "STM32CubeIDE" to your question in order to increase its chance to be reviewed by our STM32CubeIDE experts @Markus GIRDLAND​ .

Which CubeIDE version are you using ?

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Markus GIRDLAND
ST Employee

Hello flavio!

I'm taking a look at this and will get back to you as soon as I can.

flavio23
Associate III

Thank you so much,

I'm using the STM32CubeIDE version 1.6.0.

Flavio

Hello @flavio23​ 

In the CubeL4 v1.17.0 both APIs are implemented, but could you check that the flag configUSE_OS2_THREAD_SUSPEND_RESUME is defined in FreeRTOSConfig.h file ?

Best Regards,

walid

BParh.1
Senior III

Probably need to check on STM32CubeMX tool under Middleware->FreeRTOS. Make sure the suspend and resume are enabled

Hello @flavio23​ ,

Unfortunately, osKernelSuspend and osKernelResume are not supported.

The limitations of CMSIS-FREERTOS are described in the following reference:

https://arm-software.github.io/CMSIS-FreeRTOS/General/html/tech_data.html

BeST Regards,

Walid

Your link yields a 404 error.

The following worked for me: https://arm-software.github.io/CMSIS-FreeRTOS/latest/tech_data.html