Void vEventGroupDelete( EventGroupHandle_t xEventGroup ) got error in TRC_RECORDER_MODE_STREAMING in Jlink streaming mode

FreeRTOS: V 9.0.0
Percepio Tracealyzer: V 4.6.5
MCU: stm32f4
IDE: keil
Testing Mode: Streaming Jlink
when configuring in the file:
trcKernelPortConfig.h

#define TRC_CFG_RECORDER_MODE   TRC_RECORDER_MODE_STREAMING

in file event_groups.c ,
function

void vEventGroupDelete( EventGroupHandle_t xEventGroup )

Where EventGroupHandle_t defines as:

typedef void * EventGroupHandle_t;

In this function, there is one line, 634:

traceEVENT_GROUP_DELETE(xEventGroup);

got error

..\FreeRTOS\event_groups.c(634): error:  #132: expression must have pointer-to-struct-or-union type

Screenshot below:


while when I configure the mode into TRC_RECORDER_MODE_SNAPSHOT, it works.

I think the functions.
A

#ifndef traceEVENT_GROUP_CREATE
#define traceEVENT_GROUP_CREATE( xEventGroup )
#endif

B

#ifndef traceEVENT_GROUP_DELETE
#define traceEVENT_GROUP_DELETE( xEventGroup )
#endif

these A and B are the same parameters xEventGroup
so again, in file event_group.c
I found the function
EventGroupHandle_t xEventGroupCreate( void )
there is line

traceEVENT_GROUP_CREATE( pxEventBits );

so I replace xEventGroup with pxEventBits in the error line from above(just test, can ignore the test below and the errors)

traceEVENT_GROUP_DELETE(pxEventBits );

Then got some other bunches of errors:

..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol pxTraceEventDataTable (referred from the queue. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol pxTraceTimestamp (referred from the queue. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceEventBeginRawOffline (referred from the queue. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceEventEndOffline (referred from the queue. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceObjectRegisterWithoutHandle (referred from the queue. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceObjectSetNameWithoutHandle (referred from the queue. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceObjectUnregisterWithoutHandle (referred from the queue. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceStackMonitorAdd (referred from tasks. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceStackMonitorRemove (referred from tasks. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceTaskReady (referred from tasks. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceTaskSetPriorityWithoutHandle (referred from tasks. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceTaskSwitch (referred from tasks. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceHeapAlloc (referred from heap_4.o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceHeapFree (referred from heap_4.o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceError (referred from trckernelport.o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceHeapCreate (referred from trckernelport. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol pxTraceTaskInfo (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceDiagnosticsCheckStatus (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceDiagnosticsInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceEntryGetAtIndex (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceEntryGetCount (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceEntryTableInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceErrorInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceEventAddData (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceEventBeginRawOfflineBlocking (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceEventEndOfflineBlocking (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceEventInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceHardwarePortInitCortexM (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceISRInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTracePrintInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceStackMonitorInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceStackMonitorReport (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceStaticBufferInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceTaskInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol xTraceTimestampInitialize (referred from trcstreamingrecorder. o).
..\OBJ\TIMER.axf: Error: L6218E: Undefined symbol trace warning (referred from trcstreamingrecorder. o).

So, what is the problem when setting the mode into a streaming mode? Did I get this error below; how to solve this?

Member reference base type "void" is not a struct or union.

in this function

traceEVENT_GROUP_DELETE(xEventGroup);

Are you using the correct version of the trace recorder library for that version of the kernel? You can check it against the trace recorder library included in the main FreeRTOS 9.0 download. That is a very old version so it’s in SourceForge.

I am using the percepio trace analyzer version V4.5.6 library for FreeRTOS v 9.0.0.

Also, I tried the latest trace analyzer version V4.6.5 for FreeRTOS
V9.0.0. and I got the same error in streaming mode Jlink.

Maybe I should update the freeRTOS version to the latest one?

The error got solved when updating the FreeRTOS version to the newest one.

when using jlink for streaming mode session, I got the error like this


any idea for solving this issue?

FreeRTOS: V10.5.1
trace analyzer: percepio V4.6.6
MCU: stm32f4
IDE: keil

Is you JLink connection working? Did you follow all these steps especially calling vTraceEnable(TRC_START)?