Forum: Mikrocontroller und Digitale Elektronik Problem bei Inbetriebnahme von PPC440EPx


von Andreas B. (loopy83)


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

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.