no definition for "xQueueCreateCountingSemaph

bejanissim wrote on Monday, April 20, 2009:

Dear all,

I using the STM3210E-EVAL board which is based on the ST microelectronics STM32f103 uController.
I’m trying to use FreeRTOSV5.1.1 with IAR embedded workbench 5.20.

Based on the Demo project, i tried to use xSemaphoreCreateCounting() function but got the following
Linking Error: 
        Error[Li005]: no definition for "xQueueCreateCountingSemaphore" [referenced from F:\OS_Projects
        \_FreeRTOS\FreeRTOSV5.1.1\FreeRTOS\Demo\

After digging a bit i found the following:
1. Inside semphr.h - there is this line

    #define xSemaphoreCreateCounting( uxMaxCount, uxInitialCount ) 
    xQueueCreateCountingSemaphore( uxMaxCount, uxInitialCount )

    it seems that xSemaphoreCreateCounting( uxMaxCount, uxInitialCount ) does not have any 
    implementation at all.

    Is this the reason i got the linking error which i mentioned above?
    If not, can some let me know what would be the problem?

2. Does anyone know used xSemaphoreCreateCounting() function? if so, i would be happy to know
    how? 

Thanks in advanced
Beja.

edwards3 wrote on Monday, April 20, 2009:

xQueueCreateCountingSemaphore() is defined in queue.c line 419 (version 5.2.0).  configUSE_COUNTING_SEMAPHORES must be defined. 

It is used by some of the demo app tasks.

bejanissim wrote on Monday, April 20, 2009:

Thanks.

I just saw it.