I got it working eventually. The issue was that once the events buffer became empty, the uart just stopped transmitting data. In the file SEGGER_SYSVIEW_Conf.h I added the macro for SEGGER_SYSVIEW_ON_EVENT_RECORDED . Here's my final file
#ifndef SEGGER_SYSVIEW_CONF_H
#define SEGGER_SYSVIEW_CONF_H
#if !(defined SEGGER_SYSVIEW_SECTION) && (defined SEGGER_RTT_BUFFER_SECTION)
#define SEGGER_SYSVIEW_SECTION SEGGER_RTT_BUFFER_SECTION
#endif
#define SEGGER_SYSVIEW_USE_INTERNAL_RECORDER 1
#define SEGGER_SYSVIEW_CORE 2
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE (1024*20)
void SEGGER_SYSVIEW_X_OnEventRecorded(unsigned NumBytes);
#define SEGGER_SYSVIEW_ON_EVENT_RECORDED(NumBytes) SEGGER_SYSVIEW_X_OnEventRecorded(NumBytes)