Hello,
I have a problem regarding SystemView. I use ATSAMV71 MCU with FreeRTOS. My FreeRTOS version is 10.4.3. I used wiki.segger.com/FreeRTOS_with_SystemView page as a reference.
Steps that I took:
- Downloaded patched FreeRTOS files from Wiki above (wiki.segger.com/images/8/81/ES…32F407_TRB_SystemView.zip)
- Changed my FreeRTOS files to patched FreeRTOS files.
- Added all files from SEGGER system view source files:
SEGGER.h
SEGGER_RTT.c
SEGGER_RTT.h
SEGGER_RTT_ASM_ARMv7M.S
SEGGER_RTT_printf.c
SEGGER_SYSVIEW.c
SEGGER_SYSVIEW.h
SEGGER_SYSVIEW_ConfDefaults.h
SEGGER_SYSVIEW_Int.h
syscalls/SEGGER_RTT_Syscalls_GCC.c
and from sample and config directory:
Global.h
SEGGER_RTT_Conf.h
SEGGER_SYSVIEW_Conf.h
SEGGER_SYSVIEW_Config_FreeRTOS.c
SEGGER_SYSVIEW_FreeRTOS.c
SEGGER_SYSVIEW_FreeRTOS.h
I had problems with compiling SEGGER_RTT_ASM_ARMv7M.S (described in separate thread) so I just skipped this file in build system and added RTT_USE_ASM=0.
- Added following lines to main:
SEGGER_SYSVIEW_Conf(); /* Configure and initialize SystemView */
SEGGER_RTT_Init();
I set proper values in SEGGER_SYSVIEW_Config_FreeRTOS.c:
#define SYSVIEW_DEVICE_NAME "ATSAMV71Q21B"
// Frequency of the timestamp. Must match SEGGER_SYSVIEW_GET_TIMESTAMP in SEGGER_SYSVIEW_Conf.h
#define SYSVIEW_TIMESTAMP_FREQ (configCPU_CLOCK_HZ)
// System Frequency. SystemcoreClock is used in most CMSIS compatible projects.
#define SYSVIEW_CPU_FREQ configCPU_CLOCK_HZ
// The lowest RAM address used for IDs (pointers)
#define SYSVIEW_RAM_BASE (0x20400000)
From there I was able to view messages on the RTT viewer, when I used SEGGER_RTT_WriteString, or SEGGER_RTT_printf commands. I launched RTT viewer, and connected to JLINK probe via JLINK-server. I properly set connection, target and JLINK configuration, and set RTT control block to be searched in whole SRAM (0x20400000 0x00060000). RTTviewer maanged to find RTT control block, and showed messages that I was sending.
The problem however is that when I launch JLINK Systemview in the same way, I see nothing at all. After I click "Start Recording" I see small window with "Recorder Starting...", in logs I can see that it is properly connecting with no errors (printing info about my MCU) but after that no entries are in the main screen and log. When I click ReadRecordedData I get in log:
RTT Control Block found at 0x20442DD8.
ERROR: SystemView Buffer not found!
Warning: Failed to read recorded data.
And no data.
What could be the problem?
I have a problem regarding SystemView. I use ATSAMV71 MCU with FreeRTOS. My FreeRTOS version is 10.4.3. I used wiki.segger.com/FreeRTOS_with_SystemView page as a reference.
Steps that I took:
- Downloaded patched FreeRTOS files from Wiki above (wiki.segger.com/images/8/81/ES…32F407_TRB_SystemView.zip)
- Changed my FreeRTOS files to patched FreeRTOS files.
- Added all files from SEGGER system view source files:
SEGGER.h
SEGGER_RTT.c
SEGGER_RTT.h
SEGGER_RTT_ASM_ARMv7M.S
SEGGER_RTT_printf.c
SEGGER_SYSVIEW.c
SEGGER_SYSVIEW.h
SEGGER_SYSVIEW_ConfDefaults.h
SEGGER_SYSVIEW_Int.h
syscalls/SEGGER_RTT_Syscalls_GCC.c
and from sample and config directory:
Global.h
SEGGER_RTT_Conf.h
SEGGER_SYSVIEW_Conf.h
SEGGER_SYSVIEW_Config_FreeRTOS.c
SEGGER_SYSVIEW_FreeRTOS.c
SEGGER_SYSVIEW_FreeRTOS.h
I had problems with compiling SEGGER_RTT_ASM_ARMv7M.S (described in separate thread) so I just skipped this file in build system and added RTT_USE_ASM=0.
- Added following lines to main:
SEGGER_SYSVIEW_Conf(); /* Configure and initialize SystemView */
SEGGER_RTT_Init();
I set proper values in SEGGER_SYSVIEW_Config_FreeRTOS.c:
#define SYSVIEW_DEVICE_NAME "ATSAMV71Q21B"
// Frequency of the timestamp. Must match SEGGER_SYSVIEW_GET_TIMESTAMP in SEGGER_SYSVIEW_Conf.h
#define SYSVIEW_TIMESTAMP_FREQ (configCPU_CLOCK_HZ)
// System Frequency. SystemcoreClock is used in most CMSIS compatible projects.
#define SYSVIEW_CPU_FREQ configCPU_CLOCK_HZ
// The lowest RAM address used for IDs (pointers)
#define SYSVIEW_RAM_BASE (0x20400000)
From there I was able to view messages on the RTT viewer, when I used SEGGER_RTT_WriteString, or SEGGER_RTT_printf commands. I launched RTT viewer, and connected to JLINK probe via JLINK-server. I properly set connection, target and JLINK configuration, and set RTT control block to be searched in whole SRAM (0x20400000 0x00060000). RTTviewer maanged to find RTT control block, and showed messages that I was sending.
The problem however is that when I launch JLINK Systemview in the same way, I see nothing at all. After I click "Start Recording" I see small window with "Recorder Starting...", in logs I can see that it is properly connecting with no errors (printing info about my MCU) but after that no entries are in the main screen and log. When I click ReadRecordedData I get in log:
RTT Control Block found at 0x20442DD8.
ERROR: SystemView Buffer not found!
Warning: Failed to read recorded data.
And no data.
What could be the problem?