I'm trying to use SystemView to instrument / profile an embedded project (STM32 + Atollic TrueSTUDIO + Jlink / SystemView) that doesn't utilize a RTOS. It seems from the user manual that I should be using the module API functions, but I don't find their display in the SystemView UI as useful as the task view, so I'm trying to use the SystemView Tasks...
Obviously when starting and stopping tasks SystemView expects a scheduler to dictate which task will execute next; as I don't have a RTOS I've implemented a wrapper with a task stack that pushes and pops tasks as they're started and stopped and updates SystemView. This seems to work ok with two major caveats:
1) Our main loop runs frequently (20kHz or so) and thus we quickly overload the connection.
2) The task information doesn't always seem to work. I assume this is because I'm faking important values such as Prio, StackBase and StackSize.
Would it be possible, in a future version of SystemView, to add a Trace task for systems without a RTOS so that users could mark points in the code (generally beginning and end of important functions) and have them displayed as tasks? This would likely decrease overhead of communications with SystemView as SystemView can assume that when a function ends control returns to the previously executing section etc.
--------------------
Also, is there a way to start and stop recording from the Target in Continuous mode?
Obviously when starting and stopping tasks SystemView expects a scheduler to dictate which task will execute next; as I don't have a RTOS I've implemented a wrapper with a task stack that pushes and pops tasks as they're started and stopped and updates SystemView. This seems to work ok with two major caveats:
1) Our main loop runs frequently (20kHz or so) and thus we quickly overload the connection.
2) The task information doesn't always seem to work. I assume this is because I'm faking important values such as Prio, StackBase and StackSize.
Would it be possible, in a future version of SystemView, to add a Trace task for systems without a RTOS so that users could mark points in the code (generally beginning and end of important functions) and have them displayed as tasks? This would likely decrease overhead of communications with SystemView as SystemView can assume that when a function ends control returns to the previously executing section etc.
--------------------
Also, is there a way to start and stop recording from the Target in Continuous mode?