www.mikrocontroller.net

Forum: Compiler & IDEs GCC simulieren


Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich habe mal die erzeugte elf Datei von meinem Programm in das AVR
Studio zum simulieren geladen.

Ich möchte nun testen, wie lange eine bestimmte Funktion (sprintf)
braucht.

Ich dachte ich könnte das am Program Counter erkennen?!

Folgendes Programm habe ich mal durchgejagt:
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h> 
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include "vardefs.h"

#define nop() asm volatile("nop")

#define V_Max    30
#define ADC_res  1024.0
#define ADC_mult  (V_Max/ADC_res)

int main(void)
{       
       s08 buf[6];
       u16 ADC_Val = 422;
       sprintf(buf,"% 5.1f", ADC_Val * ADC_mult - 15);
       
       while(1) nop();
}
Vor dem sprintf() steht mein Program Counter auf 4B (hex). Nach dem
sprintf auf 5D (hex). Das macht eine differenz von 18. Also bräuchte
das ganze gesülz 18 Takte?

Das ist ja wohl zu schön um wahr zu sein ;)

Kann man sich wohl eher nicht drauf verlassen oder?

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ich depp, Cycle Counter ist natürlich das Richtmaß.

Wie komme ich auf Program Counter? Dass er 18 Maschinenbefehle
ausführt, klingt schon viel logischer

rot werd

Hehe, sorry für den Spam hier. Kann gelöscht werden HUST

War keine absicht!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.