NetX90 undefined reference to xQueue*

Hey am working with the Netx90 Chip, and i have a question

I keep getting the xQueue… as undefined every time i use mutex and/or Semaphores.

I check my FreeRTOSConfig.h and all mutex and semaphore are set to 1, meaning that they are enabled.

i ofcource have these defined in FreeRTOSConfig.h as followed:

#define configUSE_COUNTING_SEMAPHORES 1
#define configUSE_MUTEXES 1
#define configUSE_RECURSIVE_MUTEXES 1

I experience it when i working i other “components” (libraries) where i include FreeRTOS.h, semphr.h and/or task.h in the files where i use them. Like when i want to protect a register with a mutex, to prevent multiple read and writes.

What am i missing?

Please show the order in which you include the header files.

I do it this way:

FreeRTOS.h
task.h
semphr.h

semphr.h includes queue.h here https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/master/include/semphr.h#L35 so I don’t know why it would not recognise the queue functions (if that is what “xQueue… as undefined” means). Are you building queue.c in your application? Is this a compiler error or a linker error?

Would you please paste the complete error log/compiler output to help us better understand the issue?

Thanks.

if that is what “xQueue… as undefined” means

what I mean is stuff like; xQueueCreateMutex, xQueueSemaphoreTake or xQueueGenericSend. Essentially every Mutex and semaphore handling.

Are you building queue.c

Yes I am, or at least that what NetX studio (Eclipse) tells me.

Is this a compiler error or a linker error?

I am not sure but my guts said linker error. Mainly because I have anything else working. and…

Error log

I don’t have access to that anymore, I created a new project and started from scratch, recreating everything I had made for the project, and the error disappeared. My best guess is that the linker in the old project, contained some fault/error that I wasn’t seeing.

thanks for help so far, I will post again when and if I learn something new about the issue.

Thank you for taking time to report back.