Mi chiedo come si profili il software su sistemi bare metal (ARM Cortex a8)? Precedentemente stavo usando un simulatore che aveva statistiche di benchmark incorporate e ora voglio confrontare i risultati dell'hardware reale (eseguito su BeagleBoard-Xm).Profilo su sistemi embedded bare metal (ARM)
Capisco che è possibile utilizzare gprof, tuttavia sono un po 'perso poiché si presuppone che si debba eseguire Linux sul sistema di destinazione?
Costruisco il file eseguibile con il cross-compiler arm-none-eabi di Codesourcery e il sistema di destinazione sta eseguendo FreeRTOS.
Stavo pensando se fosse possibile utilizzare qualsiasi strumento di profilatura come gprof per raccogliere informazioni su vari dati come cicli di clock, grafici delle chiamate, tempo trascorso in ciascuna funzione, quantità di chiamate. Tuttavia sono felice di poter ottenere quanti cicli di clock ci vogliono per eseguire l'applicazione dall'inizio alla fine. Il link che mi hai dato è stato bello, lo esaminerò, Thx! – MrGigu
Ciao, ho ottenuto il clock cycle counter funzionante, tuttavia mi chiedo se sia possibile temporizzare una funzione con la PMU (Performance Monitor Unit)? Ho anche un debugger flyswatter 2, forse che può essere usato per qualcosa? Devo acquistare un data logger o un oscilloscopio per l'hardware del tempo? Non ho mai usato nessuno di questi, e sono piuttosto costosi! – MrGigu
Ecco un analizzatore logico a prezzi ragionevoli. Ha funzionato abbastanza bene per me: http://www.nci-usa.com/frame_products_overview.htm. Alcune delle statistiche PMU possono essere esportate nell'ETM - da lì è possibile accedervi utilizzando l'interfaccia JTAG di Flyswatter. (Sto solo supponendo). – Throwback1986