Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


You are viewing a reply to gprof gnu profiling tools ?  

gprof gnu profiling tools ?

for what i now on grof it si untrusive profiling mean you must frist build with prodfiling option
then you run that code
while runing a “large file” with timing get created
That is what gprof then analyee
that is commonly not suported by mcu toolset soem maye by putign the info in ram on the target
I can’t say for gcc that is used with ac6 and bare metal arm embededd
Actulaay i’m curious to know if it is suported how to get it working

if you look for a single functionratehr fix timing then simply instrument the code
rename the original function create a wraper func than will record timer before and after call in a small cicurlar buffer
for instance
org_foo(.....)
{...}

uint32_t t8;
int n=0;
foo(...){
uint32_t t0,tf;
t0 = DWT->CYCCNT;
org_foo(....)
tf = DWT->CYCCNT;
tn=tf-t0;
n=(n+1)%8;
}

If you place cycle counter record in the function itself then you will not get cycles related to argument passing , function prolog /epilog , call and return cost.

Without instrumenting set a break point befor the call and check the DWT->CYCCNT; step over check again and diff
compare to instrumented code you may get some minor difference due to debuggerr .