FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [February 2015 Threads]
STM32Cube from ST micro provides project code generation for FreeRTOS along with a wrapper dedicated to use of the CMSIS-OS API.
Nevertheless, it seems that this wrapper is brocken regarding the FreeRTOS API function "vTaskDelayUntil()" wich is wrapped to "osDelayUntil()" according to the following code from cmsisos.c:
~~~~~~
/**
* @brief Delay a task until a specified time
* @param PreviousWakeTime Pointer to a variable that holds the time at which the
* task was last unblocked.
* @param millisec time delay value
* @retval status code that indicates the execution status of the function.
*/
osStatus osDelayUntil (uint32t PreviousWakeTime, uint32_t millisec)
{
if INCLUDE_vTaskDelayUntil
portTickType ticks = (millisec / portTICKRATEMS);
portTickType previouswake = (portTickType) PreviousWakeTime;
vTaskDelayUntil(&previouswake, ticks ? ticks : 1);
return osOK;
else
(void) millisec;
(void) PreviousWakeTime;
return osErrorResource;
endif
}
~~~~~~
In the freeRTOS API, the first argument of this function is a pointer to a variable that holds the time at which the task was last unblocked and this variable is automatically updated within vTaskDelayUntil(). Nevertheless, as you can note, the wrapper don't use a pointer anymore. That is, the local variable couldn't be updated anymore and the function is unusable.
I'm not sure that it is the right place for reporting it, but I don't know where to do so...
Many thanks in advance for your help.
Best regards,
BaDuf
Thanks for reporting this - we have not been involved in creating the wrapper but I will bring it to ST's attention for you.
Regards.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.