The person best fitted to answer this is out of office at the moment. But I found some other links that may be helpful:
https://devzone.nordicsemi.com/f/nordic-q-a/69475/how-do-i-debug-free-rtos
https://devzone.nordicsemi.com/search?q=freertos%20systemview#serpgroup=17
Are they still out of office? I have already looked at these links and tried out to no avail
Good to know you can at least open the project.
Do you think it's too much an effort to investigate the main issue regarding now being able to get the program to compile after integrating the patch? I have also opened a ticket for Segger but so far no response.
Looks like you are away now but hoping you get to see this once you're back. Appreciate your time.
Just to reiterate, the following are among the set of errors with <#include "SEGGER_SYSVIEW_FreeRTOS.h"> included.
FreeRTOS/app_timer_freertos.o: in function `app_timer_start': 1> /Users/Projects/BLE/nRF5_SDK_17.0.2_d674dde/components/libraries/timer/app_timer_freertos.c:194: undefined reference to `SEGGER_SYSVIEW_RecordExitISRToScheduler' 1> /Applications/SEGGER Embedded Studio for ARM 5.42/gcc/arm-none-eabi/bin/ld: /Users/Projects/BLE/nRF5_SDK_17.0.2_d674dde/components/libraries/timer/app_timer_freertos.c:194: undefined reference to `SEGGER_SYSVIEW_RecordExitISR' 1> /Applications/SEGGER Embedded Studio for ARM 5.42/gcc/arm-none-eabi/bin/ld: Output/Release/Obj/Init template - FreeRTOS/app_timer_freertos.o: in function `app_timer_stop': 1> /Usershu/Projects/BLE/nRF5_SDK_17.0.2_d674dde/components/libraries/timer/app_timer_freertos.c:230: undefined reference to `SEGGER_SYSVIEW_RecordExitISRToScheduler' 1> /Applications/SEGGER Embedded Studio for ARM 5.42/gcc/arm-none-eabi/bin/ld: /Users/Projects/BLE/nRF5_SDK_17.0.2_d674dde/components/libraries/timer/app_timer_freertos.c:230: undefined reference to `SEGGER_SYSVIEW_RecordExitISR' 1> /Applications/SEGGER Embedded Studio for ARM 5.42/gcc/arm-none-eabi/bin/ld: Output/Release/Obj/Init template - FreeRTOS/port_cmsis_systick.o: in function `RTC1_IRQHandler':
...
I looked into portmacro_cmsis.h, and it doesn't seem as if it references the SEGGER_SYSVIEW_FreeRTOS.h that has a declaration of traceISR_EXIT
#define portEND_SWITCHING_ISR( xSwitchRequired ) { if ( (xSwitchRequired) != pdFALSE ) { traceISR_EXIT_TO_SCHEDULER(); portYIELD(); } else { traceISR_EXIT(); } }
#define portYIELD_FROM_ISR( x ) portEND_SWITCHING_ISR( x )
and I took portmacro_cmsis.h from the patch files ZIP linked in the description. Could you please confirm as to whether that's the case?
In regards to the following errors, I'm not quite sure.

The following preprocessor is in SEGGER_SYSVIEW_FreeRTOS.h which includes <SEGGER_SYSVIEW.h> that defines SEGGER_SYSVIEW_RecordU32x4
#define traceQUEUE_SEND( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiID_OFFSET + apiID_XQUEUEGENERICSEND, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pvItemToQueue, xTicksToWait, xCopyPosition)
Seems strange to me as to why it would not recognize.
Would it be possible for you to check my project? I shall really be grateful!
Thanks for waiting morpho. Yes I was away for summer holidays and due to very thin staffing here, my activities unfortunately did not get picked up by others. I appreciate your patience.
morpho said:Just to reiterate, the following are among the set of errors with <#include "SEGGER_SYSVIEW_FreeRTOS.h"> included.
1> /Users/Projects/BLE/nRF5_SDK_17.0.2_d674dde/components/libraries/timer/app_timer_freertos.c:194: undefined reference to `SEGGER_SYSVIEW_RecordExitISRToScheduler'
This is clearly defined in SmartWatch\pca10056\s140\ses\SeggerFiles\SEGGER\SEGGER_SYSVIEW.c. I do not see that file included in your project. Atleast in the "Project 4.zip" attachment you did which seems the latest.
Hope you had a great time.
I do not see that file included in your project
which file are you exactly referring to? SEGGER_SYSVIEW.c is in pca10056\s140\ses\SeggerFiles\SEGGER\SEGGER_SYSVIEW.c and SEGGER_SYSVIEW_FreeRTOS.h is in pca10056/s140/ses/SeggerFiles/Sample/FreeRTOSV10/SEGGER_SYSVIEW_FreeRTOS.c
and both the paths are included in the preprocessor
morpho said:which file are you exactly referring to? SEGGER_SYSVIEW.c is in pca10056\s140\ses\SeggerFiles\SEGGER\SEGGER_SYSVIEW.c and SEGGER_SYSVIEW_FreeRTOS.h is in pca10056/s140/ses/SeggerFiles/Sample/FreeRTOSV10/SEGGER_SYSVIEW_FreeRTOS.c
and both the paths are included in the preprocessor
Your project file ble_app_hrs_freertos_pca10056_s140.emProject does not have this SEGGER_SYSVIEW.c included.
Having the header file included in preprocessor is OK for the declarations but the definitions that you are missing are in SEGGER_SYSVIEW.c which needs to be added into the project.
I added this explicitly in your project as below. Do you see the same file in the project explorer window?

morpho said:which file are you exactly referring to? SEGGER_SYSVIEW.c is in pca10056\s140\ses\SeggerFiles\SEGGER\SEGGER_SYSVIEW.c and SEGGER_SYSVIEW_FreeRTOS.h is in pca10056/s140/ses/SeggerFiles/Sample/FreeRTOSV10/SEGGER_SYSVIEW_FreeRTOS.c
and both the paths are included in the preprocessor
Your project file ble_app_hrs_freertos_pca10056_s140.emProject does not have this SEGGER_SYSVIEW.c included.
Having the header file included in preprocessor is OK for the declarations but the definitions that you are missing are in SEGGER_SYSVIEW.c which needs to be added into the project.
I added this explicitly in your project as below. Do you see the same file in the project explorer window?

Thanks Susheel. I don't see the previous errors now but I see the following
the only file that references it is SEGGER_SYSVIEW_FreeRTOS.h but I can't seem to find its definition. Can you check on your end too?
You have the definition of that in SEGGER_SYSVIEW_FreeRTOS.c which is available in your zipped project folders. Add that one too to the project folder as you did with the SEGGER_SYSVIEW.c
Okay it seems to build fine now. Appreciate your help!
Though I see an overflow occurring when I run my app. I increased the RTT buffer size to 4kB to no avail
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024 * 4

Select the higher interface speed with the Segger should increase the chances for this to work. Seems like your application is now logging a lot of events that Segger is not able to process at the speed that is by default selected.
In SystemView, try Target ->Recorder Configuration->JLink->Interface Speed and increase until this works for you.
I couldn't find Recorder Configuration under Target
Here's the version i'm using:

However, I increased the interface speed to 16MHz and still no luck.

Here, I do see a series of xQueueReceive being invoked quite often. This potentially could be causing an overflow though do you see what could cause xQueueReceive to be invoked that frequently?
