2019-04-11 05:39 AM
2019-04-11 03:43 PM
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
Regards,
-- pa
2019-04-11 06:30 AM
Hello,
Refer to the UM1722 User manual Developing Applications on STM32Cube with RTOS.
Regards,
Imen
2019-04-11 06:34 AM
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
2019-04-11 09:10 AM
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
2019-04-11 09:16 AM
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.
2019-04-11 03:43 PM
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
Regards,
-- pa
2019-04-12 12:20 AM
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);