xQueueGenericCreateStatic() takes a parameter of type StaticQueue_t and then returns it as is (albeit initialized) as type QueueHandle_t
For example,
StaticQueue_t staticQueue;
// Leaving out other parameters that are not of interest
QueueHandle_t hQueue = xQueueGenericCreateStatic( , , , &staticQueue, );
Currently, in the FreeRTOS implementation, &staticQueue and hQueue are pointing to the same address, same object.
My question is, is this behavior guaranteed into the future. Will the statically allocated StaticQueue_t object and the object returns by xQueueGenericCreateStatic always be one and the same.
Or, do we need to allocate another variable to take the return value from xQueueGenericCreateStatic and use that value in subsequent API calls.
May seem like a rather benign question, but having to allocate another 4 bytes per statically allocated semaphore is not desirable.