Please enable JavaScript to view this site.

winIDEA Help

Version: 9.21.243

Queues

The SafeRTOS Queue Objects List view displays detailed information about all available queue parameters. You can enable automatic refresh to update the list each time the processor is stopped.

Image below depicts an example of queue snapshot. Each row represents one queue with multiple queue parameters.

 

RTOS-SafeRTOS-queues

 

The functionality of each listed queue parameter is described inside the following table:

Parameter name

Description

Name

The queue name.

Address

The queue address.

Max. Length

Maximum number of items inside the queue.

Item Size

The queue item size in bytes.

Current Length

Number of items currently inside the queue.

#Waiting TX

The blocked tasks number waiting to send to the queue.

#Waiting RX

The blocked tasks number waiting to receive from the queue.

 

Proper configuration of SafeRTOS is necessary to enable access to queue related kernel data. If there are no queues displayed inside queue view window, then several items needs to be checked:

Each project includes configuration file called SafeRTOSConfig.h. Configuration option relevant to using SafeRTOS plug-in for queue kernel objects is configQUEUE_REGISTRY_SIZE. Macro configQUEUE_REGISTRY_SIZE defines the maximum number of queues that can be registered.

All queues that you want to view inside the queue view window needs to be registered. See the SafeRTOS API reference documentation for vQueueAddToRegistry() and vQueueUnregisterQueue() for more information. The plug-in will only display queues that have been added to the registry. An empty queue view is shown if no queues are available or RTOS is not configured correctly. An example of queue registration:

 

xQueueCreate(cQueue1Buffer,
portspecBLOCK_Q_BUFFER_LENGTH_1, portspecBLOCK_Q_QUEUE_LENGTH_1, portspecBLOCK_Q_QUEUE_ITEM_SIZE,
&(xQueueParameters1.xQueue);
vQueueAddToRegistry(xQueueParameters1.xQueue, "BlockQ #1");

 

There is a type definition required for proper evaluation of the queue parameters. See queue.c source file for following type definition:

 

typedef xQUEUE * xQueueHandle;

 

Semaphores (counting or binary) are implemented as queues, so all semaphores can be viewed inside the queue view window.

Copyright © 2024 TASKING Germany GmbH