In some cases, the Function Profiler seems to lack a lot of information. Most columns are empty.
When the Function Profiler Window build its' presentation data from the SWO channel, that data are from samples. That is, it is not continuous information that is collected.
It must be noted is that SWO is a sampling process (that is, continuous information is not outputted). So each SWO data package is just the information that the PC was at a specific address at a moment. The implication of this situation must be taken into account when setting expectations on what to get presented in the Function Profiler Window.
(The other technology for collecting data on executed instructions is called ETM, which is a full trace that will supply data for each executed instruction.)
This can be expected when basing profiling on SWO (and what is different from ETM based profiling).
|Column||With SWO (sampled) data||With ETM (continious) data|
|Calls||This column is empty as the debugger samples values of PC. With samples the debugger do not 'know' if a function has been called at non-sampled time.||With ETM trace the situation is different as the debugger get information of every call to the function.|
|Flat time||The number of samples that was collected when the sample was collected when PC was within this function.||The time in cycles spent within this function.|
|Flat time (%)||The number of samples located in this function expressed as a percentage of the total number of samples.||Flat time in cycles expressed as a percentage of the total time.|
|Acc time||Not used||The time in cycles spent in this function and everything called by this function.|
|Acc time (%)||Not used||Accumulated time in cycles expressed as a percentage of the total time.|
Commented picture from the Function Profiler Window (when basing on SWO data):
All Product names are trademarks or registered trademarks of their respective owners.