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 766with
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.
Aleksander said:I don't know whose side the problem is
Usually, each source file has a comment at the top with copyright & licence details - this will tell you whose file it is.