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] [December 2013 Threads] Tickless implementation for semaphore in EFM32Posted 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 EFM32Posted 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.
Regards.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|