FreeRTOS 10.5.1 - SystemView Integration

Hi all,

I’m having trouble with integrating SystemView with my existing application and I’m hoping that somebody can point me my probably stupid mistake.

I followed the guidelines defined right here.

Triple checked that I applied the patch correctly, tried with several applications, but I always get the same similar compile errors:

../freertos/freertos_kernel/portable/GCC/ARM_CM4F/port.c:506: undefined reference to SEGGER_SYSVIEW_RecordEnterISR’`

But I’m not getting why it doesn’t find these functions.
The above error comes from the function call traceISR_ENTER() and finds SEGGER_SYSVIEW_RecordEnterISR correctly inSEGGER_SYSVIEW_FreeRTOS.h. In turn, this file includes SEGGER_SYSVIEW.h and implementation SEGGER_SYSVIEW.c, which are in the include path…

Did anybody have a similar error?
Any idea what I might be doing wrong?

Thanks in advance!

Besides the correct include paths you also have to add the SEGGER source files to your compiler source file list i.e. the list of source (.c/.cpp) files to compile.

2 Likes

Hartmut is correct. How you include this is dependent on your build system. How are you building your application?

1 Like

Hi guys,

Thank you for the input.
I’m building it with MCUXpresso, using the include paths:

  • segger/SystemView/Config
  • segger/SystemView/SEGGER
  • segger/SystemView/Sample/FreeRTOSV10.4

Which contains the SEGGER code for my installation of SystemView.

So I should also add all these SEGGER files to Include files (-include) ? I’ll give this a whirl shortly.

In any build system, there are 2 things -

  1. Source files - A list of.c files that are compiled by the compiler.
  2. Include search paths - A list of directories where the compiler searches for header files.

As pointed by @hs2, You are not compiling the SEGGER source files in you MCUXpresso IDE project. Right click on your project and then click New --> Source File and then select SEGGER source file(s).

1 Like

Hi, don’t know if you solved the issue already. If you had all the correct #include files try to link with -m flag

C.