Quality RTOS & Embedded Software

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




Loading

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.

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