Entwicklungs-
Tools
Starterkits

Low-Power
CPU-Module

Evaluation- und
OEM-Boards
Mess-, Regel- und
Motionaufgaben
Rapid Prototyping
Netzwerk
Echtzeit-OS
Multibus
Service
FAQ Abatron
BDI1000/2000
BDI3000
 
Kontakt
Links
 

Home > FAQ > Abatron BDI2000 PowerPC-Targets

     
     
 
FAQ Abatron
BDI3000/2000 PowerPC-Targets
 
     
     
     
Wie sieht die Resetsequenz bei einem COP Target aus?

- Die BDI2000 führt einen HRESET aus
- BDI2000 zieht am TRST und löst einen Reset am TAP Controller aus
- Der PowerPC betätigt HRESET und SRESET
- Die BDI lässt HRESET los
- Die BDI2000 wartet bis HRESET und SRESET inaktiv sind
- BDI2000 wartet bis Debug Modus aktiv ist.

Beispiel Initialierungssequenz von einem PowerPC Target:

- BDI asserts HRESET
- Reset JTAG controller passed
- Bypass check: 0x000000001 => 0x00000001
- Bypass check: 0x000000001 => 0x00000001
- JTAG exists check passed
- COP status is 0x01
- Check running state passed
- BDI scans COP freeze command
- BDI removes HRESET
- Target PVR is 0x80822013
- Target SVR is 0x00000000
- COP status is 0x05
- Check stopped state passed
- Check LSRL length passed
- BDI sets breakpoint at 0xFFF00100
- BDI resumes program execution
- Waiting for target stop passed
- TARGET: Target PVR is 0x80822013
- TARGET: resetting target passed


Fehlermeldung: JTAG Exits Check Failed, JTAG Bypass Check Failed

Wenn eine "JTAG Exits check failed" Meldung nach einem "JTAG Bypass check" kommt, dann bedeutet dies, das die JTAG-Chain nicht ansprechbar ist und das Bypass Register nicht ausgelesen werden kann.
Die Meldung erscheint in folgender Reihenfolge auf dem Telnet Prompt:

> - CONFIG: loading configuration file passed
> - TARGET: processing reset request
> - TARGET: BDI asserts TRST and RESET
> - TARGET: BDI removes TRST
> - TARGET: Bypass check 0x000000001 => 0x00FFFFFF
> - TARGET: JTAG exits check failed


Es gibt verschiede Gründe, die dafür verantwortlich sind:

  • a) Der CPUTYPE im Konfigurationsfile ist nicht richtig eingestellt ist. Der Ort des Bypass Registers kann von Prozessor zu Prozessor unterschiedlich sein und die BDI2000 greift daher eventuell auf die falsche Stelle zu.
  • b) Wenn das Reset-Signal am JTAG Stecker verzögert wird (evtl. durch einen Resetcontroller), dann fügen Sie bitte ein WAKEUP Delay im Konfigurationsfile hinzu.
    Dies funktioniert nicht, wenn der Prozessor einen aktivierten Watchdog Timer besitzt, da der Watchdog auslöst, bevor die Wakeup-Time abgelaufen ist.
  • c) Bei COP Targets kann zusätzlich ein PowerUP Delay hinzugefügt werden.
  • d) Falls der Prozessor nicht das einzige Device in der JTAG Scan Chain ist, muss der IR-Wert für alle Devices in der Scan Chain der BDI2000 mitgeteilt werden. Benutzen Sie dazu bitte die Befehle SCANPRED und SCANSUCC, um die korrekten Werte zu spezifizieren. Dies gilt auch z.B. für den PPC4xx Core im Xilinx FPGA.
  • e) Prüfen Sie bitte den JTAG Anschluss, um sicherzustellen, dass alle Leitungen korrekt miteinander auf dem Board verbunden sind. Die Referenz hierzu finden Sie im Handbuch. Benutzen Sie bitte ein Oszilloskop, um die Logik-Level der einzelnen Signale zu überprüfen.
  • f) Stellen Sie sicher, dass die JTAG Chain auf Ihrem Board aktiviert ist. Falls die Meldung
    0x000000001 => 0xFFFFFFFF kommt, findet die BDI2000 keine Devices. Der JTAG ist deaktiviert. Wenn ein Mux oder Jumper für die JTAG Chain verwendet wird, prüfen Sie bitte die Einstellungen.
  • g) Ist eine Spannungsquelle am Prozessor angeschlossen? Stellen sie bitte sicher, dass eine "saubere" Spannungsquelle mit der definierten Spannung verwendet wird.
  • h) JTAG ist gegenüber Rauschen sehr empfindlich und das Hinzufügen von Widerständen erzeugt langsamer ansteigende Signale, die dann nicht mehr in das Zeitfenster hineinfallen. Für die meisten JTAG-Leitungen genügen Pull-Ups von >= 1Kohm

    Signal Name Resistor Pullup/pulldown Resistor Value:
    TDI, TDO, TMS, TCK pullup >=2K
    RESET and TRST pullup 1K-3K
    TRST pulldown (ARM only) 1K-10K
    VCC <= 1K


