Forum: Mikrocontroller und Digitale Elektronik Hilfe zu MPC55xx Controllern und CodeWarrior gesucht.


von MPC Newbie (Gast)


Lesenswert?

Hallo,

wer kann mir sagen wo ich am besten Hilfe zu den PowerPC MPC5566 
bekomme? Gibt es eine Community zu diesen Controllern (außer das Forum 
von Freescale)?

Ich brauch einfach irgendwie mal eine Einführung bzw. gescheites 
Tutorial wie ich mit dem CodeWarrior und dem MPC5566EVB (Eval-Board) 
einsteigen soll.
Bei dem Board sind zwar AppNotes dabei und Examples für den MPC5554, das 
ist ja schön und gut, aber wie erstelle ich selbst ein Projekt?
Zusätzlich gibt es das Tool RappID mit welchem man grafisch den 
Prozessor und die Pheriphrie einstellen kann. Das Tool erzeugt dann den 
C-Code dazu. Aber ich bekomm es einfach nicht hin mit CodeWarrior ein 
Projekt anzulegen und diese Einstellungen der IDE vorzunehmen. Die Hilfe 
vom codeWarrior macht mich auch nicht schlauer. ?

von Karl M. (movex)


Lesenswert?

Eine Community gibt es meines Wissens nach nicht.

Auf der Freescale Webseite stehen zahlreiche App Notes, darunter auch 
eine die sich "MPC5500 Simple Cookbook" nennt. Dort müssten AFAIK 
einzelne Beispiele zur Initialisierung der verschiedenen Module 
enthalten sein.

Als Literatur ist mir das "MPC5554/MPC5553 Revealed" Buch von Richard 
Soja noch in Erinnerung, wobei ich das wenig hilfreich fand. Das 
Referenzhandbuch hat alles was man benötigt. An etwas Assembler kommt 
man beim Startup nicht vorbei hierbei benötigst du das e200z6 core Ref 
Manual sowie "EREF: A Programmer’s Reference Manual for Freescale 
Embedded Processors" wo Core und Instruktionssatz erläutert werden.

Vom RappID würd ich als Anfänger eher Abstand nehmen, da man da nicht 
kurz und bündig erkennt, was eig. gemacht wird.

Schritte zum Initialisieren:
- FMPLL aufsetzen dazu FMPLL_SYNCR schreiben und anschließen auf PLL 
lock prüfen
- Flash bus interface einstellen dazu FLASH_BIUCR beschreiben (Werte 
Abhängig von PLL Freq.)
- SRAM initialisieren d.h. einmal komplett überschreiben wegen ECC
- Stack pointer(r1), .sbss(r13) und .sdata2(r2) pointer setzen
- copy down
- evt. Interrupt controller und Vektortabelle setzen (wichtig: 
Unterschied Core und externe)
- branch zur main()

MMU wird beim start vom BAM initialisiert kann aber bei Bedarf geändert 
werden. Außerdem wären da noch die Crossbar und der Cache, beides sollte 
nat. auch richtig eingestellt werden um die MCU nicht mit angezogener 
Handbremse laufen zu lassen. Es empfiehlt sich den Stack in den Cache zu 
legen.

In den Sourcen der AN3524 ist eine sehr ausführliche Initialisierung der 
kompletten MCU auf low level Ebene enthalten.

von abcdefg (Gast)


Lesenswert?

Welches EVB und welche Debugmöglichkeiten hast du ?

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.