May 2020
Intermediate to advanced
496 pages
13h 54m
English
Message queues are quite similar. In CMSIS-RTOS, all queues are registered by name, which can make for a richer debugging experience. Also, CMSIS-RTOS supports static allocation via attributes passed in as function parameters.
Any functions called from inside an ISR will automatically be forced to use the FromISR equivalent functions and finish the ISR with a call to portYIELD_FROM_ISR. This results in any blocking times being effectively set to 0. So, for example, if a queue doesn't have space available, a call to osMessageQueuePut will return immediately from inside an ISR, even if a blocking timeout is specified:
|
CMSIS-RTOS name |
FreeRTOS functions called |
Notes |
|
osMessageQueueDelete |
vQueueUnregisterQueue, vQueueDelete ... |