Die Fehlermeldung: PPC Core timeout waiting for freeze

  • a) Bei einem PowerPC 82xx kann eine es zu einem Fehler in der Startup Sequenz kommen, wenn TRST und HRESET miteinander verbunden sind. Prüfen Sie bitte die JTAG Belegung, ob TRST und HRESET von einander getrennt sind.
  • b) Bei COP Prozessoren ist es nötig, den QACK Pin aktiv low zu treiben. Dies kann über einen Pull Down Widerstand geschen oder in dem Konfigurationsfile durch den Befehl QACK LOW. Falls dies nicht geschieht kommt es zu einer Fehlermeldung.
  • c) Wenn das Reset-Signal am JTAG Stecker verzögert wird (evtl. durch einen Resetcontroller), dann fügen Sie bitte ein WAKEUP Delay (WAKEUP 2000) im Konfigurationsfile hinzu.
    Dies funktioniert nicht, falls der WAKEUP zu lange ist und der Prozessor einen aktivierten Watchdog Timer besitzt. In diesem Fall löst der Watchdog einen Reset aus bevor die Wakeup-Time abgelaufen ist.
  • d) Falls bei einem PPC440 diese Meldung auftaucht, prüfen sie bitte ob der PPC440 Core richtig arbeitet. Der Core sollte, ohne das die BDI2000 angeschlossen ist, auf das Boot Rom zugreifen. Wenn das nicht der Fall ist, prüfen sie bitte die Resetbeschaltung und die Clock des Prozessors.
  • e) Wenn der PPC8xx versucht die Init-List ohne erfolg wiederholt zu laden, dann kann die Ursache ein ständiges LOW des Bus Busy Signals sein. Dies kann das holen des Bootvektors und anhalten des Prozessors verhindern.
  • f) Tritt dies Meldung während des Debugging eines PPC85xx auf, versuchen sie MEMACCESS CORE im Konfigurationsfile einzustellen. Dadurch ist das Verhalten manchmal stabiler als beim SAP Speicherzugriff.
  • g) Beim Zugriff auf eine fehlerhafte nicht existente Adresse im Speicher kann ebenfalls diese Fehlermeldung auslösen. Kommt die Meldung direkt nach einem PROG oder LOAD Befehl, dann prüfen sie bitte, ob dieser Speicherbereich verfügbar ist.
  • h) Eine nicht beendete Speichertransaktion, die niemals endet, macht es unmöglich auf JTAG Befehle zu reagieren (z.B. ein Device am PowerPC Bus).
    Stellen sie sicher, das kein Device am PPC oder PCI Bus die JTAG-Resetleitung auslöst und kein Rauschen auf der JTAG Schaltung ist.


Was ist die Ursache für die Fehlermeldung "Target reset detected, restarting target" ?

  • a) Wenn TRST und HRESET miteinander verbunden sind kann es zu einem Fehler in der Startup Sequenz kommen. Prüfen Sie bitte die JTAG Belegung, ob TRST und HRESET von einander getrennt sind.
  • b) Bitte stellen sie sicher, dass der Watchdog ausgeschaltet ist. Bei COP Prozessoren ist die Adresse des Wachdog abhängig vom IMMR. Prüfen sie bitte, ob die Adressen im Konfigurationsfile richtig eingestellt sind.
  • c) Falls der WAKEUP im Konfigurationsfile zu lange ist und der Prozessor einen aktivierten Watchdog Timer besitzt kann dies einen Watchdog-Reset auslösen, bevor die WAKEUP Zeit abgelaufen ist.
  • d) Falls das Board nach einem "GO" Befehl vom Telnetprompt einen Reset ausführt, so kann das an einem Konflikt zwischen Konfigurationsfile und Applikation/Bootloader liegen. Dies kann z.B. eine Änderung des IMMR sein, die der Applikation bzw. dem Bootloader nicht bekannt ist und somit auf falsche Registeradressen zugreift.
  • e) Manche COP Targetboards haben eine Resetverzögerung; Hierfür können sie den Befehl POWEUP im Konfigurationsfile eintragen. Z.B. "POWERUP 10000".
  • f) Wenn die Bootadresse im Konfigurationsfile nicht korrekt angegeben ist, kann der Prozessor evtl. immer wieder einen Reset ausführen. Für einen COP Prozessor liegt die Bootadresse normalerweise bei 0x00000100 oder 0xfff00100. Die Bootadresse kann im Konfigurationsfile über den Befehl "BOOTADDR" eingestellt werden.
  • g) Prüfen sie beim PowerPC, ob das RSTCONF Signal High oder low ist. Bei low wird das default HWCW benutzt. Bei high wird kein Defaultwert geladen und das IMMR liegt bei 0x0. Hier ist zu berücksichtigen, dass der Watchdog über die richtige Adresse angesprochen wird.
  • h) Ebenfalls kann ein ungültiges HWCW zu einem Reset führen.
    Manchmal erscheint die Fehlermeldung: "Invalid PVR" oder "Unsupported Target". In diesem Fall legen sie den RSTCONF Pin auf high und bringen sie das Board mit einem gültigen Konfigurationsfile zum laufen.


