Måle tid kjøring i rutinen

T

tom12sg

Guest
Hei,

Noen ide hvordan jeg kan måle tiden retterstedet for rutinemessig skrevet i C-språk under Keil kompilator?
I målet delen jeg kan spesifisere klokkefrekvensen brukes, og de bestemte LDO skal brukes.
Under debugger kan jeg se dis-assembled kode, men det ville være bortkastet tid og veldig trette til å beregne linje for linje og noen har forskjellig utførelse syklus.Jeg har prøve Performance Analyzer men det gjorde ikke gi meg den eksakte tiden inne frist av syklusen ...kanskje jeg forstår ikke hvordan den skal brukes.Jeg tror Keil burde ha noen midler til å beregne ikke, kan noen lære og råd meg.

Takk.

Hilsen,
Tom

 
Kanskje bruke en timer?Jeg vet ikke hva chip du bruker, men hvis det kommer til C, tror jeg dette er en enkel metode.Eller bruk av simulatoren, hvis Keil har noe slikt.Jeg husker at HI-TECH's HI-TIDE kunne brukes for å gjøre dette med pics.

 
Hei tom12sg,

Hvis du vil (kan), bruke en pin til mesure perioden rutinen / funksjon.

Skål!

 
Jeg tror du må bruke Performance Analyzer.Det gir deg maks, min og gjennomsnitt ganger i utførelsen.

En annen løsning (ikke så godt), er å bruke stoppunkter, før og etter funksjon samtale.Så må du anotate statene og foreta en substration.

Hilsen,

 
nex skrev:

Hei tom12sg,Hvis du vil (kan), bruke en pin til mesure perioden rutinen / funksjon.Skål!
 
Enkelte montører har en mulighet til å telle sykluser.Kanskje din gjør det også.

Eller kanskje du kan finne ett og mate det segmentet av koden du er interessert i.

Med noen mikroprosessor familier (for eksempel de med prefetches eller rørledninger) dette er ikke en god indikator for faktisk kjøring tid.

Avbrudd, DMA, andre buss-mastering enheter, (kanskje til og med integrert debug, jeg måtte sjekke) kan stjele sykler under selve gjennomføringen mens enheter med justerbare klokker kunne ha vilt varierende utførelse ganger selv uten syklus stjele.

 

Welcome to EDABoard.com

Sponsor

Back
Top