Maybe a bug in the CMSIS library.

I find one problem (maybe bug) in CMSIS working with FreeRTOS. Working on the STMCubeIDE and programing F103RB (NUCLEO). I create the Queues. Properties "Item Size" set it to "20" (number). I want to convey a structure of this size. Default propertis is "uint16_t" (character string).

During operation, only the first 4 bytes of the structure are transferred.
I debug program and find problem and repear this.

In the file cmsis.os.c replase line 766

const osMessageQDef_t os_messageQ_def_##name = \
{ (queue_sz), sizeof (type), NULL, NULL }


const osMessageQDef_t os_messageQ_def_##name = \
{ (queue_sz), type, NULL, NULL }

Delete "sizeof()"
After the change, program work good.
Is this actually some library bug?
I'm not a specialist and maybe I'm doing something wrong.

More questions in this forum