cancel
Showing results for 
Search instead for 
Did you mean: 

Where I can find FreeRTOS documentation?

ASPIE.5
Associate II

Hi all,

​Where I can find a complete ST FreeRTOS documentation?

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
Pavel A.
Evangelist III

As David wrote, the CMSIS layer belongs to ARM (or Keil). They likely have error in their documentation (which was generated from sources by Doxygen). So

  1. Read the source : in the CubeMX packages, in Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h
  2. Report errors to Keil.

Regards,

-- pa

View solution in original post

6 REPLIES 6
Imen.D
ST Employee

Hello,

Refer to the UM1722 User manual Developing Applications on STM32Cube with RTOS.

Regards,

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
ASPIE.5
Associate II

​Hi Imen,

thanks a lot, but UM1722 it's very poor guide in my opinion.

Let me better explain wit an example:

at page 16, you can find osThreadDef(LED1, LED_Thread1,

 but it' is not explained the prototype of the function, the same for osThreadCreate

David SIORPAES
ST Employee

Hello,

FreeRTOS is wrapped with ARM CMSIS-RTOS V1 APIs. Thread management documentation can be found here:

https://www.keil.com/pack/doc/CMSIS/RTOS/html/group__CMSIS__RTOS__ThreadMgmt.html

​Hi David,

thank you, but it seems somthing wrong.

In the ST "Developing Applications on STM32Cube with RTOS" pg. 16 the osThreadDef has 5 parameters:

osThreadDef (LED1, LED_Thread1, osPriorityNormal, 0, configMINIMAL_STACK_SIZE);

But at the link indicated the same function has 4 parameters!

osThreadDef( name, priority, instances, stacksz )

Probably a quite different definition, I'm looking for the ST definition documentation.

Pavel A.
Evangelist III

As David wrote, the CMSIS layer belongs to ARM (or Keil). They likely have error in their documentation (which was generated from sources by Doxygen). So

  1. Read the source : in the CubeMX packages, in Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.h
  2. Report errors to Keil.

Regards,

-- pa

​Thanks Pavel,

here the example from

STM32Cube_FW_F4_V1.24.0\Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS

/// Create a thread and add it to Active Threads and set it to state READY.

/// \param[in]    thread_def   thread definition referenced with \ref osThread.

/// \param[in]    argument     pointer that is passed to the thread function as start argument.

/// \return thread ID for reference by other functions or NULL in case of error.

/// \note MUST REMAIN UNCHANGED: \b osThreadCreate shall be consistent in every CMSIS-RTOS.

osThreadId osThreadCreate (const osThreadDef_t *thread_def, void *argument);