Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

bug in cmsisOS api wrapper for FreeRTOS

Posted by baduf on February 11, 2015

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


bug in cmsisOS api wrapper for FreeRTOS

Posted by rtel on February 11, 2015

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.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS