Hey! I am working on Streamline Performance Analyzer for Bare Metal Support.
Generated Barman files (Linear RAM Buffer) for cortex - R7 with 7 PMU counters, compiled them separately with armcc to create a library file.
My project code is also compiling with armcc and to enable the frame pointer, I have used --use_frame_pointer instead of --fno-fomit-frame-pointer as it is used for armclang.
The readings for PMU counters are visible in the timeline view, but the function view, call path view and code view are not showing function names rather only one function row with unknown_code_in_unresolved giving the complete 100% to its execution.
I am using ultimate version for DS-5.v5.28.1 for streamline.
Compiling my code on a different platform. Executing the .axf generated (after compiling) on my target and storing the buffer generated into a .raw file.
Does anyone know what is it that I am doing wrong?
Attached are the function and call path views image.
Hi Anudhi,
Getting function information only when the timer has expired is expected. This is because this is the only place you are calling barman_sample_counters_with_program_counter. If you want to get sampling data for more of your application you have two options:
1) Increase the frequency of your timer so that more of your code is sampled
2) If you have any specific functions that you want to sample you can call the barman_sample_counters_with_program_counter manually on these functions meaning you will get a sample everytime the function is hit.
Unless you mean that you are only getting samples inside the sampling function itself. Then this usually points to the value of LR that you are passing into the function being corrupted somehow.
Cheers,Stephen
Thank you Stephen