unable to create semaphore

Hi I am getting some compilation errors when I am trying to create semaphores , like "implicit declaration of function in xQueueCreate" etc Am I going wrong somewhere , am I not including the right header files ? I am pasting the code below. This is for the Samsung S3C4510 processor, I am able to run simple tasks on it . #include "S3C4510.h" /* Standard includes. */ #include <stdlib.h> #include <string.h> #include "semphr.h" /* Scheduler includes. */ #include "FreeRTOS.h" #include "task.h" /* Demo application includes. */ #include "partest.h" #include "flash.h" #include "integer.h" #include "PollQ.h" #include "comtest2.h" #include "semtest.h" #include "flop.h" #include "dynamic.h" #include "BlockQ.h" #include "serial.h" int counter = 0 ; #define mainCHECK_TASK_PRIORITY 3 #define mainCHECK_TASK_PRIORITY1 3 static void vErrorChecks( void *pvParameters ); static void vErrorChecks1( void *pvParameters ); xSemaphoreHandle xSemaphore = NULL ; void timersetup (void ); int main(void) { int i;     xTaskCreate( vErrorChecks, ( signed portCHAR * ) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); xTaskCreate( vErrorChecks1, ( signed portCHAR * ) "Check1", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY1, NULL );    char * hellostr=" Hi this is mr y here, Starting Scheduler! n ";     long* paddr=(long*)0x3ffd00c;     for(i=0;i<45;i++)             {                 * paddr=hellostr[i];             }     vSemaphoreCreateBinary( xSemaphore ); vTaskStartScheduler(); return 0; } void vErrorChecks( void * pvParameters ) { for (;;) { // Task code goes here. if ( cSemaphoreTake( xSemaphore, 0 ) ) { int i;     char * hellostr="Running Task T1 n ";     long* paddr=(long*)0x3ffd00c;     for(i=0;i<20;i++)             {                 * paddr=hellostr[i];             }   cSemaphoreGive( xSemaphore ); } } } void vErrorChecks1( void * pvParameters ) { for (;;) { // Task code goes here. if ( cSemaphoreTake( xSemaphore, 0 ) ) { int i;     char * hellostr="Running Task T2 n ";     long* paddr=(long*)0x3ffd00c;     for(i=0;i<20;i++)             {                 * paddr=hellostr[i];             }   cSemaphoreGive( xSemaphore ); } } }

unable to create semaphore

Include FreeRTOS.h before semphr.h, then you should be ok. Coincidentally I updated the code in SVN just yesterday to add in a #error message to inform people of just this problem. Regards.

unable to create semaphore

Hi Richard, Thanks , I will try it out . As you can see in the code I had pasted previously, I have created the semaphore in the main function and declared it before main . Will this work ? Do I need to create a semaphore in a task explicitly ? Regards