FreeRTOS Queue Performance on LPC54102

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FreeRTOS Queue Performance on LPC54102

299 Views
BTaylor
Contributor III

I am developing an application on an LPC54102 that makes use of FreeRTOS. I am planning on using FreeRTOS queues for IPC between application tasks. Has any performance profiling for FreeRTOS queues been publicly documented? I am interested, for example, in metrics like messages/second. Does anyone have experience in pushing 1000s of messages (assume small messages: < 100 bytes) through a queue (assume application message processing is low overhead) a second on an LPC5410x (or similar)? 

Tags (2)
0 Kudos
1 Reply

287 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

For the queue number, I suppose that there is not restriction as long as the memory is enough.

Pls refer to the queue description in freertos.

https://www.freertos.org/a00116.html

QueueHandle_t xQueueCreate( UBaseType_t uxQueueLength,
                             UBaseType_t uxItemSize );

Each queue requires RAM that is used to hold the queue state, and to hold the items that are contained in the queue (the queue storage area). If a queue is created using xQueueCreate() then the required RAM is automatically allocated from the FreeRTOS heap. If a queue is created using xQueueCreateStatic() then the RAM is provided by the application writer, which results in a greater number of parameters, but allows the RAM to be statically allocated at compile time. See the Static Vs Dynamic allocation page for more information.

 

Parameters:
uxQueueLength   The maximum number of items the queue can hold at any one time.
uxItemSize   The size, in bytes, required to hold each item in the queue.

Items are queued by copy, not by reference, so this is the number of bytes that will be copied for each queued item. Each item in the queue must be the same size.

 

 

For your case, each  queue occupies 100 bytes, so 1000 queues occupy 100KBytes, so it is okay.

Hope it can help you

BR

XiangJun Rong

 

0 Kudos