FreeRTOS Support Archive

The FreeRTOS support forum can be used for active support both from Amazon Web Services
and the community. In return for using our software for
free, we request you play fair and do your bit to help others! 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.

Tickless implementation for semaphore in EFM32

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

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.