Quality RTOS & Embedded Software

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


Tickless implementation for semaphore in EFM32

Posted by rgokul55555 on December 23, 2013

In my project we are using semaphore, in which we will handle 2 cases. Case1 : Semaphore available within 30Sec Case2 : Timeout. We are facing problem in Case2 implementation We will wait for a semaphore to be available within 30 Sec, if not we will call a function. For saving power we are trying to use to tickless implementation. During waiting for semaphore, when we checked the xExpectedIdleTime in the function vPortSuppressTicksAndSleep, we found the value we are getting about 2,3,3 etc( Single digit values) The value what we expected is 30000, we are not getting the value

We are running the Oscillator with the frequency of 28MHz and Tick freq of 1000Hz. SysTick and Osc Freq are same

Tickless implementation for semaphore in EFM32

Posted by rtel on December 23, 2013

What are the other tasks in your system doing? Which task runs in 2 (or 3) ticks time?

Add the following lines to prvGetExpectedIdleTime():

{ tskTCB * pxTCB;

pxTCB = ( tskTCB * ) listGET_OWNER_OF_HEAD_ENTRY( pxDelayedTaskList );


Then, when prvGetExpectedIdleTime() returns the unexpected value, pxTCB will point to the task control block of the task that will run next. pxTCB->pcTaskName will be the name you assigned the task when it was created.


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

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

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Meet Richard Barry and learn about running FreeRTOS on RISC-V at FOSDEM 2019

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

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

Xilinx Microblaze and Zynq partner