Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
embedded_systems:mpc555:usb-bdi [2014-01-03 11:03] grafembedded_systems:mpc555:usb-bdi [2021-11-02 13:37] (aktuell) fabian.ditaranto
Zeile 1: Zeile 1:
 ====== USB Background Debugging Interface (USB-BDI) ====== ====== USB Background Debugging Interface (USB-BDI) ======
- +Das USB-BDI Interface erlaubt den Zugriff von einem Hostrechner über eine USB Schnittstelle zum mpc555 als Target Prozessor. Von diesem Interface existieren zwei Varianten: Die Revision 1 (mit einer grünen Leiterplatte) und die Revision 2 (mit einer roten Leiterplatte).
-===== Einführung ===== +
-Als Ersatz für das [[.:lpt-bdi | 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 [[.:headerboard:start | 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 ===== ===== 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+Das Herz des Interfaces 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. Das Problem dabei ist jedoch... TODO text fertig schreiben!+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) ===== ===== Übersicht (Rev. 1) =====
-[{{  .:usb-bdi_top.jpg?300px&direct|NTB USB-BDI Rev. 1 für MPC555 und MC68332}}]+[{{  .:usb-bdi_top.jpg?300px&direct|NTB USB-BDI Rev. 1 für MPC555}}]
   - Board Power LED (grün)   - Board Power LED (grün)
   - USB Power LED (weiss)   - USB Power LED (weiss)
Zeile 31: Zeile 27:
   - Freeze Mode LED (blau): Leuchtet, wenn sich der Prozessor im Debug Modus befindet.   - Freeze Mode LED (blau): Leuchtet, wenn sich der Prozessor im Debug Modus befindet.
   - Board Power LED (grün)   - Board Power LED (grün)
-  - 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.+  - Power-Jumper: Ist der Jumper auf der Stellung 1/2, wird das BDI über USB versorgt. Ist der Jumper auf der Stellung 2/3 (wie auf dem Foto abgebildet), so wird das BDI vom Headerboard versorgt.
   - EEPROM-Jumper: Muss immer gesteckt sein!   - EEPROM-Jumper: Muss immer gesteckt sein!
   - Reset-Taster: Startet das BDI neu.   - Reset-Taster: Startet das BDI neu.
Zeile 41: Zeile 37:
   * {{:embedded_systems:mpc555:usermanualcy7c6801xa.pdf|EZ-USB FX2LP CY7C68013A Users Manual}}   * {{:embedded_systems:mpc555:usermanualcy7c6801xa.pdf|EZ-USB FX2LP CY7C68013A Users Manual}}
 ===== Firmware ===== ===== Firmware =====
-Eine detailierte Beschreibung der Firmware ist [[http://www.ntb.ch/infoportal/doxygen/bdi_firmware/index.html|hier]] verfügbar.+Eine detailierte Beschreibung der Firmware ist [[http://wiki.ntb.ch/externalData/doxygen/bdi_firmware/index.html|hier]] verfügbar.
  
 ===== Treiber ===== ===== Treiber =====
-Der Treiber, für das mit der Firmware geladenen BDI ist im [[software:windows:ntb_windows_driver_package|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.+Der Treiber, für das mit der Firmware geladenen BDI ist im [[software:inf_win_driver_package:start|INF Win 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 ===== ===== Firmware Programmieren und Downloaden =====
 ==== Benötigte Komponenten ==== ==== Benötigte Komponenten ====
-  * Eclipse für C (getestet mit Version: 3.6.1) +  * [[http://sdcc.sourceforge.net/ |SDCC Compiler]] (auch im [[http://www.ntb.ch/ntb/kiosk | Kiosk]] verfügbar, getestet mit Version 3.0.0 & 3.3.0) 
-  * [[http://sdcc.sourceforge.net/ |SDCC Compiler]] (getestet mit Version 3.0.0) +  * [[http://www.mingw.org/|MinGW]] (auch im [[http://www.ntb.ch/ntb/kiosk | Kiosk]] verfügbar, getestet mit Version 5.1.6) 
-  * [[http://www.mingw.org/|MinGW]] oder im NTB Kiosk(getestet mit Version 5.1.6) +  * [[http://gnuwin32.sourceforge.net/GNU Core Utils for Windows (GnuWin)]] (auch im [[http://www.ntb.ch/ntb/kiosk | Kiosk]] verfügbar, getestet mit Version 5.3.0)
-  * [[http://gnuwin32.sourceforge.net/|GnuWin]] (getestet mit Version 5.3.0)+
   * [[http://www.cypress.com/?rID=14321|Cypress CY3684 EZ-USB FX2LP Development Kit]] (getestet mit Version 1.7.0.2)   * [[http://www.cypress.com/?rID=14321|Cypress CY3684 EZ-USB FX2LP Development Kit]] (getestet mit Version 1.7.0.2)
   * {{:embedded_systems:mpc555:hex2bix.rar|Hex2Bix}}   * {{:embedded_systems:mpc555:hex2bix.rar|Hex2Bix}}
Zeile 57: Zeile 52:
  
 ==== Vorbereitungen ==== ==== Vorbereitungen ====
-  - Alle Programme installieren und die benötigten Dateien herunterladen+  - Alle Programme installieren und die benötigten Dateien herunterladen.\\ **Achtung:** Der SDCC Compiler muss im Standard-Pfad C:\SDCC\ installiert werden, sonst funktioniert er nicht korrekt!
   - 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.)   - 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.)
   - Das BDI mit dem PC verbinden und dafür sorgen, dass der Treiber richtig geladen wird.   - Das BDI mit dem PC verbinden und dafür sorgen, dass der Treiber richtig geladen wird.
-  - Der Treiber ist nicht Signiert. Wenn man während des Aufstarrtens des PC F8 drückt kann man die Treibersignierung ausschalten.+  - Der Treiber ist nicht signiert. Wenn man während des Aufstarrtens des PC F8 drückt kann man die Treibersignierung ausschalten.
   - Unter //Control Panel\All Control Panel Items\System\Advanced system settings\Environment Variables\Path// die Pfade von GnuWin und dem SDCC Compiler hinzufügen.   - Unter //Control Panel\All Control Panel Items\System\Advanced system settings\Environment Variables\Path// die Pfade von GnuWin und dem SDCC Compiler hinzufügen.
  
Zeile 67: Zeile 62:
  
 ==== IIC Datei erstellen==== ==== 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.+In Eclipse unter External Tools Configuration auf der linken Seite Programm anklicken und dann auf New launch configuration. Unter Name: //ConvertHex2IIC//, unter Location: Pfad zum Hex2bix.exe File, 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 ==== ==== ICC Datei herunterladen ====