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


von Philipp B. (philipp_burch)


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...).

von A.K. (Gast)


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).

von Philipp B. (philipp_burch)


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?!

von Philipp B. (philipp_burch)


Lesenswert?

Weiss jemand, warum das nicht geht?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.