Requirement for message queue cb_size doesn't match CMSIS documentation
Hello,
In rtx_msgqueue.c there is a check here which validates that attr->cb_size is exactly equal to sizeof(os_message_queue_t) as part of creating a message queue with user-defined memory.
This conflicts with the CMSIS documentation here which describes this size as a "minimum" and notes that higher values are permitted when actually RTX does not permit them.
If the intent was for it to be a minimum, then I would suggest modifying this check in RTX from a != to a < (I can submit a PR if you want...)
Taking a step back as well, there's really no great way to get the value for the minimum cb_size without breaking the abstraction that CMSIS provides. For RTX, you can get it from one of the RTX headers as osRtxMessageQueueCbSize, but in another implementation of the API like the FreeRTOS one, there's no definition for it that I am aware of, so it took some manual investigating to learn it was 164 bytes as opposed to RTX's 52 bytes. In the long term (and out of scope for this issue I suppose) it might be nice to have some way to get values like via something that could go in cmsis_os2.h so that breaking the abstraction is not required to figure them out.