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
with

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

to

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.

Parents Reply Children
No data
More questions in this forum