Beim Startup der BDI2000 erscheint die Fehlermeldung "waiting for target stop failed" oder "check stopped state failed" und "Break at Boot Vector Failed, Freeze Forced"

Während des Startup setzt die BDI2000 einen Hardwarebreakpoint auf den Bootvektor. Falls ein Bootmonitor auf dem Targetboard vorhanden ist kann alternativ der Befehl "STARTUP RUN" im Konfigurationsfile verwendet werden. Dadurch wird kein Breakpoint auf den Bootvektor gesetzt und der Bootmonitor gestartet. Ansonsten gibt es verschiedene Ursachen für die o.g. Fehlermeldung:

  • a) HRESET wird nicht richtig getriggert. Stellen sie bitte sicher, dass HRESET und TRST korrekt und unabhängig voneinander angezogen werden. Rauschen kann ebenfalls zu Problemen führen. Falls notwendig, setzen sie einen 1K Ohm Widerstand für HRESET und TRST ein.
  • b) Im Konfigurationsfile ist der Parameter BOOTADDR nicht richtig auf den Bootvektor eingestellt.
  • c) Bei COP Targets mit RESET Baustein oder einem Resetdelay kann es ebenfalls zu einem Fehler kommen, da der HRESET nicht rechtzeitig angezogen wird, um das Board anzuhalten. Hier kann ein POWERUP Delay im Konfigurationsfile Abhilfe schaffen (z.B. Powerup 1000).
  • d) Wenn das HRCW bei einem PPC82xx nicht gültig ist kann es einen Fehler geben. Ziehen sie den RSTCONF Pin auf High und initialisieren sie das HRCW über das Konfigurationsfile. Stellen sie sicher, dass IMMR Register auf 0x00000000 eingestellt ist und die Frequenz der CPU festgestellt ist. Bei manchen Frequenzen kann sich das Problem auflösen.
  • e) Bei einem PPC750 und MPC74xx Target ist es wichtig, dass der Pin auf Low ist, andernfalls kann die BDI2000 keinen Breakpoint setzen.
  • f) Messen sie den PowerPC Prozessorbus und prüfen sie, ob dieser vom Reset herausläuft Falls ein Hardwareproblem zu einem hängen des MPX Busses führt, kann die BDI2000 den Prozessor nicht anhalten. Zum Testen entfernen sie alle MPX Bus Devices.
  • g) Prüfen sie die Stromversorgung des Prozessors. Falls diese unter einen bestimmten Level fällt, kann es zu unvorhergesehenen Problemen kommen.
  • h) Falls die Meldung 'Check stopped state Failed' auftaucht, dann bedient der PPC die CKSTP_OUT Leitung. Der PPC versucht auf den Bootvektor zuzugreifen, aber ein Speicherproblem verhindert diesen Zugriff. Falls dies passiert, geht der Prozessor in den "Check Stop State" und hält alle Clocks an.
    Der PQ2 liest das HRWC auf D0-D7 ein und shiftet diese über die Pins D0-D31. Daher müssen diese Pins frei sein (Weder Pullup noch Pulldown). Alles andere erzeugt ein fehlerhaftes HRCW.
     
     
     
 
Computer Communication & Interface GmbH, Starnberger Str. 22, 82131 Gauting bei München
Tel.: +49-89-850 97 18, Fax: +49-89-850 97 19, Email: