Hilfe zu MPC55xx Controllern und CodeWarrior gesucht.

Gast #1187902
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. ?
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.