PIC24 counting semaphores:

Hi All, Having difficulty in tyring to create counting semaphores in PIC24 port. SemaphoreHandle_t xCountingSemaphore; xCountingSemaphore = xSemaphoreCreateCounting(5,0); The above lines generate the following errors: (…can’t see anything to configure in FreeRTOSConfig.h i.e configSUPPORTDYNAMICALLOCATION is not defined) ============================================================================ nbproject/Makefile-impl.mk:39: recipe for target ‘.build-impl’ failed build/default/production/ext/1472/mainInterruptBinSemaTut.o(.text+0x8c): In function .L0': : undefined reference toxQueueCreateCountingSemaphore’ build/default/production/ext/1472/mainInterruptBinSemaTut.o(.text+0x8e): In function .L0': : undefined reference toxQueueCreateCountingSemaphore’ make[2]: *** [dist/default/production/FreeRTOS_Tutorial.X.production.hex] Error 255 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 BUILD FAILED (exit value 2, total time: 3s) ================================================================================ Thanks

PIC24 counting semaphores:

If you look at the implementation of xQueueCreateCountingSemaphore() you will see it is guarded by:
#if( ( configUSE_COUNTING_SEMAPHORES == 1 ) && ( 
configSUPPORT_DYNAMIC_ALLOCATION == 1 ) )
Do you have both configUSECOUNTINGSEMAPHORES and configSUPPORTDYNAMICALLOCATION set to 1?

PIC24 counting semaphores:

Hi, Thanks for getting back. No, configUSECOUNTINGSEMAPHORES and configSUPPORTDYNAMICALLOCATION do not appear to be declared anywhere…or at least i could’t find them. Should I define and set them in FreeRTOSConfig.h ? Cheers

PIC24 counting semaphores:

Only if you want to use counting semaphores.

PIC24 counting semaphores:

OK, thanks Dave

PIC24 counting semaphores:

Hi All, Counting semaphores are now OK…having trouble compling Mutex: SemaphoreHandle_t xMutex; xMutex = xSemaphoreCreateMutex(); configSUPPORTDYNAMICALLOCATION is set to 1 in FreeRTOSConfig.h …and i think that is all that is needed in semphr.h Cheers ======================================= nbproject/Makefile-impl.mk:39: recipe for target ‘.build-impl’ failed build/default/production/ext/1472/mainMutex1Tut.o(.text+0x50): In function .L0': : undefined reference toxQueueCreateMutex’ build/default/production/ext/1472/mainMutex1Tut.o(.text+0x52): In function .L0': : undefined reference toxQueueCreateMutex’

PIC24 counting semaphores:

Either search for the word “Mutex” on the configuration options web page (http://www.freertos.org/a00110.html), or search for xQueueCreateMutex in the source code (the “queue” in the function name tells you it is implemented in queue.c) – then you will be able to answer your own question.

PIC24 counting semaphores:

OK, needed to declare and set configUSE_MUTEXES, all fine now Thank you so much