Forum: Mikrocontroller und Digitale Elektronik Motorola MPC


von Senni4u (Gast)


Lesenswert?

Hallo,

ich arbeite hier mit einem MPC565 von Motorola und habe eine Frage zum
Assembler-Code. Ich habe hier eine StartUp-Routine, welche ich aber
nicht nachvollziehen kann, da ich keine Informationen zu den
verwendeten Befehlen (bzw. dem speziellen Befehlsformat) finden kann.

__cstart:
  mtspr  81,0
  li  0,((1<<6)|(1<<7))
  lis  3,0x2fc200@ha
  sth  0,0x2fc200@l(3)
....
..

was die Befehle grundsätzlich machen verstehe ich, jedoch finde ich
leider keine Information darüber, was das @ha / @l im lis und
sth-Befehl bewirken/bezwecken.
Die Hex-Zahl davor (0x2fc200) ist eine Adresse und ich nehme mal an,
das von dieser was gelesen, bzw anschließend geschrieben wird.

von Bakman (Gast)


Lesenswert?

Hallo,

die Syntax sieht aber nicht nach reinen PPC-Assembler. Du solltest die
Antwort nicht bei Motorola suchen sondern beim Hersteller des
Assembler-Programmes welches Du benutzt. Ich vermute diese Zeilen
stellen eine Inline-Assembler-Sequenz in einem C-Code (?)

Der Wert 0x2FC200 ist eine Adresse und zwar des TBSCR. Hier wird
anscheinend das TIME-Base-Modul initialisiert.

Mal 'ne Gegenfrage: Was macht Ihr bei VW mit dem MPC565 ?

von Martin (Gast)


Lesenswert?

Lade in R0 den Wert ((1 << 6) | (1 << 7))
Lade nach R3 das Highword der Adresse 2fc200
Speichere den Wert von R0 nach 2fc200 unter Verwendung von der Addr.
aus R3

oder so ähnlich ;-)

Der PPC kann keine direkte 32Bit Adressierung, von daher wid ein Teil
der Adresse immer in einem Register gehalten.

Aber damit sollte man sich bei VW schon auskennen, soweit
ich weis werden da jede Menge der Freescale CPUs verwendet ;-)

Gruß
  Martin

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.