SystemView Recorder Problems

From SEGGER Knowledge Base
Jump to navigation Jump to search

SystemView may sometimes fail to start a recording, cannot find the RTT Control Block, starts but shows no events at all, or only records some events. These are common issues in the target configuration.

Low-Power Modes active

Recording via RTT requires that the J-Link can access RAM at all times. Depending on the target device and the configuration, entering low-power modes, disables debug access or turns off RAM. This can lead to different behavior, such as lost connection, failure to start, or missed events.

Solution: Make sure no low-power modes are used while recording. Remove all WFI/WFE instructions and similar from the target firmware.

Second Debug Session active

Running SystemView in parallel with a debugger or other tool may cause problems in certain configurations. This may cause events to be missed or connection to be lost.

Solution: Try running SystemView stand-alone without any other connection to J-Link.

Target Firmware crashes

SystemView target code requires additional compute and RAM/stack resources. If the target firmware does not account for that, it may crash when SystemView connects, usually after sending the first few events.

Solution: Increase stack size for all tasks, contexts, and interrupts.

Unknown Contexts and Events

SystemView might record unknown task contexts or events. This might happen either when low-power modes are active (see above) or when SystemView/RTT locking is not properly configured.

Solution: Make sure SEGGER_SYSVIEW_LOCK() and SEGGER_RTT_LOCK() disable all interrupts which generate SystemView events or may cause context switches.

RTT Control Block not found

SystemView tries to auto-detect the RTT Control Block in the known accessible RAM of the target device. Depending on the target device not the whole RAM or not every RAM might be searched.

Solution: Check the firmware map file or debugger for the location of the RTT Control Block (_SEGGER_RTT) and enter its address or a search range in the Recorder Configuration.