www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem bei Inbetriebnahme von PPC440EPx


Autor: Andreas B. (loopy83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo guten Guten Morgen,

ich habe aktuell das Problem, einen PPC440EPx erfolgreich in Betrieb zu 
nehmen. Dabei gibt es verschiedene Probleme, die ich gesammelt habe, um 
nicht mehrere Threads zu erstellen. Ich hoffe, dass mir der eine oder 
andere hilfreiche Hinweise und Tipps geben kann.

Eingesetzt wird ein AMCC PPC440EPx mit 667MHz, ein NORFlash vom Typ 
RC28F256M29EWH (256Mb, 32MB), DDR2 RAM vom Typ MT47H64M16 (128MB).

Darauf soll ein U-Boot laufen und dazu ein abgespecktes Linux.

Zum Debuggen nutze ich einen BDI3000 und der PPC wird via BDI/JTAG 
Interface debuggt.

Problem 1:
- Laut Datenblatt soll sich der PC (Program Counter) nach einem Reset 
auf den Wert 0xFFFFFFFC zurücksetzen. Leider ist das bei mir nicht der 
Fall. Ich muss noch überprüfen, ob der BDI dieses Register überschreibt, 
bevor ich mir das Register lesen kann. Sollte das nicht der Fall sein, 
welche Ursachen kann es haben, dass sich der Prozessor nicht so verhält 
wie beschreiben?

Problem 2:
Eingestellt ist die Bootstrap option H (I2C EEPROM mit 
Konfigurationsdaten auf der Adresse 0xA4). Dieser EEPROM wird korrekt 
ausgelesen und die Werte stehen in den entsprechenden Registern auch 
drin. Nun sollte die CPU an die letzten Stelle des NORFlashs springen, 
wo die Adresse im Flash vermerkt ist, wo sich das eigentliche Programm 
befindet.
Aktuell habe ich noch Probleme, den Flash fehlerfrei zu beschreiben. Ich 
führe einen Chip erase aus und will nun mein Flashfile schreiben. Das 
beinhaltet den Bootloader Programmcode, dann lange nix und am Ende dann 
die Adresse, wo der Programmcode anfängt. Nun bricht das Schreiben aber 
nach ca. 10kB ab, nicht sonderlich reproduzierbar bei unterschiedlichen 
Adressen.

Wenn ich mit einem Boundary Scan Controller den Flash beschreibe (den 
konnte ich mir zeitweise ausleihen), funktioniert das beschreiben 
fehlerfrei, nur gibt es hier noch ein paar Probleme mit der Adressierung 
und der Orientierung der Daten. Aber so konnte ich immerhin Fehler in 
der Hardware ausschließen und muss nun den Fehler in meiner "Software" 
bzw. Debugumgebung suchen.

Nach meinem Wissen sollte bei der ganzen Prozedur der DDR2 RAM noch 
nicht beansprucht werden, denn der ist noch nicht getestet... sehe ich 
das richtig?

Ich wäre für Hinweise sehr sehr dankbar!

MfG Andreas

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.