mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430: Zyklen pro ASM-Befehl?!


Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin nun schon eine geschlagene Stunde auf der Suche nach einer
Tabelle mit der Anzahl an benötigten Taktzyklen für einen ASM-Befehl
bei den MSPs von TI. Weiss irgend jemand von euch wo man sowas bekommt?
Das kann ja wohl nicht so schwer sein. Alles was ich bisher gefunden
habe ist das hier:
http://mspgcc.sourceforge.net/manual/x528.html

Aber das artet ja in eine Schnitzeljagt nach Zyklen aus, wenn man sowas
für jeden Befehl neu ausrechnen muss! Sind ja nun wirklich nicht viele
verschiedene Befehle, warum steht da nirgends die benötigte Proz-Zeit?

Und nochwas: Gibt's in der IAR Kickstart eine Möglichkeit, sich die
Anzahl vergangenen Taktzyklen anzeigen zu lassen? Etwa so wie im
AVRStudio (Welches ich halt um Längen besser finde als alle anderen
IDEs für µCs...).

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beispielsweise in SLAU056E Kapitel 3.4.4. Aber ohne Rechnen geht's bei
der Architektur halt nicht (dass TI das Teil allen Ernstes RISC nennt
ist eine Frechheit).

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, steht doch im User Guide. Zumindest teilweise. Allerdings will mir
das ganze Zeugs irgendwie nicht aufgehn. Code:
    for(;;)
    {
        P1OUT ^= 15;
    }

Überhaupt nix kompliziertes. Im Disassembler sieht das dann so aus:
[...]
 00F030   E0F2 000F 0021    xor.b   #0xF,&P1OUT
 00F036   3FFC              jmp     0xF030
[...]

Macht dann summasummarum sieben Zyklen:
&EDE 5 3 ADD #33,&EDE
plus
"All jump instructions require one code word, and take two CPU
cycles"

Soweit so gut, allerdings messe ich an dem Port eine Frequenz von
2.73kHz, was bei 32.768kHz Proz-Frequenz eine Teilung von 12 macht.
Demnach wird die Schleife in sechs Zyklen ausgeführt?!

Autor: Philipp Burch (philipp_burch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiss jemand, warum das nicht geht?

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.