Skip to main content
ASPIE.5
Associate II
April 11, 2019
Solved

Where I can find FreeRTOS documentation?

  • April 11, 2019
  • 4 replies
  • 2929 views

Hi all,

​Where I can find a complete ST FreeRTOS documentation?

Thanks

This topic has been closed for replies.
Best answer by Pavel A.

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

4 replies

Technical Moderator
April 11, 2019

Hello,

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

Regards,

Imen

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
ASPIE.5
ASPIE.5Author
Associate II
April 11, 2019

​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
April 11, 2019

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

ASPIE.5
ASPIE.5Author
Associate II
April 11, 2019

​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.
Pavel A.Best answer
Super User
April 11, 2019

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

ASPIE.5
ASPIE.5Author
Associate II
April 12, 2019

​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);