Hi,
Thanks for the positive feedback, please excuse the delay.
The interrupt ID used by SystemView is for Cortex-M devices the interrupt vector index, as read from the ICSR.
Refer to SEGGER_SYSVIEW_GET_INTERRUPT_ID in SEGGER_SYSVIEW_Conf.h
The first 16 indices are the generic Cortex-M vectors, followed by the target-specific vectors.
So it is correct that device-specific interrupt 3 is recorded as 19.
If SEGGER_SYSVIEW_RecordEnterISR() is called from the application code no interrupt is active, so this cannot be used.
SEGGER_SYSVIEW_OnUSerStart() and OnUserStop() are not shown in the timeline, but only in the events list, as it might happen that they are called from different contexts and could then not be linked.
If you do not use an OS, it should be safe to call SEGGER_SYSVIEW_OnTaskStartExec() and OnTaskStopExec() or OnTaskTerminate().
You could also register your application as a module for SystemView and record each function as an API call as described in the manual.
Best regards
Johannes