Dies ist eine alte Version des Dokuments!


USB Background Debugging Interface (USB-BDI)

Einführung

Als Ersatz für das BDI mit paralleler Schnittstelle wurde ein neues BDI mit USB Schnittstelle entwickelt. Von diesem existieren zwei Varianten: Die Revision 1 (mit einer grünen Leiterplatte) funktioniert sowohl mit dem NTB MPC555-Headerboard als auch mit dem NTB TG-332 Headerboard. Das USB-BDI Revision 2 (mit einer roten Leiterplatte) funktioniert nur mit dem NTB MPC555-Headerboard.

Beschreibung

Das Herz des BDI bildet der PX2LP USB Mikrocontroller von Cypress. Da dieser jedoch kein SPI unterstützt, wird für die Kommunikation mit dem MPC555 ein externer SPI-Controller eingesetzt.

Bei der Revision 1 wird die SPI-Schnittstelle zum MC86332 über normale GPIOs emuliert, da dieser nur mit einer relativ exotischen Transfergrösse von 17 Bit pro Instruktion umgehen kann und dies vom SPI-Controller wiederum nicht unterstützt wird. Bei der Revision 2 fällt der MC68332 weg und deshalb auch diese Emulation.

Für eine effiziente Kommunikation mit dem MPC555 werden die BDI-Kommandos direkt und ohne Änderung via SPI zum Prozessor durchgeschleift. Das Resultat wird in umgekehrter Reihenfolge ebenfalls direkt durchgeschleift.

Übersicht (Rev. 1)

NTB USB-BDI Rev. 1 für MPC555 und MC68332
  1. Board Power LED (grün)
  2. USB Power LED (weiss)
  3. Debug Mode LED (blau): Leuchtet, wenn sich der Prozessor im Debug Modus befindet.
  4. BDI Live LED (gelb): Blinkt, wenn das BDI korrekt läuft.
  5. USB Mode LED (gelb): Leuchtet, wenn das BDI an einer USB 2 oder 3 Schnittstelle angeschlossen ist.
  6. USB-Power-Jumper: Ist der Jumper vorhanden, wird das BDI über die USB-Schnittstelle versorgt.
  7. Target-Power-Jumper: Ist der Jumper vorhanden, wird das BDI vom Target versorgt.
  8. EEPROM-Jumper: Muss immer gesteckt sein!
  9. Reset-Taster: Startet das BDI neu.

Übersicht (Rev. 2)

NTB USB-BDI Rev. 2 für MPC555
  1. USB Power LED (weiss)
  2. USB Mode LED (gelb): Leuchtet, wenn das BDI an einer USB 2 oder 3 Schnittstelle angeschlossen ist.
  3. BDI Live LED (gelb): Blinkt, wenn das BDI korrekt läuft.
  4. BKPT LED (gelb): Leuchtet wenn beim debuggen des BDI ein Breakpoint gesetzt wird. (nicht beim Debugen des MPC555)
  5. Freeze Mode LED (blau): Leuchtet, wenn sich der Prozessor im Debug Modus befindet.
  6. Board Power LED (grün)
  7. Power-Jumper: Ist der Jumper auf der Stellung 1/2, wird das BDI über USB versorgt. Ist der Jumper auf der Stellung 2/3 so wird das BDI vom Headerboard versorgt.
  8. EEPROM-Jumper: Muss immer gesteckt sein!
  9. Reset-Taster: Startet das BDI neu.

Schema und Datenblätter

Firmware

Eine detailierte Beschreibung der Firmware ist hier verfügbar.

Treiber

Der Treiber, für das mit der Firmware geladenen BDI ist im NTB Windows Driver Package enthalten. Falls Sie als Student ein BDI erhalten haben, das keine Firmware besitzt, versuchen Sie nicht diese selbst zu laden, sondern melden Sie sich bei den Mitarbeitern des Instituts für Ingenieurinformatik.

Firmware Programmieren und Downloaden

Benötigte Komponenten

Vorbereitungen

  1. Alle Programme installieren und die benötigten Dateien herunterladen
  2. Den Jumper 8 entfernen und den Jumper 7 bzw. 6 und 7 umstecken damit das BDI nur vom USB versorgt wird. (Achtung Jumper nicht umstecken falls sich das BDI noch auf dem MPC555 Board befindet.)
  3. Das BDI mit dem PC verbinden und dafür sorgen, dass der Treiber richtig geladen wird.
  4. Der Treiber ist nicht Signiert. Wenn man während des Aufstarrtens des PC F8 drückt kann man die Treibersignierung ausschalten.
  5. Unter Control Panel\All Control Panel Items\System\Advanced system settings\Environment Variables\Path die Pfade von GnuWin und dem SDCC Compiler hinzufügen.

Kompilieren

In einem ersten Schritt müssen die Makefiles ausgeführt werden. Dies geschieht indem man in Eclipse unter: Window/Show View/Make Target anklickt. Im sich öffnenden Fenster die Ordner lib und src öffnen. Zuerst die Dateien im Ordner lib mit all kompilieren danach mit dem all im Ordner src die restlichen Dateien kompilieren.

IIC Datei erstellen

In Eclipse unter External Tools Configuration auf der linken Seite Programm anklicken und dann auf New launch configuration. Unter Name: ConvertHex2IIC, unter Working Directory: ${workspace_loc:/MPC555-USB-BDI} und unter Arguments: -m 65535 -i -F 0xC2 -O eeprom/ntb_mpc555_usbbdi_firmware.iic src/ntb_mpc555_usbbdi_firmware.hex eintragen. Danach kann mit einem Klick auf den Play Button mit dem kleinen Koffer die iic Datei erstellt werden.

ICC Datei herunterladen

Heruntergeladen werden kann mit dem Programm CyConsole EZ-USB das beim Cypress CY3684 EZ-USB FX2LP Development Kit dabei ist. Dazu muss zuerst den Jumper 8 wieder setzen und danach auf den Button Lg EEPROM drücken und das erstellte .iic-File auswählen. Ist die Firmware heruntergeladen wird dies im unteren Feld angezeigt.